Le Protocole STP
Le Protocole STP
Le Protocole STP
STP (Spanning Tree Protocol) est un protocole réseau de couche 2. Il est défini dans la norme
IEEE 802.1D.
STP apporte une solution au problème posé par la présence de boucles dans les réseaux
commutés de type Ethernet.
C’est quoi le problème et comment STP résout ce problème ?
Pour aller d’un point à un autre, un réseau commuté de type Ethernet doit avoir au moins
deux chemins : Un chemin principal et un chemin alternatif au cas où il y a une coupure du
chemin principal ou une panne d’un switch.
Soit le réseau de la figure 1. Il est clair que la machine PC1 peut communiquer avec la
machine PC2 en empruntant soit :
Le chemin SW1-SW2,
Le chemin SW1-SW3-SW2.
1
Supposons que La machine PC1 envoie une trame à la machine PC2.
Il s’agit d’une boucle qui ne finit jamais et qui génère des tempêtes de diffusion ou
broadcast storms en anglais.
Conclusion : Nous voyons que d’un côté, nous avons besoin de redondance dans un réseau
et de l’autre cette redondance crée des boucles qui génèrent des tempêtes de diffusion
(broadcast storm) qui saturent le réseau.
Solution : STP nous permet d’avoir un réseau redondant et sans boucles.
Comment fait le protocole STP pour empêcher les boucles de se produire dans un réseau
commuté redondant ?
Le protocole STP utilise des trames de données spéciales appelées BPDU (Bridge Protocol
Data Units). Pour permettre aux switchs d’avoir une trace des changements sur le réseau,
des BPDU sont échangées toutes les deux secondes sur l'adresse multicast
01:80:C2:00:00:00.
Les informations contenues dans les BPDU sont utilisées pour activer ou désactiver les ports
selon la topologie réseau requise. Lorsqu’un switch ou un pont est connecté au réseau, il
commence par envoyer des BPDU pour déterminer la topologie du réseau, avant de pouvoir
transférer des données. Les BPDU sont envoyés sur l'adresse multicast 01:80:C2:00:00:00.
2
TCN BPDU : utilisé pour annoncer les changements topologiques,
TCA BPDU : utilisé pour l'acquittement de changement de notification de la Topologie
Chaqu’un des switchs restants détermine parmi ses ports actifs un Root Port. Le Root Port
est celui qui possède la distance la plus courte (le coût ou cost le moins élevé) vers le Root
Bridge. Le coût dépend de la bande passante de chaque lien. Le tableau 1 donne la valeur de
quelques liens en fonction du débit.
En cas d'égalité, c'est le port ayant le port ID le plus faible qui sera élu. Donc, l'élection d'un
Root Port est effectuée en tenant compte des champs path cost et Port ID d'un paquet
BPDU. En cas d'égalité, c'est le port ayant le port ID le plus faible qui sera élu.
3
Pour chaque segment réseau reliant des switchs, un DP (Designated Port) est ensuite
déterminé. Le port désigné est le port relié au segment qui mène le plus directement à la
racine (somme totale des coûts des différents segments traversés est la plus petite).
Les ports qui ne sont ni RP, ni DP sont bloqués (BP : Blocked Port). Un port bloqué peut
recevoir des paquets BPDU mais ne peut pas en émettre.
Changements de topologie
Lorsqu’un lien est coupé ou qu'un switch est hors service, l'algorithme est exécuté à
nouveau et une nouvelle topologie est mise en place.
Quand un périphérique (un PC, une imprimante, un serveur etc…) est connecté au réseau,
son port se mettra automatiquement d'abord en mode listening puis en mode learning et
ensuite en mode forwarding.
Forward delay
Le forward delay est le délai de transition entre les modes listening vers learning et learning
vers forwarding. Ce délai est fixé par le Root Bridge et vaut quinze secondes par défaut.
STP a connu des évolutions notamment pour accélérer le temps de convergence. L'IEEE a
publié le document 802.1w pour décrire le RSTP (Rapid STP) qui accélère la convergence du
protocole STP après un changement de topologie. Alors que le temps de convergence est de
trente à cinquante secondes pour le STP classique, RSTP est capable de converger en 6
secondes.