Pourquoi «montrer la contiguïté» prend-il autant de temps à s'exécuter?

9

Pourquoi la commande "show adjacency" prend-elle autant de temps à s'exécuter (dans l'ordre des minutes) sur le logiciel Cisco IOS, logiciel 7200 (C7200P-SPSERVICESK9-M), version 12.4 (4) XD5, LOGICIEL DE LIBÉRATION (fc1)? Le routeur est un routeur de périphérie Internet exécutant BGP? Que signifient les «(5)», «(10003)» ou «(75845)» après les adresses? Il semble énumérer principalement des adresses sur un réseau directement connecté / 23. Le CPU est <2% et la mémoire ne semble pas en être la cause.

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

Existe-t-il un moyen d'interrompre l'exécution de cette commande avant de fermer la session car Ctrl- ^ x n'a aucun effet?

erreur générale de réseau
la source
Avez-vous essayé différentes versions d'IOS? L'affichage des résultats a-t-il toujours pris du temps ou a-t-il commencé à se produire?
Adam Loveless
Ctrl-Shift-6 est la séquence de coupure dans IOS.
Yosef Gunsburg
1
Veuillez expliquer combien de temps "show adj" prend
Mike Pennington
1
Cette version du code n'est pas seulement ancienne (4 ans et plus), mais même dans ce train est remplacée plusieurs fois. Il y a certainement eu des correctifs et des changements dans la gestion du CEF et tendrait à suggérer que vous feriez mieux de dépanner un code plus récent (ou final dans le train).
rnxrx
1
@rnxrx, je m'attendais à au moins un commentaire sur l'âge de cette version de code. Votez pour vous.
generalnetworkerror

Réponses:

8

Avez-vous vérifié si la recherche de domaine était désactivée? ( no ip domain lookup)

Il se peut que votre commande prenne autant de temps à revenir car elle essaie de résoudre toutes les adresses IP en noms d'hôtes.

David Rothera
la source
Ceci est une suggestion intéressante - je ne pense pas que IOS essaierait de faire une résolution de nom pour les entrées de contiguïté CEF car la majorité d'entre elles représentera des préfixes d'une longueur <32.
John Jensen
J'avais "nom de domaine ip" et "liste de domaines ip" configurés, mais pas de "serveur de noms ip". La définition de quelques serveurs de noms a rendu l'affichage de sortie presque instantanément.
generalnetworkerror
C'est super génial! J'adore apprendre de nouvelles choses.
John Jensen
Great catch @David, ne m'est pas venu à l'esprit non plus. Pas aussi malheureux DNS connu que le manque de «transport préféré aucun» sous la ligne VTY :)
ytti
Merci pour les commentaires des ingénieurs réseau les plus expérimentés du groupe; Je ne me sens pas aussi mal que ce soit une recherche inversée qui m'a déconcerté.
generalnetworkerror
4

Que signifient les «(5)», «(10003)» ou «(75845)» après les adresses?

La valeur entre parenthèses fait référence au nombre de fois qu'une entrée FIB pointe vers une entrée de contiguïté. Mentionné ici .

Adam Loveless
la source
2

Le routeur prend-il des tables complètes? Si c'est le cas, je suppose que je ne serais pas surpris que cela prenne beaucoup de temps, vu comment il doit résoudre autant de réseaux qui représentent une table complète vers une interface de sortie (RIB-> FIB). Rappelez-vous également que le 7200 est toujours une plate-forme de transfert basée sur un logiciel. Vous avez encore 3 couches de CEF au-dessus de vous en termes de couches plus rapides.

Si un grand nombre de ces contiguïtés sont des contiguïtés punt (une entrée qui devrait être envoyée à la méthode de commutation de niveau supérieur) ou des contiguïtés glanées, cela peut également expliquer pourquoi cela prend beaucoup de temps - et j'imagine qu'un grand nombre d'entre eux serait - encore une fois, en supposant toujours que c'est un tableau complet ici.

Le nombre entre parenthèses est appelé refcount et représente le nombre de fois que la contiguïté est pointée par les entrées FIB.

Edit: concernant l'annulation de la commande, essayez Ctrl + C (à plusieurs reprises) - parfois cela fonctionne pour moi pour tuer les commandes de longue durée. OTOH si je sais que la commande produira beaucoup de sortie, je définirai la "longueur du terminal" sur quelque chose comme "50", de cette façon j'ai la possibilité de tuer la commande par la pagination de la sortie.

John Jensen
la source
Salut John, je ne suis pas sûr de suivre le commentaire concernant 3 autres couches de CEF ... pouvez-vous élaborer?
Mike Pennington
Bien sûr - en général, je parlais des «meilleures» méthodes de commutation (selon Cisco), dans l'ordre: dCEF matériel -> CEF matériel -> commutation PXF -> CEF logiciel -> commutation rapide -> commutation de processus
John Jensen
Mais je ne vois pas pourquoi il est pertinent de mentionner d'autres chemins de commutation ... AFAIK, d'autres chemins de commutation étant plus efficaces pour déplacer des paquets n'a rien à voir avec le temps qu'il faut pour vider la table d'adjacence sur un routeur 7200.
Mike Pennington
Il était pertinent à mon point de vue qu'un 7200 est une plate-forme logicielle plutôt que quelque chose comme un cat65k ou un 7600 qui fait du CEF dans le matériel; il semblerait que ce serait une hypothèse sûre qu'une plate-forme qui utilise CEF dans le matériel fonctionnerait un peu plus rapidement lors du dumping des contiguïtés, n'est-ce pas? Pour être totalement honnête, bien que mon expérience avec les 7200 en production soit limitée - j'ai toujours eu la «chance» de travailler avec les plus grandes boîtes multi-étages basées sur ASIC.
John Jensen