Warum dauert es so lange, bis „Adjazenz zeigen“ ausgeführt wird?

9

Warum wird das "Show adjacency" das Kommando übernehmen , so lange (in der Größenordnung von Minuten) läuft auf Cisco IOS Software, 7200 Software (C7200P-SPSERVICESK9-M), Version 12.4 (4) XD5, RELEASE SOFTWARE (FC1)? Der Router ist ein Internet-Edge-Router, auf dem BGP ausgeführt wird. Was bedeuten "(5)", "(10003)" oder "(75845)" nach den Adressen? Es scheint hauptsächlich Adressen in einem direkt verbundenen / 23-Netzwerk aufzulisten. Die CPU ist <2% und der Speicher scheint kein Grund dafür zu sein.

r-x-y-edge1#sh adjacency
Protocol Interface                 Address
IP       GigabitEthernet0/2        x.67.155.9(5)
IP       GigabitEthernet0/2        x.67.155.8(5)
IP       GigabitEthernet0/2        x.67.155.11(5)
IP       GigabitEthernet0/2        x.67.155.10(5)
IP       GigabitEthernet0/2        x.67.155.13(5)
IP       GigabitEthernet0/2        x.67.155.12(5)
IP       GigabitEthernet0/2        x.67.155.15(5)
IP       GigabitEthernet0/3        172.31.4.130(10003)
IP       Serial1/0                 point2point(75845)
...
<truncated>

CPU utilization for five seconds: 2%/1%; one minute: 3%; five minutes: 3%

Processor Pool Total:  864815572 Used:  547631528 Free:  317184044
      I/O Pool Total:   67108864 Used:    4520592 Free:   62588272

Gibt es eine Möglichkeit, die Ausführung dieses Befehls zu unterbrechen, bevor die Sitzung geschlossen wird, da Strg- ^ x keine Auswirkung hat?

generalnetworkerror
quelle
Haben Sie verschiedene Versionen von IOS ausprobiert? Hat es immer lange gedauert, Ergebnisse anzuzeigen, oder hat es gerade erst begonnen?
Adam Loveless
Strg-Umschalt-6 ist die Unterbrechungssequenz in IOS.
Josef Gunsburg
1
Bitte erläutern Sie, wie lange "show adj" dauert
Mike Pennington
1
Diese Codeversion ist nicht nur alt (4+ Jahre), sondern wird auch innerhalb dieses Zuges um ein Vielfaches ersetzt. Es wurden definitiv Korrekturen und Änderungen an der CEF-Handhabung vorgenommen, die eher darauf hindeuten, dass Sie die Fehlerbehebung bei einer neueren (oder endgültigen innerhalb des Zugs) Code-Version besser durchführen sollten.
rnxrx
1
@rnxrx, ich habe mindestens einen Kommentar zum Alter dieser Codeversion erwartet. Upvote für Sie.
Generalnetworkerror

Antworten:

8

Haben Sie überprüft, ob die Domain-Suche deaktiviert ist? ( no ip domain lookup)

Es kann sein, dass es so lange dauert, bis Ihr Befehl zurückkommt, da versucht wird, alle IP-Adressen in Hostnamen aufzulösen.

David Rothera
quelle
Dies ist ein interessanter Vorschlag - ich würde nicht glauben, dass IOS versuchen würde, eine Namensauflösung für CEF-Adjazenzeinträge durchzuführen, da die meisten von ihnen Präfixe mit einer Länge <32 darstellen.
John Jensen
Ich hatte "IP-Domain-Name" und "IP-Domain-Liste" konfiguriert, aber keinen "IP-Name-Server". Durch Einstellen einiger Nameserver wurde die Ausgabe fast sofort angezeigt.
Generalnetworkerror
Das ist super toll! Ich liebe es, neue Dinge zu lernen.
John Jensen
Toller Fang @David, ist mir auch nicht eingefallen. Nicht so bekanntes DNS-Leid wie das Fehlen von "Transport bevorzugt keine" unter Zeile VTY :)
ytti
Vielen Dank für die Kommentare der erfahreneren Netzwerktechniker in der Gruppe. Ich fühle mich nicht so schlecht, dass es eine umgekehrte Suche war, die mich verblüfft hat.
Generalnetworkerror
4

Was bedeuten "(5)", "(10003)" oder "(75845)" nach den Adressen?

Der Wert in Klammern gibt an, wie oft ein FIB-Eintrag auf einen Adjazenzeintrag verweist. Erwähnt hier .

Adam Loveless
quelle
2

Nimmt der Router volle Tabellen? Wenn ja, würde ich mich nicht wundern, dass es lange dauert, da es so viele Netzwerke auflösen muss, die eine vollständige Tabelle für eine Exit-Schnittstelle (RIB-> FIB) darstellen. Denken Sie auch daran, dass der 7200 immer noch eine softwarebasierte Weiterleitungsplattform ist. Sie haben noch 3 weitere Schichten CEF über sich, was die schnelleren betrifft.

Wenn es sich bei einer großen Anzahl dieser Nachbarschaften um Punt-Adjazenzen handelt (ein Eintrag, der auf die Schaltmethode der nächsten Ebene abgestimmt werden müsste) oder um Nachlese-Adjazenzen, kann dies auch erklären, warum dies lange dauert - und ich würde mir vorstellen, dass eine große Anzahl von ihnen wäre - wieder vorausgesetzt, es ist hier ein voller Tisch.

Die Zahl in Klammern wird als Refcount bezeichnet und gibt an, wie oft auf die Nachbarschaft von FIB-Einträgen verwiesen wird.

Bearbeiten: Zum Abbrechen des Befehls versuchen Sie Strg + C (wiederholt) - manchmal funktioniert dies bei mir, um lang laufende Befehle zu beenden. OTOH Wenn ich weiß, dass der Befehl viel Ausgabe erzeugt, setze ich "Terminallänge" auf "50". Auf diese Weise habe ich die Möglichkeit, den Befehl durch Ausgabepaginierung zu beenden.

John Jensen
quelle
Hallo John, ich bin mir nicht sicher, ob ich dem Kommentar zu 3 weiteren Schichten CEF folge ... kannst du das näher erläutern?
Mike Pennington
Klar - im Allgemeinen habe ich über die "besten" (laut Cisco) Switching-Methoden gesprochen, in der Reihenfolge: Hardware-dCEF -> Hardware-CEF -> PXF-Switching -> softwarebasiertes CEF -> schnelles Switching -> Prozess-Switching
John Jensen
Aber ich verstehe nicht, warum es relevant ist, andere Vermittlungspfade zu erwähnen ... AFAIK, andere Vermittlungspfade, die beim Verschieben von Paketen effizienter sind, haben nichts mit der Zeit zu tun, die erforderlich ist, um die Adjazenztabelle auf einem 7200-Router zu sichern.
Mike Pennington
Für mich war es relevant, dass ein 7200 eher eine softwarebasierte Plattform ist als ein cat65k oder ein 7600, der CEF in Hardware ausführt. Es scheint eine sichere Annahme zu sein, dass eine Plattform, die CEF in Hardware ausführt, beim Dumping von Nachbarschaften etwas schneller abschneiden würde, nicht wahr? Ganz ehrlich zu sein, obwohl meine Erfahrung mit 7200 in der Produktion begrenzt ist - ich hatte immer das "Glück", mit den größeren ASIC-basierten mehrstufigen Boxen zu arbeiten.
John Jensen