User Tools

Site Tools


informatique:cisco:stp

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
informatique:cisco:stp [2011/10/11 09:09] pteuinformatique:cisco:stp [2011/10/11 09:15] pteu
Line 13: Line 13:
  
 On peut influer sur l'algorithme STP en modifiant manuellement le coût d'une interface : en l'augmentant, on "oblige" le commutateur à prendre un chemin moins coûteux (ici le coût du lien sur l'interface fa0/1 du switch passe de 19 à 200) : On peut influer sur l'algorithme STP en modifiant manuellement le coût d'une interface : en l'augmentant, on "oblige" le commutateur à prendre un chemin moins coûteux (ici le coût du lien sur l'interface fa0/1 du switch passe de 19 à 200) :
-  Switch(config)#int fa0/1 +<code bash> 
-  Switch(config-if)#spanning-tree cost 200+Switch(config)#int fa0/1 
 +Switch(config-if)#spanning-tree cost 200 
 +</code>
  
  
Line 53: Line 55:
  
 ====STP BPDU Guard==== ====STP BPDU Guard====
 +
 Désactive le port sur lequel il reçoit des BPDUs si le portfast est activé sur le port. Il faut réactiver manuellement le port. Désactive le port sur lequel il reçoit des BPDUs si le portfast est activé sur le port. Il faut réactiver manuellement le port.
 Pour activer le BPDU guard, on se met en config-if : Pour activer le BPDU guard, on se met en config-if :
Line 60: Line 63:
  
 ====STP BPDU filter==== ====STP BPDU filter====
 +
 ''spanning-tree bpdufilter enable'' permet d'ignorer les BPDUs venant de cette interface (drop) sans pour autant la désactiver. ''spanning-tree bpdufilter enable'' permet d'ignorer les BPDUs venant de cette interface (drop) sans pour autant la désactiver.
  
Line 65: Line 69:
  
 ====STP Root Guard==== ====STP Root Guard====
 +
 Désactive le port si un BPDU de plus faible priorité est reçu (= si le switch de l'autre coté tente de devenir root) ; le port se réactive automatiquement lorsque l'équipement cesse de recevoir des BPDUs supérieurs. Désactive le port si un BPDU de plus faible priorité est reçu (= si le switch de l'autre coté tente de devenir root) ; le port se réactive automatiquement lorsque l'équipement cesse de recevoir des BPDUs supérieurs.
  
Line 75: Line 80:
 Le **loop guard** est une sécurité supplémentaire pour éviter les boucles ST. Lorsqu'un port "blocking" cesse de recevoir des BPDUs, il passe normalement aux états listening-learning et forwarding. Si le loop guard est activé, ce dernier passera à l'état loop-inconsistent blocking et le message suivant sera écrit dans les logs : Le **loop guard** est une sécurité supplémentaire pour éviter les boucles ST. Lorsqu'un port "blocking" cesse de recevoir des BPDUs, il passe normalement aux états listening-learning et forwarding. Si le loop guard est activé, ce dernier passera à l'état loop-inconsistent blocking et le message suivant sera écrit dans les logs :
  
-  SPANTREE-2-LOOPGUARDBLOCK: No BPDUs were received on port 3/2 in vlan 3. Moved to loop-inconsistent state.+<code bash> 
 +SPANTREE-2-LOOPGUARDBLOCK: No BPDUs were received on port 3/2 in vlan 3. Moved to loop-inconsistent state. 
 +</code>
  
 Lorsque le port recevra à nouveau des BPDUs, il se débloquera automatiquement. Lorsque le port recevra à nouveau des BPDUs, il se débloquera automatiquement.
Line 82: Line 89:
 Permet à un switch de basculer rapidement sur un port alternatif vers le root bridge lorsque son root port tombe. Typiquement, les switchs sur lesquels on activera cette option sont les switchs d’accès. Permet à un switch de basculer rapidement sur un port alternatif vers le root bridge lorsque son root port tombe. Typiquement, les switchs sur lesquels on activera cette option sont les switchs d’accès.
  
-  (config-if)#spanning-tree uplinkfast+<code bash> 
 +(config-if)#spanning-tree uplinkfast 
 +</code>
  
 C'est une fonctionnalité qui est reprise dans le RST. C'est une fonctionnalité qui est reprise dans le RST.
Line 91: Line 100:
 Cette fonctionnalité Cisco au switch de détecter la perte du root port de son voisin quand il reçoit des BPDUs inférieurs de sa part, ceci avant le Max age (qui est de 20 secondes) et de provoquer une renégociation ST immédiate. Cette fonctionnalité Cisco au switch de détecter la perte du root port de son voisin quand il reçoit des BPDUs inférieurs de sa part, ceci avant le Max age (qui est de 20 secondes) et de provoquer une renégociation ST immédiate.
  
-  (config-if)#spanning-tree backbonefast+<code bash> 
 +(config-if)#spanning-tree backbonefast 
 +</code> 
  
 =====RST===== =====RST=====
  
-Le **Rapid Spanning-Tree** (normalisé **802.1w**) est une modification du ST qui permet une convergence bien plus rapide que le standart initial : on passe de 50 secondes à quelques secondes lors d'une perte d'un lien. C'est devenu un standart lui aussi.+Le **Rapid Spanning-Tree** (normalisé **802.1w**) est une modification du ST qui permet une convergence bien plus rapide que le standard initial : on passe de 50 secondes à quelques secondes lors d'une perte d'un lien. C'est devenu un standard lui aussi.
  
 Par rapport au simple ST, le RST apporte un état supplémentaire : Par rapport au simple ST, le RST apporte un état supplémentaire :
Line 101: Line 113:
  
 Cependant les IOS actuels affichent l'état //blocking// et non //discarding// : Cependant les IOS actuels affichent l'état //blocking// et non //discarding// :
-  Po22                Altn BLK 1         128.1676 P2p +<code bash> 
 +Po22                Altn BLK 1         128.1676 P2p 
 +</code>
  
 ... ainsi que des rôles de ports supplémentaires : ... ainsi que des rôles de ports supplémentaires :
-  * **alternative** : c'est un port qui offre un chemin alternatif vers le root bridge ; il est à l'état __discarding__ en temps normal. Il n'est présent que sur les switchs non-désignés.+  * **alternate** : c'est un port qui offre un chemin alternatif vers le root bridge ; il est à l'état __discarding__ en temps normal. Il n'est présent que sur les switchs non-désignés.
   * **backup** : c'est un port additionnel présent sur un switch désigné qui possède un lien redondant vers le segment sur le lequel il est désigné. C'est donc le cas quand un switch a 2 ports sur le même segment : si l'un devient le port désigné du segment, l'autre deviendra le backup. Son état, dans une topologie stable, est __discarding__.   * **backup** : c'est un port additionnel présent sur un switch désigné qui possède un lien redondant vers le segment sur le lequel il est désigné. C'est donc le cas quand un switch a 2 ports sur le même segment : si l'un devient le port désigné du segment, l'autre deviendra le backup. Son état, dans une topologie stable, est __discarding__.
  
Line 138: Line 151:
 Le **Per VLAN Spanning-Tree** est une amélioration propriétaire de Cisco qui permet d'avoir une instance ST par VLAN (ça permet de faire de la répartition de flux puisqu'on peut ainsi définir un root bridge différent pour chaque VLAN). Le **Per VLAN Spanning-Tree** est une amélioration propriétaire de Cisco qui permet d'avoir une instance ST par VLAN (ça permet de faire de la répartition de flux puisqu'on peut ainsi définir un root bridge différent pour chaque VLAN).
  
-Cependant son inconvénient est que ce n'est pas un standart (donc concrètement ça ne tourne qu'entre équipements Cisco) et qui cela consomme beaucoup de ressources (CPU et réseau).+Cependant son inconvénient est que ce n'est pas un standard (donc concrètement ça ne tourne qu'entre équipements Cisco) et qui cela consomme beaucoup de ressources (CPU et réseau).
  
 Comme ce protocole utilise une instance par VLAN, chaque BID doit contenir le numéro de VLAN : la priorité du STP (**bridge priority**, sur 16 bits) a été décomposée en 2 champs pour devenir l'**extented bridge priority** 4+12 bits : 4 pour la priorité du switch et 12 bits pour identifier le VLAN (2^12 = 4096, le compte est bon). Cela permet donc de ne pas changer le format du champs, mais implique d'utiliser une priorité multiple de 4096 (on joue sur les 4 bits de poids fort du BID). Comme ce protocole utilise une instance par VLAN, chaque BID doit contenir le numéro de VLAN : la priorité du STP (**bridge priority**, sur 16 bits) a été décomposée en 2 champs pour devenir l'**extented bridge priority** 4+12 bits : 4 pour la priorité du switch et 12 bits pour identifier le VLAN (2^12 = 4096, le compte est bon). Cela permet donc de ne pas changer le format du champs, mais implique d'utiliser une priorité multiple de 4096 (on joue sur les 4 bits de poids fort du BID).
Line 155: Line 168:
  
 On active le RPVST : On active le RPVST :
-  Switch1(config)#spanning-tree mode rapid-pvst +<code bash> 
-  Switch2(config)#spanning-tree mode rapid-pvst+Switch1(config)#spanning-tree mode rapid-pvst 
 +Switch2(config)#spanning-tree mode rapid-pvst 
 +</code>
  
 La priorité par défaut est de 32768 : on va déclarer le Switch1 en "root primaire" et le 2 en "root secondaire" backup, ce qui va avoir comme effet de passer la priorité du Switch1 à 24576 et du Switch2 à 28672. La priorité par défaut est de 32768 : on va déclarer le Switch1 en "root primaire" et le 2 en "root secondaire" backup, ce qui va avoir comme effet de passer la priorité du Switch1 à 24576 et du Switch2 à 28672.
-  Switch1(config)#spanning-tree vlan 445 root primary +<code bash> 
-  Switch2(config)#spanning-tree vlan 445 root secondary+Switch1(config)#spanning-tree vlan 445 root primary 
 +Switch2(config)#spanning-tree vlan 445 root secondary 
 +</code>
  
 NB : quand on configure un switch en ''root primary'' sur un vlan, il va modifier dynamiquement sa priorité pour devenir root sur ce VLAN ; en revanche la commande ''root secondary'' __fixe__ une priorité statique de 28672 (juste prioritaire à la priorité d'un switch lambda configuré par défaut). NB : quand on configure un switch en ''root primary'' sur un vlan, il va modifier dynamiquement sa priorité pour devenir root sur ce VLAN ; en revanche la commande ''root secondary'' __fixe__ une priorité statique de 28672 (juste prioritaire à la priorité d'un switch lambda configuré par défaut).
  
 On aurait pu gérer les priorités statiques à la main : On aurait pu gérer les priorités statiques à la main :
-  Switch1(config)#spanning-tree vlan 445 priority 8192 +<code bash> 
-  Switch2(config)#spanning-tree vlan 445 priority 16384+Switch1(config)#spanning-tree vlan 445 priority 8192 
 +Switch2(config)#spanning-tree vlan 445 priority 16384 
 +</code>
  
 Vérification : Vérification :
-  Switch1#sh spanning-tree vlan 445 +<code bash> 
 +Switch1#sh spanning-tree vlan 445 
 +</code>
  
 =====MSTP===== =====MSTP=====
Line 194: Line 214:
 On va créer 2 instances dans la région region1 avec un n° de révision de 1 : On va créer 2 instances dans la région region1 avec un n° de révision de 1 :
  
-  Switch(config)#spanning-tree mst configuration +<code bash> 
-  Switch(config-mst)#instance 1 vlan 1-500 +Switch(config)#spanning-tree mst configuration 
-  Switch(config-mst)#instance 2 vlan 501-1000 +Switch(config-mst)#instance 1 vlan 1-500 
-  Switch(config-mst)#revision 1 +Switch(config-mst)#instance 2 vlan 501-1000 
-  Switch(config-mst)#name region1 +Switch(config-mst)#revision 1 
-  Switch(config-mst)#exit+Switch(config-mst)#name region1 
 +Switch(config-mst)#exit 
 +</code>
  
 Puis on active le MST : Puis on active le MST :
  
-  Switch(config)#spanning-tree mode mst+<code bash> 
 +Switch(config)#spanning-tree mode mst 
 +</code>
  
-Chaque commutateur doit avoir la même configuration de région sous peine de ne pas pouvoir communiquer avec les autres commutateurs "régionnaux".+Chaque commutateur doit avoir la même configuration de région sous peine de ne pas pouvoir communiquer avec les autres commutateurs "régionaux".
  
 Pour réinitialiser la détection des protocoles ST, il faut passer la commande : Pour réinitialiser la détection des protocoles ST, il faut passer la commande :
  
-  clear spanning-tree detected-protocols+<code bash> 
 +clear spanning-tree detected-protocols 
 +</code>
  
 Dans certains cas (à déterminer) il faut passer la directive suivante sur les interfaces physiques reliées à certains commutateurs : Dans certains cas (à déterminer) il faut passer la directive suivante sur les interfaces physiques reliées à certains commutateurs :
  
-  Switch(config-if)#spanning-tree mst pre-standart+<code bash> 
 +Switch(config-if)#spanning-tree mst pre-standart 
 +</code>
  
  
 ====Vérification==== ====Vérification====
  
-  show spanning-tree mst configuration +<code bash> 
-  show spanning-tree mst+show spanning-tree mst configuration 
 +show spanning-tree mst 
 +</code>
informatique/cisco/stp.txt · Last modified: 2016/02/15 15:41 by pteu