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 gli scenari in cui potrebbe verificarsi la polarizzazione nel bilanciamento del carico del canale della porta e fornisce suggerimenti su come evitarli.
Polarizzazione è un problema in cui l'algoritmo hash seleziona determinati percorsi nella rete e lascia inutilizzati i percorsi ridondanti
Si consiglia di conoscere gli argomenti seguenti.
Protocollo di controllo aggregazione link
Piattaforme Cisco Nexus
N7K1 e N7K2 collegati in VPC e Po100, Po200, Po300 e Po301 sono in VPC port-channel.
N7K1 e N7K2 funzionano come switch L2 puro senza routing su questi switch.
Tutti gli switch eseguono lo stesso algoritmo di bilanciamento del carico del canale della porta
Il problema della polarizzazione viene rilevato sul traffico in uscita dalle N7K1 e N7K2, a prescindere dal fatto che il traffico dall'origine alla destinazione si trovi sulla stessa vlan (senza routing) o su vlan diverse con il routing in uso sulle N7K3 o N7k4.
L'origine invia più flussi alla destinazione (con più indirizzi IP di origine e destinazione e le informazioni sulla porta L4 variano anche da pacchetto a pacchetto). Per garantire che in una situazione ideale il traffico venga distribuito equamente tra le interfacce membro del canale della porta, viene usata una buona combinazione di traffico.
Il traffico dalla sorgente atterra sulla N7k3/N7k4 e poi passare sulla N7K1/N7K2 fino alla destinazione.
Un collegamento tra i collegamenti membri di Po100 e Po200 su ciascuno dei N7K1 e N7K2 sta inviando quasi il 99% del traffico e l'altro rimane inattivo. (ossia, su ciascuno switch N7K1 e N7K2, un collegamento tra 4/2 e 4/3 trasporta il 99% del traffico unicast e l'altro meno dell'1%, analogamente un collegamento tra 9/2 e 9/3 trasporta il 99% del traffico e l'altro meno dell'1%. l'output nella sezione risoluzione dei problemi mostra il traffico sulle interfacce membro po100 e po200 su N7K1, un output simile può essere rilevato su N7K2).
Indipendentemente dal tipo di algoritmo di bilanciamento del carico del canale della porta utilizzato, il problema può essere considerato a condizione che lo stesso algoritmo di bilanciamento del carico del canale della porta venga utilizzato su coppie N7K1/N7K2 e N7K3/N7K4. Di seguito è riportato il comando per verificare l'algoritmo di bilanciamento del carico del canale della porta.
N7K1# show port-channel load-balance
Warning: Per Packet Load balance configuration has higher precedence
System config:
Non-IP: src-dst mac
IP: src-dst ip-l4port-vlan rotate 0
Port Channel Load-Balancing Configuration for all modules:
Module 1:
Non-IP: src-dst mac
IP: src-dst ip rotate 0
Module 2:
Non-IP: src-dst mac
IP: src-dst ip rotate 0
Module 3:
Non-IP: src-dst mac
IP: src-dst ip rotate 0
Module 4:
Non-IP: src-dst mac
IP: src-dst ip-l4port-vlan rotate 0
Module 7:
Non-IP: src-dst mac
IP: src-dst ip-l4port-vlan rotate 0
Module 8:
Non-IP: src-dst mac
IP: src-dst ip-l4port-vlan rotate 0
Module 9:
Non-IP: src-dst mac
IP: src-dst ip-l4port-vlan rotate 0
Se il bilanciamento del carico non è uniforme su una porta-canale, può essere dovuto alla polarizzazione.
Quando il traffico raggiunge gli switch N7K3 e N7K4, viene inoltrato agli switch N7K1/N7K2 tramite Po301 di N7K4 e Po300 di N7K3. In questo caso, viene attivato l'algoritmo di bilanciamento del carico e alcuni flussi vengono inoltrati all'N7K1 e ad altri flussi inoltrati all'N7K2.
Inizialmente, tutto il traffico arriva negli switch N7K3/N7K4 su eth1/1 e, in base alle informazioni sulla porta ip e l4 della destinazione src, viene eseguito l'hashing di alcuni flussi sul collegamento in direzione N7K1 e di altri flussi sul collegamento in direzione N7K2. L'hashing viene eseguito in base al valore rbh calcolato dallo switch. Per semplicità, si supponga che, in base all'algoritmo di bilanciamento del carico utilizzato, lo switch separi il traffico in entrata in due flussi (flusso X e flusso Y). Il flusso X inviato da un collegamento membro del canale della porta e il flusso Y inviato dall'altro collegamento membro del canale della porta.
Ora, quando il traffico sta atterrando sulla coppia N7K1/N7K2, ci possono essere due possibilità. (considerando X e Y intercambiabili)
Caso 1:
N7K3 ha inviato il flusso X a N7K1 e il flusso Y a N7K2
e
N7K4 ha inviato il flusso Y a N7K1 e il flusso X a N7K2
Caso2:
N7K3 ha inviato il flusso X a N7K1 e il flusso Y a N7K2
e
N7K4 ha inviato il flusso X a N7K1 e il flusso Y a N7K2
Nel caso 1, N7K1 e N7K2 ricevono entrambi i tipi di flussi (flusso X e flusso Y) e anche dopo aver utilizzato lo stesso algoritmo di bilanciamento del carico del canale della porta utilizzato da N7K3/N7K4, nessuna polarizzazione sarebbe vista come i flussi in uscita da Po100 e Po200 su collegamenti diversi e, quindi, vediamo una migliore distribuzione del traffico tra le interfacce membro del canale della porta.
Nel caso 2, N7K1 riceve solo il flusso X e N7K2 riceve solo il flusso Y e ciò potrebbe creare polarizzazione se l'algoritmo di bilanciamento del carico del canale della porta usato su questi switch è lo stesso usato nella coppia N7K3/N7K4. Poiché N7K1 e N7K2 utilizzano lo stesso algoritmo di bilanciamento del carico del canale della porta, N7K1 invia il flusso X su un solo collegamento membro di Po100/Po200 e l'altro collegamento membro non inoltrerà alcun traffico. Analogamente, N7K2 invia il flusso Y su un solo collegamento membro di Po100/Po200 e l'altro collegamento membro non inoltrerà alcun traffico.
Poiché il traffico che riceve gli switch N7K1 e N7K2 è già classificato come traffico iniziale, solo un collegamento membro porta-canale verrà utilizzato per inviare tutto il traffico in entrata dallo switch N7K1/N7K2 e non verrà inviato nulla dall'altro collegamento membro. Nel caso in cui la velocità del traffico in entrata superi la larghezza di banda del collegamento a canale singolo, il traffico aggiuntivo può essere interrotto in quanto l'altro collegamento a membro del canale della porta non inoltrerebbe questo traffico.
Un problema simile può essere rilevato quando si usano più di due collegamenti nel canale della porta. Ad esempio, se in un canale porta vengono utilizzati quattro collegamenti, a seconda dell'hashing non si verifica alcuna polarizzazione oppure si verifica una polarizzazione parziale in cui solo due dei quattro collegamenti membri del canale porta vengono utilizzati per inoltrare tutto il traffico in entrata e gli altri due collegamenti non inoltrano nulla
La polarizzazione è causata dal progetto ed è quindi importante analizzare il progetto per assicurarsi che non avvenga alcuna polarizzazione. L'output che indica la polarizzazione in corso Po100 e Po200 su N7k1 è riportato di seguito (output simile può essere visto anche su N7K2).
N7K1# show port-channel summary | i 200
200 Po200(SU) Eth LACP Eth9/2(P) Eth9/3(P)
N7K1# show port-channel traffic interface port-channel 200
NOTE: Clear the port-channel member counters to get accurate statistics
ChanId Port Rx-Ucst Tx-Ucst Rx-Mcst Tx-Mcst Rx-Bcst Tx-Bcst
------ --------- ------- ------- ------- ------- ------- -------
200 Eth9/2 0.0% 99.99% 44.44% 4.00% 0.0% 100.00%
200 Eth9/3 0.0% 0.00% 55.55% 96.00% 0.0% 0.0%
N7K1# show port-channel summary | i 100
100 Po100(SU) Eth LACP Eth4/2(P) Eth4/3(P)
N7K1# show port-channel traffic interface port-channel 100
NOTE: Clear the port-channel member counters to get accurate statistics
ChanId Port Rx-Ucst Tx-Ucst Rx-Mcst Tx-Mcst Rx-Bcst Tx-Bcst
------ --------- ------- ------- ------- ------- ------- -------
100 Eth4/2 0.0% 99.99% 40.55% 7.00% 0.0% 100.00%
100 Eth4/3 0.0% 0.00% 54.44% 93.00% 0.0% 0.0%
CSCvq26885 è stato archiviato per la documentazione esterna.
Seguire alcune delle soluzioni che possono essere utilizzate per assicurarsi che la polarizzazione non avvenga.
1. Progettazione adeguata: Poiché la causa principale della polarizzazione è una progettazione errata, è consigliabile modificare la progettazione della rete per assicurarsi che non vi sia spazio per la polarizzazione nella topologia
Se non è possibile apportare modifiche al progetto, è possibile eseguire le operazioni seguenti.
2. Utilizzare algoritmi di bilanciamento del carico del canale della porta diversi a ciascun livello di switch (un algoritmo su coppia N7K1/N7k2 e un algoritmo diverso su coppia N7K3/N7k4). Quando si modifica l'algoritmo di bilanciamento del carico, gli switch N7k1/N7k2 eseguono ora l'hashing del traffico in entrata in base ad alcune informazioni diverse da quelle utilizzate dagli switch N7k3/N7k4, quindi il traffico in uscita utilizza tutti i collegamenti membro del canale della porta. (la decisione sull'algoritmo da scegliere dipende dal tipo di traffico ricevuto dallo switch)
3. Se il cliente desidera utilizzare lo stesso algoritmo di bilanciamento del carico, utilizzare valori di rotazione diversi a ogni livello di switch. Il comando Rotate introduce l'casualità nell'algoritmo di hash compensando l'input hash con i byte configurati dall'utente e contribuisce a evitare la polarizzazione. (Usare un valore di rotazione per la coppia N7k1/N7k2 e un valore di rotazione diverso per la coppia N7k3/N7k4)