La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Cisco ha tradotto questo documento utilizzando una combinazione di tecnologie automatiche e umane per offrire ai nostri utenti in tutto il mondo contenuti di supporto nella propria lingua. Si noti che anche la migliore traduzione automatica non sarà mai accurata come quella fornita da un traduttore professionista. Cisco Systems, Inc. non si assume alcuna responsabilità per l’accuratezza di queste traduzioni e consiglia di consultare sempre il documento originale in inglese (disponibile al link fornito).
Questo documento descrive la funzionalità Cisco Express Forwarding (CEF) sui dispositivi basati su Cisco IOS® XE. A differenza di altri router Cisco, i router basati su Cisco IOS XE sono modulari non solo in termini di hardware, ma anche di software. Per questo motivo, anche il comportamento della maggior parte delle funzionalità e dei protocolli è leggermente diverso. Vedrai anche come vengono gestite le tabelle CEF sui dispositivi basati su Cisco IOS XE e come vengono gestite le tabelle Border Gateway Protocol (BGP) in termini di aggiornamenti CEF sulle piattaforme Cisco IOS XE.
Sui dispositivi Cisco IOS XE come ASR1000, il control plane è separato dal piano di inoltro. Ogni aggiornamento che deve essere passato dal piano di controllo al piano dati deve passare attraverso il flusso di dati mostrato nel diagramma di flusso. Ad esempio, nel caso del CEF, quando si apprende un prefisso sul piano di controllo, questo aggiornamento passa dal piano di controllo (IOSd) al gestore di inoltro del piano di controllo (FMAN-RP). Il gestore di inoltro sul control plane utilizza utility del kernel come lsmpi, collegamenti Hyper-Transport (HT) e così via per passare l'aggiornamento al gestore di inoltro del piano di inoltro (ESP) (FMAN-FP). Il manager di inoltro invia l'aggiornamento al Quantum Flow Processor (QFP) che programma il microcodice QFP in modo da programmare finalmente il sottosistema QFP che esegue l'inoltro effettivo dei pacchetti nei dispositivi Cisco Aggregation Services Router (ASR).
Per controllare l'aggiornamento CEF su ciascuno di questi moduli software, è possibile utilizzare vari comandi. Questo è il processo passo passo.
Per controllare il CEF sul piano di comando:
Router#show ip cef Prefix Next Hop Interface 0.0.0.0/0 no route 0.0.0.0/8 drop 0.0.0.0/32 receive 1.1.1.1/32 10.10.10.1 GigabitEthernet0/0/0 2.2.2.2/32 receive Loopback1 10.10.10.0/24 attached GigabitEthernet0/0/0 10.10.10.0/32 receive GigabitEthernet0/0/0 Router#show platform software ip rp active cef summary Forwarding Table Summary Name VRF id Table id Protocol Prefixes State ------------------------------------------------------------------------------------------------
Default 0 0 IPv4 20 OM handle: 0x404a4df8 Router#show platform software ip rp active cef detail Forwarding Table 0.0.0.0/0 -> OBJ_ADJ_NOROUTE (0), urpf: 5 Prefix Flags: Default, Default route handler OM handle: 0x404a91e8 0.0.0.0/8 -> OBJ_ADJ_DROP (0), urpf: 13 Prefix Flags: unknown OM handle: 0x404bd5e8 0.0.0.0/32 -> OBJ_ADJ_RECEIVE (0), urpf: 12 Prefix Flags: Receive OM handle: 0x404bd298 1.1.1.1/32 -> OBJ_ADJACENCY (16), urpf: 20 Prefix Flags: unknown OM handle: 0x404fec70
Per controllare i dettagli CEF nel piano di inoltro (ESP):
Router#show platform software ip fp active cef detail Forwarding Table 0.0.0.0/0 -> OBJ_ADJ_NOROUTE (0), urpf: 5 Prefix Flags: Default, Default route handler aom id: 73, HW handle: 0x4310df8 (created) 0.0.0.0/8 -> OBJ_ADJ_DROP (0), urpf: 13 Prefix Flags: unknown aom id: 90, HW handle: 0x4362cd8 (created) 0.0.0.0/32 -> OBJ_ADJ_RECEIVE (0), urpf: 12 Prefix Flags: Receive aom id: 86, HW handle: 0x4333568 (created) 127.0.0.0/8 -> OBJ_ADJ_DROP (0), urpf: 13 Prefix Flags: unknown aom id: 91, HW handle: 0x4387048 (created) 224.0.0.0/4 -> OBJ_ADJ_DROP (0), urpf: 13 Prefix Flags: unknown aom id: 92, HW handle: 0x43870d8 (created) Router#show platform software ip fp active cef summary Forwarding Table Summary Name VRF id Table id Protocol Prefixes State ------------------------------------------------------------------------------------------------ Default 0 0 IPv4 20 hw: 0x43010a8 (created)
Questi comandi possono essere utilizzati anche quando si verificano problemi CEF sul dispositivo. Ad esempio, sebbene le route vengano apprese, i prefissi non sono raggiungibili. È possibile esaminare tutti i moduli per verificare se tutte le tabelle CEF sono aggiornate correttamente o meno.
Analogamente, potete controllare ulteriormente la tabella adiacente CEF per tutte le informazioni sul layer 2 relative ai prefissi adiacenti.
Per controllare l'adiacenza CEF sul piano di comando:
Router#show adjacency gigabitEthernet 0/0/0 detail Protocol Interface Address IP GigabitEthernet0/0/0 10.10.10.1(11) 72772 packets, 4622727 bytes epoch 0 sourced in sev-epoch 0 Encap length 14 0062EC6B89000062EC6BEC000800 L2 destination address byte offset 0 L2 destination address byte length 6 Link-type after encap: ip ARP Router#show platform software adjacency rp active Number of adjacency objects: 4 Adjacency id: 0x10 (16) Interface: GigabitEthernet0/0/0, IF index: 8, Link Type: MCP_LINK_IP Encap: 0:62:ec:6b:89:0:0:62:ec:6b:ec:0:8:0 Encap Length: 14, Encap Type: MCP_ET_ARPA, MTU: 1500 Flags: no-l3-inject Incomplete behavior type: None Fixup: unknown Fixup_Flags_2: unknown Nexthop addr: 10.10.10.1 IP FRR MCP_ADJ_IPFRR_NONE 0 OM handle: 0x404ea1d8
È necessario annotare l'ID adiacenza per controllare i dettagli relativi a questa particolare adiacenza nel piano di inoltro. In questo caso, l'ID adiacente è 16.
Per controllare l'adiacenza CEF sul piano di inoltro:
Router#show platform software adjacency fp active index 16 Number of adjacency objects: 4 Adjacency id: 0x10 (16) Interface: GigabitEthernet0/0/0, IF index: 8, Link Type: MCP_LINK_IP Encap: 0:62:ec:6b:89:0:0:62:ec:6b:ec:0:8:0 Encap Length: 14, Encap Type: MCP_ET_ARPA, MTU: 1500 Flags: no-l3-inject Incomplete behavior type: None Fixup: unknown Fixup_Flags_2: unknown Nexthop addr: 10.10.10.1 IP FRR MCP_ADJ_IPFRR_NONE 0 aom id: 114, HW handle: 0x43ae148 (created)
Qui, si vede che le informazioni di adiacenza CEF è popolato in Gestione inoltro (FMAN) su FP. FMAN FP invia queste informazioni al driver del client QFP che programma la tabella di inoltro QFP che sarà utilizzata per l'inoltro alla fine. Dal comando precedente, copiare l'handle dell'hardware per controllare le informazioni di inoltro su QFP.
Router#show pla hard qfp act feature cef-mpls adjacency handle 0x43ae148 Adj Type: : IPV4 Adjacency Encap Len: : 14 L3 MTU: : 1500 Adj Flags: : 0 Fixup Flags: : 0 Output UIDB: : Interface Name: GigabitEthernet0/0/0 Encap: : 00 62 ec 6b 89 00 00 62 ec 6b ec 00 08 00 Next Hop Address: : 10.10.10.1 Lisp Fixup HW Ptr: : 0x767b28f0 Next HW OCE Ptr: : 00000000 CM HW Ptr:: 946947588 Fixup_Falgs_2: : 0
In questo caso, tutte le tabelle adiacenti vengono aggiornate correttamente e il router è pronto per l'inoltro. Tuttavia, l'intero processo di isolamento richiede molti comandi e la conoscenza dell'architettura modulare ad un certo livello. Per semplificare questa operazione, è stato introdotto di recente un comando che fornisce informazioni consolidate da tutti i moduli.
Nota: Per i dispositivi con una tabella di routing lunga, l'esecuzione di questo comando potrebbe richiedere alcuni minuti.
Il comando è show ip cef platform detail.
Per tutti i dispositivi modulari Cisco IOX XE nelle situazioni in cui viene appreso un numero elevato di prefissi sul router, normalmente è necessario del tempo per programmare tutti i prefissi in tutti i moduli di inoltro. Questa condizione può essere rilevata molto frequentemente sui router posizionati nella tabella di routing BGP completa di provider edge learning dell'ISP.
Nel Technical Assistance Center sono stati ricevuti pochi casi in cui è stato rilevato che dopo l'accensione della sessione BGP e l'aggiornamento della route BGP nella tabella di routing, i prefissi non sono raggiungibili per un determinato periodo di tempo. In genere, sono necessari 20-30 secondi e dipende dalla piattaforma del router su cui eseguire il ping di tali prefissi. Di seguito è riportato un esempio di scenario di test:
Pagent è uno strumento per la generazione del traffico che viene usato per inviare un milione di route BGP al router ASR1002HX.
Anche se le route BGP vengono apprese sul dispositivo e la tabella CEF del control plane viene aggiornata, la rete interna non è in grado di eseguire il ping dei prefissi appresi per alcuni secondi. Sulla base della discussione sul CEF, è chiaro che è necessario aggiornare le voci del CEF su ciascun modulo software. È possibile osservare una conseguenza di questo comportamento in questo particolare scenario in cui i prefissi non sono raggiungibili a causa del fatto che non sono stati aggiornati nella tabella di inoltro ESP. Di seguito vengono riportati alcuni output di ASR1002HX come riferimento.
Le tabelle BGP vengono aggiornate con tutte le route da un milione.
Router#show ip bgp summary BGP router identifier 1.1.1.1, local AS number 100 BGP table version is 1, main routing table version 1 1000002 network entries using 248000496 bytes of memory 1000002 path entries using 128000256 bytes of memory 100002/0 BGP path/bestpath attribute entries using 26400528 bytes of memory 100000 BGP AS-PATH entries using 5402100 bytes of memory 0 BGP route-map cache entries using 0 bytes of memory 0 BGP filter-list cache entries using 0 bytes of memory BGP using 407803380 total bytes of memory BGP activity 8355774/7355772 prefixes, 9438985/8438983 paths, scan interval 60 secs Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 10.10.10.2 4 100 5 2 1 0 0 00:00:58 1 20.20.20.2 4 100 100002 3 1 0 0 00:01:02 1000000
Sebbene la tabella BGP contenga un milione di prefissi, la tabella CEF del gestore di inoltro ha ancora appreso solo 48613 prefissi.
Se si attendono 20-30 secondi, viene visualizzata la tabella CEF FP completamente aggiornata con un milione di prefissi.
Router#show platform software ip fp active cef summary
Forwarding Table Summary
Name VRF id Table id Protocol Prefixes State
------------------------------------------------------------------------------------------------
Default 0 0 IPv4 48613 hw: 0x2edce98 (created)
Quando si utilizzano dispositivi ad architettura modulare basati su Cisco IOS XE per l'inoltro di problemi correlati, è necessario verificare le informazioni relative alla tabella di inoltro da tutti i moduli software. Lo scenario BGP illustrato può essere considerato come un comportamento previsto con questa piattaforma in quanto il dispositivo impiega alcuni secondi per aggiornare i prefissi in tutti i moduli software.