DÉVERROUILLEZ LE MONDE DE L'IT

Apprentissage Sans Frontières

Accédez gratuitement à nos supports de cours et élargissez vos horizons en IT

Abonnez-vous à la Newsletter & Accédez à des Contenus Exclusifs

Spanning Tree Protocol - Résolution et Exploitation

Spanning Tree Protocol - Résolution et Exploitation

Damien.SO Damien.SO
12 minutes de lecture

Écouter l'article
Audio is generated by DropInBlog's AI and may have slight pronunciation nuances. Learn more

Le Spanning Tree permet de résoudre les problèmes de boucle, en gérant les différents chemins physiques vers les équipements du réseau.

Résolution de boucle avec STP

Grâce à ce protocole, il est possible de sécuriser le réseau avec de la redondance en évitant les effets indésirables des boucles réseau, en plaçant certains ports dans un état de blocage.

STP utilise des BPDU pour la communication entre les switchs.

Le terme BPDU, qui signifie « Bridge Protocol Data Unit » sont des trames qui sont échangées régulièrement, à peu près environ toutes les 2 secondes, et permettent aux switches de garder une trace des changements sur le réseau afin d’activer ou de désactiver les ports requis.

STP forcent certains ports dans un état bloqué pour qu'il n'existe pas plusieurs chemins d’un point à un autre.

Et si un problème arrive sur l’un des segments du réseau, alors le protocole STP réactivera le port bloqué, pour que les paquets puissent passer par un nouveau chemin unique.

Exploitation de l’arbre

L’algorithme spanning-tree procède en plusieurs étapes :

Tout d’abord, il va procéder à l’Élection du commutateur racine :

Une topologie sans boucle ressemble à un arbre et à la base de chaque arbre, on trouve ses racines, qu’on peut surnommer « roots ». Dans un réseau commuté, le root bridge, qui signifie commutateur racine, est élu. Chaque switch possède une adresse MAC et un numéro de priorité qu’on peut paramétrer. Ces deux nombres constituant l’identifiant de pont, plus connu sous le nom de BID pour bridge identifié. Le commutateur avec la priorité la plus basse l’emporte, et en cas d’égalité, c’est l’adresse MAC la plus basse qui l’emporte.

En général, l’administrateur du réseau fait en sorte que le commutateur racine soit le plus près possible du cœur réseau en modifiant le BID.

Ensuite, il va déterminer les ports racine :

Les autres commutateurs du réseau vont alors déterminer quel est le port qui possède la distance la plus courte vers le commutateur racine.

Pour cela, il se base sur le « coût » de chaque lien traversé, la valeur du coût dépend de la bande passante du lien. Le « port racine » plus connue sous le nom de root port ou bien simplement RP, sera celui qui mène le plus directement au commutateur racine. Il ne peut y avoir qu’un root port par commutateur. En cas d’égalité, c’est le port ayant le port ID le plus faible qui sera élu.

Ensuite, il va déterminer les ports désignés :

Pour chaque segment réseau reliant des commutateurs, un « port désigné » qu’on surnomme : designated port ou bien : DP, est déterminé. Il s’agit du port relié au segment qui mène le plus directement à la racine.

Et pour finir, il va bloquer les autres ports :

Les ports qui ne sont ni racine, ni désignés sont bloqués. Un port bloqué peut recevoir des paquets BPDU mais ne peut pas en émettre.

En cas de changement de topologie, lorsqu’un lien est coupé ou qu’un commutateur tombe en panne ou bien qu’il est facilement éteint, l’algorithme est exécuté à nouveau et un nouvel arbre est mis en place.

Exemple Spanning-Tree

L’algorithme STP procède en plusieurs phases :

  • D’abord, il va élire le commutateur racine,
  • Ensuite, il détermine les ports racine de chaque commutateur,
  • Ensuite les ports désignés sur chaque segment,
  • Et pour finir, il bloque les autres ports afin d’éviter les boucles.

Dans le but de détecter les boucles, les switchs émettent des messages appelés BPDU, qui signifie Bridge Protocol Data Units.

Les BPDU vont permettre de découvrir la topologie, et d’élire le Root Bridge.

Le Root Bridge est en quelque sorte le chef de la topologie Spanning Tree.

Une fois le Root Bridge élu, les switchs vont rechercher le meilleur chemin vers le Root Bridge.

Les chemins redondants seront désactivés.

En d’autres termes, les switchs vont chercher le port avec la métrique la plus faible vers le Root Bridge. Ensuite ils vont couper les autres ports.

Première étape

La première étape est donc l’élection d’un commutateur racine en désignant le Bridge ID le plus bas. Initialement, tous les switchs pensent qu’ils le sont. Ils prétendent tous être la racine de l’arbre.

Lorsque les commutateurs commencent à recevoir des BPDU des autres commutateurs, ils comparent les autres ID racine avec leurs propres valeurs d’enregistrées. Si la valeur reçue est inférieure à la valeur enregistrée, alors le switch notera qu’il n’est pas élu comme la racine et remplacera la valeur enregistrée par la valeur reçue. Il enverra cette info dans ses propres trames BPDU.

En gros, tous les switches apprennent et enregistrent le Bridge ID du switch la plus basse.

Dans l’exemple, le commutateur B devient le pont racine, car il possède le Bridge ID le plus bas. Comme le commutateur A et le commutateur B ont la même priorité, ici réglée à 28672, ce sera le switch qui à le mac adresse la plus basse qui l’emporte. Il s’agit bien du commutateur B.

L’hexadécimal commence de 0 à 9 et de A à F. On voit bien que le mac adresse du switch B qui commence par 4fois0.0c9 est plus petite que le mac adresse du switch A qui commence par 4fois0.0ca. Car dans le tableau des hexadécimaux, le 9 est plus petit que le A.

Deuxième étape

La deuxième Étape consiste à élire les ports racine, plus connus sous le nom de root port ou bien représentés comme dans l’exemple par les initiales RP.

Lorsqu’un switch reconnaît qu’il n’est pas le ROOT, il marque le port sur lequel il reçoit ces BPDU comme son port racine.

Dans le cas où il reçoit des BPDU sur plusieurs ports, il choisira le port qui a le chemin le moins coûteux vers le switch ROOT, qu’on peut aussi appeler switch Racine. Et si deux ports ont un coût de trajet identique vers la racine, alors le switch choisira le Bridge ID le plus bas, comme pour l’élection du switch Racine. En général, les switchs qui sont connectés directement sur le ROOT Bridge seront désignés Root Port.

Par défaut, le coût associé à chaque port est lié à sa vitesse (plus la bande passante de l’interface est élevée, moins est le coût). Par exemple, une liaison de 10 gigabits vaut un coût de 2, une liaison 1 gigabit aura un coût de 4 et ainsi de suite. Si on veut, ce coût peut être modifié manuellement.

Ici, dans l’exemple, les commutateurs A, C et D marquent les ports directement connectés au commutateur B comme ROOT PORT, car ils ont le coût le plus bas vers lui.

Troisième étape

La troisième Étape consiste à élire un port désigné pour chaque segment.

Après avoir choisi le ROOT bridge et les root port. Les commutateurs déterminent quel port sera désigné pour chaque lien Ethernet. Ce processus est similaire à l’élection du ROOT BRIDGE et des ROOT PORT. Chaque switch envoie des BPDU pour désigner un port sur chaque lien entre les switchs.

Dans l’exemple, tous les ports du switch B sont désignés, car il s’agit du ROOT.
Pour le lien entre le switch A et D, comme le switch A, à la priorité la plus basse, le port désigné sera de son côté. Idem avec le switch C. Il ne peut y avoir qu’un seul port désigné sur un même lien. Si la priorité avait été identique alors, la comparaison aurait eu lieu sur l’adresse mac la plus basse. Comme pour l’élection du root bridge.

Dernière étape

Et pour finir, la dernière étape consiste à mettre les ports dans un état de blocage ou de transfert.
Nous avons vu, que le switch B a été élu ROOT bridge, car il a le plus petit mac adresse par rapport au switch A qui a la même priorité réglée à 28672.
Ensuite, on a vu que ROOT PORT correspondent au chemin le plus court vers le ROOT BRIDGE.
Un switch ne peut avoir qu’un seul meilleur chemin vers celui-ci. C’est pourquoi il ne peut y avoir qu’un seul port nommé en ROOT PORT par switch.

Et ensuite ont vu les ports désignés pour chaque lien entre les switchs.

Il nous reste donc maintenant, le port coté Switch C du lien entre le switch C et A.
Et le port du switch D, sur le lien entre celui-ci et le switch A.

Pour éviter les boucles réseaux, le protocole spanning tree bloquera les ports qui ne sont ni ROOT PORT et ni les ports désignés.

Types de protocoles Spanning-Tree

Le spanning tree est un protocole réseau qui assure une topologie sans boucles. Il en existe plusieurs variétés.

On y trouve la forme basic du spanning tree qui est tout simple, le STP, permettant une redondance sans boucle.
Il y’a le RSTP, qui signifie rapid spanning tree. C’est l’évolution du STP qui offre une convergence plus rapide. Il redéfinit également les rôles des ports et les coûts de liaison.

Le PVST et PVST +, qui signifie, Per Vlan Spanning tree, permet de mettre en place un spanning tree différent par vlan. Le principe est simple : il y a un Root Bridge par VLAN.
Ce qui fait que tous les liens seront utilisés, mais pas par les mêmes VLAN.
Au final, la charge sera mieux répartie.

Le Rapid-PVST + est une amélioration de ceux qu’on a vus précédemment.

Et le MSTP, qui signifie Multiple Spanning Tree Protocol, est une extension du Rapid spanning tree dans laquelle une instance de celui-ci existe par groupe de VLAN.

Par défaut sur les switchs Cisco C’est PVST + qui est activé sur tous les ports. Même s’il a une convergence beaucoup plus lente, après un changement de topologie, que le rapid PVST +, il nécessite moins de CPU et de ressources mémoires pour calculer le chemin le plus court.

Per VLAN Spanning Tree Plus

PVST + comprend plusieurs arborescences couvrant le réseau (une par VLAN). Cela permet un partage des charges plus optimal. Un ROOT Bridge sera élu pour chaque VLAN. De cette façon, le réseau est encore plus redondant que dans du spanning tree basic. Un champ comporte l’identifiant de vlan vient s’ajouter dans le bridge id entre la priorité et le mac adresse. De cette manière, chaque VLAN sur le switch peut être représenté par un Bridge ID unique. Par exemple, s’il s’agit de vlan 2, un chiffre 2 sera écrit dans le champ système id.

Retrouvez tous nos cours pour réussir votre CCNA sur la chaîne YouTube de Formip.

« Retour au blog