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 spiega come Cisco IOS? Quando si utilizza Cisco Express Forwarding, il software implementa il bilanciamento del carico di layer 3 su più collegamenti paralleli.
Questo documento presuppone la comprensione delle due strutture di dati di Cisco Express Forwarding.
Forwarding Information Base (FIB)
Tabella adiacenze
Per una panoramica sul funzionamento di Cisco Express Forwarding, vedere la sezione "Informazioni correlate" di questo documento.
Il documento può essere consultato per tutte le versioni software o hardware.
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.
Per ulteriori informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.
Lo switching IP è il meccanismo interno utilizzato da Cisco IOS per inoltrare i pacchetti tramite un router. I meccanismi disponibili includono la commutazione di processo, la commutazione rapida e Cisco Express Forwarding. A seconda di quale dei tre meccanismi viene utilizzato per commutare la maggior parte dei pacchetti, le prestazioni complessive del sistema e il bilanciamento del carico vengono influenzati.
I meccanismi di switching IP supportano due modalità generali, per pacchetto e per destinazione. Nella tabella seguente vengono descritti i vantaggi e gli svantaggi di entrambe le modalità.
Per destinazione | Per pacchetto | |
---|---|---|
Meccanismo di switching IP | Switching rapido e Cisco Express Forwarding per destinazione. | Switching di processo e Cisco Express Forwarding per pacchetto. |
Vantaggi | Con l'opzione di commutazione veloce, si garantisce che i pacchetti per una determinata destinazione prendano lo stesso percorso anche se sono disponibili più percorsi. Con la commutazione Cisco Express Forwarding, si garantisce che i pacchetti per una determinata coppia host origine-destinazione prendano lo stesso percorso, anche se sono disponibili più percorsi. Il traffico destinato a coppie diverse tende a seguire percorsi diversi. | L'utilizzo dei percorsi con il bilanciamento del carico per pacchetto è valido perché il bilanciamento del carico per pacchetto consente al router di inviare pacchetti di dati successivi sui percorsi senza tenere conto dei singoli host o delle sessioni utente. Utilizza il metodo round robin per determinare il percorso di ciascun pacchetto verso l'indirizzo di destinazione |
Svantaggi | Con l'opzione di commutazione veloce, il passaggio a una destinazione può determinare una condivisione del carico diversa, in quanto i pacchetti verso una destinazione seguono sempre lo stesso percorso. La commutazione di Cisco Express Forwarding può causare una distribuzione ineguale con un numero ridotto di coppie origine-destinazione. il bilanciamento del carico per destinazione dipende dalla distribuzione statistica del traffico; la condivisione del carico diventa più efficace con l'aumentare del numero di coppie origine-destinazione. | I pacchetti per una determinata coppia host origine-destinazione potrebbero prendere percorsi diversi, introducendo il riordino dei pacchetti. Questa opzione non è consigliata per i flussi VoIP (Voice over IP) e altri flussi che richiedono la consegna in sequenza. |
Il bilanciamento del carico descrive la capacità di un router di trasmettere i pacchetti a un indirizzo IP di destinazione (noto anche come prefisso IP) su più percorsi.
Quando si parla di bilanciamento del carico, è innanzitutto necessario definire i termini seguenti.
Termine | Definizione |
---|---|
Prefisso | Descrive una rete IP di destinazione, ad esempio 192.16.10.0/24. Cisco IOS aggiunge un prefisso IP di destinazione alla tabella di routing utilizzando le informazioni ottenute scambiando messaggi con un protocollo di routing dinamico o configurando manualmente le route statiche. |
Percorso | Descrive una route valida per raggiungere un prefisso di destinazione. Cisco IOS assegna un costo a ciascun percorso. Un insieme di percorsi attivi di un prefisso di destinazione può avere costi uguali o diversi. |
Sessione | Descrive un flusso di comunicazione unidirezionale tra due nodi IP. Tutti i pacchetti di una sessione utilizzano lo stesso indirizzo IP di origine e di destinazione. |
Per ulteriori informazioni, vedere Funzionamento del bilanciamento del carico
Cisco Express Forwarding utilizza le informazioni sul percorso nella tabella di routing IP per bilanciare il traffico su più collegamenti. Per questo motivo, per verificare che il bilanciamento del carico di Cisco Express Forwarding sia corretto, iniziare con la conferma del contenuto della tabella di routing IP.
Nella topologia seguente, due router, il router A e il router B, si connettono in modalità back-to-back su tre interfacce seriali con incapsulamento HDLC (High-Level Data Link Control).
Router A | Router B |
---|---|
interface Ethernet 0 ip address 192.168.20.1 255.255.255.0 ! interface Serial1 ip address 10.10.10.1 255.255.255.0 ! interface Serial2 ip address 20.20.20.1 255.255.255.0 ! interface Serial3 ip address 30.30.30.1 255.255.255.0 ip ospf cost 100 ! router ospf 1 network 10.10.10.0 0.0.0.255 area 0 network 20.20.20.0 0.0.0.255 area 0 network 30.30.30.0 0.0.0.255 area 0 network 192.168.20.0 0.0.0.255 area 0 |
interface Serial1 ip address 10.10.10.2 255.255.255.0 clockrate 2000000 ! interface Serial2 ip address 20.20.20.2 255.255.255.0 clockrate 148000 ! interface Serial3 ip address 30.30.30.2 255.255.255.0 ip ospf cost 100 clockrate 148000 router ospf 1 network 10.10.10.0 0.0.0.255 area 0 network 20.20.20.0 0.0.0.255 area 0 network 30.30.30.0 0.0.0.255 area 0 maximum-paths 1 |
Osserviamo come il router B seleziona uno o più percorsi per raggiungere l'interfaccia Ethernet del router A con la rete IP 192.168.20.0.
Per impostazione predefinita, Open Shortest Path First (OSPF) supporta quattro percorsi a costo uguale verso una destinazione. In questo scenario, il router B è configurato con un numero massimo di percorsi pari a uno. Pertanto, il router B sceglierà solo un percorso tra i possibili percorsi uguali in base al primo percorso ricevuto. Il router B inizia selezionando Serial 2 come percorso singolo della rete 192.168.20.0. Usare i comandi show ip cef e show ip route per visualizzare il set di percorsi corrente.
RouterB#show ip cef 192.168.20.0 192.168.20.0/24, version 59, cached adjacency to Serial2 0 packets, 0 bytes via 20.20.20.1, Serial2, 0 dependencies next hop 20.20.20.1, Serial2 valid cached adjacency RouterB#show ip route 192.168.20.0 Routing entry for 192.168.20.0/24 Known via "ospf 1", distance 110, metric 74, type intra area Redistributing via ospf 1 Last update from 20.20.20.1 on Serial2, 00:03:58 ago Routing Descriptor Blocks: * 20.20.20.1, from 204.204.204.1, 00:03:58 ago, via Serial2 Route metric is 74, traffic share count is 1
Utilizzare il comando maximum-paths in OSPF per consentire più percorsi alla tabella di routing. OSPF consente solo un bilanciamento del carico uguale. Per configurare una condivisione del carico non uniforme, configurare il protocollo EIGRP/IGRP (Enhanced Interior Gateway Routing Protocol/Interior Gateway Routing Protocol) come protocollo IGP (Interior Gateway Protocol). Vedere Funzionamento di Bilanciamento del carico di percorsi diversi (scostamento) in IGRP e EIGRP. per ulteriori informazioni.
RouterB(config)#router ospf 1 RouterB(config-router)#maximum-paths ? <1-6> Number of paths RouterB(config-router)#maximum-paths 3
Utilizzare il comando show ip route per verificare che la tabella di routing contenga due percorsi di 192.168.20.0.
RouterB#show ip route 192.168.20.0 Routing entry for 192.168.20.0/24 Known via "ospf 1", distance 110, metric 74, type intra area Redistributing via ospf 1 Last update from 10.10.10.1 on Serial1, 00:00:11 ago Routing Descriptor Blocks: * 20.20.20.1, from 204.204.204.1, 00:00:11 ago, via Serial2 Route metric is 74, traffic share count is 1 10.10.10.1, from 204.204.204.1, 00:00:11 ago, via Serial1 Route metric is 74, traffic share count is 1 !--- The route metric is 74 for both paths.
Sebbene sia stata configurata la funzione OSPF in modo da supportare tre percorsi con costi uguali, nell'output di show ip route vengono visualizzati solo due percorsi attivi. Per determinarne la causa, è possibile usare il comando show ip ospf interface. Serial 3 ha un costo più alto rispetto a Serial 1 e Serial 2, ed è quindi diverso.
RouterB#show ip ospf interface s1 Serial1 is up, line protocol is up Internet Address 10.10.10.4/24, Area 0 Process ID 1, Router ID 100.100.100.1, Network Type POINT_TO_POINT, Cost: 64 RouterB#show ip ospf interface s2 Serial2 is up, line protocol is up Internet Address 20.20.20.2/24, Area 0 Process ID 1, Router ID 100.100.100.1, Network Type POINT_TO_POINT, Cost: 64 RouterB#show ip ospf interface s3 Serial3 is up, line protocol is up Internet Address 30.30.30.2/24, Area 0 Process ID 1, Router ID 100.100.100.1, Network Type POINT_TO_POINT, Cost: 100
Utilizzare il comando show run per confermare se Serial 3 è configurato con il comando ip ospf cost 100. Usare il comando sottointerfaccia no ip ospf cost 100 per rimuoverla dalla configurazione e rendere uguali i costi su tutti e tre i collegamenti seriali.
RouterB#show run interface s3 Building configuration... Current configuration: ! interface Serial3 ip address 30.30.30.2 255.255.255.0 no ip directed-broadcast ip ospf cost 100 ip ospf interface-retry 0
Il comando show ip route visualizza ora tre percorsi costo uguali alla rete 192.168.20.0.
RouterB#show ip route 192.168.20.0 Routing entry for 192.168.20.0/24 Known via "ospf 1", distance 110, metric 74, type intra area Redistributing via ospf 1 Last update from 10.10.10.1 on Serial1, 00:00:01 ago Routing Descriptor Blocks: * 20.20.20.1, from 204.204.204.1, 00:00:01 ago, via Serial2 Route metric is 74, traffic share count is 1 30.30.30.1, from 204.204.204.1, 00:00:01 ago, via Serial3 Route metric is 74, traffic share count is 1 10.10.10.1, from 204.204.204.1, 00:00:01 ago, via Serial1 Route metric is 74, traffic share count is
Di seguito viene illustrato come il bilanciamento del carico di Cisco Express Forwarding utilizza le informazioni nella tabella di routing per inoltrare i pacchetti.
Cisco Express Forwarding esegue il bilanciamento del carico tramite l'utilizzo della tabella di condivisione del carico. Come per tutte le altre soluzioni di bilanciamento del carico sui router Cisco, la decisione di bilanciamento del carico viene presa sulle interfacce in uscita. A differenza di altri metodi di commutazione, Cisco Express Forwarding tiene traccia dei percorsi in base all'indirizzo di origine e di destinazione. Per semplificare questa operazione, è possibile affermare che il percorso è una sessione IP e che ogni sessione è identificata logicamente come una coppia univoca di indirizzi di origine e destinazione.
Per comprendere come viene eseguito il bilanciamento del carico, è innanzitutto necessario verificare le relazioni tra le tabelle. La tabella Cisco Express Forwarding punta a 16 bucket di hash (tabella di condivisione del carico), che puntano alla tabella adiacente per i percorsi paralleli. Per ulteriori informazioni, vedere la sezione Meccanismi interni di bilanciamento del carico di Cisco Express Forwarding. Ciascun pacchetto da commutare viene suddiviso nella coppia di indirizzi di origine e di destinazione e confrontato con la tabella di condivisione del carico.
Nota: sono disponibili due tipi principali di switching di inoltro Cisco Express, per destinazione e per pacchetto. Se entrambi i tipi sono in uso su un router, ciascun tipo dispone della propria tabella di condivisione del carico.
Il bilanciamento del carico per destinazione consente al router di utilizzare più percorsi per ottenere la condivisione del carico. Il bilanciamento del carico per destinazione è abilitato per impostazione predefinita quando si abilita Cisco Express Forwarding ed è il metodo di bilanciamento del carico preferito nella maggior parte delle situazioni. Poiché il bilanciamento del carico per destinazione dipende dalla distribuzione statistica del traffico, la condivisione del carico diventa più efficace con l'aumentare del numero di coppie origine-destinazione.
Il bilanciamento del carico per pacchetto consente al router di inviare pacchetti di dati successivi su percorsi diversi a prescindere dagli host o dalle sessioni utente. Utilizza il metodo round robin per determinare il percorso di ciascun pacchetto verso la destinazione. Il bilanciamento del carico per pacchetto garantisce il bilanciamento su più collegamenti. L'utilizzo dei percorsi con il bilanciamento del carico per pacchetto è buono, ma i pacchetti per una determinata coppia host origine-destinazione potrebbero utilizzare percorsi diversi, causando il riordino dei pacchetti. Per questo motivo, il bilanciamento del carico per pacchetto non è appropriato per alcuni tipi di traffico di dati, ad esempio il VoIP, che dipendono dai pacchetti in arrivo a destinazione in sequenza. Utilizzare il bilanciamento del carico per pacchetto per evitare che un percorso per una singola coppia origine-destinazione diventi sovraccarico.
Per passare dal metodo per pacchetto a quello per destinazione, usare il comando ip load-sharing.
7200-1.3(config)#interface fast 0/0 7200-1.3(config-if)#ip load-sharing ? per-destination Deterministic distribution per-packet Random distribution 7200-1.3(config-if)#ip load-sharing per-packet
Utilizzare il comando show cef interface per confermare le modifiche.
7200-1.3#show cef interface fast 0/0 FastEthernet0/0 is up (if_number 3) Corresponding hwidb fast_if_number 3 Corresponding hwidb firstsw->if_number 3 Internet address is 172.16.81.13/24 ICMP redirects are always sent Per packet load-sharing is enabled IP unicast RPF check is disabled Inbound access list is not set Outbound access list is not set IP policy routing is disabled Hardware idb is FastEthernet0/0 Fast switching type 1, interface type 18 IP CEF switching enabled IP Feature Fast switching turbo vector IP Feature CEF switching turbo vector Input fast flags 0x0, Output fast flags 0x0 ifindex 1(1) Slot 0 Slot unit 0 VC -1 Transmit limit accumulator 0x0 (0x0) IP MTU 1500
Per prima cosa, occorre scomporre il meccanismo interno alla base del bilanciamento del carico di Cisco Express Forwarding.
Ogni sessione (vedere la tabella precedente) viene assegnata a un percorso attivo.
L'assegnazione da sessione a percorso viene eseguita utilizzando una funzione hash che accetta gli indirizzi IP di origine e di destinazione e, nelle versioni più recenti di Cisco IOS, un ID hash univoco che casualizza l'assegnazione nel percorso end-to-end.
I percorsi attivi vengono assegnati internamente a diversi dei 16 bucket di hash. L'assegnazione da percorso a bucket varia in base al tipo di bilanciamento del carico e al numero di percorsi attivi.
Il risultato della funzione hash viene utilizzato per scegliere uno dei bucket abilitati e quindi il percorso da utilizzare per la sessione.
Per tutte le sessioni inoltrate dal router, ogni percorso attivo porta lo stesso numero di sessioni.
Guardiamo un esempio di questi internal di inoltro Cisco Express.
Utilizzare il comando maximum-paths per ridurre a due il numero di percorsi attivi per il prefisso di destinazione.
RouterB(config)#router ospf 1 RouterB(config-router)#maximum-paths 2
Utilizzare il comando show ip cef {prefix} internal per visualizzare l'assegnazione da percorso a bucket.
RouterB#show ip cef 192.168.20.0 internal 192.168.20.0/24, version 66, per-destination sharing 0 packets, 0 bytes via 20.20.20.1, Serial2, 0 dependencies traffic share 1 next hop 20.20.20.1, Serial2 valid adjacency via 30.30.30.1, Serial3, 0 dependencies traffic share 1 next hop 30.30.30.1, Serial3 valid adjacency 0 packets, 0 bytes switched through the prefix Load distribution: 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 (refcount 1) !--- The load distribution line summarizes how each path is !--- assigned to the hash buckets. Hash OK Interface Address Packets 1 Y Serial2 point2point 0 2 Y Serial3 point2point 0 3 Y Serial2 point2point 0 4 Y Serial3 point2point 0 5 Y Serial2 point2point 0 6 Y Serial3 point2point 0 7 Y Serial2 point2point 0 8 Y Serial3 point2point 0 9 Y Serial2 point2point 0 10 Y Serial3 point2point 0 11 Y Serial2 point2point 0 12 Y Serial3 point2point 0 13 Y Serial2 point2point 0 14 Y Serial3 point2point 0 15 Y Serial2 point2point 0 16 Y Serial3 point2point
I 16 bucket di hash vengono impostati in base al tipo di bilanciamento del carico e al numero di percorsi attivi. Il caso più semplice riguarda un numero pari di percorsi. I 16 bucket sono riempiti uniformemente con i percorsi attivi. Se 16 non è divisibile per il numero di percorsi attivi, gli ultimi bucket che rappresentano il resto vengono disattivati. Nella tabella seguente viene illustrato l'aspetto dei bucket di hash per due e tre percorsi attivi.
Bucket/Percorsi | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
3 | 0 | 1 | 2 | 0 | 1 | 2 | 0 | 1 | 2 | 0 | 1 | 2 | 0 | 1 | 2 | x |
Nell'esempio seguente sono disponibili tre percorsi per raggiungere la destinazione. Si noti come Cisco Express Forwarding abbia rimosso il bucket di hash 16 e come i tre collegamenti seriali siano assegnati uniformemente ai bucket di hash da 1 a 15.
RouterB#show ip cef 192.168.20.0 interface 192.168.20.0/24, version 64, per-destination sharing 0 packets, 0 bytes via 20.20.20.1, Serial2, 0 dependencies traffic share 1 next hop 20.20.20.1, Serial2 valid adjacency via 30.30.30.1, Serial3, 0 dependencies traffic share 1 next hop 30.30.30.1, Serial3 valid adjacency via 10.10.10.1, Serial1, 0 dependencies traffic share 1 next hop 10.10.10.1, Serial1 valid adjacency 0 packets, 0 bytes switched through the prefix Load distribution: 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 (refcount 1) !--- The active paths are assigned to hash buckets in a !--- round-robin pattern. Hash OK Interface Address Packets 1 Y Serial2 point2point 0 2 Y Serial3 point2point 0 3 Y Serial1 point2point 0 4 Y Serial2 point2point 0 5 Y Serial3 point2point 0 6 Y Serial1 point2point 0 7 Y Serial2 point2point 0 8 Y Serial3 point2point 0 9 Y Serial1 point2point 0 10 Y Serial2 point2point 0 11 Y Serial3 point2point 0 12 Y Serial1 point2point 0 13 Y Serial2 point2point 0 14 Y Serial3 point2point 0 15 Y Serial1 point2point 0 !--- Hash bucket 16 has been removed.
Nota: anche se selezionano un singolo percorso per una destinazione, i meccanismi di inoltro rapido e di commutazione veloce di Cisco Express differiscono nella modalità di selezione del percorso. Cisco Express Forwarding considera sia gli indirizzi IP di origine che di destinazione, mentre l'opzione di commutazione veloce considera solo l'indirizzo IP di destinazione.
Per verificare il bilanciamento del carico di Cisco Express Forwarding sul router, attenersi alla procedura seguente.
Verificare che Cisco Express Forwarding sia abilitato a livello globale sul router.
S3-4K-2#show ip cef %CEF not running Prefix Next Hop Interface !--- This output shows Cisco Express Forwarding is not enabled. !--- Use ip cef command in global configuration to enable it.
Verificare che la commutazione per pacchetto o per destinazione sia abilitata sulle interfacce in uscita specifiche. Il valore predefinito è per destinazione.
RouterA#show cef interface s1 Serial1 is up (if_number 3) Internet address is 10.10.10.1/24 ICMP redirects are always sent Per packet loadbalancing is disabled IP unicast RPF check is disabled Inbound access list is not set Outbound access list is not set Interface is marked as point to point interface Hardware idb is Serial1 Fast switching type 4, interface type 40 IP CEF switching enabled !--- Cisco Express Forwarding is enabled on the interface. IP CEF Fast switching turbo vector Input fast flags 0x0, Output fast flags 0x0 ifindex 5(5) Slot 0 Slot unit 1 VC -1 Transmit limit accumulator 0x0 (0x0) IP MTU 1500
Verificare che la tabella di routing e la tabella di inoltro Cisco Express contengano tutti i percorsi paralleli utilizzando il comando show ip route.
RouterB#show ip route 192.168.20.0 Routing entry for 192.168.20.0/32, 1 known subnets O 192.168.20.1 [110/65] via 20.20.20.1, 00:06:54, Serial1 [110/65] via 10.10.10.1, 00:06:54, Serial2 [110/65] via 30.30.30.1, 00:06:54, Serial3
Controllare Cisco Express Forwarding FIB con il comando show ip cef.
RouterB#show ip cef 192.168.20.0 192.168.20.0/24, version 18, per-destination sharing 0 packets, 0 bytes via 30.30.30.1, Serial3, 0 dependencies traffic share 1 next hop 30.30.30.1, Serial3 valid adjacency via 20.20.20.1, Serial2, 0 dependencies traffic share 1 next hop 20.20.20.1, Serial2 valid adjacency via 10.10.10.1, Serial1, 0 dependencies traffic share 1 next hop 10.10.10.1, Serial1 valid adjacency 0 packets, 0 bytes switched through the prefix tmstats: external 0 packets, 0 bytes internal 0 packets, 0 bytes RouterB#show ip cef 192.168.20.0 internal 192.168.20.0/24, version 18, per-destination sharing 0 packets, 0 bytes via 30.30.30.1, Serial3, 0 dependencies traffic share 1 next hop 30.30.30.1, Serial3 valid adjacency via 20.20.20.1, Serial2, 0 dependencies traffic share 1 next hop 20.20.20.1, Serial2 valid adjacency via 10.10.10.1, Serial1, 0 dependencies traffic share 1 next hop 10.10.10.1, Serial1 valid adjacency 0 packets, 0 bytes switched through the prefix tmstats: external 0 packets, 0 bytes internal 0 packets, 0 bytes Load distribution: 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 (refcount 1) Hash OK Interface Address Packets 1 Y Serial3 point2point 0 2 Y Serial2 point2point 0 3 Y Serial1 point2point 0 4 Y Serial3 point2point 0 5 Y Serial2 point2point 0 6 Y Serial1 point2point 0 7 Y Serial3 point2point 0 8 Y Serial2 point2point 0 9 Y Serial1 point2point 0 10 Y Serial3 point2point 0 11 Y Serial2 point2point 0 12 Y Serial1 point2point 0 13 Y Serial3 point2point 0 14 Y Serial2 point2point 0 15 Y Serial1 point2point 0
Nota: la tabella di condivisione del carico sopra riportata mostra la distribuzione del carico 0 1 2 0 1 2 . . . e la condivisione del traffico è 1 per ogni route. Ciò significa che il costo per destinazione e la ripartizione del carico sono uguali per tre percorsi di costo uguale.
Controllare le adiacenze di Cisco Express Forwarding.
RouterB#show adjacency detail Protocol Interface Address IP Serial1 point2point(11) 0 packets, 0 bytes 0F000800 CEF expires: 00:02:31 refresh: 00:00:31 IP Serial2 point2point(11) 0 packets, 0 bytes 0F000800 CEF expires: 00:02:31 refresh: 00:00:31 IP Serial3 point2point(11) 0 packets, 0 bytes 0F000800 CEF expires: 00:02:31 refresh: 00:00:31
Verificare che il meccanismo di bilanciamento del carico previsto di Cisco Express Forwarding sia configurato su tutte le interfacce in uscita.
RouterB#show ip cef 192.168.20.0 192.168.20.0/24, version 89, per-destination sharing 0 packets, 0 bytes via 10.10.10.1, Serial1, 0 dependencies traffic share 1 next hop 10.10.10.1, Serial1 valid adjacency [output omitted]
Abilitare l'accounting bucket di hash per raccogliere statistiche e comprendere meglio i modelli di inoltro Cisco Express nella rete. È possibile, ad esempio, raccogliere informazioni quali il numero di pacchetti e byte passati a una destinazione o il numero di pacchetti passati attraverso una destinazione. Utilizzare il comando seguente:
router(config)# ip cef accounting load-balance-hash
Verificare il flusso del pacchetto osservando i valori nel campo Pacchetto.
RouterB#show ip cef 192.168.20.0 internal [...] Load distribution: 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 (refcount 1) Hash OK Interface Address Packets 1 Y Serial point2point 0 2 Y Serial2 point2point 0 3 Y Serial1 point2point 0 4 Y Serial3 point2point 0 5 Y Serial2 point2point 35 6 Y Serial1 point2point 0 7 Y Serial3 point2point 0 8 Y Serial2 point2point 60 9 Y Serial1 point2point 0 10 Y Serial3 point2point 0 11 Y Serial2 point2point 0 12 Y Serial1 point2point 0 13 Y Serial3 point2point 0 14 Y Serial2 point2point 30 15 Y Serial1 point2point 0
125 pacchetti passati attraverso il numero di serie 2. Se si usa ping per generare il traffico, verificare che i pacchetti ping debbano transitare sul router Cisco Express Forwarding-switched. In altre parole, i pacchetti ping devono entrare da un'interfaccia Cisco Express Forwarding-switched, essere Cisco Express Forwarding-switched e uscire da un'altra interfaccia Cisco Express Forwarding-switched.
Nota: la condivisione del carico per destinazione diventa più efficace con l'aumento del numero di coppie origine-destinazione.
Durante l'invio del traffico al prefisso, acquisire diversi output del comando show interface. Analizzare i valori "txload" e "rxload". (Alcune interfacce visualizzano un unico valore di "carico", che considera sia la trasmissione che la ricezione). Sebbene il bilanciamento del carico per pacchetto fornisca una distribuzione uniforme nel numero di pacchetti, i collegamenti paralleli possono presentare una percentuale leggermente diversa a seconda delle dimensioni del pacchetto.
Serial1/0:0 is up, line protocol is up reliability 255/255, txload 10/255, rxload 3/255 Serial1/1:0 is up, line protocol is up reliability 255/255, txload 18/255, rxload 3/255
Con il bilanciamento del carico per destinazione di Cisco Express Forwarding, è possibile determinare il percorso a cui è assegnata una sessione con il comando seguente. Aggiungere la parola chiave internal per visualizzare il bucket di hash utilizzato.
show ip cef exact-route {source-ip-address} {dest-ip-address} [internal] RouterB# show ip cef exact-route 50.50.50.2 192.168.20.1 internal 50.50.50.2 -> 192.168.20.1 : Serial9/0 (next hop 20.20.20.1) Bucket 4 from 15, total 3 paths RouterB# show ip cef exact-route 5.5.5.1 192.168.20.1 internal 5.5.5.1 ->192.168.20.1 : Serial9/0 (next hop 20.20.20.1) Bucket 7 from 15, total 3 paths RouterB# show ip cef exact-route 6.6.6.1 192.168.20.1 internal 6.6.6.1 -> 192.168.20.1 : Serial9/0 (next hop 20.20.20.1) Bucket 7 from 15, total 3 paths RouterB# show ip cef exact-route 8.8.8.1 192.168.20.1 internal 8.8.8.1 -> 192.168.20.1 : Serial9/0 (next hop 20.20.20.1) Bucket 13 from 15, total 3 paths
Se l'output appare irregolare, considerare quanto segue:
Numero di coppie o sessioni di indirizzi univoche di origine e destinazione che attraversano i collegamenti paralleli.
Il numero e le dimensioni dei pacchetti in ciascuna sessione. Una sessione dispone di un numero elevato di pacchetti? Il bilanciamento del carico per destinazione dipende dalla distribuzione statistica del traffico e diventa più efficace con l'aumentare del numero di coppie origine-destinazione.
Quando una modifica della tabella di routing regola il numero di percorsi attivi verso una destinazione, Cisco Express Forwarding aggiorna le strutture di bilanciamento del carico visualizzate nell'output del comando show ip cef {prefix} interno. Cisco Express Forwarding confronta quindi i nuovi pacchetti in arrivo con un'adiacenza e un bucket di hash corrispondente. Il periodo fisso selezionato può essere o non essere uguale a quello utilizzato in precedenza.
I passaggi seguenti descrivono il modo in cui le informazioni sul bilanciamento del carico di Cisco Express Forwarding vengono aggiornate dopo una modifica del numero di percorsi attivi di un prefisso di destinazione.
Si supponga che un prefisso di destinazione sia raggiungibile attraverso due percorsi. Il percorso 1 è inattivo, il percorso 2 è attivo e supporta tutto il traffico.
Quando il percorso 1 è nuovamente disponibile, richiede i processi di riconvergenza del routing IP.
Cisco Express Forwarding ora bilancia il carico su entrambi i percorsi e non mantiene i flussi esistenti sul percorso 2. In questo modo, il percorso 1 rimarrebbe inutilizzato. In altre parole, Cisco Express Forwarding non considera di poter inoltrare i pacchetti per una sessione su un percorso valido e può selezionare un nuovo percorso per un flusso a seconda del bucket di hash selezionato.
Dopo una modifica nella tabella di routing, Cisco Express Forwarding elimina e quindi ricostruisce le strutture di bilanciamento del carico che assegnano i percorsi attivi ai bucket di hash. Durante il processo di ricostruzione, alcuni pacchetti potrebbero essere persi e il comando show ip cef {prefix}internal indica le informazioni sulla condivisione del carico da eliminare.
router#show ip cef 10.10.128.0 int 10.10.128.0/28, version 63, per-destination sharing 0 packets, 0 bytes via 10.8.0.31, 0 dependencies, recursive next hop 10.8.2.49, POS0/0/0 valid adjacency Load sharing information due for deletion
Le modifiche implementate con l'ID bug Cisco CSCdm87127 riducono al minimo la perdita di pacchetti durante una modifica del numero di percorsi attivi per la route predefinita 0.0.0. In particolare, Cisco Express Forwarding alloca ora una voce FIB con spazio per i percorsi attivi massimi possibili per questa route.
Il bilanciamento del carico di Cisco Express Forwarding non è uguale su quattro percorsi. Per ulteriori informazioni, fare riferimento a CSCdm87756 (solo utenti registrati).
Nelle versioni di Cisco IOS precedenti alla 12.0(16)S, l'immissione del comando show ip cef precise-route può causare il ricaricamento del Route Processor (RP) di un router Internet Cisco serie 12000 o di un router Cisco serie 7500/RSP. Questa situazione si verifica quando il prefisso di destinazione è ricorsivo e il router condivide il carico per l'hop successivo. Per ulteriori informazioni, fare riferimento a CSCdt80914 (solo utenti registrati) per risolvere il problema.
Nella piattaforma serie 6500, il bilanciamento del carico CEF per pacchetto non è supportato. Ciò è dovuto alle limitazioni dell'hardware ed è possibile avere attualmente solo il bilanciamento del carico per destinazione. Pertanto, l'unica opzione è quella di utilizzare il protocollo MLPPP (Distributed Multilink Point-to-Point Protocol) o la condivisione del carico di flusso di livello 4.
Il bilanciamento del carico per pacchetto di Cisco Express Forwarding è stato originariamente supportato nelle piattaforme che utilizzano l'inoltro basato su software. Tali piattaforme includono la serie 2600, 3600 e 7200. Il bilanciamento del carico per pacchetto è ora supportato nell'hardware utilizzando Parallel Express Forwarding (PXF) sulla serie 7200 con una serie NSE-1 e 10000. Sui Catalyst serie 6000, i comandi Cisco IOS Cisco Express Forwarding ip load-sharing per pacchetto, ip cef accounting per prefisso e ip cef accounting non ricorsivo sull'MSFC2 si applicano solo al traffico sul quale il software Cisco Express Forwarding è stato commutato sull'MSFC2. I comandi non influiscono sul traffico sul layer 3 dell'hardware commutato sui moduli di switching PFC2 o dotati di DFC. Per ulteriori informazioni, vedere Configurazione dello switching IP Unicast Layer 3 sul Supervisor Engine 2.
Nota: un router Cisco 7300 con una scheda del processore NSE-100 non supporta il bilanciamento del carico CEF per pacchetto in PXF. Il PXF supporta solo il bilanciamento del carico per destinazione. Tuttavia, è risultato che disponevano del supporto perché i comandi di configurazione erano disponibili nella CLI del router. L'errore viene corretto e registrato nell'ID bug Cisco CSCdx63389.
Sulla serie 12000, il bilanciamento del carico per pacchetto è disponibile su tutti i motori di inoltro di layer 3 ad eccezione dei motori 3 e 4. Ogni scheda di linea prende decisioni di inoltro indipendenti. Per visualizzare il percorso esatto di ciascun flusso IP, usare il comando exec slot X show ip hardware-cef precise-route src dst sulle schede di linea che usano tabelle di inoltro Cisco Express basate su hardware.
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
10-Aug-2005 |
Versione iniziale |