IP : Protocole OSPF (Open Shortest Path First)

Explication des problèmes de voisins OSPF

16 décembre 2015 - Traduction automatique
Autres versions: PDFpdf | Anglais (22 août 2015) | Commentaires


Contenu


Introduction

Ce document décrit les problèmes couramment rencontrés pour que des voisins Open Shortest Path First (OSPF) deviennent entièrement contigus. Lorsqu'une formation de contiguïté OSPF est réussie, les voisins OSPF atteignent l'état de voisinage FULL.

Afin d'examiner la formation de la contiguïté, émettez la commande debug ip ospf adj. Avant d'émettre des commandes debug, reportez-vous aux Informations importantes sur les commandes de débogage.

Conditions préalables

Conditions requises

Ce document requiert une compréhension de base des protocoles de routage IP et du protocole de routage OSPF. Pour en savoir plus sur les protocoles de routage IP, consultez le document Bases du routage. Consultez la Page d'assistance d'Open Shortest Path First (OSPF) pour plus d'informations sur l'OSPF.

Composants utilisés

Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :

  • L'OSPF peut être configuré sur tous les routeurs, tels que les commutateurs des gammes Cisco 2500 et Cisco 2600, et les commutateurs de couche 3.

  • L'OSPF est pris en charge dans des versions de logiciel 10.0 et ultérieures de Cisco IOSÝ.

Les informations contenues dans ce document ont été créées à partir des périphériques d'un environnement de laboratoire spécifique. Tous les périphériques utilisés dans ce document ont démarré avec une configuration effacée (par défaut). Si votre réseau est opérationnel, assurez-vous que vous comprenez l'effet potentiel de toute commande.

Conventions

Pour plus d'informations sur les conventions utilisées dans ce document, reportez-vous à Conventions relatives aux conseils techniques Cisco.

Contiguïtés

Le fait que les routeurs soient des voisins n'est pas suffisant pour garantir un échange des mises à jour de l'état des liaisons ; l'échange des mises à jour de l'état des liaisons nécessite qu'ils forment des contiguïtés. La contiguïté est une forme avancée de voisinage constituée par les routeurs qui sont disposés à échanger des informations de routage après la négociation des paramètres d'un tel échange. Les routeurs atteignent l'état FULL de contiguïté lorsqu'ils ont synchronisé des vues sur une base de données d'état des liaisons.

Le type d'interface joue un rôle important dans la façon dont les contiguïtés sont formées. Par exemple, les voisins de liaisons point à point essaient toujours de devenir contigus, alors que les routeurs liés à des supports de diffusion tels qu'Ethernet peuvent choisir de devenir uniquement contigus à un sous-ensemble de routeurs voisins sur l'interface.

Lorsqu'un routeur décide de former une contiguïté avec un voisin, il commence par échanger une copie intégrale de sa base de données d'état des liaisons. Le voisin, à son tour, échange une copie intégrale de sa base de données d'état des liaisons avec le routeur. Après être passés par plusieurs états de voisinage, les routeurs deviennent entièrement contigus.

États des voisins

Vous pouvez utiliser la commande show ip ospf neighbor pour déterminer l'état du ou des voisins OSPF. Le résultat de cette commande indiquera très probablement l'un des états suivants :

  • rien

  • state = down

  • state = init

  • state = exstart

  • state = exchange

  • state = 2-way

  • state = loading

Il existe d'autres états OSPF, mais les états indiqués ici sont les plus courants dans les résultats de la commande show ip ospf neighbor. Pour obtenir plus d'informations et une description de tous les états des voisins OSPF, consultez les États des voisins OSPF.

Aucun état indiqué

Si la commande show ip ospf neighbor n'indique rien, ou n'indique rien au sujet du voisin particulier que vous analysez, alors ce routeur n'a vu aucun HELLO OSPF « valide » de ce voisin. Cela signifie que l'OSPF n'a reçu aucun paquet HELLO du voisin ou qu'il a reçu des paquets HELLO ayant échoué à des contrôles de validité très simples.

Vérifiez les points suivants :

  • L'interface sur le routeur local et le routeur voisin fonctionne-t-elle avec le protocole de ligne « up » ? Émettez la commande show interface pour le vérifier.

  • Recherchez la connectivité IP entre les routeurs voisins, comme indiqué ici :

    • Le voisin réagit-il à une commande ping ? Effectuez un test Ping sur l'adresse IP attribuée à l'interface en question sur le routeur voisin. Émettez une commande traceroute vers la même adresse IP et vérifiez qu'il ne lui faut pas plus d'un saut pour atteindre la destination.

    • Le voisin réagit-il si vous émettez une commande ping 224.0.0.5 ? (224.0.0.5 est l'adresse à laquelle les HELLO OSPF sont envoyés.)

    • Recherchez toutes les listes d'accès entrantes ou d'autres périphériques (comme un commutateur) qui pourraient interdire l'envoi de paquets IP d'un voisin à l'autre.

  • L'OSPF est-il activé sur votre interface et l'interface du routeur voisin ? Émettez la commande show ip ospf interface pour le vérifier.

  • L'OSPF est-il configuré en mode passif pour l'interface du routeur local ou du routeur voisin ? Émettez la commande show ip ospf interface pour vérifier que les paquets HELLO doivent être envoyés hors de l'interface. Une interface OSPF active affiche une ligne semblable à celle-ci :

    Hello due in 00:00:07
  • Vérifiez que les routeurs voisins ont des ID de routeurs différents. Les ID de routeur sont utilisés pour identifier chaque routeur dans un réseau OSPF. Les routeurs ayant le même ID ignorent les HELLO envoyés par chacun d'eux, ce qui les empêche de former des contiguïtés. La première ligne du résultat de la commande show ip ospf affiche l'ID actuel de chaque routeur.

  • Vérifiez que ces paramètres HELLO correspondent sur les interfaces voisines :

    • Numéro de zone OSPF : émettez la commande show ip ospf interface nom-interface pour le vérifier.

    • Type de zone OSPF, tel que stub ou NSSA : émettez la commande show ip ospf pour le vérifier.

    • Sous-réseau et masque de sous-réseau : émettez la commande show interface command pour les vérifier.

    • HELLO OSPF et valeurs du temporisateur de temps mort : émettez la commande show ip ospf interface nom-interface pour les vérifier.

  • Si le problème se trouve sur la liaison point à point (telle que PPP ou High-Level Data Link Control [HDLC]) et s'il existe plusieurs liaisons parallèles entre cette paire de routeurs, vérifiez que les lignes sont correctement connectées. Supposons que vous vouliez connecter l'interface Serial0/0 d'un routeur avec l'interface Serial0/0 de son voisin et la Serial1/0 avec la Serial1/0 de son voisin, mais qu'accidentellement vous les croisiez et connectiez la Serial0/0 de chaque routeur avec la Serial1/0 de l'autre. La commande ping pourrait ne pas détecter un tel problème, mais l'OSPF n'établira pas la contiguïté. Utilisez les informations fournies par Cisco Discovery Protocol (CDP) pour s'assurer que l'interconnexion des périphériques est appropriée. Émettez la commande show cdp neighbor nom-interface pour vérifier que le nom et le PortID d'un périphérique distant correspondent à la conception réseau.

Remarque: Les contiguïtés OSPF se forment uniquement sur des réseaux principaux et non sur des réseaux secondaires.

Si vous avez vérifié tous ces points et si la commande show ip ospf neighbor n'indique toujours rien, alors votre problème n'est pas très courant et il se peut que vous deviez contacter Cisco pour obtenir de l'aide.

Voisin dont l'état est « down »

Un voisin découvert dynamiquement via la réception de paquets HELLO peut retomber dans un état down (inactif) s'il est en cours de suppression, par exemple lorsque l'OSPF ne reçoit pas de paquets HELLO du voisin pendant une durée supérieure à l'intervalle de temporisateur de temps mort. L'état down est donc temporaire pour de tels voisins ; ils passeront à des états plus élevés ou seront complètement supprimés de la table des voisins connus. Ces voisins sont « oubliés ».

Habituellement, les voisins dont l'état est down ont été configurés manuellement à l'aide de la commande neighbor. Les voisins configurés manuellement sont toujours présents dans la table de voisinage OSPF. Si l'OSPF n'a jamais reçu de paquet HELLO du voisin manuellement configuré, ou si le voisin n'a détecté aucun paquet HELLO au cours du précédent intervalle de temporisation de temps mort, alors le voisin configuré manuellement sera listé en tant que down.

Remarque: La commande neighbor peut seulement être configurée pour les voisins directement liés aux types de réseaux suivants :

  • Réseaux Non-Broadcast MultiAccess (NBMA) : interfaces configurées avec la commande ip ospf network non-broadcast.

  • Réseaux point à multipoint de non-diffusion : interfaces configurées avec la commande ip ospf network point-to-multipoint non-broadcast.

Si un voisin se trouve dans l'état down, vérifiez que le routeur voisin est sous tension, qu'il est opérationnel, et qu'il est correctement configuré pour l'OSPF sur cette interface. Testez la connectivité entre les routeurs à l'aide des commandes ping et traceroute. Vérifiez la table de voisinage OSPF sur le routeur voisin à l'aide de la commande show ip ospf neighbor, puis effectuez les mêmes vérifications de configuration que celles listées dans la section Aucun état indiqué.

Voisin dont l'état est « init »

L'état init indique qu'un routeur voit les paquets HELLO du voisin, mais que la communication bidirectionnelle n'a pas été établie. Un routeur Cisco inclut les ID de routeur de tous les voisins dont l'état est init (ou plus élevé) dans le champ Neighbor de ses paquets HELLO. Pour que la communication bidirectionnelle soit établie avec un voisin, un routeur doit également voir son propre ID de routeur dans le champ Neighbor des paquets HELLO du voisin. Pour un exemple et des explications plus détaillées, consultez Pourquoi la commande show ip ospf neighbor révèle-t-elle les voisins dont l'état est Init ?

Voisin dont l'état est « 2-way »

L'état 2-way indique que le routeur a vu son propre ID de routeur dans le champ Neighbor du paquet HELLO du voisin. La réception d'un paquet du descripteur de base de données (DBD) d'un voisin dans l'état Init provoque également une transition vers l'état 2-way. L'état 2-way du voisin OSPF n'est pas source de problème. Pour une explication de l'état 2-way , consultez Pourquoi la commande show ip ospf neighbor révèle-t-elle les voisins dont l'état reste 2-way ?

Voisin dont l'état est « exstart » ou « exchange »

Les voisins OSPF dont l'état est exstart ou exchange essaient d'échanger des paquets DBD. Le routeur et son voisin forment une relation maître-esclave. La contiguïté doit continuer au-delà de cet état. Si ce n'est pas le cas, l'échange DBD présente un problème, tel qu'une non-correspondance de l'unité de transmission maximale (MTU) ou la réception d'un numéro de séquence DBD inattendu. Pour plus d'informations, consultez Pourquoi les voisins OSPF conservent-ils l'état Exstart/Exchange ?

Voisin dont l'état est « loading »

Dans l'état loading, les routeurs envoient des paquets de requête d'état des liaisons. Durant la contiguïté, si un routeur reçoit un message Link-State Advertisement (LSA) périmé ou manquant, il demande ce LSA en envoyant un paquet de requête d'état des liaisons. Les voisins qui ne vont pas au-delà de cet état échangent très probablement des LSA corrompus. Ce problème est habituellement accompagné d'un message %OSPF-4-BADLSA de la console. Ce problème n'étant pas courant, contactez Cisco pour obtenir de l'aide.

Raisons habituelles des problèmes de voisins OSPF

Ce tableau présente les raisons pour lesquelles les voisins OSPF rencontrent des problèmes pour former une contiguïté et répertorie certaines des commandes que vous pouvez utiliser pour vérifier le problème. L'outil TAC Case Collection (clients enregistrés uniquement) peut également aider à diagnostiquer les problèmes.

Raison du problème de contiguïté des voisins Commandes permettant de diagnostiquer le problème
L'OSPF n'est pas configuré sur l'un des routeurs. show ip ospf
L'OSPF n'est pas activé sur une interface où il est nécessaire. show ip ospf interface
Les valeurs HELLO d'OSPF ou celles de l'intervalle du temporisateur de temps mort ne correspondent pas. show ip ospf interface
Non-correspondance ip ospf network-type sur les interfaces contiguës. show ip ospf interface
Non-correspondance de la MTU entre les interfaces voisines. show interface <int-type><int-num>
Le type de zone OSPF est stub sur un voisin, mais le voisin contigu dans la même zone n'est pas configuré pour stub. show running-config show ip ospf interface
Les voisins OSPF ont des ID de routeur en double. show ip ospf show ip ospf interface
L'OSPF est configuré sur le réseau secondaire du voisin, mais pas sur le réseau principal. Il s'agit d'une configuration illégale qui empêche l'OSPF d'être activé sur l'interface. show ip ospf interface show running-config
Les paquets HELLO d'OSPF ne sont pas traités en raison d'une absence de ressources (utilisation élevée du CPU ou mémoire insuffisante, par exemple). show memory summary show memory processor
Un problème de couche sous-jacente empêche de recevoir les paquets HELLO d'OSPF. show interface

Remarque: Afin d'éviter que la MTU effectue un contrôle lorsque que vous établissez la contiguïté OSPF, vous devrez probablement configurer la commande ip ospf mtu-ignore dans le mode de configuration de l'interface.

Conversations connexes de la communauté de soutien de Cisco

Le site Cisco Support Community est un forum où vous pouvez poser des questions, répondre à des questions, faire part de suggestions et collaborer avec vos pairs.


Informations connexes


Document ID: 13699