Ce document fournit la théorie sous-jacente à l'équilibrage de charge VLAN entre les liaisons, et fournit également des exemples de configuration pour des commutateurs exécutant CatOS et IOS intégré.
Pour plus d'informations sur les conventions des documents, référez-vous aux Conventions utilisées pour les conseils techniques de Cisco.
Aucune condition préalable spécifique n'est requise pour ce document.
Ce document n'est pas limité à des versions de matériel et de logiciel spécifiques.
Les commandes utilisées dans ce document sont disponibles avec les familles 4000, 5000 et 6000 de Catalyst exécutant CatOS et IOS Intégré. Les sections théoriques de ce document sont liées au protocole spanning-tree (STP) et sont des plates-formes indépendantes.
La configuration affichée sur la figure 1 ci-dessous, dans laquelle deux commutateurs sont directement connectés par plus d'une liaison, est très commune pour des raisons de redondance. Si une des deux liaisons échoue, la deuxième devient bientôt disponible pour transmettre le trafic. Quand les deux liens sont disponibles, l'algorithme Spanning Tree (STA) désactive l'une d'entre elles afin d'éviter une boucle de pontage entre les deux commutateurs.
Dans la configuration de la figure 1 ci-dessus, avec deux liaisons FastEthernet joignant Catalyst R et Catalyst D, STP élit le même port de blocage pour tous les VLAN configurés. Dans ce cas, Catalyst R est le pont racine et Catalyst D décide de bloquer le port D2 pour VLAN 1 et VLAN 2. Le problème crucial avec cette conception est que la liaison R2-D2 est simplement sacrifiée et il n'y a que 100 Mb/s disponibles entre les deux commutateurs. Pour tirer profit des deux liaisons, vous pouvez modifier la configuration et permettre VLAN 1 seulement sur la liaison R1-D1 et le VLAN 2 seulement sur la liaison R2-D2.
Le réseau en résultant, représenté sur la figure 2, a perdu sa redondance. Maintenant vous avez les deux liens transférant en même temps et vous pouvez pratiquement utiliser 200 Mb/s entre les deux commutateurs. Cependant, si une liaison échoue, vous perdez complètement la connectivité pour un VLAN. La solution idéale est celle décrite sur la figure 3 :
Sur la figure 3, vous gardez les liaisons entre les deux commutateurs, mais le port D1 bloque le VLAN 1 et transfère le VLAN 2 ; le port D2 bloque le VLAN 2 et transfère le VLAN 1. Cette conception garde les meilleures fonctionnalités de la figure 1 et de la figure 2 :
Les deux liaisons transfèrent, en fournissant une connectivité agrégée de 200 Mb/s entre les deux commutateurs.
Si un lien échoue, le lien restant débloque le VLAN correspondant et maintient la connectivité pour les deux VLAN entre les commutateurs.
Ce document explique comment effectuer une telle configuration, après une courte explication des opérations STP.
La description détaillée de la façon dont STA fonctionne ne relève pas du champ de ce document. Cependant, il récapitule brièvement comment l'algorithme décide, dans ce cas, si un port bloque ou transfère. Il se concentre sur la configuration la plus simple possible avec seulement un VLAN ; Catalyst R est le pont racine de ce VLAN et Catalyst D a plusieurs connexions redondantes à Catalyst R. Catalyst D bloque tous ses ports vers Catalyst R, mais son port racine. Comment Catalyst D sélectionne-il son port de base ? Des ponts exécutant STA échangent les Bridge Protocol Data Units (BPDU) à travers les liaisons et ces BPDU peuvent être strictement classifiés selon leur contenu. Un BPDU est supérieur à un autre s'il a :
Une ID de pont de base inférieure.
Un coût de route plus faible vers la base.
Une ID de pont expéditeur plus faible.
Une ID de port expéditeur plus faible.
Ces quatre paramètres sont examinés dans l'ordre, ce qui signifie que vous vous préoccupez seulement du paramètre 2 si le paramètre 1 est identique dans les deux BPDU que vous comparez. Le port qui est élu port de base sur Catalyst D est le port qui reçoit le meilleur BPDU.
Dans ce cas spécifique (figure 4), tous les BPDU envoyés par Catalyst R ont la même ID de pont de base, le même coût de route vers la racine et la même ID de pont expéditeur. Le seul paramètre qui reste pour sélectionner le meilleur est l'ID de port expéditeur. L'ID de port expéditeur est un paramètre de 16 bits, divisé en deux domaines : la priorité de port et un index du port. La valeur par défaut pour la priorité de port est 32 et l'index du port est unique à chaque port sur le commutateur.
priorité de port | Index du port | |
---|---|---|
Taille en bits | 6 | 10 |
Valeur par défaut | 32 | Seule valeur fixe |
Le figure 4 représente le paramètre d'ID de port dans les BPDU. Dans ce cas, Catalyst D choisit le port D1 en tant que port de base parce que l'index du port R2 est inférieur à R1. Si vous voulez que D2 finisse par transférer, vous devez le forcer en tant que port de base. La seule façon de faire ceci est de réduire la valeur de priorité de port R2 (ou augmenter la valeur de priorité de port R1). C'est ce qui a été fait sur la figure 5.
Afin d'obtenir l'équilibrage des charges entre deux liaisons, vous ajustez sur une base VLAN la priorité de port sur Catalyst R.
Voici l'état actuel de STP sur Catalyst R. Il s'agit de la racine pour VLAN 1 et 2, afin que tous ses ports transfèrent.
Catalyst_R> (enable) show spantree 3/1 Port Vlan Port-State Cost Priority Portfast Channel_id ------------------------ ---- ------------- ----- -------- ---------- ---------- 3/1 1 forwarding 19 32 disabled 0 3/1 2 forwarding 19 32 disabled 0 Catalyst_R> (enable) show spantree 3/2 Port Vlan Port-State Cost Priority Portfast Channel_id ------------------------ ---- ------------- ----- -------- ---------- ---------- 3/2 1 forwarding 19 32 disabled 0 3/2 2 forwarding 19 32 disabled 0 Catalyst_R> (enable)
Sur Catalyst D, comme prévu, le port 5/2 est bloqué pour les deux VLAN 1 et 2.
Catalyst_D> (enable) show spantree 5/1 Port Vlan Port-State Cost Priority Fast-Start Group-Method --------- ---- ------------- ----- -------- ---------- ------------ 5/1 1 forwarding 19 32 disabled 5/1 2 forwarding 19 32 disabled Catalyst_D> (enable) show spantree 5/2 Port Vlan Port-State Cost Priority Fast-Start Group-Method --------- ---- ------------- ----- -------- ---------- ------------ 5/2 1 blocking 19 32 disabled 5/2 2 blocking 19 32 disabled Catalyst_D> (enable)
Vous allez diminuer la valeur de priorité de port pour VLAN 1 sur le port 3/2. De cette façon, le port correspondant 5/2 sur Catalyst D reçoit un meilleur BPDU que ceux qui sont envoyés sur le port 5/1 (qui a toujours une valeur de priorité de port de 32).
Catalyst_R> (enable) set spantree portvlanpri 3/2 16 1 Port 3/2 vlans 1 using portpri 16. Port 3/2 vlans 2-1004 using portpri 32. Port 3/2 vlans 1005 using portpri 4. Catalyst_R> (enable)
Vous pouvez vérifier que la valeur de priorité de port a changé pour VLAN 1 :
Catalyst_R> (enable) show spantree 3/1 Port Vlan Port-State Cost Priority Portfast Channel_id ------------------------ ---- ------------- ----- -------- ---------- ---------- 3/1 1 forwarding 19 32 disabled 0 3/1 2 forwarding 19 32 disabled 0 Catalyst_R> (enable) show spantree 3/2 Port Vlan Port-State Cost Priority Portfast Channel_id ------------------------ ---- ------------- ----- -------- ---------- ---------- 3/2 1 forwarding 19 16 disabled 0 3/2 2 forwarding 19 32 disabled 0 Catalyst_R> (enable)
Vous pouvez voir sur Catalyst D que, pour VLAN 1, le port 5/1 effectue maintenant un blocage et le port 5/2 transfère, comme cela était prévu.
Catalyst_D> (enable) show spantree 5/1 Port Vlan Port-State Cost Priority Fast-Start Group-Method --------- ---- ------------- ----- -------- ---------- ------------ 5/1 1 blocking 19 32 disabled 5/1 2 forwarding 19 32 disabled Catalyst_D> (enable) show spantree 5/2 Port Vlan Port-State Cost Priority Fast-Start Group-Method --------- ---- ------------- ----- -------- ---------- ------------ 5/2 1 forwarding 19 32 disabled 5/2 2 blocking 19 32 disabled Catalyst_D> (enable)
Il y a seulement deux valeurs possibles pour la priorité de port VLAN par liaison, et seulement un d'entre eux peut être configuré en utilisant la commande portvlanpri. Cela signifie que sur une liaison donnée, vous avez deux groupes de VLAN :
Ceux qui ont la valeur de priorité de port « globale » (32 par défaut).
Ceux qui ont une valeur saisie « personnalisée » avec la commande portvlanpri.
Cet exemple illustre ceci : Envisagez d'ajouter un troisième VLAN dans l'exemple. Par défaut, ce VLAN appartient au groupe qui a la valeur de priorité de port globale (32 par défaut).
Catalyst_R> (enable) set vlan 3 Vlan 3 configuration successful Catalyst_R> (enable) show spantree 3/2 Port Vlan Port-State Cost Priority Portfast Channel_id ------------------------ ---- ------------- ----- -------- ---------- ---------- 3/2 1 forwarding 19 16 disabled 0 3/2 2 forwarding 19 32 disabled 0 3/2 3 forwarding 19 32 disabled 0 Catalyst_R> (enable)
Modifiez la priorité globale pour le port, en utilisant la commande set spantree portpri :
Catalyst_R> (enable) set spantree portpri 3/2 48 Bridge port 3/2 port priority set to 48. Catalyst_R> (enable) show spantree 3/2 Port Vlan Port-State Cost Priority Portfast Channel_id ------------------------ ---- ------------- ----- -------- ---------- ---------- 3/2 1 forwarding 19 16 disabled 0 3/2 2 forwarding 19 48 disabled 0 3/2 3 forwarding 19 48 disabled 0 Catalyst_R> (enable)
Notez que tous les VLAN appartenant au groupe « global » ont modifié leur priorité pour 48. Attribuez maintenant VLAN 3 à l'autre groupe « personnalisé » de VLAN, en lui donnant une valeur de 8 avec la commande portvlanpri :
Catalyst_R> (enable) set spantree portvlanpri 3/2 8 3 Port 3/2 vlans 1,3 using portpri 8. Port 3/2 vlans 2,4-1004 using portpri 48. Port 3/2 vlans 1005 using portpri 4. Catalyst_R> (enable) show spantree 3/2 Port Vlan Port-State Cost Priority Portfast Channel_id ------------------------ ---- ------------- ----- -------- ---------- ---------- 3/2 1 forwarding 19 8 disabled 0 3/2 2 forwarding 19 48 disabled 0 3/2 3 forwarding 19 8 disabled 0 Catalyst_R> (enable)
Notez que tous les VLAN dans le groupe « personnalisé » ont modifié leur priorité pour 8, pas simplement VLAN 3. Pour remettre le VLAN 3 dans le groupe par défaut, utilisez la commande clear spantree portvlanpri :
Catalyst_R> (enable) clear spantree portvlanpri 3/2 3 Port 3/2 vlans 1 using portpri 8. Port 3/2 vlans 2-1004 using portpri 48. Port 3/2 vlans 1005 using portpri 4. Catalyst_R> (enable) show spantree 3/2 Port Vlan Port-State Cost Priority Portfast Channel_id ------------------------ ---- ------------- ----- -------- ---------- ---------- 3/2 1 forwarding 19 8 disabled 0 3/2 2 forwarding 19 48 disabled 0 3/2 3 forwarding 19 48 disabled 0 Catalyst_R> (enable)
Il existe une dernière contrainte relativement à cette commande. La valeur affectée au groupe « global » doit être supérieure à celle configurée sur le groupe « personnalisé ».
Catalyst_R> (enable) set spantree portvlanpri 3/2 62 3 Portvlanpri must be less than portpri. Portpri for 3/2 is 48.
Pour récapituler :
groupe « global » | groupe « personnalisé » |
---|---|
Par défaut, tous les VLAN appartiennent à ce groupe. | Les VLAN sélectionnés avec la commande set spantree portvlanpri appartiennent à ce groupe. |
La priorité pour ces VLAN est fixée en utilisant la commande set spantree port priority. | La valeur de priorité pour tous ces VLAN est définie par la commande set spantree portvlanpri. |
La valeur de priorité configurée pour le groupe « global » doit être supérieure à celle configurée pour le groupe « personnalisé ». | Clear spantree portvlanpri vous permet de remettre un VLAN de ce groupe dans l'autre. |
Remarque : Cet exemple de configuration s'applique aux commutateurs exécutant IOS : Catalyst 2900/3500XL, Catalyst 2950, Catalyst 3550, Catalyst 4000 Supervisor III/IV et Catalyst 6000.
Voici l'état actuel de STP sur Catalyst R. Il s'agit de la racine pour VLAN 1 et 2, afin que tous ses ports transfèrent.
Catalyst_R#show spanning-tree interface FastEthernet 3/1 Vlan Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- VLAN0001 Desg FWD 19 128.129 P2p VLAN0002 Desg FWD 19 128.129 P2p Catalyst_R#show spanning-tree interface FastEthernet 3/2 Vlan Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- VLAN0001 Desg FWD 19 128.130 P2p VLAN0002 Desg FWD 19 128.130 P2p
Sur Catalyst D, comme prévu, le port 5/2 est bloqué pour les deux VLAN 1 et 2.
Catalyst_D#show spanning-tree interface FastEthernet 5/1 Vlan Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- VLAN0001 Root FWD 19 128.129 P2p VLAN0002 Root FWD 19 128.129 P2p Catalyst_D#show spanning-tree interface FastEthernet 5/2 Vlan Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- VLAN0001 Altn BLK 19 128.130 P2p VLAN0002 Altn BLK 19 128.130 P2p
Vous allez diminuer la valeur de priorité de port pour VLAN 1 sur le port 3/2. De cette façon, le port correspondant 5/2 sur Catalyst D reçoit un meilleur BPDU que ceux qui sont envoyés sur le port 5/1 (qui a toujours une valeur de priorité de port de 128).
Catalyst_R#config terminal Catalyst_R(config)#interface FastEthernet 3/2 Catalyst_R(config-if)#spanning-tree vlan 1 port-priority 64 Catalyst_R(config-if)#end Catalyst_R#
Vous pouvez vérifier que la valeur de priorité de port a changé pour VLAN 1 :
Catalyst_R#show spanning-tree interface FastEthernet 3/1 Vlan Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- VLAN0001 Desg FWD 19 128.129 P2p VLAN0002 Desg FWD 19 128.129 P2p Catalyst_R#show spanning-tree interface FastEthernet 3/2 Vlan Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- VLAN0001 Desg FWD 19 64.130 P2p VLAN0002 Desg FWD 19 128.130 P2p
Vous pouvez voir sur Catalyst D que, pour VLAN 1, le port 5/1 effectue maintenant un blocage et le port 5/2 transfère, comme cela était prévu.
Catalyst_D#show spanning-tree interface FastEthernet 5/1 Vlan Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- VLAN0001 Altn BLK 19 128.129 P2p VLAN0002 Root FWD 19 128.129 P2p Catalyst_D#show spanning-tree interface FastEthernet 5/2 Vlan Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- VLAN0001 Root FWD 19 128.130 P2p VLAN0002 Altn BLK 19 128.130 P2p
Il y a deux façons de définir la priorité de port VLAN :
La valeur de priorité de port « globale » (128 par défaut) qui peut être modifiée par interface par la commande port-priority
La valeur de priorité de port « par VLAN » qui peut être modifiée par interface et par VLAN par la commande VLAN port-priority
Cet exemple illustre ceci : Envisagez d'ajouter un troisième VLAN dans cet exemple. Par défaut, ce VLAN appartient au groupe qui a la valeur de priorité de port globale (128 par défaut).
Catalyst_R#show spanning-tree interface FastEthernet 3/2 Vlan Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- VLAN0001 Desg FWD 19 64.130 P2p VLAN0002 Desg FWD 19 128.130 P2p VLAN0003 Desg FWD 19 128.130 P2p
Modifiez la priorité globale pour le port, en utilisant la commande de configuration d'interface spanning-tree port-priority :
Catalyst_R(config)#interface FastEthernet 3/2 Catalyst_R(config-if)#spanning-tree port-priority 160 Catalyst_R# Catalyst_R#show spanning-tree interface FastEthernet 3/2 Vlan Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- VLAN0001 Desg FWD 19 64.130 P2p VLAN0002 Desg FWD 19 160.130 P2p VLAN0003 Desg FWD 19 160.130 P2p
Notez que tous les VLAN appartenant au groupe « global » ont modifié leur priorité pour 160. Attribuez maintenant à VLAN 3 sa propre priorité 48 avec la commande d'interface spanning-tree vlan port-priority :
Catalyst_R(config)#interface FastEthernet 3/2 Catalyst_R(config-if)#spanning-tree vlan 3 port-priority 48 Catalyst_R# Catalyst_R#show spanning-tree interface FastEthernet 3/2 Vlan Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- VLAN0001 Desg FWD 19 64.130 P2p VLAN0002 Desg FWD 19 160.130 P2p VLAN0003 Desg FWD 19 48.130 P2p
Notez que seulement VLAN 3 a modifié sa priorité pour 48. Pour remettre VLAN 3 dans le groupe par défaut, utilisez la commande d'interface no spanning-tree vlan port-priority :
Catalyst_R(config)#interface FastEthernet 3/2 Catalyst_R(config-if)#no spanning-tree vlan 3 port-priority Catalyst_R# Catalyst_R#show spanning-tree interface FastEthernet 3/2 Vlan Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- VLAN0001 Desg FWD 19 64.130 P2p VLAN0002 Desg FWD 19 160.130 P2p VLAN0003 Desg FWD 19 160.130 P2p
La configuration de l'équilibrage de charge de VLAN qui vient de terminer optimise l'utilisation des liaisons redondantes entre deux Catalyst.
La conservation des valeurs STP par défaut engendre la terminaison de toutes les liaisons redondantes entre les deux Catalyst en mode de blocage. L'ajustement de la priorité STP permet à plusieurs liaisons d'être utilisées en même temps, pour différents VLAN. Ceci augmente la bande passante globale disponible entre les deux périphériques. En cas de panne d'un lien, le STP redistribue les VLAN dans les liaisons restantes au moment où il reconverge.
Le seul inconvénient qui subsiste avec cette conception est qu'il peut seulement équilibrer le trafic sur une base de VLAN. Si dans l'exemple précédent, vous avez eu un flux de trafic de 130 Mb/s par VLAN 1 et seulement 10 Mb/s sur VLAN 2, vous déposez toujours des paquets sur VLAN 1, même si vous avez, en théorie, 200 Mb/s entre Catalyst R et Catalyst D. La fonctionnalité EtherChanneling porte sur cela, en fournissant l'équilibrage de charge entre plusieurs liens sur une base de paquets. Si votre matériel prend en charge le matériel, utilisez FastEtherchannel (ou GigabitEtherChannel) plutôt que la configuration décrite dans ce document.
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
02-Dec-2013 |
Première publication |