Le Spanning Tree Protocol empêche les tempêtes de diffusion et autres per­tur­ba­tions de la com­mu­ni­ca­tion dans un réseau. Cependant, le temps d’arrêt re­la­ti­ve­ment long qui résulte de la réor­ga­ni­sa­tion du réseau rend le procédé vul­né­rable aux attaques.

Qu’est-ce que le Spanning Tree Protocol ?

Le Spanning Tree Protocol (STP) est un procédé utilisé dans les réseaux Ethernet pour empêcher la formation de trames en double. Le STP a été inventé par Radia Perlman, tech­ni­cienne de réseau et dé­ve­lop­peuse de logiciels amé­ri­caine, et défini en 1990 par l’Institut des in­gé­nieurs élec­tri­ciens et élec­tro­ni­ciens (IEEE) comme norme 802.1D. En vérifiant si le réseau comporte des chemins re­don­dants et en les dé­sac­ti­vant, le Spanning Tree Protocol empêche la création de trames en double ou multiples pa­ral­lèles car cela en­traî­ne­rait par exemple des boucles. Le procédé étend le réseau physique en une ar­bo­res­cence qui ne nécessite pas de con­nexions multiples entre la source et la des­ti­na­tion.

Pourqoi le Spanning Tree Protocol est important ?

Le problème auquel le Spanning Tree Protocol remédie survient lorsque plusieurs chemins de données si­mul­ta­nés sont créés entre deux com­mu­ta­teurs dans un réseau. S’il existe plusieurs trames par les­quelles les paquets de données peuvent être acheminés, cela peut entraîner un dys­fonc­tion­ne­ment de l’ensemble du système. L’une des con­sé­quences possibles de l’existence d’au moins deux chemins si­mul­ta­nés entre deux points est ce que l’on appelle une tempête de diffusion (broadcast storm en anglais). Dans ce cas, l’ensemble du trafic de diffusion ou de mul­ti­dif­fu­sion est transmis et accumulé si­mul­ta­né­ment dans un réseau, ce qui peut entraîner un effet boule de neige et, dans le pire des cas, paralyser l’ensemble de la com­mu­ni­ca­tion. L’uti­li­sa­tion d’un Spanning Tree Protocol permet d’éviter ce phénomène et de préserver l’intégrité du réseau.

La topologie en ar­bo­res­cence de STP

Afin de garantir qu’il n’y ait pas de trames en double, le Spanning Tree Protocol établit un arbre couvrant (spanning tree en anglais). Dans cet arbre, la connexion entre deux points du réseau ne se fait que par un seul chemin. Cette méthode permet en plus de trouver la meilleure connexion possible. Si une trame devait toutefois tomber en panne ou être affectée par une per­tur­ba­tion, la connexion est réor­ga­ni­sée le plus ra­pi­de­ment possible par le Spanning Tree Protocol et un nouveau chemin est ouvert. Ainsi, les délais sont minimes et la connexion entre les dif­fé­rents com­mu­ta­teurs est maintenue.

Comment fonc­tionne le Spanning Tree Protocol ?

Avec le Spanning Tree Protocol, la com­mu­ni­ca­tion entre deux com­mu­ta­teurs ou ponts au sein d’un réseau s’effectue via des Bridge Protocol Data Units (BPDU). Celles-ci sont échangées à in­ter­valles très courts et envoyées sous forme de trames multicast à l’adresse MAC 01-80-C2-00-00-10. Une telle trans­mis­sion a lieu vers le pont le plus proche et le plus bas toutes les deux secondes. Ainsi, le Spanning Tree Protocol n’obtient pas seulement une vue d’ensemble de tous les chemins dis­po­nibles, mais peut également dé­ter­mi­ner la connexion la plus rapide. Pour cela, le débit de données et la distance entre deux points jouent un rôle décisif. Une fois le meilleur chemin déterminé, les autres ports sont dé­sac­ti­vés jusqu’à nouvel ordre.

Si, dans le cas du Spanning Tree Protocol, un Bridge Protocol Data Unit attendue fait défaut, le com­mu­ta­teur cible l’in­ter­prète comme une dé­fail­lance de la connexion et initie une réo­rien­ta­tion de la topologie du réseau. En cas de dis­po­si­tions com­pli­quées, le recalcul peut prendre 30 secondes, voire plus. Si le réseau a été redéployé, la trans­mis­sion peut être effectuée via une connexion de rem­pla­ce­ment jusqu’alors dé­sac­ti­vée. Ainsi, malgré une panne, la trans­mis­sion de données la plus rapide possible est garantie.

Le Rapid Spanning Tree Protocol

Ce nouveau calcul et le temps d’arrêt plus long qui en résulte sont mal­heu­reu­se­ment une porte d’entrée pour les attaques sur le réseau. Si une trame erronée est in­tro­duite et n’est pas bloquée par le système, cela peut dé­clen­cher une réor­ga­ni­sa­tion qui mettrait le réseau hors service pendant 30 secondes ou plus. C’est pour cette raison que le Rapid Spanning Tree Protocol (IEEE 802.1w) a été développé en 2003. Celui-ci est ré­tro­com­pa­tible et veille à ce que la structure actuelle du réseau soit maintenue jusqu’à ce que le tronçon dé­fail­lant soit remplacé. Ce n’est qu’à ce moment-là que l’ar­bo­res­cence est res­truc­tu­rée. Cette réor­ga­ni­sa­tion ne prend qu’une seconde environ.

Les états de port dans le Spanning Tree Protocol

Le Spanning Tree Protocol compte cinq états de port au total. Cela évite la formation d’une boucle et garantit qu’aucune in­for­ma­tion sur la topologie du réseau ne soit perdue. Les dif­fé­rents états sont les suivants :

  • For­war­ding : les ports listés comme for­war­ding peuvent trans­mettre des trames, apprendre des adresses et recevoir, traiter et trans­mettre des Bridge Protocol Data Units.
  • Blocking : les ports listés comme blocking rejettent les trames et n’ap­pren­nent pas d’adresses, mais reçoivent et traitent les Bridge Protocol Data Units.
  • Listening : les ports d’écoute rejettent les trames, n’ap­pren­nent pas d’adresses, mais reçoivent, traitent et trans­met­tent des unités de données de protocole de pont.
  • Learning : les ports d’ap­pren­tis­sage rejettent les trames, mais ap­pren­nent les adresses et reçoivent, traitent et trans­met­tent des unités de données de protocole de pont.
  • Disabled : les ports réglés sur disabled rejettent les trames, n’ap­pren­nent pas les adresses et ne peuvent ni recevoir ni traiter les Bridge Protocol Data Units.

Lorsque le Spanning Tree Protocol est activé, chaque port passe suc­ces­si­ve­ment par les états Blocking, Listening, Learning et For­war­ding.

Le pont racine dans le Spanning Tree Protocol

La première étape du Spanning Tree Protocol consiste à choisir un pont racine qui servira de point de départ au réseau. Les dif­fé­rents chemins sont ensuite dé­ve­lop­pés à partir de là, l’al­go­rithme activant ou dé­sac­ti­vant les ports. Seul le pont racine permet de modifier les pa­ra­mètres et de réajuster les tem­po­ri­sa­teurs suivants.

  • Hello : ce tem­po­ri­sa­teur définit le délai entre deux Bridge Protocol Data Units, en général deux secondes.
  • Forward-Delay : le deuxième tem­po­ri­sa­teur définit le temps dans les états Listening et Learning, qui est de 30 secondes au total.
  • Maximum Age : le troisième tem­po­ri­sa­teur indique la durée pendant laquelle un port conserve les in­for­ma­tions de con­fi­gu­ra­tion. Cette valeur est de 20 secondes par défaut.

Avantages et in­con­vé­nients du Spanning Tree Protocol

Le grand avantage du Spanning Tree Protocol est qu’il permet d’éviter les sur­charges ou les per­tur­ba­tions au sein d’un réseau. Les boucles sont exclues et les trajets pa­ral­lèles sont ainsi évités. L’iden­ti­fi­ca­tion de la connexion la plus courte est également un avantage pour le réseau. L’in­con­vé­nient du Spanning Tree Protocol est son temps de con­ver­gence re­la­ti­ve­ment long, qui favorise les attaques. L’in­tro­duc­tion du Rapid Spanning Tree Protocol et de son évolution, le Multiple Spanning Tree Protocol, qui permet de créer plusieurs trames in­dé­pen­dantes au sein d’un réseau local, permet toutefois de minimiser ces temps d’arrêt. Cela protège le réseau contre d’éven­tuelles attaques.

Conseil

Découvrez d’autres types de réseaux et de normes de protocole dans notre Digital Guide :

Aller au menu principal