Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Convenzioni

Tabelle di inoltro CEF

Che cos'è un'incoerenza?

Panoramica di Controllo incoerenze

Risoluzione dei problemi di incoerenze CEF

Comandi per la risoluzione dei problemi

Come reimpostare Verifica coerenza

False incoerenze

Problemi noti

Informazioni correlate

Introduzione

Questo documento descrive la verifica della coerenza ora disponibile per i router Cisco serie 7500 e 12000 che eseguono il formato distribuito di Cisco Express Forwarding (CEF). Il controllo di coerenza, introdotto nel software Cisco IOS® versione 12.0(15)S e in altri release train, è progettato per rilevare quando si inoltrano le informazioni sulle schede di linea e il processore di routing (RP) perde la sincronizzazione. Quando lo strumento di controllo rileva un problema, Cisco IOS segnala i seguenti messaggi di registro:

%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

Nel documento vengono forniti anche suggerimenti per la risoluzione dei problemi relativi alle incoerenze CEF.

Prerequisiti

Requisiti

Nessun requisito specifico previsto per questo documento.

Componenti usati

Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:

- Software Cisco IOS release 12.0(15)S e successive

- Cisco serie 7500 e 12000 router

Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.

Convenzioni

Per ulteriori informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.

Tabelle di inoltro CEF

Per comprendere il contenuto della revisione eseguita da Verifica coerenza, è innanzitutto necessario comprendere e definire le tabelle di inoltro CEF.

Il CEF descrive un meccanismo di commutazione ad alta velocità che un router utilizza per inoltrare i pacchetti dall'interfaccia in entrata all'interfaccia in uscita. CEF utilizza due set di strutture o tabelle di dati, che memorizza nella memoria del router:

- Forwarding Information Base (FIB): descrive un database di informazioni utilizzato per prendere decisioni relative all'inoltro. È concettualmente simile a una tabella di routing o alla cache route, anche se la sua implementazione è diversa.

- Adiacenza - Due nodi della rete si definiscono adiacenti se possono raggiungersi l'un l'altro tramite un singolo hop attraverso un livello di collegamento.

La tabella FIB viene aggiornata quando si verifica una delle seguenti situazioni:

- La voce della cache ARP (Address Resolution Protocol) per le modifiche, il timeout dell'hop successivo viene rimossa.

- La voce della tabella di routing per il prefisso viene modificata o rimossa.

- La voce della tabella di routing per l'hop successivo viene modificata o rimossa.

I router Cisco serie 7500 e 12000 supportano CEF (dCEF) distribuiti, in cui le schede di linea prendono le decisioni di inoltro dei pacchetti utilizzando copie memorizzate localmente delle stesse tabelle FIB e adiacenti dell'RP. Le tabelle tra l'RP e le schede di linea devono rimanere sincronizzate. Qualsiasi modifica apportata alle tabelle dell'RP deve essere inoltrata alle schede di linea.

IPC (Inter-Process Communication) è il protocollo utilizzato dai router per supportare l'inoltro di pacchetti distribuiti. Gli aggiornamenti CEF sono codificati come elementi di informazioni XDR (External Data Representation) all'interno dei messaggi IPC. Il diagramma seguente illustra il meccanismo di distribuzione della struttura di dati CEF.

Che cos'è un'incoerenza?

Esistono due tipi di incoerenze:

- Informazioni mancanti, ad esempio un prefisso particolare, in una scheda di linea.

- Informazioni diverse, ad esempio indirizzi IP dell'hop successivo, sulla scheda di linea.

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

Un'indicazione di un'incoerenza CEF è una differenza nella colonna "CEF-ver" del comando show cef linecard, come mostrato nell'output che segue.

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

L'output del comando show ip cef summary sull'RP e sull'LC deve mostrare lo stesso numero di route e adiacenze quando le condizioni seguenti sono vere:

- Tutte le schede di linea sono in stato "up, sync" (attivo, sincronizzato).

- Le code XDR sia sull'RP che sul LC sono vuote (le colonne "LowQ/MedQ/HighQ" in show cef linecard sull'RP e i dati "RP messaggi da elaborare" in show cef linecard sulla linecard).

Nota: un'eccezione è rappresentata dai Cisco serie 12000 Engine 2 LC, in cui l'ASIC (PSA) di switching del pacchetto installa percorsi aggiuntivi per implementare gli ACL.

Il software Cisco IOS versione 12.0(22)S contiene i controlli di coerenza CEF v2 (presenti nel software Cisco IOS versione 12.1E), che consentono di eseguire il comando show ip cef inconsistency per segnalare eventuali problemi.

Panoramica di Controllo incoerenze

Poiché gli aggiornamenti vengono eseguiti sui database di routing nelle schede RP e di linea, possono verificarsi incoerenze dovute alla natura asincrona del meccanismo di distribuzione di tali database. CEF supporta i controlli di coerenza passivi e attivi eseguiti in modo indipendente. Nella tabella seguente vengono descritti questi strumenti di controllo.

Meccanismo di rilevamento

Funziona su

Descrizione

Rilevamento Lc

Scheda di linea

Funziona sulla scheda di linea recuperando i prefissi IP trovati mancanti dalla relativa tabella FIB. Se mancano i prefissi IP, la scheda di linea non può inoltrare pacchetti per questi indirizzi. Lc-detect invia quindi i prefissi IP all'RP per la conferma. Se l'RP rileva la voce rilevante, viene rilevata un'incoerenza e viene visualizzato un messaggio di errore. Inoltre, l'RP invia un segnale alla scheda di linea confermando che il prefisso IP è un'incoerenza.

Scan-lc

Scheda di linea

Funziona sulla scheda di linea esaminando la tabella FIB per un periodo di tempo configurato e inviando i successivi n prefissi all'RP. L'RP esegue una ricerca esatta. Se il prefisso risulta mancante, l'RP segnala un'incoerenza. Infine, il RP invia una conferma alla scheda di linea.

Scan-rp

Route Processor

Funziona sull'RP (opposto di scan-lc) guardando attraverso la tabella FIB per un periodo di tempo configurato e inviando i successivi n prefissi alla scheda di linea. La scheda di linea esegue una ricerca esatta. Se il prefisso risulta mancante, la scheda di linea segnala un'incoerenza e infine segnala l'RP per la conferma.

Nervatura

Route Processor

Funziona su tutti gli RP (anche non distribuiti) ed esegue la scansione del RIB per assicurarsi che le voci di prefisso siano presenti nella tabella FIB RP.

Utilizzare i comandi seguenti per configurare i controlli di coerenza attivati e le variabili correlate.

- ip cef table consistency-check type [period] [count] - Controlla i parametri generali per gli strumenti di controllo.

- ip cef table consistency-check: abilita o disabilita i tipi supportati e controlla il periodo di analisi e prefissi analizzati (non per lc-detect). La verifica coerenza è disattivata per impostazione predefinita.

Risoluzione dei problemi di incoerenze CEF

Le incongruenze non devono mai accadere, e ogni incongruenza deve essere studiata. Per la risoluzione dei problemi, usare i seguenti comandi CEF debug e show.

Alcuni comandi show sono supportati dallo strumento Output Interpreter (solo utenti registrati); lo strumento permette di visualizzare un'analisi dell'output del comando show.

Nota: prima di usare i comandi di debug, consultare le informazioni importanti sui comandi di debug.

- show ip cef inconsistency records detail: visualizza le statistiche sui meccanismi di rilevamento. Registra inoltre informazioni dettagliate per un numero (attualmente 4) di incoerenze confermate, ma diverse.

- show ip cef inconsistency: visualizza un riepilogo dello stato.

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: utilizzare la parola chiave records per eseguire il dump delle incoerenze registrate.

- visualizzazione dei dettagli dei record di incoerenza ip cef e dello slot di esecuzione

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: non è disponibile alcun accesso SNMP ai record di incoerenza. Questa funzionalità può essere aggiunta a una versione futura di Cisco IOS.

Comandi per la risoluzione dei problemi

- clear cef linecard - Se manca un prefisso IP da una scheda di linea, utilizzare questo comando per reinstallare il prefisso nella scheda di linea FIB.

- clear ip route - Se manca un prefisso nell'RP, utilizzare questo comando per reinstallare il prefisso nell'RP FIB.

Quando lo strumento di verifica della coerenza rileva un problema, sono necessari i seguenti output del comando per risolvere il problema.

- show ip cef: visualizza le voci nella FIB sull'RP.

- exec all show ip cef - Visualizza i valori FIB CEF sulle schede di linea.

- show tech cef: fornisce informazioni per il supporto tecnico sul CEF.

- show ip cef inconsistency records detail: visualizza i dettagli delle incoerenze FIB CEF sull'RP.

- exec slot show ip cef inconsistency records detail: visualizza i dettagli delle incoerenze FIB CEF sulle schede di linea.

- no ip cef table consistency-check - Disattiva gli strumenti di controllo.

- debug ip cef table consistency-checkers - Determina il debug degli eventi di query e controllo.

Come reimpostare Verifica coerenza

Per cancellare un'incoerenza CEF, usare il comando clear ip cef inconsistency. Per disattivare la verifica coerenza, utilizzare il comando no ip cef table consistency-check. È importante notare che la disattivazione di Verifica coerenza non risolve i problemi segnalati. Il sistema continua a funzionare con incongruenze, che possono determinare comportamenti imprevisti.

False incoerenze

In rari casi, la versione originale di Verifica coerenza CEF può segnalare un falso positivo. Questo problema è causato da finestre temporali temporanee durante l'aggiornamento dei database CEF (in particolare durante aggiornamenti di grandi dimensioni) e la distribuzione di nuove informazioni dall'RP alle schede di linea. Sebbene i messaggi falsi positivi siano molto limitati (e quindi più dannosi che dannosi per la CPU), Cisco consiglia di disabilitare la verifica coerenza CEF a meno che non si risolva un problema di coerenza specifico.

Per ridurre al minimo le probabilità di falsi positivi per i prefissi in fase di aggiornamento, è possibile regolare il tempo di impostazione, ovvero il ritardo imposto sul rilevamento. Usare il comando ip cef table consistency-check [settle-time]. Questo comando si basa sulla presenza di un registro eventi; in caso contrario, il tempo di liquidazione è effettivamente 0.

È stato selezionato un valore predefinito di 65 secondi per impedire il rilevamento fantasma di prefissi adiacenti (/32 per voci ARP) mancanti nell'RP. L'eliminazione ARP avviene in due fasi sull'RP:

1. L'adiacenza è contrassegnata come incompleta e il prefisso adiacente viene eliminato.

2. Il camminatore adiacente da un minuto elimina l'adiacenza e informa le schede di linea di fare lo stesso.

Questo processo porta a una finestra di massimo 60 secondi quando il prefisso adiacente è presente sulle schede di linea, ma non sull'RP.

Nota: nella versione 2.0 del controllo di coerenza è stato risolto il problema delle incoerenze false.

Problemi noti

Di seguito vengono elencati i bug Cisco noti relativi alla funzione di verifica coerenza CEF. L'elenco non è esaustivo.

- ID bug Cisco CSCdt18447 (solo utenti registrati) CEF event logger/consistency checkers hog CPU

- ID bug Cisco CSCuk23390 (solo utenti registrati) lc-detect cause malloc fail a livello di interrupt

- Cisco ID bug CSCuk23290 (solo utenti registrati) Il registratore di eventi di incoerenza CEF può effettuare una errata allocazione dello storage

- Cisco ID bug CSCdt04645 (solo utenti registrati) Risolve un problema con una perdita di memoria (che influisce su tutto ciò che può eseguire CEF distribuiti, incluso il processo lc-stat consistency checker).

Informazioni correlate

- Risoluzione dei messaggi di errore relativi all'inoltro di Cisco Express

- Pagine di supporto tecnico per Cisco Express Forwarding

- Supporto tecnico – Cisco Systems