Ce document décrit le vérificateur de cohérence désormais disponible pour les routeurs des gammes Cisco 7500 et 12000 exécutant la forme distribuée de Cisco Express Forwarding (CEF). Le vérificateur de cohérence, introduit dans le logiciel Cisco IOS® Version 12.0(15)S et dans d'autres catégories de versions, est conçu pour détecter lors du transfert d'informations sur les cartes de ligne et lorsque le processeur de routage (RP) perd la synchronisation. Cisco IOS signale les messages de journal suivants lorsque le vérificateur détecte un problème :
%FIB-4-RPPREFIXINCONST2: RP missing prefix for 133.160.0.0/16 (present in routing table) %FIB-4-RPPREFIXINCONST2: RP missing prefix for 133.160.0.0/16 (present in routing table) %FIB-4-LCPREFIXINCONST2: Slot 1 missing prefix entry for 64.0.17.0/32
Ce document fournit également des conseils de dépannage sur les incohérences CEF.
Aucune spécification déterminée n'est requise pour ce document.
Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :
Logiciel Cisco IOS Version 12.0(15)S et ultérieure
Routeurs de la gamme Cisco 7500 et 12000
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.
Pour comprendre ce que le vérificateur de cohérence vérifie, vous devez d'abord comprendre et définir les tables de transfert CEF.
CEF décrit un mécanisme de commutation à haut débit qu'un routeur utilise pour transférer des paquets de l'interface entrante vers l'interface sortante. CEF utilise deux ensembles de structures ou de tables de données, qu'il stocke dans la mémoire du routeur :
Base d'informations de transfert (FIB) - Décrit une base de données d'informations utilisée pour prendre des décisions de transfert. Elle est conceptuellement similaire à une table de routage ou à un cache de route, bien que sa mise en oeuvre soit différente.
Contiguïté : deux noeuds du réseau sont considérés comme adjacents s'ils peuvent se joindre via un seul saut sur une couche liaison.
La table FIB est mise à jour lorsque l'une des situations suivantes se produit :
L'entrée du cache ARP (Address Resolution Protocol) pour le saut suivant change, est supprimée ou expire.
L'entrée de la table de routage pour le préfixe change ou est supprimée.
L'entrée de la table de routage pour le saut suivant change ou est supprimée.
Les routeurs des gammes Cisco 7500 et 12000 prennent en charge le CEF distribué (dCEF), dans lequel les cartes de ligne prennent les décisions de transfert de paquets en utilisant des copies stockées localement des mêmes tables FIB et de contiguïté que le RP. Les tables entre le RP et les cartes de ligne doivent rester synchronisées. Toute modification des tables du RP doit être transmise aux cartes de ligne.
La communication interprocessus (IPC) est le protocole utilisé par les routeurs qui prennent en charge le transfert distribué de paquets. Les mises à jour CEF sont codées en tant qu'éléments d'information XDR dans les messages IPC. Le schéma suivant illustre le mécanisme de distribution de la structure de données CEF.
Il existe deux types d'incohérences :
Informations manquantes, telles qu'un préfixe particulier, sur une carte de ligne.
Différentes informations, telles que différentes adresses IP de tronçon suivant, sur la carte de ligne.
router#show ip cef 24.20.84.32 24.16.0.0/13, version 833173, cached adjacency to POS6/0 0 packets, 0 bytes Flow: AS 6172, mask 13 via 4.24.234.153, 0 dependencies, recursive next hop 4.24.234.153, POS6/0 via 4.24.234.152/30 valid cached adjacency router#execute-on all show ip cef 24.20.84.32 ========= Line Card (Slot 1) ======= 24.16.0.0/13, version 408935, cached adjacency 0.0.0.0 0 packets, 0 bytes Flow: AS 6172, mask 13 via 157.130.213.1, 0 dependencies, recursive next hop 157.130.213.1, POS1/0.500 via 157.130.213.0/30 valid cached adjacency ========= Line Card (Slot 2) ======= 24.16.0.0/13, version 13719, cached adjacency 0.0.0.0 0 packets, 0 bytes Flow: AS 6172, mask 13 via 157.130.213.1, 0 dependencies, recursive next hop 157.130.213.1, POS1/0.500 via 157.130.213.0/30 valid cached adjacency
L'une des indications d'une incohérence CEF est une différence dans la colonne « CEF-ver » de la commande show cef linecard, comme indiqué dans le résultat suivant.
7505-2A#show cef linecard CEF table version 35, 11 routes Slot CEF-ver MsgSent XDRSent Window LowQ MedQ HighQ Flags 1 0 0 0 LC wait 0 0 0 disabled 2 31 95 422 24 0 0 0 up, sync 3 34 105 544 24 0 0 0 up, sync
La sortie de la commande show ip cef summary sur le RP et le LC doit afficher le même nombre de routes et de contiguïtés lorsque les conditions suivantes sont vraies :
Toutes les cartes de ligne sont à l'état « up, sync ».
Les files d'attente XDR sur le RP et le LC sont vides (« LowQ/MedQ/HighQ » colonnes dans show cef linecard sur le RP et les données « RP messages to be processing » dans show cef linecard sur la carte de ligne).
Remarque : Une exception est les LC du moteur 2 de la gamme Cisco 12000, où l'ASIC de commutation de paquets (PSA) installe des routes supplémentaires pour mettre en oeuvre des listes de contrôle d'accès.
La version 12.0(22)S du logiciel Cisco IOS contient les contrôleurs de cohérence CEF v2 (présents dans la version 12.1E du logiciel Cisco IOS), qui vous permettent d'exécuter la commande show ip cef incohérence maintenant pour signaler tout problème.
Lorsque des mises à jour se produisent sur les bases de données de routage sur le RP et les cartes de ligne, des incohérences peuvent se produire en raison de la nature asynchrone du mécanisme de distribution de ces bases de données. CEF prend en charge les contrôleurs de cohérence passifs et actifs qui s'exécutent indépendamment. Le tableau suivant décrit ces contrôleurs.
Mécanisme de détection | Fonctionne sur | Description |
---|---|---|
Lc-detect | Carte de ligne | Fonctionne sur la carte de ligne en récupérant les préfixes IP absents de sa table FIB. Si des préfixes IP sont manquants, la carte de ligne ne peut pas transférer de paquets pour ces adresses. Lc-detect envoie ensuite des préfixes IP au RP pour confirmation. Si le RP détecte qu'il possède l'entrée appropriée, une incohérence est détectée et un message d'erreur s'affiche. En outre, le RP renvoie un signal à la carte de ligne confirmant que le préfixe IP est une incohérence. |
Scan-lc | Carte de ligne | Fonctionne sur la carte de ligne en recherchant dans la table FIB une période de temps configurée et en envoyant les n préfixes suivants au RP. Le RP effectue une recherche exacte. Si le préfixe est absent, le RP signale une incohérence. Enfin, le RP renvoie une confirmation à la carte de ligne. |
Scan-rp | Processeur de routage | Fonctionne sur le RP (à l'opposé du scan-lc) en recherchant dans la table FIB une période de temps configurée et en envoyant les n préfixes suivants à la carte de ligne. La carte de ligne effectue une recherche exacte. S'il détecte l'absence du préfixe, la carte de ligne signale une incohérence et signale finalement le RP pour confirmation. |
Balayage | Processeur de routage | Fonctionne sur tous les RP (même non distribués), et analyse le RIB pour s'assurer que les entrées de préfixe sont présentes dans la table FIB RP. |
Utilisez les commandes suivantes pour configurer les contrôleurs de cohérence activés et les variables associées.
ip cef table cohérence-check type [période] [count] - Contrôle les paramètres généraux des contrôleurs.
ip cef table constance-check - Active ou désactive les types pris en charge et contrôle la période des analyses et préfixes analysés (pas pour lc-detect). Le vérificateur de cohérence est désactivé par défaut.
Les incohérences ne devraient jamais se produire et toute incohérence devrait être examinée. Utilisez les commandes CEF debug et show suivantes lors du dépannage.
Certaines commandes show sont prises en charge par l'Output Interpreter Tool (clients enregistrés uniquement), qui vous permet de voir une analyse de la sortie de la commande show.
Note : Avant d'émettre des commandes debug, consultez Informations importantes sur les commandes de débogage.
show ip cef incohérence records detail - Affiche des statistiques sur les mécanismes de détection. Contient également des informations détaillées sur un nombre (actuellement 4) d'incohérences confirmées, mais différentes.
show ip cef incohérence - Affiche un résumé de l'état.
Table consistency checkers (settle time 15s) lc-detect: running 0/0/0 queries sent/ignored/received scan-lc: running [100 prefixes checked every 60s] 0/0/1053 queries sent/ignored/received scan-rp: running [100 prefixes checked every 60s] 1053/0/0 queries sent/ignored/received scan-rib: running [1000 prefixes checked every 60s] 81/0/81 queries sent/ignored/received Inconsistencies: 0 confirmed, 0/4 recorded
show ip cef incohérence records - Utilisez le mot clé records pour supprimer les incohérences enregistrées.
show ip cef incohérence enregistre les détails et l'emplacement d'exécution
router#exec slot 2 show ip cef inconsistency records detail ========= Line Card (Slot 2) ======= Table consistency checkers (settle time 65s) lc-detect: running 0/0/0 queries sent/ignored/received scan-lc: running [100 prefixes checked every 60s] 1289156/0/0 queries sent/ignored/received scan-rp: running [100 prefixes checked every 60s] 0/0/1068308 queries sent/ignored/received scan-rib: running [1000 prefixes checked every 60s] 0/0/0 queries sent/ignored/received Inconsistencies: 340 confirmed, 1/4 recorded Test table insert mode: normal Test table remove mode: normal -------- Inconsistency record 0 -------- Prefix entry for 192.168.3.10/32 present on RP, missing on slot 2 Detected at 00:01:46.736 by scan-rp Event log entries relevant for 192.168.3.10: +00:00:00.000: *.*.*.*/* New FIB table [OK] 0x403FA4E8 0x403FA530 0x4009C1FC 0x4009C1E8 +00:00:03.092: *.*.*.*/* Flush ADJ table [OK] 0x404000B0 0x4040EEC0 0x4040F100 0x40401F64 0x404021AC 0x4040229C 0x404029C8 0x4009C1FC 0x4009C1E8 +00:00:03.100: *.*.*.*/* Flush FIB table [OK] 0x404039D0 0x40401F4C 0x404021AC 0x4040229C 0x404029C8 0x4009C1FC 0x4009C1E8 +00:00:03.124: *.*.*.*/* New FIB table [OK] 0x404039D8 0x40401F4C 0x404021AC 0x4040229C 0x404029C8 0x4009C1FC 0x4009C1E8 First event occurred at 00:00:07.600 (2w5d ago) Last event occurred at 00:00:10.724 (2w5d ago)
Remarque : Il n'y a pas d'accès SNMP aux enregistrements d'incohérence. Cette fonctionnalité peut être ajoutée à la prochaine version de Cisco IOS.
clear cef linecard - Si un préfixe IP est manquant dans une carte de ligne, utilisez cette commande pour réinstaller le préfixe dans la FIB de la carte de ligne.
clear ip route - Si un préfixe est manquant dans le RP, utilisez cette commande pour réinstaller le préfixe dans le FIB RP.
Lorsque le vérificateur de cohérence détecte un problème, les sorties de commande suivantes sont nécessaires pour résoudre précisément le problème.
show ip cef - Affiche les entrées de la FIB sur le RP.
exec all show ip cef - Affiche les valeurs FIB CEF sur les cartes de ligne.
show tech cef - Fournit des informations pour l'assistance technique sur CEF.
show ip cef incohérence records detail - Affiche les détails d'incohérence FIB CEF sur le RP.
exec slot show ip cef incohérence records detail - Affiche les détails d'incohérence FIB CEF sur les cartes de ligne.
no ip cef table cohérence-check - Désactive les contrôleurs.
debug ip cef table cohérence-checkers - Entraîne le débogage des événements de requête et de vérification.
Pour supprimer une incohérence CEF, utilisez la commande clear ip cef incohérence. Pour désactiver le vérificateur de cohérence, utilisez la commande no ip cef table constance-check. Il est important de noter que la désactivation du vérificateur de cohérence ne résout pas les problèmes signalés. Le système continue à fonctionner avec des incohérences, ce qui peut conduire à un comportement inattendu.
Dans de rares conditions, la version originale du vérificateur de cohérence CEF peut signaler un faux positif. Ce problème est causé par des fenêtres de synchronisation temporaires lorsque les bases de données CEF sont mises à jour (en particulier lors de très grandes mises à jour) et que de nouvelles informations sont distribuées du RP aux cartes de ligne. Bien que les faux messages positifs soient fortement limités en termes de fréquence - et donc plus gênants qu'en termes d'impact sur le processeur - Cisco recommande de désactiver le contrôleur de cohérence CEF, à moins de résoudre un problème de cohérence spécifique.
Pour minimiser les risques de faux positifs pour les préfixes lors de la mise à jour, vous pouvez régler le temps de règlement, qui est le délai imposé à la détection. Utilisez la commande ip cef table constance-check [set-time]. Cette commande repose sur la présence d'un journal d'événements ; sinon, le temps de règlement est effectivement 0.
Une valeur par défaut de 65 secondes a été sélectionnée pour empêcher la détection fantôme des préfixes de contiguïté (/32 pour les entrées ARP) manquants sur le RP. Une suppression ARP se produit en deux étapes sur le RP :
La contiguïté est marquée comme incomplète et le préfixe de contiguïté est supprimé.
La passerelle de contiguïté d'une minute supprime la contiguïté et informe les cartes de ligne de faire de même.
Ce processus mène à une fenêtre de 60 secondes maximum lorsque le préfixe de contiguïté est présent sur les cartes de ligne, mais absent sur le RP.
Note : Dans la version 2.0 du vérificateur de cohérence, le problème des incohérences fausses a été corrigé.
La liste suivante répertorie les bogues Cisco connus avec le contrôleur de cohérence CEF. Cette liste n'est pas exhaustive.
ID de bogue Cisco CSCdt18447 (clients enregistrés uniquement) GUID d'événement CEF/UC de vérification de cohérence
L'ID de bogue Cisco CSCuk23390 (clients enregistrés uniquement) lc-detect provoque une défaillance de malloc au niveau d'interruption
ID de bogue Cisco CSCuk23290 (clients enregistrés uniquement) L'enregistreur d'événements d'incohérence CEF peut affecter le stockage de manière incorrecte
ID de bogue Cisco CSCdt04645 (clients enregistrés uniquement) Résoudre un problème avec une fuite de mémoire (qui affecte tout ce qui peut exécuter CEF distribué, y compris le processus de vérification de cohérence lc-stat).
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
10-Aug-2005 |
Première publication |