In diesem Dokument wird die jetzt für die Cisco Router der Serien 7500 und 12000 verfügbare Konsistenzprüfung beschrieben, auf der die verteilte Form von Cisco Express Forwarding (CEF) ausgeführt wird. Die in Cisco IOS® Softwareversion 12.0(15)S und anderen Release-Zügen eingeführte Konsistenzprüfung soll erkennen, wenn Informationen auf Linecards weitergeleitet werden und der Routingprozessor (RP) die Synchronisierung verlässt. Cisco IOS meldet die folgenden Protokollmeldungen, wenn die Überprüfung ein Problem feststellt:
%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
Dieses Dokument enthält außerdem Tipps zur Fehlerbehebung bei Inkonsistenzen mit CEF.
Für dieses Dokument bestehen keine speziellen Anforderungen.
Die Informationen in diesem Dokument basieren auf den folgenden Software- und Hardwareversionen:
Cisco IOS Software Release 12.0(15)S und höher
Cisco Router der Serien 7500 und 12000
Die Informationen in diesem Dokument wurden von den Geräten in einer bestimmten Laborumgebung erstellt. Alle in diesem Dokument verwendeten Geräte haben mit einer leeren (Standard-)Konfiguration begonnen. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die potenziellen Auswirkungen eines Befehls verstehen.
Weitere Informationen zu Dokumentkonventionen finden Sie in den Cisco Technical Tips Conventions.
Um zu verstehen, was die Konsistenzprüfung überprüft, müssen Sie zunächst die CEF-Weiterleitungstabellen verstehen und definieren.
CEF beschreibt einen Hochgeschwindigkeits-Switching-Mechanismus, den ein Router zum Weiterleiten von Paketen von der eingehenden an die ausgehende Schnittstelle verwendet. CEF verwendet zwei Gruppen von Datenstrukturen oder Tabellen, die im Router-Speicher gespeichert werden:
Forwarding Information Base (FIB) - Beschreibt eine Datenbank mit Informationen, die für Weiterleitungsentscheidungen verwendet wird. Sie ähnelt prinzipiell einer Routing-Tabelle oder einem Route-Cache, ist jedoch anders implementiert.
Adjacency: Zwei Knoten im Netzwerk werden als angrenzend bezeichnet, wenn sie sich über einen einzelnen Hop über eine Verbindungsschicht erreichen können.
Die FIB-Tabelle wird aktualisiert, wenn eine der folgenden Situationen eintritt:
Der ARP-Cacheeintrag (Address Resolution Protocol) für den nächsten Hop wird geändert, entfernt oder das Timeout überschritten.
Der Eintrag der Routingtabelle für das Präfix ändert sich oder wird entfernt.
Der Eintrag der Routingtabelle für den nächsten Hop ändert sich oder wird entfernt.
Die Cisco Router der Serien 7500 und 1200 unterstützen verteiltes CEF (dCEF), bei dem die Linecards Entscheidungen zur Paketweiterleitung treffen, indem sie lokal gespeicherte Kopien derselben FIB- und Adjacency-Tabellen wie das RP verwenden. Die Tabellen zwischen dem RP und den Linecards müssen synchronisiert bleiben. Alle Änderungen an den RP-Tabellen müssen an die Linecards weitergeleitet werden.
IPC (Inter-Process Communication) ist das Protokoll, das von Routern verwendet wird, die die verteilte Paketweiterleitung unterstützen. CEF-Updates werden als XDR-Informationselemente (eXternal Data Representation) in IPC-Nachrichten codiert. Im folgenden Diagramm wird der Verteilungsmechanismus für die CEF-Datenstruktur veranschaulicht.
Es gibt zwei Arten von Inkonsistenzen:
Fehlende Informationen, z. B. ein bestimmtes Präfix, auf einer Linecard.
Verschiedene Informationen, z. B. unterschiedliche Next-Hop-IP-Adressen, auf der Linecard.
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
Ein Hinweis auf eine CEF-Inkonsistenz ist ein Unterschied in der Spalte "CEF-ver" des Befehls show cef linecard, wie in der folgenden Ausgabe gezeigt.
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
Die Ausgabe des Befehls show ip cef summary auf dem RP und LC sollte dieselbe Anzahl von Routen und Adjacencies anzeigen, wenn die folgenden Bedingungen zutreffen:
Alle Linecards sind im synchronisierten Zustand "aktiv".
XDR-Warteschlangen auf dem RP und LC sind leer ("LowQ/MedQ/HighQ"-Spalten in der show cef linecard auf dem RP und die "RP-Nachrichten zu verarbeiten"-Daten in der show cef linecard auf der Linecard).
Hinweis: Eine Ausnahme bilden die Engine-2-LCs der Cisco Serie 12000, bei denen das Paket-Switching-ASIC (PSA) zusätzliche Routen zur Implementierung von ACLs installiert.
Cisco IOS Software Release 12.0(22)S enthält die CEF Consistency Checkers v2 (in Cisco IOS Software Release 12.1E enthalten), mit dem Sie den Befehl show ip cef inkonsistent jetzt zur Meldung von Problemen ausführen können.
Wenn Aktualisierungen an den Routing-Datenbanken des RP und der Linecards vorgenommen werden, können Inkonsistenzen aufgrund der asynchronen Natur des Verteilungsmechanismus für diese Datenbanken auftreten. CEF unterstützt passive und aktive Konsistenzprüfer, die unabhängig ausgeführt werden. In der folgenden Tabelle werden diese Prüfer beschrieben.
Erkennungsmechanismus | Betrieb aktiviert | Beschreibung |
---|---|---|
LC-Erkennung | Line Card | Betreibt die Linecard, indem IP-Präfixe abgerufen werden, die in der FIB-Tabelle fehlen. Wenn IP-Präfixe fehlen, kann die Linecard keine Pakete für diese Adressen weiterleiten. Lc-detect sendet dann IP-Präfixe zur Bestätigung an den RP. Wenn der RP erkennt, dass er über den entsprechenden Eintrag verfügt, wird eine Inkonsistenz erkannt und eine Fehlermeldung angezeigt. Außerdem sendet der RP ein Signal zurück an die Linecard, das bestätigt, dass das IP-Präfix eine Inkonsistenz darstellt. |
Scan-LC | Line Card | Betreibt die Linecard, indem er die FIB-Tabelle für einen konfigurierten Zeitraum durchsucht und die nächsten n Präfixe an den RP sendet. Der RP führt eine genaue Suche durch. Wenn das Präfix fehlt, meldet der RP Inkonsistenzen. Schließlich sendet der RP eine Bestätigung an die Linecard zurück. |
Scan-RP | Routingprozessor | Betreibt den RP (gegenüber der Scan-LC), indem er die FIB-Tabelle für einen konfigurierten Zeitraum durchsucht und die nächsten n Präfixe an die Linecard sendet. Die Linecard führt eine genaue Suche durch. Wenn das Präfix fehlt, meldet die Linecard eine Inkonsistenz und signalisiert schließlich den RP zur Bestätigung. |
Scan-Rib | Routingprozessor | Betreibt alle RPs (auch nicht verteilt) und scannt die RIB, um sicherzustellen, dass die Präfixeinträge in der FIB-Tabelle des RP enthalten sind. |
Mithilfe der folgenden Befehle können Sie die aktivierten Konsistenzprüfer und die zugehörigen Variablen konfigurieren.
ip cef table consistency-check type [period] [count] - Steuert allgemeine Parameter für die Prüfer.
ip cef table consistency-check - Aktiviert oder deaktiviert unterstützte Typen und steuert den Zeitraum der gescannten Scans und Präfixe (nicht für lc-detect). Die Konsistenzprüfung ist standardmäßig deaktiviert.
Inkonsistenzen sollten niemals auftreten, und jegliche Inkonsistenzen sollten untersucht werden. Verwenden Sie bei der Fehlerbehebung das folgende CEF-Debuggen und Anzeigen von Befehlen.
Bestimmte show-Befehle werden vom Output Interpreter Tool unterstützt (nur registrierte Kunden), mit dem Sie eine Analyse der show-Befehlsausgabe anzeigen können.
Hinweis: Bevor Sie Debugbefehle ausgeben, lesen Sie Wichtige Informationen über Debug-Befehle.
show ip cef inkonsistent datensätze detail - Zeigt Statistiken zu den Erkennungsmechanismen an. Darüber hinaus werden detaillierte Informationen zu einer Anzahl (derzeit 4) bestätigter, aber unterschiedlicher Inkonsistenzen aufgezeichnet.
show ip cef inkonsistent - Zeigt eine Zusammenfassung des Zustands an.
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 inkonsistent datensätze - Verwenden Sie das record-Schlüsselwort, um aufgezeichnete Inkonsistenzen zu löschen.
show ip cef inkonsistent datensätze detailliert und Ausführungssteckplatz
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)
Hinweis: Es gibt keinen SNMP-Zugriff auf die Inkonsistenzdatensätze. Diese Funktion kann einer bevorstehenden Version von Cisco IOS hinzugefügt werden.
clear cef linecard - Wenn ein IP-Präfix von einer Linecard fehlt, installieren Sie das Präfix mit diesem Befehl erneut in die FIB-Linecard der Linecard.
clear ip route - Wenn ein Präfix vom RP fehlt, verwenden Sie diesen Befehl, um das Präfix im RP FIB neu zu installieren.
Wenn die Konsistenzprüfung ein Problem feststellt, werden die folgenden Befehlsausgaben benötigt, um das Problem genau zu beheben.
show ip cef - Zeigt Einträge in der FIB des RP an.
exec all show ip cef - Zeigt CEF FIB-Werte auf Linecards an.
show tech cef - Bietet Informationen für technischen Support zu CEF.
show ip cef inkonsistent datensätze detail - Zeigt Details zu CEF FIB-Inkonsistenzen auf dem RP an.
exec-Steckplatz zeigt Details zu ip cef-Inkonsistenzaufzeichnungen an - Zeigt Details zu CEF FIB-Inkonsistenzen auf den Linecards an.
no ip cef table consistency-check - Schaltet die Schachtel aus.
debug ip cef table consistency-checkers - Führt dazu, dass Abfrage- und Überprüfungsereignisse gedebuggt werden.
Um eine CEF-Inkonsistenz zu löschen, verwenden Sie den Befehl clear ip cef inconsistency. Um die Konsistenzprüfung zu deaktivieren, verwenden Sie den Befehl no ip cef table consistency-check. Es ist wichtig zu beachten, dass das Deaktivieren der Konsistenzprüfung die gemeldeten Probleme nicht behebt. Das System arbeitet weiterhin mit Inkonsistenzen, die zu unerwartetem Verhalten führen können.
In seltenen Fällen kann die ursprüngliche Version der CEF Consistency Checker einen falsch positiven Wert melden. Dieses Problem wird durch temporäre Zeitfenster verursacht, wenn die CEF-Datenbanken aktualisiert werden (insbesondere bei sehr großen Updates) und neue Informationen vom RP an die Linecards weitergegeben werden. Auch wenn die Anzahl der falsch positiven Nachrichten stark begrenzt ist - und daher eher eine lästige Sache als eine Auswirkung auf die CPU ist - empfiehlt Cisco, die CEF Consistency Checker zu deaktivieren, es sei denn, die Behebung eines spezifischen Konsistenzproblems kann behoben werden.
Um die Wahrscheinlichkeit falscher Positivmeldungen für Präfixe zu minimieren, die gerade aktualisiert werden, können Sie die Abwicklungszeit anpassen, d. h. die Verzögerung, die der Erkennung auferlegt wird. Verwenden Sie den Befehl ip cef table consistency-check [settle-time]. Für diesen Befehl wird ein Ereignisprotokoll vorhanden sein. Andernfalls beträgt die Abwicklungszeit tatsächlich 0.
Der Standardwert von 65 Sekunden wurde ausgewählt, um die Phantom-Erkennung von Adjacency-Präfixen (/32 für ARP-Einträge) zu verhindern, die auf dem RP fehlen. Ein ARP-Löschvorgang findet in zwei Phasen auf dem RP statt:
Die Adjacency wird als unvollständig markiert, und das Adjacency-Präfix wird gelöscht.
Der Adjacency-Walker mit einer Minute löscht die Adjacency und informiert die Linecards darüber, dass dies der Fall ist.
Dieser Vorgang führt zu einem Fenster von bis zu 60 Sekunden, wenn das Adjacency-Präfix auf den Linecards vorhanden ist, aber auf dem RP fehlt.
Hinweis: In Version 2.0 der Konsistenzprüfung wurde das Problem falscher Inkonsistenzen behoben.
In der folgenden Liste sind bekannte Cisco Bugs mit der CEF Consistency Checker aufgeführt. Diese Liste ist nicht vollständig.
Cisco Bug-ID CSCdt18447 (nur registrierte Kunden) CEF-Ereignisprotokollierungs-/Konsistenzprüfer mit CPU
Cisco Bug-ID CSCuk23390 (nur registrierte Kunden) lc-detect verursacht malloc fehlschlagen auf Interrupt-Ebene
Cisco Bug ID CSCuk23290 (nur registrierte Kunden) CEF Inkonsistency Event Recorder kann Storage falsch zuweisen
Cisco Bug ID CSCdt04645 (nur registrierte Kunden) behebt ein Problem mit Speicherlecks (das sich auf alles auswirkt, was verteilte CEF ausführen kann, einschließlich des lc-stat Consistency Checker-Prozesses).
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
1.0 |
10-Aug-2005 |
Erstveröffentlichung |