Commutation LAN : Protocole Spanning Tree

Équilibrage de charge VLAN entre jonctions en utilisant la commande port-priority du protocole STP (Spanning-Tree Protocol)

18 octobre 2016 - Traduction automatique
Autres versions: PDFpdf | Anglais (20 octobre 2015) | Commentaires


Contenu


Introduction

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é.

Avant de commencer

Conventions

Pour plus d'informations sur les conventions des documents, référez-vous aux Conventions utilisées pour les conseils techniques de Cisco.

Conditions préalables

Aucune condition préalable spécifique n'est requise pour ce document.

Composants utilisés

Ce document n'est pas limité à des versions de matériel et de logiciel spécifiques.

Introduction à l'équilibrage de charge VLAN entre les liaisons

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.

/image/gif/paws/10555/15a.gif

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.

/image/gif/paws/10555/15b.gif

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 :

/image/gif/paws/10555/15c.gif

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.

Comment STP décide quel port bloquer

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 de base dans ce VLAN et Catalyst D a des connexions redondantes multiples avec Catalyst R. Catalyst D bloque tous ses ports vers Catalyst R, excepté son port de base. 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 :

  1. Une ID de pont de base inférieure.

  2. Un coût de route plus faible vers la base.

  3. Une ID de pont expéditeur plus faible.

  4. 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.

15d.gif

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.

/image/gif/paws/10555/15e.gif

Afin d'obtenir l'équilibrage des charges entre deux liaisons, vous ajustez sur une base VLAN la priorité de port sur Catalyst R.

Configurer l'équilibrage de charge VLAN sur des commutateurs Catalyst exécutant CatOS

Schéma de laboratoire

/image/gif/paws/10555/15f.gif

Montrer l'état actuel de STP sur le 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)

Montrer l'état actuel de STP sur Catalyst D

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)

Ajustez la priorité de port sur Catalyst R

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)

Vérifier les résultats sur Catalyst R

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)

Vérifier les résultats sur Catalyst D

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)


Détails sur la commande portvlanpri

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.

Configurer l'équilibrage de charge VLAN sur des commutateurs Catalyst exécutant l'IOS intégré

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.

Schéma de laboratoire

/image/gif/paws/10555/15f.gif

Montrer l'état actuel de STP sur le 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#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 


Montrer l'état actuel de STP sur Catalyst D

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 

Ajustez la priorité de port sur Catalyst R

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#

Vérifier les résultats sur 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 


Vérifier les résultats sur Catalyst D

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 

Détails sur les commandes port-priority et vlan port-priority

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 

Conclusion

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.


Informations connexes


Document ID: 10555