Spanning tree, Portfast, Backbonefast, Uplinkfast & co

Certains d’entre vous ont certainement entendu parler du protocole spanning tree, qui permet de « casser » la redondance d’un lien afin d’éviter les boucles de commutation, et lorsqu’un lien vient à tomber, spanning tree rétabli l’autre lien afin d’assurer une continuité de connectivité. Cela peut paraître idyllique, mais voilà, il faut à spanning tree 50s pour détecter les changements de topologies, et plus ennuyeux, lorsque l’on se branche sur un commutateur avec spanning tree activé, il faudra 50s pour que l’on puisse utiliser le port, ce qui peut causer des timeout au niveau de la demande d’adresse DHCP et avoir des ordinateurs qui n’arrivent pas à obtenir d’adresse IP du premier coup.Le but de cet article est donc de montrer quelques techniques permettant d’accélérer le processus spanning tree.

PortFast

Le mode portfast permet purement et simplement de désactiver le protocole spanning tree pour un ou plusieurs ports d’un commutateur.
ATTENTION ! Seuls les ports d’un commutateur qui sont reliés à des points d’extrémité et ne pouvant générer de redondance doivent être mis en mode portfast, sans quoi des boucles de commutations peuvent apparaître et bloquer votre réseau. Vous aurez d’ailleurs un bel avertissement en activant le mode portfast :

Switch(config-if)#spanning-tree portfast
%Warning: portfast should only be enabled on ports connected to a single host.
Connecting hubs, concentrators, switches,bridges, etc.to this interfacewhen portfast is enabled, can cause temporary spanning tree loops.
Use with CAUTION
Portfast has been configured on FastEthernet1/1 but will only have effect when the interface is in a non-trunking mode.
Switch(config-if)#

Comme vous avez pu le constater, l’utilisation du mode portfast peut s’avérer risquée. Voici donc quelques astuces pour « limiter les dégats » en cas de mauvaise utilisation.

BPDU Filter

Le mode spanning tree BPDU Filter permet de stopper l’envoi et la réception de BPDU par ce port. Si tant est si bien un BPDU de faufilait jusqu’à notre port, le mode portfast serait tout simplement enlevé de ce port et referai parti du processus spanning tree.

BPDU Guard

Un port en mode BPDU Guard va désactiver le port et le mettre en « Error disabled state » (Show spanning tree) si un BPDU arrive sur ce port.
Pour activer ces options :

Switch(config-if)#spanning-tree BPDUGuard enable
Switch(config-if)#spanning-tree BPDUFilter enable

optimisation

Bien, nous avons vu deux options sympathiques pour notre switch, mais ne nous arrêtons pas en si bon chemin. Voici quelques options permettant d’optimiser le temps de convergence spanning tree.

Uplinkfast

Comme vous le savez, lorsqu’un switch reçoit des BPDU par plusieurs de ses ports, il va en désactiver un et le mettre en mode bloqué et l’autre sera le port désigné. Si le lien du port désigné tombe, le porcessus spanning tree recommence. Le mode Uplinkfast permet de sauvegarder en mémoire les ports alternatifs vers le rootbridge de manière à ce que si un port tombe, le port alternatif soit instantanément réactivé sans repasser par les processus d’écoute et d’apprentissage classique de spanning tree.
Typiquement, les switchs sur lesquels on activera cette option seront les switchs d’accès (sur lesquels seront reliés les ordinateurs).

Backbonefast

Imaginons 3 switchs, le switch Root, le switch Gauche et le switch Droite. Gauche et Droite sont tous deux reliés au switch Root et sont reliés entre eux. Imaginons que le lien entre le switch Gauche et le switch Root tombe. Le switch Gauche n’ayant pas de chemin alternatif va se considérer comme le switch root et va envoyer un BPDU au switch Droite. D’ordinaire, celui-ci aurait ignoré ce BPDU ayant une valeur inférieure à la valeur en mémoire, jusqu’à ce que celle-ci expire (20s). Avec le mode backbonefast activé, la réception d’un BPDU de valeur inférieure force le switch à relancer le processus spanning tree, ce qui peux faire gagner 20s au processus spanning tree.

Switch(config-if)#spanning-tree backbonefast
Switch(config-if)#spanning-tree uplinkfast

Les options Backbonefast et Uplinkfast sont des options propriétaires Cisco, qui ont été créées pour améliorer le protocole spanning tree. Il est cependant utile de noter qu’un protocole stantardisé (802.1w) , appelé Rapid Spanning tree reprend ces mécanismes en plus du spanning tree, et est quant à lui disponible sur des plateformes non Cisco. Je vous conseille donc d’utiliser le rapid spanning tree. Il s’active de la sorte sur un Switch Cisco :

Switch(config)#spanning-tree mode rapid-pvst

Recent Entries

9 Responses to “Spanning tree, Portfast, Backbonefast, Uplinkfast & co”

  1. Yassine Says:

    Merciii ! c’est tres simple !

  2. homme Says:

    pour l’explication sur le protocol STP je crois que l’information publiée elle n’est pas si riche et même bien expliqué, il vaut mieux laisser les choses à celui qu’il a crée c’est leader CISCO. merci

  3. Samik Says:

    Bonne article, très utile, mais fait attention y’a quelque faute. @Homme, la doc cisco est bourré d’info mais avoir ce genre de petit article ici et là te permet de retrouver une info très vite et tout le monde sait que l’ont est très préssé ^^.

  4. Hikaru Says:

    « Le mode portfast permet purement et simplement de désactiver le protocole spanning tree pour un ou plusieurs ports d’un commutateur. »

    C’est faux 🙂 Il ne désactive pas STP, il force le passage de l’int en Forwarding sans passer par les autres étapes. C’est bien différent.

    Pas mal de raccourci du genre dans cet article, mais bonne introduction ou rappel ! Merci.

  5. Bastien Migette Says:

    Bonjour,
    Il faudrait peut être que je prenne le temps de remettre à jours mes vieux articles 🙂 Concernant le portfast, dans la mesure ou sans BPDUFilter / Guard, un switch n’empêcheras des boucles L2 de se former, on peut considérer que STP est « inactif », même si le processus tourne toujours en arrière plan.

  6. DBOV Says:

    Bonjour,
    bravo pour l’article, le contenu est bien expliqué
    Merci
    Daniel

  7. Bastien Migette Says:

    Merci 🙂

  8. hassan Says:

    je veux améliorer mon niveau au sécuirité réseau

  9. Bastien Migette Says:

    Comment puis je t’aider ?

Leave a Reply

Le temps imparti est dépassé. Merci de recharger le CAPTCHA.