Il décrit les concepts et les problèmes associés à l'adresse de transfert Open Shortest Path First (OSPF). Reportez-vous au document Pourquoi certaines routes OSPF figurent-elles dans la base de données mais pas dans la table de routage ? pour plus d'informations sur le dépannage d'OSPF.
Le problème expliqué dans ce document n'est observable qu'avec les versions du logiciel Cisco IOS® antérieures à la version 12.1(3). Le comportement de redistribution a changé dans le logiciel Cisco IOS Version 12.1(3) et ultérieure. Pour plus de détails, référez-vous à l'ID de bogue Cisco CSCdp72526 (clients enregistrés uniquement). Ce bogue a la liste des versions du logiciel Cisco IOS affectées et les versions corrigées. Reportez-vous également à Redistribution des réseaux connectés dans OSPF où le changement de comportement de Cisco IOS est expliqué.
Les lecteurs de ce document devraient avoir connaissance des sujets suivants :
Routage IP général.
Concepts et termes du protocole de routage OSPF.
Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :
Routeurs Cisco 2503
Logiciel Cisco IOS® Version 12.2(24a) exécuté sur tous les routeurs
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
For more information on document conventions, refer to the Cisco Technical Tips Conventions.
Le concept d’adresse de transfert OSPF a été introduit pour éviter les sauts supplémentaires lorsque le trafic est acheminé vers un système autonome externe (AS), comme illustré dans cette figure.
Dans la figure, deux routeurs du domaine OSPF se connectent au domaine externe. Cependant, seul le routeur 1 échange des informations de routage avec le routeur 100. Le routeur 1 redistribue les informations apprises du routeur 100 dans OSPF et les annonce au reste du domaine OSPF. Ce faisant, le routeur 1 devient le tronçon suivant (ou adresse de transfert) des informations qu'il redistribue au domaine OSPF. Lorsque le routeur 2 reçoit un paquet du domaine OSPF destiné à une adresse du domaine externe, il le transfère au routeur 1. Le routeur 1 le transfère ensuite au routeur 100. Le concept d’adresse de transfert permet d’éviter ce saut supplémentaire car il permet au routeur 1 de spécifier l’adresse IP d’un autre routeur comme adresse de transfert. Dans la figure, le routeur 1 peut spécifier le routeur 100 comme adresse de transfert pour les informations externes que le routeur 1 redistribue dans le domaine OSPF. Lorsque le routeur 2 reçoit un paquet du domaine OSPF destiné à une adresse du domaine externe, il le transfère au routeur 100. Le résultat est que le saut supplémentaire est évité via le routeur 1.
La valeur de l'adresse de transfert spécifiée par le routeur ASBR (Autonomsystem Border Router) (Router 1 dans la figure précédente) peut être 0.0.0.0 ou non nulle. L’adresse 0.0.0.0 indique que le routeur d’origine (ASBR) est le tronçon suivant. L’adresse de transfert est déterminée par les conditions suivantes :
L'adresse de transfert est définie sur 0.0.0.0 si l'ASBR redistribue les routes et que le protocole OSPF n'est pas activé sur l'interface de tronçon suivant pour ces routes. Ceci est vrai dans la figure si le protocole OSPF n'est pas activé sur l'interface Ethernet du routeur 1.
Ces conditions définissent le champ d'adresse de transfert sur une adresse différente de zéro :
Le protocole OSPF est activé sur l'interface de tronçon suivant du routeur ASBR ET
L'interface de tronçon suivant d'ASBR n'est pas passive sous OSPF AND
L'interface de tronçon suivant d'ASBR n'est pas point à point ET
L'interface de tronçon suivant d'ASBR n'est pas point à multipoint ET
L'adresse de l'interface de tronçon suivant d'ASBR tombe sous la plage de réseau spécifiée dans la commande router ospf.
Toutes les autres conditions en dehors de celles-ci définissent l'adresse de transfert sur 0.0.0.0.
Pour plus d'informations sur la façon dont l'adresse de transfert est définie et affecte la sélection du chemin, reportez-vous à Effets de l'adresse de transfert sur la sélection du chemin LSA de type 5.
Le routeur R2513, qui exécute uniquement le protocole RIP (et peut être connecté à un réseau RIP uniquement), est ajouté au réseau Token Ring dans la figure. Lorsque les routes apprises de R2513 sont redistribuées dans OSPF par l’ASBR (R2515), certaines routes ne sont pas installées dans la table de routage de certains routeurs. Les informations de configuration pertinentes de chacun des routeurs sont fournies dans ces tables.
hostname R2504 |
---|
interface Serial0 ip address 1.1.1.2 255.255.255.0 interface TokenRing0 ip address 3.3.4.2 255.255.255.0 router ospf 1 network 1.1.1.0 0.0.0.255 area 0 network 3.0.0.0 0.255.255.255 area 1 area 1 range 3.0.0.0 255.0.0.0 |
hostname R2507 |
---|
interface Serial0 ip address 1.1.1.1 255.255.255.0 interface Serial1 ip address 7.7.7.1 255.255.255.0 router ospf 1 network 1.1.1.1 0.0.0.0 area 0 default- information originate metric 20 ip route 0.0.0.0 0.0.0.0 Serial1 |
hostname R2513 |
---|
interface TokenRing0 ip address 3.3.4.4 255.255.255.0 interface ethernet 0 ip address 200.1.1.4 255.255.255.0 router rip network 3.0.0.0 network 200.1.1.0 |
hostname R2515 |
---|
interface TokenRing0 ip address 3.3.4.3 255.255.255.0 interface ethernet 0 ip address 3.44.66.3 255.255.255.0 interface ethernet 1 ip address 3.22.88.3 255.255.255.0 router ospf 1 redistribute rip metric 20 subnets network 0.0.0.0 255.255.255.255 area 1 router rip network 3.0.0.0 passive-interface ethernet 0 passive-interface ethernet 1 |
Les configurations des tableaux montrent que R2515 redistribue RIP dans OSPF et que R2504 (routeur ABR) crée un réseau résumé 3.0.0.0/8.
Voici les tables de routage de chacun des routeurs OSPF :
R2507# show ip route Gateway of last resort is 0.0.0.0 to network 0.0.0.0 1.0.0.0/ 24 is subnetted, 1 subnets C 1.1.1.0 is directly connected, Serial0 3.0.0.0/ 8 is variably subnetted, 4 subnets, 2 masks O IA 3.0.0.0/ 8 [110/ 70] via 1.1.1.2, 00: 15: 37, Serial0 O E2 3.3.4.0/ 24 [110/ 20] via 1.1.1.2, 00: 06: 37, Serial0 O E2 3.22.88.0/ 24 [110/ 20] via 1.1.1.2, 00: 06: 37, Serial0 O E2 3.44.66.0/ 24 [110/ 20] via 1.1.1.2, 00: 06: 37, Serial0 7.0.0.0/ 24 is subnetted, 1 subnets C 7.7.7.0 is directly connected, Serial1 S* 0.0.0.0/ 0 is directly connected, Serial1 R2504# show ip route Gateway of last resort is 1.1.1.1 to network 0.0.0.0 1.0.0.0/ 24 is subnetted, 1 subnets C 1.1.1.0 is directly connected, Serial0 3.0.0.0/ 8 is variably subnetted, 4 subnets, 2 masks S 3.0.0.0/ 8 is directly connected, Null0 C 3.3.4.0/ 24 is directly connected, TokenRing0 O 3.22.88.0/ 24 [110/ 11117] via 3.3.4.3, 00: 15: 16, TokenRing0 O 3.44.66.0/ 24 [110/ 11117] via 3.3.4.3, 00: 15: 16, TokenRing0 O E2 200.1.1.0/ 24 [110/ 20] via 3.3.4.4, 00: 06: 16, TokenRing0 O* E2 0.0.0.0/ 0 [110/ 20] via 1.1.1.1, 00: 15: 16, Serial0 R2515# show ip route Gateway of last resort is 3.3.4.2 to network 0.0.0.0 1.0.0.0/ 24 is subnetted, 1 subnets O IA 1.1.1.0 [110/ 70] via 3.3.4.2, 00: 10: 28, TokenRing0 3.0.0.0/ 24 is subnetted, 3 subnets C 3.3.4.0 is directly connected, TokenRing0 R 200.1.1.0/ 24 [120/ 1] via 3.3.4.4, 00: 00: 10, TokenRing0 O* E2 0.0.0.0/ 0 [110/ 20] via 3.3.4.2, 00: 10: 28, TokenRing0
R2515 possède une route dérivée RIP (R) pour le réseau 200.1.1.0/24. R2515 est l’ASBR et redistribue le protocole RIP dans OSPF. R2504 apprend le réseau 200.1.1.0/24 à partir de R2515 et l’installe dans sa table de routage en tant que route externe de type 2 (E2) OSPF. Le problème est que R2507 ne contient pas le réseau 200.1.1.0/24 dans sa table de routage.
R2507 dispose de routes externes pour les réseaux 3.3.4.0/24, 3.22.88.0/24 et 3.44.66.0/24, même si tous ces réseaux doivent être inclus dans le résumé de 3.0.0.0/8.
La raison pour laquelle ces routes externes apparaissent est que le protocole RIP est exécuté sur ces trois sous-réseaux par le routeur ASBR, qui redistribue le protocole RIP dans le protocole OSPF. Il redistribue donc les sous-réseaux en tant que routes externes dans OSPF. Ces sous-réseaux étant des routes externes, ils ne sont pas résumés par l’ABR (R2504). Les routes OSPF externes ne peuvent être résumées que par le routeur ASBR. Dans ce cas, R2515. L’ABR résume uniquement les routes OSPF internes de la zone 1 à la zone 0.
Remarque : avec la correction du bogue Cisco ID CSCdp72526 (clients enregistrés uniquement) , OSPF ne génère pas d'annonce d'état de liens de type 5 d'un réseau externe superposé. R2507 ne dispose que d’une route inter-zone récapitulative de 3.0.0.0/8. Ensuite, R2507 installe 200.1.1.0/24 comme adresse de transfert et il est accessible via la route inter-zone 3.0.0.0/8. Ceci est conforme à la RFC 2328 .
Ce résultat montre la LSA externe pour le réseau 200.1.1.0/24 dans la base de données OSPF de R2507 :
R2507# show ip ospf data external 200.1.1.0 OSPF Router with ID (7.7.7.1) (Process ID 1) Type- 5 AS External Link States LS age: 72 Options: (No TOS- capability, DC) LS Type: AS External Link Link State ID: 200.1.1.0 (External Network Number ) Advertising Router: 3.44.66.3 LS Seq Number: 80000001 Checksum: 0xF161 Length: 36 Network Mask: /24 Metric Type: 2 (Larger than any link state path) TOS: 0 Metric: 20 Forward Address: 3.3.4.4 External Route Tag: 0
Le protocole OSPF permet au routeur ASBR de spécifier un autre routeur comme adresse de transfert vers des routes externes. Dans ce cas, l'ASBR (R2515) a spécifié 3.3.4.4 comme adresse de transfert pour le réseau externe 200.1.1.0.
RFC 2328 , section 16.4 (Calcul des routes externes AS), déclare :
« Si l'adresse de transfert est différente de zéro, recherchez l'adresse de transfert dans la table de routage. L'entrée de la table de routage correspondante doit spécifier un chemin d'accès intra-zone ou inter-zone ; s'il n'existe aucun chemin de ce type, ne faites rien avec la LSA et considérez le suivant dans la liste. »
Dans cet exemple, la route vers l'adresse de transfert 3.3.4.4 est présentée ici :
R2507# show ip route 3.3.4.4 Routing entry for 3.3.4.0/ 24 Known via "ospf 1", distance 110, metric 20,type extern 2, forward metric 70 Redistributing via ospf 1 Last update from 1.1.1.2 on Serial0, 00: 00: 40 ago Routing Descriptor Blocks: * 1.1.1.2, from 3.44.66.3, 00: 00: 40 ago, via Serial0 Route metric is 20, traffic share count is 1
L’adresse de transfert 3.3.4.4 est mise en correspondance par la route externe 3.3.4.0/24 au lieu de la route récapitulative inter-zone 3.0.0.0/8 en raison de la règle de correspondance la plus longue. Comme le routeur ne dispose pas d’une route OSPF interne vers l’adresse de transfert, il n’installe pas la route externe 200.1.1.0/24 dans la table de routage. L’utilisation d’une route externe pour atteindre une autre route externe peut entraîner des boucles. Par conséquent, OSPF ne l'autorise pas.
Comment pouvez-vous vous assurer que l’adresse de transfert non nulle existe dans la table de routage en tant que route intra-zone ou inter-zone ?
La première solution n'est pas de résumer sur l'ABR.
La deuxième solution consiste à ne pas configurer de filtrage LSA de type 3. Si les routes de type 3 sont filtrées, l'adresse de transfert qui apparaît sur la sortie de la commande show ip ospf database external n'est pas accessible. Cela rend le réseau externe inaccessible. Dans ce cas, R2504. Les routeurs de la zone 0 disposent ainsi de routes interzones (au lieu de routes externes) pour tous les sous-réseaux spécifiques des autres zones.
Utilisez ces commandes pour supprimer la récapitulation sur ABR :
R2504(config)# router ospf 1 R2504(config- router)# no area 1 range 3.0.0.0 255.0.0.0
Les résultats de cette commande dans la table de routage sur R2507 sont présentés ici :
R2507# show ip route Gateway of last resort is 0.0.0.0 to network 0.0.0.0 1.0.0.0/ 24 is subnetted, 1 subnets C 1.1.1.0 is directly connected, Serial0 3.0.0.0/ 24 is subnetted, 3 subnets O IA 3.3.4.0 [110/ 70] via 1.1.1.2, 00: 00: 48, Serial0 O IA 3.22.88.0 [110/ 80] via 1.1.1.2, 00: 00: 48, Serial0 O IA 3.44.66.0 [110/ 80] via 1.1.1.2, 00: 00: 48, Serial0 7.0.0.0/ 24 is subnetted, 1 subnets C 7.7.7.0 is directly connected, Serial1 O E2 200.1.1.0/ 24 [110/ 20] via 1.1.1.2, 00: 00: 48, Serial0 S* 0.0.0.0/ 0 is directly connected, Serial1 R2507# show ip route 3.3.4.4 Routing entry for 3.3.4.0/24 Known via "ospf 1", distance 110, metric 70, type inter area Last update from 1.1.1.2 on Serial1, 00:03:52 ago Routing Descriptor Blocks: * 1.1.1.2, from 3.3.4.2, 00:03:52 ago, via Serial1 Route metric is 74, traffic share count is 1
D’après le résultat, vous pouvez voir que l’adresse 3.3.4.4 est accessible via une route interzone vers le réseau 3.3.4.0/24 . Le routeur R2507 apprend la route vers ce réseau par le biais d’une LSA de type 5 et d’une LSA de type 3, après suppression du résumé sur le routeur ABR R2504. Étant donné que le protocole OSPF préfère une route interzone à une route externe vers le même réseau, il l’installe en tant que route interzone. Comme le R2507 dispose désormais d’une route interzone vers l’adresse de transfert 3.3.4,4, le réseau externe 200.1.1.0/24 est également installé dans sa table de routage.
Remarque : si la NSSA (zone Not So Stubby) est utilisée et si le filtrage LSA de type 3 est effectué sur l'ABR NSSA, le même problème d'adresse de transfert inaccessible existe.
Une autre solution consiste à empêcher le sous-réseau 3.3.4.0 d'être redistribué dans OSPF en tant que route externe, car OSPF s'exécute sur lui. Ces commandes de configuration dans l'ASBR (R2515) créent une route-map. Ceci est utilisé par la commande redistribute pour autoriser uniquement la redistribution du réseau 200.1.1.0/24 dans OSPF. Le routeur ABR (R2504) récapitule toujours les routes OSPF internes de la zone 1 vers la zone 0.
R2515# configure terminal R2515(config)# router ospf 1 R2515(config-router)# redistribute rip metric 20 subnets route-map rip_to_ospf_filter R2515(config-router)# exit R2515(config)# access-list 28 permit 200.1.1.0 0.0.0.255 R2515(config)# route-map rip_to_ospf_filter permit 10 R2515(config-route-map)# match ip address 28
Les résultats de cette commande dans la table de routage sur R2507 sont présentés ici :
R2507# show ip route Gateway of last resort is 0.0.0.0 to network 0.0.0.0 1.0.0.0/ 24 is subnetted, 1 subnets C 1.1.1.0 is directly connected, Serial0 O IA 3.0.0.0/ 8 [110/ 70] via 1.1.1.2, 00: 07: 05, Serial0 7.0.0.0/ 24 is subnetted, 1 subnets C 7.7.7.0 is directly connected, Ethernet0 O E2 200.1.1.0/ 24 [110/ 20] via 1.1.1.2, 00: 00: 21, Serial0 S* 0.0.0.0/ 0 is directly connected, Ethernet0
La seule route externe de la table de routage est 200.1.1.0/24. Ce réseau figure dans la table de routage, car l’adresse de transfert de ce réseau externe (3.3.4.1) est couverte par la route récapitulative 3.0.0.0/8, qui est une route interzone.
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
29-Dec-2005 |
Première publication |