Este documento describe el verificador de consistencia ahora disponible para los Cisco 7500 y 12000 Series Routers que ejecutan la forma distribuida de Cisco Express Forwarding (CEF). El verificador de coherencia, introducido en la versión 12.0 del software de Cisco IOS® y otros trenes de versiones, se diseñó para detectar cuándo la información de envío en tarjetas de línea y en el Procesador de ruta (RP) pierden sincronización. Cisco IOS informa los siguientes mensajes de registro cuando el verificador detecta un problema:
%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
Este documento también brinda consejos para resolver problemas relacionados con inconsistencias de CEF.
No hay requisitos específicos para este documento.
La información que contiene este documento se basa en las siguientes versiones de software y hardware.
Versión 12.0(15)S y posteriores del software del IOS de Cisco
Cisco 7500 y 12000 Series Routers
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.
Para comprender qué revisa el verificador de coherencia, primero debe comprender y definir las tablas de reenvío CEF.
CEF describe un mecanismo de conmutación de alta velocidad que un router utiliza para reenviar paquetes desde la interfaz entrante a la interfaz saliente. CEF utiliza dos conjuntos de estructuras de datos o tablas, que almacena en la memoria del router:
Base de información de reenvío (FIB): describe una base de datos de información utilizada para tomar decisiones de reenvío. Conceptualmente, es similar a una tabla de ruteo o a un caché de ruta pero su implementación es diferente.
Adyacencia - Se dice que dos nodos en la red son adyacentes si pueden alcanzar a los demás a través de un solo salto a través de una capa de link.
La tabla FIB se actualiza cuando ocurre una de las siguientes situaciones:
Entrada de la memoria caché del Protocolo de resolución de la dirección (ARP) para los cambios de saltos siguientes se la retira o se la pone en tiempo de espera.
La entrada de la tabla de ruteo para el prefijo cambia o se elimina.
La entrada de la tabla de ruteo para el siguiente salto se modifica o elimina.
Los routers Cisco de la serie 7500 y 1200 admiten CEF distribuido (dCEF), en el que las tarjetas de línea toman las decisiones de reenvío de paquetes utilizando copias del mismo FIB almacenadas localmente y tablas de adyacencias como la RP. La tabla entre el RP y las tarjetas de línea deben permanecer sincronizadas. Todos los cambios a las tablas de RP deben enviarse a las tarjetas de línea.
La Comunicación entre procesos (IPC) es el protocolo utilizado por routers que admiten reenvío de paquetes distribuido. Las actualizaciones de CEF se codifican como elementos de información de Representación de datos externa (XDR) dentro de los mensajes IPC. El siguiente diagrama ilustra el mecanismo de distribución de estructura de datos CEF.
Existen dos tipos de inconsistencias:
La información faltante, como un prefijo en particular, en una tarjeta de línea.
Información diferente, como diferentes direcciones IP de salto siguiente, en la tarjeta de línea.
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
Una indicación de una inconsistencia CEF es una diferencia en la columna "CEF-ver" del comando show cef linecard, como se muestra en el siguiente resultado.
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
El resultado del comando show ip cef summary en el RP y la LC debe mostrar el mismo número de rutas y adyacencias cuando se cumplen las siguientes condiciones:
Todas las tarjetas de línea se encuentran en estado “up, sync”.
Las colas XDR en el RP y la LC están vacías (las columnas "LowQ/MedQ/HighQ" [CBaja/CMedia/CAlta] en el comando show cef linecard en el RP y los datos de los "Mensajes del RP para procesar" en el show cef linecard en la tarjeta de línea).
Nota: Una excepción son las LC de Motor 2 de la serie 12000 de Cisco, donde el ASIC de conmutación de paquetes (PSA) instala rutas adicionales para implementar ACL.
La versión 12.0(22)S del software del IOS de Cisco contiene los verificadores de consistencia de CEF v2 (presentes en la versión 12.1E del software del IOS de Cisco), que le permite ejecutar el comando show ip cef inconsistency now para informar de cualquier problema.
A medida que se producen actualizaciones en las bases de datos de ruteo en el RP y las tarjetas de línea, pueden producirse inconsistencias debido a la naturaleza asincrónica del mecanismo de distribución para estas bases de datos. CEF admite verificadores pasivos y activos de consistencia que funcionan de manera independiente. La siguiente tabla describe estos verificadores.
Mecanismo de detección | Opera activado | Descripción |
---|---|---|
Lc-detect | Tarjeta de línea | Funciona en la tarjeta de línea recuperando los prefijos IP que faltan en la tabla FIB. Si faltan prefijos IP, la tarjeta de línea no puede reenviar paquetes para estas direcciones. Lc-detect luego envía prefijos IP al RP para solicitar la confirmación. Si el RP detecta que tiene la entrada relevante, se detecta una inconsistencia y se muestra un mensaje de error. Además, el RP envía una señal de vuelta a la tarjeta de línea y confirma que el prefijo IP es una incongruencia. |
Scan-lc | Tarjeta de línea | Funciona en la tarjeta de línea buscando en la tabla FIB un periodo de tiempo configurado y enviando los siguientes prefijos n al RP. El RP realiza una búsqueda exacta. Si encuentra el prefijo faltante, el RP informa una incoherencia. Finalmente, RP envía una confirmación de regreso a la tarjeta de línea. |
Scan-rp | Procesador de ruteo | Funciona en el RP (opuesto al scan-lc), mediante la búsqueda en la tabla FIB de un periodo de tiempo configurado y el envío de los próximos prefijos n a la tarjeta de línea. La tarjeta de línea realiza una búsqueda exacta. Si encuentra el prefijo que falta, la tarjeta de línea informa una inconsistencia y finalmente señala al RP para su confirmación. |
Rib de exploración | Procesador de ruteo | Funciona en todos los RPs (incluso no distribuidos) y explora el RIB para asegurarse de que las entradas de prefijo estén presentes en la tabla FIB RP. |
Utilice los siguientes comandos para configurar los verificadores de consistencia activados y las variables relacionadas.
ip cef table consistency-check type [período] [recuento] - Controla los parámetros generales de los verificadores.
ip cef table consistency-check – Activa o desactiva los tipos admitidos y controla el período de exploraciones y de los prefijos explorados (not for lc-detect). El verificador de consistencia está desactivado de manera predeterminada.
Nunca deberían producirse incoherencias ni ninguna incoherencia debería investigarse. Use los siguientes comandos CEF debug y show cuando localice averías.
La herramienta Output Interpreter (sólo para clientes registrados) permite utilizar algunos comandos “show” y ver un análisis del resultado de estos comandos.
Nota: Antes de ejecutar comandos debug, consulte Información Importante sobre Comandos Debug.
show ip cef inconsistency records detail - Muestra las estadísticas en los mecanismos de detección. También registra información detallada para un número (actualmente 4) de inconsistencias confirmadas pero diferentes.
show ip cef inconsistency - Muestra un resumen del estado.
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 inconsistency records - Utiliza la palabra clave de los registros para descargar las inconsistencias registradas.
show ip cef inconsistency records detail and execute-on slot
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)
Nota: No hay acceso SNMP a los registros de inconsistencia. Esta función se puede agregar a una próxima versión de Cisco IOS.
clear cef linecard - Si falta un prefijo IP de una tarjeta de línea, utilice este comando para reinstalar el prefijo en la tarjeta de línea FIB.
clear ip route – Si falta un prefijo en RP, utilice este comando para reinstalar el prefijo en RP FIB.
Cuando el verificador de consistencia encuentra un problema, se necesitan los siguientes resultados del comando para resolver el problema con precisión.
show ip cef - Muestra las entradas en la FIB en el RP.
exec all show ip cef - Muestra valores CEF FIB en tarjetas de línea.
show tech cef: Brinda información para la asistencia technical en CEF.
mostrar detalle de inconsistencias de registros cef ip - muestra los detalles de inconsistencia FIB CEF en el RP.
exec slot show ip cef inconsistency records detail – Muestra detalles de la inconsistencia FIB CEF en las tarjetas de línea.
no ip cef table consistency-check - Desactiva los verificadores.
debug ip cef table consistency-checkers - Causa la depuración de los eventos de consulta y verificación.
Para borrar una incoherencia de CEF, utilice el comando clear ip cef inconsistency. Para desactivar el verificador de consistencia, utilice el comando no ip cef table consistency-check. Es importante observar que desactivar el analizador de coherencia no resuelve los problemas informados. El sistema continúa ejecutándose con inconsistencias que eventualmente llevan a un comportamiento inesperado.
En raras condiciones, la versión original del verificador de consistencia del CEF puede informar de un falso positivo. La causa de este problema es la aparición de ventanas temporales de temporización cuando se están actualizando las bases de datos CEF (en particular, durante actualizaciones grandes) y cuando se está distribuyendo información nueva desde el RP a las tarjetas de línea. Aunque los mensajes falsos positivos están muy limitados en la velocidad y, por lo tanto, son más molestos que un impacto en la CPU, Cisco recomienda desactivar el verificador de consistencia CEF a menos que se resuelva un problema de consistencia específico.
Para minimizar las posibilidades de falsos positivos para los prefijos en el proceso de actualización, puede ajustar el tiempo de liquidación, que es el retraso impuesto a la detección. Use el comando ip cef table consistency-check [tiempo de estabilización]. Este comando se basa en la presencia de un registro de eventos; de lo contrario, el tiempo de liquidación es efectivamente 0.
Se seleccionó un valor predeterminado de 65 segundos para evitar la detección fantasma de prefijos de adyacencia (/32s para entradas ARP) faltantes en el RP. Una eliminación de ARP ocurre en dos etapas en el RP.
La adyacencia se marca como incompleta y se elimina el prefijo de adyacencia.
El walker de adyacencia de un minuto borra la adyacencia e informa a las tarjetas de línea para que hagan lo mismo.
Este proceso lleva a una ventana de hasta 60 segundos cuando el prefijo de adyacencia se encuentra presente en la tarjeta de línea y no en el RP.
Nota: En la versión 2.0 del verificador de coherencia, se ha corregido el problema de las inconsistencias falsas.
A continuación, se enumeran algunos errores conocidos de Cisco con el verificador de consistencia CEF. Esta lista no pretende ser exhaustiva.
Id. de error de Cisco CSCdt18447 (sólo clientes registrados) Registrador de eventos CEF/Verificadores de consistencia bloquean CPU
Error de Cisco ID CSCuk23390 (sólo para clientes registrados) lc-detect causa falla malloc en el nivel de interrupción.
ID de error de funcionamiento Cisco CSCuk23290 (sólo clientes registrados) el registrador de eventos de incoherencias CEF puede mal asignar el almacenamiento.
Falla de funcionamiento de Cisco ID CSCdt04645 (sólo para clientes registrados) Resuelve un problema con una fuga de memoria (que afecta todo aquello que puede ejecutar CEF distribuido, incluso el proceso del verificador de coherencia Ic-stat).
Revisión | Fecha de publicación | Comentarios |
---|---|---|
1.0 |
10-Aug-2005 |
Versión inicial |