Dans le cadre de la documentation associée à ce produit, nous nous efforçons d’utiliser un langage exempt de préjugés. Dans cet ensemble de documents, le langage exempt de discrimination renvoie à une langue qui exclut la discrimination en fonction de l’âge, des handicaps, du genre, de l’appartenance raciale de l’identité ethnique, de l’orientation sexuelle, de la situation socio-économique et de l’intersectionnalité. Des exceptions peuvent s’appliquer dans les documents si le langage est codé en dur dans les interfaces utilisateurs du produit logiciel, si le langage utilisé est basé sur la documentation RFP ou si le langage utilisé provient d’un produit tiers référencé. Découvrez comment Cisco utilise le langage inclusif.
Cisco a traduit ce document en traduction automatisée vérifiée par une personne dans le cadre d’un service mondial permettant à nos utilisateurs d’obtenir le contenu d’assistance dans leur propre langue. Il convient cependant de noter que même la meilleure traduction automatisée ne sera pas aussi précise que celle fournie par un traducteur professionnel.
Ce document explique les scénarios dans lesquels la polarisation de l'équilibrage de charge des canaux de port pourrait se produire et fournit des suggestions sur la façon de les empêcher.
Polarisation est un problème où l’algorithme de hachage sélectionne certains chemins dans le réseau et laisse les chemins redondants inutilisés
Il est recommandé d'avoir des connaissances sur les sujets suivants.
Protocole de contrôle d'agrégation de lien
Plates-formes Cisco Nexus
N7K1 et N7K2 connectés dans VPC et Po100, Po200, Po300 et Po301 sont dans le canal de port VPC.
N7K1 et N7K2 agissent en tant que commutateur L2 pur sans routage sur ces commutateurs.
Tous les commutateurs exécutent le même algorithme d’équilibrage de charge de canal de port
Le problème de polarisation est observé sur le trafic sortant de N7K1 et N7K2, que le trafic de la source à la destination se trouvait dans le même vlan (pas de routage) ou s'il se trouvait dans un vlan différent avec le routage se produisant sur N7K3 ou N7k4.
La source envoie plusieurs flux à la destination (avec plusieurs adresses IP source et de destination, et les informations du port de couche 4 varient également d'un paquet à l'autre). Une bonne combinaison de trafic est utilisée pour garantir que, dans une situation idéale, le trafic serait réparti uniformément entre les interfaces membres port-channel.
Le trafic en provenance de la source se trouve sur N7k3/N7k4, puis passe par N7K1/N7K2 jusqu'à la destination.
Une liaison entre les liaisons membres de Po100 et Po200 sur chacun des N7K1 et N7K2 envoie près de 99 % du trafic et l'autre liaison reste inactive. ( c'est-à-dire, sur chaque commutateur N7K1 et N7K2, une liaison entre 4/2 et 4/3 transporte 99 % du trafic de monodiffusion et l'autre liaison comporte moins de 1 %, de même une liaison entre 9/2 et 9/3 transporte 99 % du trafic et l'autre liaison comporte moins de 1 %. la sortie de la section dépannage montre le trafic sur les interfaces membres po100 et po200 sur N7K1, une sortie similaire peut être vue sur N7K2).
Quel que soit le type d'algorithme d'équilibrage de charge de canal de port utilisé, le problème peut être observé tant que le même algorithme d'équilibrage de charge de canal de port est utilisé sur les paires N7K1/N7K2 et N7K3/N7K4. La commande permettant de vérifier l'algorithme d'équilibrage de charge de port-channel est indiquée ci-dessous.
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
Si l'équilibrage de charge inégal est visible sur un canal de port, il peut être dû à la polarisation.
Lorsque le trafic atteint les commutateurs N7K3 et N7K4, ils sont transférés aux commutateurs N7K1/N7K2 via Po301 de N7K4 et Po300 de N7K3. Ici, l'algorithme d'équilibrage de charge démarre et certains flux sont transférés à N7K1 et d'autres flux transférés à N7K2.
Initialement, tout le trafic entre dans les commutateurs N7K3/N7K4 sur eth1/1 et selon les informations de port src-dest ip et l4, certains flux sont hachés sur la liaison en direction de N7K1 et d'autres flux sont hachés sur la liaison en direction de N7K2. Le hachage est effectué en fonction de la valeur rbh calculée par le commutateur. Pour des raisons de simplicité, supposons que, sur la base de l’algorithme d’équilibrage de charge utilisé, le commutateur sépare le trafic entrant en deux flux (flux X et flux Y). Flow X envoyé à partir d'une liaison de membre de canal de port et flow Y envoyé à partir de l'autre liaison de membre de canal de port.
Maintenant, lorsque le trafic atterrit sur la paire N7K1/N7K2, il peut y avoir deux possibilités. (considérant que X et Y sont interchangeables)
Cas 1 :
N7K3 a envoyé le flux X à N7K1 et le flux Y à N7K2
et
N7K4 a envoyé le flux Y à N7K1 et le flux X à N7K2
Cas 2 :
N7K3 a envoyé le flux X à N7K1 et le flux Y à N7K2
et
N7K4 a envoyé le flux X à N7K1 et le flux Y à N7K2
Dans le cas 1, N7K1 et N7K2 reçoivent à la fois le type de flux (flux X et flux Y) et même après avoir utilisé le même algorithme d'équilibrage de charge de canal de port que celui utilisé par N7K3/N7K4, aucune polarisation ne serait vue comme les flux sortent de Po100 et Po200 sur différentes liaisons et, par conséquent, nous voyons une meilleure distribution du trafic entre les interfaces de canal de port.
Dans le cas 2, N7K1 reçoit uniquement le flux X et N7K2 reçoit uniquement le flux Y, ce qui peut créer une polarisation si l'algorithme d'équilibrage de charge du canal de port utilisé sur ces commutateurs est identique à celui utilisé dans la paire N7K3/N7K4. Comme N7K1 et N7K2 utilisent le même algorithme d'équilibrage de charge de canal de port, N7K1 envoie le flux X sur une seule liaison membre de Po100/Po200 et l'autre liaison membre ne transmettra aucun trafic. De même, N7K2 envoie le flux Y sur une seule liaison membre de Po100/Po200 et l'autre liaison membre ne transfère aucun trafic.
Puisque le trafic que les commutateurs N7K1 et N7K2 reçoivent est déjà classifié pour commencer, une seule liaison membre port-channel sera utilisée pour envoyer tout le trafic entrant en dehors du commutateur N7K1/N7K2 et rien ne sera envoyé en dehors de l'autre liaison membre. Si le débit du trafic entrant dépasse la bande passante de la liaison port-canal unique, le trafic supplémentaire peut être abandonné car l'autre liaison membre port-channel ne transfère pas ce trafic.
Un problème similaire peut être observé lorsque plus de deux liaisons sont utilisées dans le port-channel. Par exemple, si quatre liaisons sont utilisées dans un port-channel, selon le hachage, soit aucune polarisation ne se produirait, soit nous verrons une polarisation partielle où seulement deux des quatre liaisons membres du port-channel seraient utilisées pour transférer tout le trafic entrant et les deux autres liaisons ne transmettraient rien
La polarisation est due à la conception et il est donc important d'analyser la conception pour s'assurer qu'aucune polarisation ne se produit. La sortie indiquant que la polarisation se produit Po100 et Po200 sur N7k1 est donnée ci-dessous (une sortie similaire peut être vue sur N7K2 également).
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 a été déposé pour documentation externe.
Suivez certaines des solutions de contournement qui peuvent être utilisées pour s'assurer que la polarisation ne se produit pas.
1. Conception appropriée : Comme la principale cause de polarisation est une conception incorrecte, il est préférable de modifier la conception du réseau pour s’assurer qu’il n’y a pas de place pour la polarisation dans la topologie
Si aucune modification n'est possible, nous pouvons effectuer les opérations suivantes.
2. Utilisez différents algorithmes d'équilibrage de charge de canal de port à chaque niveau de commutateurs (un algorithme sur la paire N7K1/N7k2 et un algorithme différent sur la paire N7K3/N7k4). Lorsque l'algorithme d'équilibrage de charge est modifié, les commutateurs N7k1/N7k2 hachent désormais le trafic entrant en fonction d'autres informations que celles utilisées par les commutateurs N7k3/N7k4 et, par conséquent, le trafic sortant utilise toutes les liaisons membres port-channel. (La décision quant à l’algorithme à choisir dépend du type de trafic reçu par le commutateur)
3. Si le client souhaite utiliser le même algorithme d'équilibrage de charge, utilisez des valeurs de rotation différentes à chaque niveau de commutateurs. La commande Rotate introduit le caractère aléatoire de l'algorithme de hachage en compensant le hash-input par les octets configurés par l'utilisateur et contribue à éviter la polarisation. (Utilisez une valeur de rotation pour la paire N7k1/N7k2 et une valeur de rotation différente pour la paire N7k3/N7k4)