Dans le cadre de la documentation associée à ce produit, nous nous efforçons d’utiliser un langage exempt de préjugés. Dans cet ensemble de documents, le langage exempt de discrimination renvoie à une langue qui exclut la discrimination en fonction de l’âge, des handicaps, du genre, de l’appartenance raciale de l’identité ethnique, de l’orientation sexuelle, de la situation socio-économique et de l’intersectionnalité. Des exceptions peuvent s’appliquer dans les documents si le langage est codé en dur dans les interfaces utilisateurs du produit logiciel, si le langage utilisé est basé sur la documentation RFP ou si le langage utilisé provient d’un produit tiers référencé. Découvrez comment Cisco utilise le langage inclusif.
Cisco a traduit ce document en traduction automatisée vérifiée par une personne dans le cadre d’un service mondial permettant à nos utilisateurs d’obtenir le contenu d’assistance dans leur propre langue. Il convient cependant de noter que même la meilleure traduction automatisée ne sera pas aussi précise que celle fournie par un traducteur professionnel.
Ce document décrit le concept de l'adresse de transfert Open Shortest Path First (OSPF) sur les périphériques IOS-XR et IOS. Il compare le comportement OSPF entre les périphériques IOS-XR et IOS.
Cisco vous recommande d'avoir une connaissance de base du protocole OSPF.
Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :
Cette section traite du concept de l’adresse de transfert dans OSPF. Si vous en connaissez déjà, passez à la section suivante.
Lorsqu’un routeur OSPF redistribue une route d’un autre protocole source dans OSPF en tant qu’E1 ou E2, il peut définir une adresse de transfert dans cette LSA externe spécifique. Le protocole OSPF doit remplir ces conditions pour pouvoir définir cet attribut particulier. L'adresse de transfert peut être renseignée (non nulle) ou non remplie (tous les zéros).
Toutes ces conditions doivent définir le champ d'adresse de transfert sur une adresse différente de zéro :
Lorsque l’adresse de transfert est définie sur tous les zéros (0.0.0.0), cela signifie que le routeur doit se récurer à ce noeud particulier dans la topologie OSPF pour acheminer correctement le trafic vers la destination. Une grande différence avec le protocole OSPF en tant que protocole de routage à état de liens par rapport aux protocoles à vecteur de distance est que l’état des liaisons lui permet d’avoir une vue complète de la topologie dans cette zone particulière, le routeur peut calculer le chemin le plus court vers un noeud de la topologie avec une vue globale de tous les périphériques et de leurs coûts. Il ne se dirige pas nécessairement vers un préfixe mais vers un noeud, ce qui est une grande différence.
Lorsque l’adresse de transfert est définie sur une valeur différente de zéro, le routeur vérifie quel est le chemin le plus court vers ce noeud connecté à l’adresse de transfert.
Cette section passe en revue la topologie pour plus de précisions :
Image 1
Dans l'image 1, Enhanced Interior Gateway Routing Protocol (EIGRP) s'exécute entre R2 et R3 sur le segment partagé 192.168.1.0/24. R1 est également connecté au segment partagé 192.168.1.0/24, bien qu'il n'existe pas de protocole EIGRP. R2 est configuré pour redistribuer 172.16.3.3/32 du protocole EIGRP vers le protocole OSPF en tant que route E2 externe. Le protocole OSPF fonctionne entre R2 et R4, R1 et R4, R1 et Transit_Router et R4 vers XR5. Le logiciel du routeur XR5 est IOS-XR.
Cette section explique l'importance de l'adresse de transfert. Considérez que le trafic va vers 172.16.3.3/32 provient du réseau cloud, qu'il arrive sur le routeur de transit et qu'il est transmis conformément à la table de routage.
Vérifiez ce que vous avez dans la table de routage de Transit_Router pour le préfixe 172.16.3.3/32.
Transit_Router#show ip route 172.16.3.3
Routing entry for 172.16.3.3/32 Known via "ospf 1", distance 110, metric 20, type extern 2, forward metric 2 Last update from 192.168.70.1 on GigabitEthernet1, 00:00:04 ago Routing Descriptor Blocks: * 192.168.70.1, from 2.2.2.2, 00:00:04 ago, via GigabitEthernet1 <- You see the prefix is from advertising router with router-id 2.2.2.2 Route metric is 20, traffic share count is 1 Transit_Router#
Le tronçon suivant est 192.168.70.1 va vers R1. Puisque R2 est redistribué au réseau 172.16.3.3/32 dans le protocole OSPF, vous pouvez supposer que vous devez router vers R2 pour atteindre la destination 172.16.3.3/32.
Vous pouvez exécuter traceroute à partir du routeur de transit vers 172.16.3.3/32.
Transit_Router#traceroute 172.16.3.3 timeout 1 Type escape sequence to abort. Tracing the route to 172.16.3.3 VRF info: (vrf in name/id, vrf out name/id) 1 192.168.70.1 7 msec 5 msec 8 msec <- R1 2 192.168.1.3 10 msec 11 msec 17 msec <- R3
Lorsque R1 reçoit du trafic destiné à 172.16.3.3/32, il est en fait routé directement vers R3. Exécutez show ip route sur R1 pour afficher la table de routage vers 172.16.3.3.
R1#show ip route 172.16.3.3 Routing entry for 172.16.3.3/32 Known via "ospf 1", distance 110, metric 20, type extern 2, forward metric 1 Last update from 192.168.1.3 on GigabitEthernet0/0, 02:04:54 ago Routing Descriptor Blocks: * 192.168.1.3, from 2.2.2.2, 02:04:54 ago, via GigabitEthernet0/0 <-- Next-hop goes directly towards R3 over the shared segment Route metric is 20, traffic share count is 1
En raison de l'adresse de transfert, R1 a un saut suivant 192.168.1.3 va vers R3, Si vous n'avez aucun protocole de routage entre R1 et R3. Vérifiez la LSA externe sur le routeur transit_Router.
Transit_Router#show ip ospf database external 172.16.3.3 OSPF Router with ID (6.6.6.6) (Process ID 1) Type-5 AS External Link States LS age: 1641 Options: (No TOS-capability, DC, Upward) LS Type: AS External Link Link State ID: 172.16.3.3 (External Network Number ) Advertising Router: 2.2.2.2 LS Seq Number: 80000004 Checksum: 0x8299 Length: 36 Network Mask: /32 Metric Type: 2 (Larger than any link state path) MTID: 0 Metric: 20 Forward Address: 192.168.1.3 <-R3 interface towards the shared segment External Route Tag: 0
Comme vous pouvez le voir, l'adresse de transfert est renseignée avec l'adresse IP 192.168.1.3, ce qui signifie que si vous voulez acheminer vers 172.16.3.3/32, vous devez revenir vers 192.168.1.3. Cela implique maintenant que lorsque R1 reçoit des paquets destinés à 172.16.3.3/32, il a également une LSA de type 5 pour 172.16.3.3/32 avec une adresse de transfert de 192.168.1.3 qui est directement connectée sur l'interface Gi0/0. Par conséquent, R1 achemine les paquets vers 192.168.1.3.
L’adresse de transfert aide à limiter le routage sous-optimal. Si l'adresse de transfert n'a pas été définie sur la LSA de type 5, vous devez acheminer tous les paquets destinés à 172.16.3.3 via l'ASBR qui est R2.
Pour le vérifier, vous pouvez réinitialiser l'adresse de transfert sur 0.0.0.0 et exécuter traceroute à partir du routeur de transit.
Transit_Router#show ip ospf database external 172.16.3.3 OSPF Router with ID (6.6.6.6) (Process ID 1) Type-5 AS External Link States LS age: 14 Options: (No TOS-capability, DC, Upward) LS Type: AS External Link Link State ID: 172.16.3.3 (External Network Number ) Advertising Router: 2.2.2.2 LS Seq Number: 80000005 Checksum: 0x196F Length: 36 Network Mask: /32 Metric Type: 2 (Larger than any link state path) MTID: 0 Metric: 20 Forward Address: 0.0.0.0 <- Recurse towards the ASBR (RID 2.2.2.2) External Route Tag: 0 Transit_Router#
Vous pouvez voir que l'adresse de transfert est définie sur 0.0.0.0, ce qui signifie que vous devez maintenant acheminer les paquets vers l'ASBR qui est R2. Lorsque vous exécutez une traceroute à partir du routeur de transit vers 172.16.3.3, ce trafic suit le chemin vers le routeur ASBR R2.
On peut le voir ici :
Transit_Router#traceroute 172.16.3.3 Type escape sequence to abort. Tracing the route to 172.16.3.3 VRF info: (vrf in name/id, vrf out name/id) 1 192.168.70.1 17 msec 12 msec 3 msec <-R1 2 192.168.14.4 3 msec 18 msec 7 msec <-R4 3 192.168.24.2 15 msec 8 msec 5 msec <-R2 4 192.168.1.3 8 msec 11 msec 7 msec <-R3 Transit_Router#
Cette section décrit une différence entre les périphériques IOS et IOS-XR lorsque vous connaissez l'adresse de transfert via une autre source.
Dans IOS, lorsque vous avez une route externe OSPF dans la base de données et que l'adresse de transfert est définie, l'adresse de transfert doit être connue via une route OSPF inter ou intra-zone. Si l'adresse de transfert n'est pas connue via une route OSPF interne ou inter-zone, le routeur n'installe pas la route OSPF externe dans la base d'informations de routage (RIB).
Vérifiez ce qui se passe lorsque vous configurez l'adresse de transfert pour qu'elle soit connue via une route statique.
Image 2
Dans la topologie de l'image 2, R2 est configuré comme point de redistribution entre EIGRP et OSPF. Le routeur redistribue 172.16.3.3/32 à partir du protocole EIGRP dans le domaine OSPF. Vous pouvez vérifier à la fois R4 et XR5 pour vérifier quelles sont les différences lorsque l'adresse de transfert est connue via une autre source. La base de données OSPF sur R4 s'affiche ici.
R4# show ip ospf database external 172.16.3.3
OSPF Router with ID (4.4.4.4) (Process ID 1) Type-5 AS External Link States LS age: 4 Options: (No TOS-capability, DC, Upward) LS Type: AS External Link Link State ID: 172.16.3.3 (External Network Number ) Advertising Router: 2.2.2.2 LS Seq Number: 80000002 Checksum: 0x8697 Length: 36 Network Mask: /32 Metric Type: 2 (Larger than any link state path) MTID: 0 Metric: 20 Forward Address: 192.168.1.3 External Route Tag: 0
Vérifiez comment vous dirigez vers l'adresse de transfert.
R4# show ip route 192.168.1.3 Routing entry for 192.168.1.0/24 Known via "ospf 1", distance 110, metric 2, type intra area <- Here you see it is know via OSPF intra area Last update from 192.168.24.2 on GigabitEthernet0/0, 00:00:23 ago Routing Descriptor Blocks: 192.168.24.2, from 1.1.1.1, 00:00:23 ago, via GigabitEthernet0/0 Route metric is 2, traffic share count is 1 * 192.168.14.1, from 1.1.1.1, 00:04:42 ago, via GigabitEthernet0/1 Route metric is 2, traffic share count is 1 R4#
Comme vous pouvez le voir, le routeur apprend l’adresse de transfert via une route intra-zone, ce qui signifie qu’il peut installer la LSA externe dans RIB. Vous pouvez voir que la LSA externe est installée dans RIB.
R4#show ip route 172.16.3.3 Routing entry for 172.16.3.3/32 Known via "ospf 1", distance 110, metric 20, type extern 2, forward metric 2 Last update from 192.168.24.2 on GigabitEthernet0/0, 00:01:02 ago Routing Descriptor Blocks: 192.168.24.2, from 2.2.2.2, 00:01:02 ago, via GigabitEthernet0/0 Route metric is 20, traffic share count is 1 * 192.168.14.1, from 2.2.2.2, 00:04:57 ago, via GigabitEthernet0/1 Route metric is 20, traffic share count is 1
Configurez une route statique pour l’adresse de transfert qui va vers l’ASBR qui est R2
R4#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R4(config)#ip route 192.168.1.0 255.255.255.0 192.168.24.2
Exécutez show ip route vers l'adresse de transfert.
R4# show ip route 192.168.1.3 Routing entry for 192.168.1.0/24 Known via "static", distance 1, metric 0 Routing Descriptor Blocks: * 192.168.24.2 Route metric is 0, traffic share count is 1
Comme vous pouvez le voir, l’adresse de transfert n’est pas apprise via OSPF mais statique, ce qui signifie que la LSA externe pour 172.16.3.3 ne peut plus répondre aux critères nécessaires à l’utilisation.
R4#show ip ospf database external 172.16.3.3 OSPF Router with ID (4.4.4.4) (Process ID 1) Type-5 AS External Link States LS age: 480 Options: (No TOS-capability, DC, Upward) LS Type: AS External Link Link State ID: 172.16.3.3 (External Network Number ) Advertising Router: 2.2.2.2 LS Seq Number: 80000001 Checksum: 0x8896 Length: 36 Network Mask: /32 Metric Type: 2 (Larger than any link state path) MTID: 0 Metric: 20 Forward Address: 192.168.1.3 External Route Tag: 0
Enfin, vérifiez si la route externe est installée de la base de données OSPF dans RIB.
R4#show ip route 172.16.3.3 % Network not in table
Comme vous pouvez le voir, le routeur n'installe pas la LSA externe de la base de données OSPF dans RIB, car l'adresse de transfert est connue par l'intermédiaire de la statique et non par l'intermédiaire d'OSPF à l'intérieur ou entre zones.
La logique ici est que le protocole OSPF ne considère pas qu’une autre source de routage vers l’adresse de transfert est fiable. Par conséquent, le routeur ne doit prendre en compte aucune LSA externe dont l’adresse de transfert n’est pas connue via OSPF.
Cette section décrit le même test sur IOS-XR pour vérifier le comportement. Sur XR5, vous avez une LSA externe :
RP/0/0/CPU0:XR4#show ospf database external 172.16.3.3 Mon Mar 26 06:26:24.656 UTC OSPF Router with ID (192.168.60.1) (Process ID 1) Type-5 AS External Link States Routing Bit Set on this LSA LS age: 930 Options: (No TOS-capability, DC) LS Type: AS External Link Link State ID: 172.16.3.3 (External Network Number) Advertising Router: 2.2.2.2 LS Seq Number: 80000001 Checksum: 0x8896 Length: 36 Network Mask: /32 Metric Type: 2 (Larger than any link state path) TOS: 0 Metric: 20 Forward Address: 192.168.1.3 External Route Tag: 0
Vérifiez si vous configurez une route statique pour l'adresse de transfert vers R4, si le routeur installe ou non la LSA externe dans la base de données.
RP/0/0/CPU0:XR4#show route 192.168.1.3 Mon Mar 26 06:33:21.587 UTC Routing entry for 192.168.1.0/24 Known via "static", distance 1, metric 0 <- The forwarding address is now known via static Installed Mar 26 06:31:55.133 for 00:01:26 Routing Descriptor Blocks 192.168.60.4 <- Next-hop is R4 Route metric is 0, Wt is 1 No advertising protos.
Vous pouvez voir que l'adresse de transfert est apprise via static. Maintenant, vérifiez si la LSA externe a été installée dans RIB.
RP/0/0/CPU0:XR4#show route 172.16.3.3 Mon Mar 26 06:42:24.830 UTC Routing entry for 172.16.3.3/32 Known via "ospf 1", distance 110, metric 20, type extern 2 Installed Mar 26 06:25:09.841 for 00:17:15 Routing Descriptor Blocks 192.168.60.4, from 2.2.2.2, via GigabitEthernet0/0/0/0 Route metric is 20 No advertising protos. RP/0/0/CPU0:XR4#
Vous pouvez voir une différence entre IOS et IOS-XR. La LSA externe a été installée dans RIB, même si l’adresse de transfert est apprise par l’intermédiaire d’une adresse statique. Le routeur dispose toujours de la connectivité vers le préfixe externe.
RP/0/0/CPU0:XR4#ping 172.16.3.3 Mon Mar 26 06:44:25.772 UTC Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 172.16.3.3, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/9/19 ms RP/0/0/CPU0:XR4#
Il semble que IOS-XR remplit la LSA externe dans RIB, mais ne prend pas en compte l'adresse de transfert pour la récursivité, ce qui signifie qu'elle se répète vers l'ASBR plutôt que de rechercher l'adresse de transfert dans RIB.
Le test vous indique qu'il peut être pris en compte. Vous pouvez configurer une route statique pour l'adresse de transfert vers null0 et vérifier si la connectivité vers le préfixe externe existe toujours.
RP/0/0/CPU0:XR4#show ospf database external 172.16.3.3 Mon Mar 26 06:55:36.296 UTC OSPF Router with ID (192.168.60.1) (Process ID 1) Type-5 AS External Link States Routing Bit Set on this LSA LS age: 667 Options: (No TOS-capability, DC) LS Type: AS External Link Link State ID: 172.16.3.3 (External Network Number) Advertising Router: 2.2.2.2 LS Seq Number: 80000002 Checksum: 0x8697 Length: 36 Network Mask: /32 Metric Type: 2 (Larger than any link state path) TOS: 0 Metric: 20 Forward Address: 192.168.1.3 External Route Tag: 0 RP/0/0/CPU0:XR4#show route 192.168.1.3 Mon Mar 26 06:55:38.966 UTC Routing entry for 192.168.1.0/24 Known via "static", distance 1, metric 0 (connected) Installed Mar 26 06:47:15.030 for 00:08:23 Routing Descriptor Blocks directly connected, via Null0 Route metric is 0, Wt is 1 No advertising protos.
Vérifiez la connectivité de XR5 vers 172.16.3.3.
RP/0/0/CPU0:XR4#ping 172.16.3.3 Mon Mar 26 06:56:45.261 UTC Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 172.16.3.3, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/7/19 ms RP/0/0/CPU0:XR4#traceroute 172.16.3.3 Mon Mar 26 06:56:51.251 UTC Type escape sequence to abort. Tracing the route to 172.16.3.3 1 192.168.60.4 0 msec 0 msec 0 msec 2 192.168.14.1 0 msec 0 msec 0 msec 3 192.168.1.3 9 msec 9 msec 0 msec RP/0/0/CPU0:XR4
Dans ces tests, vous avez vu l'importance de l'adresse de transfert et comment interpréter le routage lorsqu'il est défini. En outre, l'hypothèse que si l'adresse de transfert est définie, elle doit être utilisée, peut être fausse car elle dépend de la plate-forme. Lorsque l'adresse de transfert est connue via la zone OSPF intra/inter, elle est utilisée, sinon elle est renseignée mais non utilisée pour la récursivité. Le comportement sur XR donne un niveau de rassurance, dans le cas où une adresse de transfert de LSA externe devient connue via une autre source, le trafic ne peut pas être mis en veille.