¿Por qué "mostrar adyacencia" tarda tanto en ejecutarse?

9

¿Por qué el comando "show adyacencia" tarda tanto en ejecutarse (en el orden de minutos) en el software Cisco IOS, 7200 Software (C7200P-SPSERVICESK9-M), Versión 12.4 (4) XD5, SOFTWARE DE LIBERACIÓN (fc1)? El enrutador es un enrutador de borde de Internet que ejecuta BGP? ¿Qué significan "(5)", "(10003)" o "(75845)" después de las direcciones? Parece enumerar principalmente direcciones en una red conectada directamente / 23. La CPU es <2% y la memoria no parece ser la causa de esto.

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

¿Hay alguna manera de interrumpir la ejecución de este comando antes de cerrar la sesión ya que Ctrl- ^ x no tiene ningún efecto?

generalnetworkerror
fuente
¿Has probado diferentes versiones de iOS? ¿Siempre ha tomado mucho tiempo mostrar resultados o ha comenzado a suceder?
Adam Loveless
Ctrl-Shift-6 es la secuencia de interrupción en IOS.
Yosef Gunsburg
1
Explique cuánto tarda el "show adj"
Mike Pennington
1
Esa versión del código no solo es antigua (más de 4 años) sino que incluso dentro de ese tren se reemplaza muchas veces. Definitivamente ha habido correcciones y cambios en el manejo de CEF y tiende a sugerir que sería mejor que solucione problemas en una revisión de código más reciente (o final dentro del tren).
rnxrx
1
@rnxrx, esperaba al menos un comentario sobre la edad de la versión de ese código. Vota por ti.
generalnetworkerror

Respuestas:

8

¿Ha verificado si tiene deshabilitada la búsqueda de dominio? ( no ip domain lookup)

Podría ser que su comando demore tanto en regresar ya que está tratando de resolver todas las IP en los nombres de host.

David Rothera
fuente
Esta es una sugerencia interesante: no creo que IOS intente hacer una resolución de nombre para las entradas de adyacencia CEF, ya que la mayoría de ellos representarán prefijos con una longitud <32.
John Jensen
Tenía "nombre de dominio ip" y "lista de dominios ip" configurados, pero no "servidor de nombres ip". Al configurar un par de servidores de nombres, la salida se visualiza casi al instante.
generalnetworkerror
Eso es super genial! Me encanta aprender cosas nuevas.
John Jensen
Gran captura @David, tampoco se me ocurrió. No es un problema DNS tan conocido como la falta de 'transporte preferido ninguno' en la línea VTY :)
ytti
Gracias por los comentarios de los ingenieros de redes más experimentados del grupo; No me siento tan mal porque fue una búsqueda inversa lo que me dejó perplejo.
generalnetworkerror
4

¿Qué significan "(5)", "(10003)" o "(75845)" después de las direcciones?

El valor entre paréntesis se refiere a la cantidad de veces que una entrada FIB apunta a una entrada adyacente. Mencionado aquí .

Adam Loveless
fuente
2

¿El enrutador toma mesas llenas? Si es así, supongo que no me sorprendería que esté tomando mucho tiempo, ya que tiene que resolver la cantidad de redes que representa una tabla completa para una interfaz de salida (RIB-> FIB). Recuerde también que el 7200 sigue siendo una plataforma de reenvío basada en software. Todavía tiene 3 capas más de CEF sobre usted en términos de cuáles son más rápidas.

Si una gran cantidad de esas adyacencias son adyacencias de despeje (una entrada que tendría que ser punteada al método de cambio de siguiente nivel) o adyacencias de glean, esto también puede explicar por qué está tomando tanto tiempo, y me imagino que algunos de ellos estarían, nuevamente, suponiendo que sea una mesa completa aquí.

El número entre paréntesis se denomina recuento y representa el número de veces que las entradas FIB señalan la adyacencia.

Editar: con respecto a la cancelación del comando, intente Ctrl + C (repetidamente), a veces esto funciona para mí para matar comandos de ejecución prolongada. OTOH si sé que el comando producirá una gran cantidad de resultados, estableceré "longitud de terminal" en algo así como "50", de esa manera tengo la opción de eliminar el comando a través de la paginación de salida.

John Jensen
fuente
Hola John, no estoy seguro de seguir el comentario sobre 3 capas más de CEF ... ¿puedes explicarlo?
Mike Pennington
Claro, en general estaba hablando de los "mejores" métodos de conmutación (según Cisco), en orden: hardware dCEF -> hardware CEF -> conmutación PXF -> CEF basado en software -> conmutación rápida -> conmutación de proceso
John Jensen
Pero no veo por qué es importante mencionar otras rutas de conmutación ... AFAIK, otras rutas de conmutación que son más eficientes para mover paquetes no tienen nada que ver con el tiempo que lleva volcar la tabla de adyacencia en un enrutador 7200.
Mike Pennington
Era relevante para mi punto de que un 7200 es una plataforma basada en software en lugar de algo como un cat65k o un 7600 que hace CEF en hardware; parece que sería una suposición segura que una plataforma que hace CEF en hardware funcionaría un poco más rápido al descargar adyacencias, ¿no es así? Siendo totalmente honesto, aunque mi experiencia con los 7200 en producción es limitada, siempre he tenido la suerte de trabajar con las cajas multietapa más grandes basadas en ASIC.
John Jensen