ospfComme tous les protocoles de routage, OSPF autorise l’introduction de routes externes. Il s’agit de routes apprises par un moyen tiers à OSPF mais qui sont pourtant communiquées entre routeurs par le protocole OSPF. Ça, c’est le concept… Concrètement, on parle de routes « redistribuées » dans le protocole OSPF: elle sont annoncées par des LSA ad-hoc de type 5. Les LSA de types 4 et 5 sont abordées dans notre article: « OSPF Link State Advertisement – Partie 3« . Il est alors nécessaire de trouver un moyen d’intégrer et de comparer ces nouvelles routes avec les annonces OSPF classiques. Il faut pour cela définir les règles d’attribution des coûts pour les routes externes: c’est l’objet de cet article !

 

Routes externes: Type de la métrique

OSPF définit deux types de métriques pour les routes externes: Type 1 et Type 2. En général, les routes de Type 1 (routes E1) sont préférées aux routes de Type 2 (routes E2). 

J’ai bien écrit « en général ». Pour être précis, le candidat aux certifications Cisco CCNA et CCNP doit considérer qu’une route E1 est toujours préférée à une route E2.

 

Métrique OSPF Externe Type 1

Le routeur qui redistribue une route externe dans le protocole OSPF est un ASBR (Autonomous System Border Router). Le concept de redistribution se traduit par la génération de LSA de type 5. Dans ce LSA, le réseau annoncé est associé à une métrique. 

Ainsi, pour un routeur du réseau OSPF, la métrique associée à la route de type 1 est alors considérée comme étant égal à la somme des coûts suivants:

  • la métrique annoncée dans le LSA de Type 5 généré par l’ASBR,
  • la métrique permettant d’atteindre l’ASBR.

 

Métrique OSPF Externe Type 2

Dans le cas d’une route externes de Type 2, la métrique est égale à, pour tous les routeurs du réseau OSPF,  la métrique annoncée dans le LSA de Type 5. Peut importe la distance entre le routeur et l’ASBR…

 

Démonstration Pratique

Nous reprenons la topologie et la configuration utilisée pour notre article: « OSPF Link State Advertisement – Partie 3« .

Nouvelle Architecture OSPF après modifications

Architecture OSPF:  Loopback de R4 redistribuée comme route externe

LSA Type 5 générée par l’ASBR

Sur R4, la configuration permet de générer une route externe, tout simplement en redistribuant le réseau associé à l’interface de looback 0 (4.4.4.4/32) dans la base de données OSPF.

R4#show ip ospf database external

 OSPF Router with ID (10.10.123.4) (Process ID 1)

 Type-5 AS External Link States

 LS age: 1522
 Options: (No TOS-capability, DC)
 LS Type: AS External Link
 Link State ID: 4.4.4.4 (External Network Number )
 Advertising Router: 10.10.123.4
 LS Seq Number: 80000011
 Checksum: 0xEB01
 Length: 36
 Network Mask: /32
 Metric Type: 2 (Larger than any link state path)
 TOS: 0
 Metric: 20
 Forward Address: 0.0.0.0
 External Route Tag: 0

R4#

 

Le routeur à l’origine de cette LSA est l’Advertising Router 10.10.123.4 (il s’agit du router-ID de R4). Cette information n’est pas filtrée: on la retrouve, à l’identique, sur tous les routeurs de la topologie (seul le champ Age peut être différent).

 

Métrique associée aux routes externes de Type 2

Le LSA de Type 5 annonce une route externe de type 2. Ainsi, la métrique associée à la route externe (4.4.4.4/32) est la même pour tous les routeurs. La métrique est une constante, celle que l’on retrouve dans l’annonce LSA: 20 (en rouge dans la capture ci-dessous).

R6#show ip route | inc E2
 E1 - OSPF external type 1, E2 - OSPF external type 2
O E2 4.4.4.4 [110/20] via 10.10.123.4, 09:28:26, FastEthernet0/0
R6#

 

La métrique pour atteindre l’ASBR n’est donc pas prise en compte. C’est la caractéristique d’une route de type 2.  On peut tout de même connaitre cette métrique, c’est ce que le routeur Cisco appelle la Forward Metric accessible en demandant les détails de la dite route (en bleu, dans la capture ci-dessous):

R6#show ip route 4.4.4.4
Routing entry for 4.4.4.4/32
 Known via "ospf 1", distance 110, metric 20, type extern 2, forward metric 10
 Last update from 10.10.123.4 on FastEthernet0/0, 09:35:01 ago
 Routing Descriptor Blocks:
 * 10.10.123.4, from 10.10.123.4, 09:35:01 ago, via FastEthernet0/0
 Route metric is 20, traffic share count is 1

R6#  

 

Métrique associée aux routes externes de Type 1

Nous allons modifier la configuration de R4 pour que la route soit redistribuée en utilisation une route externe de type 1:

R4#sh run | sec router ospf
router ospf 1
 log-adjacency-changes
 redistribute connected subnets
R4#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R4(config)#router ospf 1
R4(config-router)# redistribute connected subnets metric-type 1
R4(config-router)#end
R4#

Ceci a pour conséquence de modifier la LSA de type 5 générée par R4. Notons que seul le type est modifié (la métrique annoncée reste de 20):

R4#show ip ospf database external

 OSPF Router with ID (10.10.123.4) (Process ID 1)

 Type-5 AS External Link States

 LS age: 213
 Options: (No TOS-capability, DC)
 LS Type: AS External Link
 Link State ID: 4.4.4.4 (External Network Number )
 Advertising Router: 10.10.123.4
 LS Seq Number: 80000013
 Checksum: 0x6407
 Length: 36
 Network Mask: /32
 Metric Type: 1 (Comparable directly to link state metric)
 TOS: 0
 Metric: 20
 Forward Address: 0.0.0.0
 External Route Tag: 0

R4#

 

Voyons alors la métrique pour cette route depuis le routeur R3:

R3#show ip route ospf
 4.0.0.0/32 is subnetted, 1 subnets
O E1 4.4.4.4 [110/94] via 10.1.3.1, 00:04:42, Serial2/1
 6.0.0.0/32 is subnetted, 1 subnets
O IA 6.6.6.6 [110/75] via 10.1.3.1, 13:19:08, Serial2/1
 10.0.0.0/24 is subnetted, 4 subnets
O 10.1.2.0 [110/128] via 10.2.3.2, 13:42:36, Serial2/0
 [110/128] via 10.1.3.1, 13:19:13, Serial2/1
O IA 10.10.123.0 [110/74] via 10.1.3.1, 13:19:13, Serial2/1
R3#

 

La métrique de R3 est de 94. Alors que le routeur R4 annonce une métrique de 20. S’agissant d’une route de type 1, la métrique prend en compte la métrique pour atteindre l’ASBR. Comment procède R3 ?

Tout d’abord, R3 cherche s’il dispose des informations topologiques lui permettant d’atteindre l’ASBR qui génère la LSA de type 5:

R3#show ip ospf database router 10.10.123.4

 OSPF Router with ID (3.3.3.3) (Process ID 1)
R3#

 

R3 n’est pas dans la même aire que R4: ainsi, ce routeur ne dispose d’aucune information lui permettant de savoir comment accéder à R4. C’est la raison même de l’existence de la LSA de Type 4 qui doit être générée par l’ABR:

R3#show ip ospf database asbr-su 10.10.123.4

 OSPF Router with ID (3.3.3.3) (Process ID 1)

 Summary ASB Link States (Area 0)

 Routing Bit Set on this LSA
 LS age: 1392
 Options: (No TOS-capability, DC, Upward)
 LS Type: Summary Links(AS Boundary Router)
 Link State ID: 10.10.123.4 (AS Boundary Router address)
 Advertising Router: 1.1.1.1
 LS Seq Number: 80000012
 Checksum: 0x2E5B
 Length: 28
 Network Mask: /0
 TOS: 0 Metric: 10

R3#

 

Cette LSA indique que le routeur 1.1.1.1 (R1, l’ABR qui a généré cette LSA) connait le chemin pour aller sur 10.10.123.4 avec une métrique de 10.

La métrique totale correspond à la métrique vers l’ABR + la métrique entre l’ABR et l’ASBR (10) + la métrique annoncée par l’ASBR (ici, 20). Il nous manque donc de connaitre la métrique vers l’ABR:

R3#show ip ospf border-routers

OSPF Process 1 internal Routing Table

Codes: i - Intra-area route, I - Inter-area route

i 1.1.1.1 [64] via 10.1.3.1, Serial2/1, ABR, Area 0, SPF 40
I 10.10.123.4 [74] via 10.1.3.1, Serial2/1, ASBR, Area 0, SPF 40

 

La métrique vers l’ABR (1.1.1.1) est donc de 64. Ainsi, la métrique totale pour la route vers 4.4.4.4 est de: 64+10+20 = 94. Cette valeur est bien celle affichée par la commande show ip route depuis R3:

R3#show ip route 4.4.4.4
Routing entry for 4.4.4.4/32
 Known via "ospf 1", distance 110, metric 94, type extern 1
 Last update from 10.1.3.1 on Serial2/1, 00:16:02 ago
 Routing Descriptor Blocks:
 * 10.1.3.1, from 10.10.123.4, 00:16:02 ago, via Serial2/1
 Route metric is 94, traffic share count is 1

R3#

 

Routes E1 vs. E2

Modifions la topologie pour que le routeur R6 redistribue également le même réseau (4.4.4.4/32) mais en utilisant une route externe de type 2 et avec une métrique faible (5, par exemple):

R6#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R6(config)#int l4
R6(config-if)#ip addr
*Mar 1 20:03:39.235: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback4, changed state to up
R6(config-if)#ip addr 4.4.4.4 255.255.255.255
R6(config-if)#router ospf 1
R6(config-router)#redistribute connected subnets
R6(config-router)#end
*Mar 1 20:04:04.463: %SYS-5-CONFIG_I: Configured from console by console
R6#sh ip ospf database self-originate

 OSPF Router with ID (6.6.6.6) (Process ID 1)

 Router Link States (Area 0)

Link ID ADV Router Age Seq# Checksum Link count
6.6.6.6 6.6.6.6 6 0x80000001 0x00D937 0

 Router Link States (Area 1)

Link ID ADV Router Age Seq# Checksum Link count
6.6.6.6 6.6.6.6 6 0x8000001E 0x00ACDA 2

 Type-5 AS External Link States

Link ID ADV Router Age Seq# Checksum Tag
4.4.4.4 6.6.6.6 5 0x80000001 0x007AFD 0
R6#

 

La base de données des différents routeurs doivent donc disposer des deux LSA externes. Vérifions sur le routeur R3:

R3#show ip ospf database external

 OSPF Router with ID (3.3.3.3) (Process ID 1)

 Type-5 AS External Link States

 LS age: 111
 Options: (No TOS-capability, DC)
 LS Type: AS External Link
 Link State ID: 4.4.4.4 (External Network Number )
 Advertising Router: 6.6.6.6
 LS Seq Number: 80000001
 Checksum: 0x7AFD
 Length: 36
 Network Mask: /32
 Metric Type: 2 (Larger than any link state path)
 TOS: 0
 Metric: 5
 Forward Address: 0.0.0.0
 External Route Tag: 0

 Routing Bit Set on this LSA
 LS age: 1400
 Options: (No TOS-capability, DC)
 LS Type: AS External Link
 Link State ID: 4.4.4.4 (External Network Number )
 Advertising Router: 10.10.123.4
 LS Seq Number: 80000014
 Checksum: 0x6208
 Length: 36
 Network Mask: /32
 Metric Type: 1 (Comparable directly to link state metric)
 TOS: 0
 Metric: 20
 Forward Address: 0.0.0.0
 External Route Tag: 0

R3#

 

Les deux informations sont donc disponibles avec des métriques différentes. Mais quelle est celle utilisée pour remplir la table de routage ?

R3#show ip route ospf
 4.0.0.0/32 is subnetted, 1 subnets
O E1 4.4.4.4 [110/94] via 10.1.3.1, 00:58:55, Serial2/1
 6.0.0.0/32 is subnetted, 1 subnets
O IA 6.6.6.6 [110/75] via 10.1.3.1, 14:13:21, Serial2/1
 10.0.0.0/24 is subnetted, 4 subnets
O 10.1.2.0 [110/128] via 10.2.3.2, 14:36:50, Serial2/0
 [110/128] via 10.1.3.1, 14:13:26, Serial2/1
O IA 10.10.123.0 [110/74] via 10.1.3.1, 14:13:26, Serial2/1
R3#

 

La route externe de type 1, bien que la métrique soit supérieure !  

 

Cette article montre bien deux choses à retenir pour préparer la certification Cisco CCNA :

1 – La valeur de la métrique associée à une route externe dépend du type de la route externe:

  • Les routes externes de type 2 ne prennent pas en compte la distance vers l’ASBR, seule la métrique annoncée est utilisée. C’est donc la même pour tous les routeurs OSPF.
  • Les routes externes de type 1 prennent en compte, en plus de la métrique annoncée, de la distance pour atteindre l’ASBR (éventuellement via l’ABR si l’ASBR n’est pas dans la même aire!).

 

2 – Pour deux routes externes, la route externe de type 1 est toujours préférée à une route externe de type 2 et ce, quelle que soit la valeur de la métrique annoncée. 

 

A la suite de cet article, le candidat à la certification Cisco CCNA est préparé pour traiter toutes les questions  relatives aux routes externes OSPF. Si, néanmoins, les explications fournies ici ne vous satisfont pas: laissez moi votre ou vos questions dans la zone commentaire ci-dessous !