Cisco Express Forwarding, CEF è strato avanzato 3 tecnologia di commutazione IP utilizzato su router cisco e switch. È una funzionalità che consente a un router di effettuare una ricerca di percorso in modo rapido ed efficiente. CEF ottimizza la ricerca della tabella di routing creando una speciale struttura ad albero facilmente ricercabile basata sulla tabella di routing IP. CEF ottimizza le prestazioni e la scalabilità della rete per reti con modelli di traffico ampi e dinamici con informazioni di inoltro chiamate FIB (Forwarding Information Base) e informazioni di adiacenza memorizzate nella cache chiamate Tabella di adiacenza. Il CEF svolge un ruolo cruciale nel miglioramento delle prestazioni quando viene applicato in Internet o nelle reti con applicazioni Web intensive o sessioni interattive. Prima che il CEF fosse implementato da Cisco, i router prendevano decisioni di routing basate su 2 metodi, ad esempio packet-switching-Process – Switching e Fast-Switching.
I router prendono decisioni sull’inoltro dei pacchetti in base all’origine e agli indirizzi di destinazione. Questo processo decisionale è chiamato ” commutazione.”Non confondiamoci con uno switch Ethernet. La commutazione di cui sopra è ciò che fa un router quando prende le seguenti decisioni:
- Se inoltrare o meno il pacchetto dopo aver controllato che la destinazione menzionata nel pacchetto sia raggiungibile o meno
- Se la destinazione è raggiungibile, qual è il prossimo-hop?, e quale interfaccia il router userà per arrivare a quella destinazione?
- Se modificare o meno il MAC Ethernet sul pacchetto?
L’ARCHITETTURA DEL ROUTER divide le funzioni del router in tre piani operativi:
PIANO DI GESTIONE: Questo piano viene utilizzato per gestire un dispositivo attraverso la sua connessione alla rete. Esempi di protocolli elaborati nel piano di gestione includono Simple Network Management Protocol (SNMP), Telnet, File Transfer Protocol (FTP), Secure FTP e Secure Shell (SSH). Questi protocolli di gestione sono utilizzati per il monitoraggio e l’accesso all’interfaccia a riga di comando (CLI).
PIANO DI CONTROLLO: Il piano di controllo è il cervello del router. La sua funzione principale è quella di mantenere sessioni e scambiare informazioni sul protocollo con altri router o dispositivi di rete. Di seguito sono riportate alcune delle funzioni del piano di controllo:
- Decide dove sta andando il traffico (ad esempio protocolli di routing, ecc.)
- Configurazione del sistema, informazioni di gestione
- Scambio di informazioni topologiche
- Polizia (protezione del piano di gestione)
PIANO DATI: la sua funzione principale è quella di inoltrare i dati attraverso un router (ASIC). Ad esempio, il traffico dell’utente finale che viaggia dal PC di un utente a un server Web su una rete diversa attraverserebbe il piano dati. (Significa che i pacchetti di dati verranno elaborati dall’hardware stesso per le decisioni di routing prima che vengano inoltrati verso la loro destinazione in base alle decisioni di routing). Di seguito sono riportate alcune delle funzioni del piano dati:
- Inoltro di pacchetti di dati, pertanto, spesso chiamato il Piano di Inoltro
- Utilizzare il piano di controllo per avanti sulla destinazione
- Utilizzare il piano di controllo per rendere il packet drop decisioni
Dati di piano e del piano di controllo, insieme, sono responsabili per la velocità con cui i pacchetti possono fluire attraverso un router. Considereremo questi due piani operativi ed esamineremo tre diversi approcci che i router Cisco possono adottare. Questo vale per tutti i pacchetti che arrivano su un’interfaccia di ingresso e vengono inviati un’interfaccia di uscita appropriata.
Router Cisco supportano le seguenti tre modalità primarie di commutazione di pacchetto:
- 1. Commutazione di processo
- 2. Commutazione rapida
- 3. Cisco Express Forwarding (CEF)
- 1. PROCESS-SWITCHING-Quando i pacchetti di dati entrano in un’interfaccia, il processore di Route (la CPU) deve essere coinvolto in ogni decisione di inoltro dei pacchetti
-
- Funziona con ogni pacchetto per l’alternanza di indirizzi L2 e altri controlli degli errori come CRC ecc.
- Ottieni il prossimo indirizzo hop L2 tramite la tabella ARP.
- Ricerca tabella percorso per ogni pacchetto.
- velocità più lenta e più CPU intensiva
NOTA: è possibile configurare un’interfaccia per la commutazione di processo disabilitando la commutazione rapida su tale interfaccia. Il comando utilizzato per disabilitare la commutazione rapida è: RTR-2 (config)#no ip route-cache
- 2. FAST-SWITCHING-Quando un flusso di dati entra in un’interfaccia, se la destinazione non è memorizzata nella “Cache di route” per quell’interfaccia, viene “Puntata” sul “Processore di Route” (CPU) per controllare la tabella di route IP per una destinazione.
- È simile a “process-switching” ma mantiene una route-cache
- Per il traffico di base di origine e di destinazione usa route-cache
- Meno CPU intensiva, più veloce della tecnologia precedente
- Fast-switching è basato su software, quindi ha un problema di aggiornamento della cache.
NOTA: La commutazione rapida può essere configurata in modalità di configurazione dell’interfaccia con il comando RTR-2(config)#ip route-cache
- 3. CISCO EXPRESS FORWARDING (CEF)
- È simile alla commutazione rapida, ma CEF utilizza l’ASIC di base hardware per l’inoltro.
- Per l’inoltro, CEF utilizza sia la tabella FIB che quella delle adiacenze.
- È molto meno intensivo della CPU e fornisce una maggiore velocità/velocità del filo
- Aggiorna immediatamente la sua FIB/adiacenza
IL FLUSSO DI PROCESSO CEF:
- Quando un pacchetto entra nel router, il router rimuove le informazioni di livello 2.
- Il router cerca l’indirizzo IP di destinazione nella tabella CEF (FIB) e prende una decisione di inoltro.
- Il risultato di questa decisione di inoltro indica una voce di adiacenza nella tabella delle adiacenze.
- Le informazioni recuperate dalla tabella adiacenza sono la stringa di riscrittura Layer 2, che consente al router di inserire una nuova intestazione Layer 2 sul frame,
- Il pacchetto viene commutato sull’interfaccia in uscita verso il salto successivo.
NOTA: – Su molte piattaforme, CEF è abilitato per impostazione predefinita. Se non lo è, si può attivare a livello globale con il seguente comando RTR-2(config)#ip cef
Se il CEF è abilitato a livello globale, ma non è abilitato su una specifica interfaccia, è possibile attivare l’interfaccia con la configurazione dell’interfaccia di comando
RTR-2(config-if)#interface gigabitEthernet 0/2
RTR-2(config-if)#ip route-cache cef
CEF COMPONENTI
Cisco Express Forwarding è costituito da due componenti principali: la trasmissione di Informazioni di Base (FIB) e l’Adiacenza Tabella. Questi vengono aggiornati automaticamente contemporaneamente alla tabella di routing.
Forwarding Information Base (FIB)
Il FIB contiene informazioni di raggiungibilità della destinazione, ovvero tabella CEF/tabella FIB che contiene le informazioni essenziali, tratte dalla tabella di routing, per poter prendere una decisione di inoltro per un pacchetto IP ricevuto. Queste informazioni includono il prefisso IP, l’hop successivo valutato ricorsivamente e l’interfaccia in uscita.
Tabella adiacenza
È responsabile della riscrittura MAC o Layer 2. Questa adiacenza può essere costruita da ATM, Frame Relay map statements, informazioni dinamiche apprese da Ethernet-ARP, inverse ARP su ATM o Frame Relay. La stringa di riscrittura Layer 2 contiene la nuova intestazione Layer 2 che viene utilizzata nel frame inoltrato. Per Ethernet, questo è il nuovo indirizzo MAC di destinazione e di origine e l’Ethertype. Per PPP, l’intestazione Layer 2 è
La tabella adiacenza contiene molti tipi diversi di adiacenza:
- Adiacenza percorso host: una voce di adiacenza percorso host viene utilizzata per specificare che un host specifico si trova all’interno di uno o due hop di livello.
- Adiacenza Null: viene utilizzato per i pacchetti destinati all’interfaccia Null0. Può essere utilizzato come una forma di filtraggio di accesso.
- Adiacenza di spigolo: un’adiacenza di spigolo viene utilizzata quando un dispositivo è collegato a più host della stessa interfaccia. In questo caso, la voce contiene un prefisso per la sottorete non solo per una voce host specifica.
- Adiacenza Punt: viene utilizzato per quei pacchetti che utilizzano funzionalità non attualmente supportate da CEF e che devono essere inoltrati (puntati) al livello di commutazione successivo (spesso per essere commutati dal processo).
- Discard adiacency: una voce di discard adiacency viene utilizzata per quei pacchetti che devono essere eliminati automaticamente.
- Adiacenza drop: una voce di adiacenza drop viene utilizzata per quei pacchetti che sono caduti ma solo dopo che il prefisso è stato selezionato.
CEF LOAD BALANCING
CEF supporta due modalità di condivisione del carico:
PER-PACKET: Per Packet load balancing method crea la distribuzione del traffico su una modalità round-robin, ovvero per dire che un router invia un pacchetto per la destinazione sul primo percorso, il secondo pacchetto per la stessa destinazione sul secondo percorso, il terzo di nuovo al primo percorso e così via. Il bilanciamento del carico per pacchetto è utile quando è richiesto lo stesso utilizzo di percorsi verso la stessa destinazione. Questo metodo evita anche la congestione del percorso.
PER DESTINAZIONE (PER FLUSSO): il bilanciamento del carico per destinazione è il metodo di bilanciamento del carico predefinito abilitato sul router. I pacchetti per una determinata coppia host di origine-destinazione prenderanno lo stesso percorso, anche se sono disponibili più percorsi. Nel caso in cui la maggior parte del traffico sia per la stessa coppia di origine e destinazione, il traffico utilizzerà lo stesso percorso che porta al sottoutilizzo di altri percorsi. Per Destinazione è il bilanciamento del carico preferito per la maggior parte delle situazioni.
Possiamo modificare il metodo di condivisione del carico su base per interfaccia, ma la disponibilità di questo comando potrebbe essere limitata a seconda delle capacità hardware del dispositivo. (Spesso gli switch multistrato basati su hardware non hanno questa capacità mentre i router ISR basati su software lo fanno).
CENTRAL Vs DISTRIBUTED CEF
CENTRAL CEF MODE – Quando la modalità CEF è abilitata, le tabelle CEF FIB e adiacenza risiedono sul processore di route e il processore di route esegue l’inoltro espresso. È possibile utilizzare la modalità CEF quando le schede di linea non sono disponibili per la commutazione CEF o quando è necessario utilizzare funzionalità non compatibili con la commutazione CEF distribuita.
DISTRIBUTED CEF – (DCEF) mode-Quando DCEF è abilitato, le schede di linea mantengono copie identiche delle tabelle FIB e adiacenza. Le schede di linea possono eseguire l’inoltro espresso da soli, alleviando il processore principale-Gigabit Route Processor (GRP) – di coinvolgimento nell’operazione di commutazione.
CEF LAB
Diamo un’occhiata all’esempio di configurazione e verifica del funzionamento del CEF. Nella topologia riportata di seguito, stiamo eseguendo OSPF area0 su RTR-2, RTR-3 e RTR-4, non stiamo considerando i dispositivi RTR-1 e RTR-5 in questa discussione.
IPv4/IPv6 CEF configurazione
Centrale CEF | Distribuito CEF |
---|---|
RTR-2(config)#ip cef | RTR-2(config)#ip cef distribuito |
RTR-2(config)#ipv6 cef | RTR-2(config)#ipv6 cef distribuito |
Per IPv6 Cef unicast IPv6 routing deve essere abilitato | IPv6 Cef unicast IPv6 routing deve essere abilitato |
RTR-2(config)#ip cef | RTR-2(config)#ip cef distribuito |
È possibile disattivare IP cef con il comando precedente | %Impossibile disabilitare CEF su questa piattaforma Non è possibile disabilitare IP CEF su una piattaforma distribuita |
L’output dato ci dice che abbiamo piena raggiungibilità tra OCTA NETWORKS cloud. Guardiamo più da vicino per l’uscita CEF.
RTR-2#ping 192.1.3.3 source loo 0 Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 192.1.3.3, timeout is 2 seconds:Packet sent with a source address of 192.1.2.2 !!!!!Success rate is 100 percent (5/5), round-trip min/avg/max = 3/3/3 msRTR-2#ping 192.1.4.4 source loo 0Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 192.1.4.4, timeout is 2 seconds:Packet sent with a source address of 192.1.2.2 !!!!!Success rate is 100 percent (5/5), round-trip min/avg/max = 4/5/8 ms
È possibile visualizzare la tabella CEF emettendo il comando sh ip cef
Prefix Next Hop Interface0.0.0.0/0 no route0.0.0.0/8 drop0.0.0.0/32 receive 127.0.0.0/8 drop172.16.12.0/24 attached GigabitEthernet0/0172.16.12.0/32 receive GigabitEthernet0/0172.16.12.2/32 receive GigabitEthernet0/0172.16.12.255/32 receive GigabitEthernet0/0172.16.23.0/24 attached GigabitEthernet0/1172.16.23.0/32 receive GigabitEthernet0/1172.16.23.2/32 receive GigabitEthernet0/1172.16.23.3/32 attached GigabitEthernet0/1172.16.23.255/32 receive GigabitEthernet0/1172.16.34.0/24 172.16.23.3 GigabitEthernet0/1172.16.45.0/24 172.16.23.3 GigabitEthernet0/1192.1.2.2/32 receive Loopback0192.1.3.3/32 172.16.23.3 GigabitEthernet0/1192.1.4.4/32 172.16.23.3 GigabitEthernet0/1224.0.0.0/4 drop224.0.0.0/24 receive 240.0.0.0/4 dropPrefix Next Hop Interface255.255.255.255/32 receive RTR-2#
attached: rappresenta una rete a cui il router è direttamente collegato
receive: rappresenta un indirizzo IP su una interfaccia del router
cerchiamo di controllare l’adiacenza tabella RTR-3, in quanto è collegata RTR-2 e RTR-4
RTR-3#show adjacency Protocol Interface AddressIP GigabitEthernet0/1 172.16.23.2(12)IP GigabitEthernet0/2 172.16.34.4(12)
a livello di Interfaccia informazioni su cef su RTR-2
RTR-2#show ip interface gigabitEthernet 0/1 GigabitEthernet0/1 is up, line protocol is up Internet address is 172.16.23.2/24 Broadcast address is 255.255.255.255 Address determined by setup command MTU is 1500 bytes Helper address is not set Directed broadcast forwarding is disabled Multicast reserved groups joined: 224.0.0.5 224.0.0.6 Outgoing access list is not set Inbound access list is not set Proxy ARP is enabled Local Proxy ARP is disabled Security level is default Split horizon is enabled ICMP redirects are always sent ICMP unreachables are always sent ICMP mask replies are never sent IP fast switching is enabled IP fast switching on the same interface is disabled IP Flow switching is disabled IP CEF switching is enabled IP CEF switching turbo vector
Per vedere il Livello 2 informazioni di intestazione abbiamo bisogno di dettagli utente parola chiave a fine spettacolo adiacenza
RTR-3#show adjacency detail Protocol Interface AddressIP GigabitEthernet0/1 172.16.23.2(12) 10 packets, 1140 bytes epoch 0 sourced in sev-epoch 0 Encap length 14 5000000600015000000700010800 ARPIP GigabitEthernet0/2 172.16.34.4(12) 10 packets, 1140 bytes epoch 0 sourced in sev-epoch 0 Encap length 14 5000000800025000000700020800 ARP
Possiamo vedere che c’è una voce per 172.16.23.2
5000000600015000000700010800 What does this number mean? It's the MAC addresses of the source and destination that we require and the Ethertype…let me break it down for you:
500000060001 è l’indirizzo MAC di RTR-2 interfaccia giga 0/1
500000070001is indirizzo MAC di RTR-3 interfaccia giga 0/1
0800 è il Ethertype. 0x800 sta per IPv4.
Controlliamo su RTR-3 quali voci ARP vengono create per RTR-2 e RTR-4.
RTR-3#show ip arp 172.16.23.2Protocol Address Age (min) Hardware Addr Type InterfaceInternet 172.16.23.2 134 5000.0006.0001 ARPA GigabitEthernet0/1 RTR-3#show ip arp 172.16.34.4Protocol Address Age (min) Hardware Addr Type InterfaceInternet 172.16.34.4 136 5000.0008.0002 ARPA GigabitEthernet0/2
Possiamo vedere che i valori nel campo “Hardware Addr” corrispondono alle prime dodici cifre nelle informazioni dell’intestazione Layer 2 nel precedente comando show.
Per verificare lo stato del bilanciamento del carico su RTR-2 con il comando show ip cef exact route route
RTR-2#show ip cef exact-route 192.1.2.2 192.1.4.4192.1.2.2 -> 192.1.4.4 =>IP adj out of GigabitEthernet0/1, addr 172.16.23.3
Controlliamo i comportamenti predefiniti di condivisione del carico su RTR-2
RTR-2#show cef stateCEF Status: RP instance common CEF enabledIPv4 CEF Status: CEF enabled/running dCEF disabled/not running CEF switching enabled/running universal per-destination load-sharing algorithm, id A71F7A11IPv6 CEF Status: CEF enabled/running dCEF disabled/not running universal per-destination load sharing algorithm, id A71F7A11
SFIDA LA RISOLUZIONE DEI PROBLEMI
1-1. Sulla base della mostra fornita quale comando show è stato eseguito su RTR-2?
1-2. Sulla base della mostra fornita quale comando show è stato eseguito su RTR-2?
1-3. Sulla base della mostra fornita quale comando show è stato eseguito su RTR-3?
1-4. Sulla base della mostra fornita quale comando show è stato eseguito su RTR-2?
1-5. Sulla base della mostra fornita quale comando show è stato eseguito su RTR-3?
1-6. Sulla base della mostra fornita quale comando show è stato eseguito su RTR-2?
1-7. cosa c’è di sbagliato in questa mostra?