Spanning Tree Protocol – Résolution de boucle et Exploitation

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

Spanning Tree

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 s 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, a peu prêt 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 pas qu’il existe 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

Bridge id

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 surnommé « 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 identifier. 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.

Cout STP

pour cela, il se base sur le « cout » de chaque lien traversé, la valeur du cout dépend de la bande passante du lien. Le « port racine » plus connu 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 simplement é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.

Afin 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, puis ils vont couper les autres ports.

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.

Rapid STP

Lorsque les commutateurs commencent à recevoir des BPDU des autres commutateurs, ils comparent les autres ID racine avec leurs propres valeurs d’enregistré. 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 à la mac adresse la plus basse qui l’emporte. Il s’agit bien du commutateur B .

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

 

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.

Spanning tree

Lorsqu’un switch reconnait 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 couteux vers le switch ROOT, qu’on peut aussi appeler switch Racine. Et si deux ports ont un cout 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ées directement sur le ROOT Bridge seront désigner Root Port.

Cout STP

par défaut, le cout associé à chaque port est lié à sa vitesse (plus la bande passante de l’interface est élevée, moins est le cout). Par exemple une liaison de 10 gigabits vaut un cout de 2, une liaison 1 gigabit aura un cout de 4 et ainsi de suite. Si on veut, ce cout 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 cout le plus bas vers lui.

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

STP Rapide

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.

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 à été élu ROOT bridge, car il à la plus petite mac adresse par rapport au switch A qui ont 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.

Switch STP

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

Protocole STP

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 couts 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 à vu 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

STP VLAN

ID Switch STP

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 du vlan viens s’ajouter dans le bridge id entre la priorité et la mac adresse. De cette façon, chaque VLAN sur le switch peut être représenté par un Bridge ID unique. Par exemple si il s’agit du vlan 2, un chiffre 2 sera écrit dans le champ système id.

wikipedia

EtherChannel : agrégation de lien – lien logique

PortFast et BPDU Guard Spnanning-tree Boucle

 

 

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.