STP vs RSTP : états et rôles des ports, vitesse de convergence, BPDU, compatibilité

Lorsque des commutateurs sont reliés par des chemins redondants, les trames de diffusion tournent sans fin dans la boucle et provoquent une tempête de diffusion. STP (Spanning Tree Protocol) fait échanger aux commutateurs des messages appelés BPDU et bloque certains ports pour que le réseau forme un arbre sans boucle dont la racine est le pont racine. Le STP classique (IEEE 802.1D) ne fait cependant passer les ports à l’état de transmission qu’après l’expiration de temporisateurs, pour qu’aucune boucle ne se forme : avec les valeurs par défaut, le rétablissement après une panne prend donc 30 à 50 secondes. RSTP (Rapid STP, IEEE 802.1w) conserve la même élection du pont racine et le même principe de blocage des ports, mais réduit le basculement à généralement quelques secondes ou moins, grâce à un échange de proposition et d’accord avec le commutateur voisin et à des ports alternatifs choisis à l’avance. RSTP a été intégré à l’édition 2004 d’IEEE 802.1D et a remplacé le STP classique comme norme.

CritèreSTPRSTP
NormeIEEE 802.1D (jusqu’à l’édition 1998)IEEE 802.1w ; intégré à l’édition 2004 d’IEEE 802.1D
États des portsCinq : désactivé, blocage, écoute, apprentissage, transmissionTrois : rejet (discarding), apprentissage, transmission
Rôles des portsPort racine et port désigné ; les ports qui ne sont ni l’un ni l’autre sont bloquésPorts racine et désignés, plus le port alternatif (remplaçant du port racine) et le port de secours (réserve d’un port désigné)
Temps de rétablissement après une panne30 à 50 secondes avec les temporisateurs par défaut (max age 20 s + forward delay 15 s × 2)Généralement quelques secondes ou moins
Mécanisme de basculement rapideAucun ; attend les temporisateurs et passe par l’écoute et l’apprentissage avant de transmettreSur les liaisons point à point, échange une proposition (proposal) et un accord (agreement) avec le voisin et commence à transmettre sans attendre les temporisateurs ; si le port racine tombe en panne, un port alternatif prend immédiatement le relais
Envoi des BPDU et détection des pannesChaque commutateur relaie les BPDU émises par le pont racine ; une panne est supposée lorsque les informations des BPDU ne sont pas rafraîchies pendant le max age (20 s par défaut)Chaque commutateur envoie ses propres BPDU à chaque hello time (2 s par défaut) ; une panne est supposée après trois BPDU consécutives manquées
Signalement des changements de topologieLe commutateur qui constate le changement en informe le pont racine par une BPDU TCN, et le pont racine le diffuse à tous ; les tables d’adresses MAC éliminent les anciennes entrées en raccourcissant leur durée de vie au forward delay (15 s)Le commutateur qui constate le changement en informe directement ses voisins, et les commutateurs qui le reçoivent purgent immédiatement les anciennes entrées de leur table d’adresses MAC
Ports des terminauxNon distingués par la norme ; un appareil branché attend environ 30 secondes avant que la transmission commenceUn port configuré comme port de bordure (edge port) transmet immédiatement ; s’il reçoit une BPDU, il est traité comme un port normal
CompatibilitéContinue de fonctionner en STP lorsqu’il est relié à des commutateurs RSTPSur les ports reliés à des commutateurs STP, passe à un comportement compatible STP (le basculement sur ce port devient lent)

Les valeurs indiquées sont des ordres de grandeur typiques et varient selon la génération de procédé et le produit.

Quand choisir l'un ou l'autre ?

STP
Conservé pour la compatibilité là où subsistent d’anciens commutateurs ne prenant pas en charge RSTP. Il n’y a presque aucune raison de choisir le STP classique pour un nouveau réseau.
RSTP
Le choix standard pour les réseaux dont les commutateurs sont reliés de façon redondante. Configurer les ports des terminaux en ports de bordure et utiliser des liaisons point à point en full-duplex entre commutateurs permet de tirer pleinement parti du basculement rapide.

Questions fréquentes

Pourquoi le basculement STP prend-il 30 à 50 secondes ?

Parce qu’il fait progresser les ports avec prudence pour qu’aucune boucle ne se forme. Pour une panne ailleurs dans le réseau, il attend d’abord le max age de 20 secondes pour que les informations périmées des BPDU expirent. Il attend ensuite un forward delay de 15 secondes dans chacun des états d’écoute et d’apprentissage, soit jusqu’à 20 + 15 × 2 = 50 secondes au total. Lorsqu’une liaison d’un port du commutateur lui-même tombe en panne, il n’a pas besoin d’attendre le max age : cela prend alors environ 30 secondes.

Peut-on mélanger des commutateurs RSTP et STP ?

Oui. Un commutateur RSTP passe à un comportement compatible STP sur un port où il reçoit des BPDU du STP classique. Sur ce port, toutefois, l’échange de proposition et d’accord n’est pas disponible et le commutateur s’appuie sur les temporisateurs : le basculement est donc plus lent. Pour obtenir un basculement rapide, il faut faire fonctionner RSTP sur tous les commutateurs du réseau.

Le pont racine est-il choisi différemment en STP et en RSTP ?

Non, c’est la même chose. Le commutateur ayant le plus petit identifiant de pont, composé de la priorité suivie de l’adresse MAC, devient le pont racine. La priorité par défaut est 32768 : sans configuration, c’est donc le commutateur à la plus petite adresse MAC qui l’emporte ; on règle donc couramment une priorité plus basse sur le commutateur destiné à être au centre.

Et si je veux un arbre distinct pour chaque VLAN ?

STP et RSTP construisent un seul arbre pour tout le réseau : une liaison bloquée est donc inutilisée pour tous les VLAN. MSTP (d’abord une extension distincte de la norme, désormais intégrée à IEEE 802.1Q) peut construire un arbre distinct (instance) pour chaque groupe de VLAN, si bien que différents VLAN peuvent utiliser différentes liaisons et que les liaisons redondantes sont mises à profit.

Vérifier vos connaissances

Dans un réseau où les commutateurs sont reliés par des chemins redondants, quel rôle joue le Spanning Tree Protocol (STP) ?

  1. AIl désactive logiquement certains ports pour que les chemins forment un arbre sans boucle, ce qui empêche les trames de diffusion de circuler indéfiniment
  2. BIl répartit les trames de façon égale sur plusieurs liaisons entre commutateurs pour augmenter la bande passante
  3. CIl relaie les trames entre VLAN différents pour que les VLAN puissent communiquer entre eux
Afficher la réponse et l'explication

Réponse : A. Il désactive logiquement certains ports pour que les chemins forment un arbre sans boucle, ce qui empêche les trames de diffusion de circuler indéfiniment

Si des commutateurs sont reliés en boucle, les diffusions et les trames destinées à des adresses inconnues tournent sans fin dans la boucle en se multipliant (tempête de diffusion, broadcast storm), et le réseau cesse de fonctionner. Cela vient de ce que les trames Ethernet n'ont pas de mécanisme comparable au TTL d'IP, qui compte les sauts et détruit la trame. STP fait échanger aux commutateurs des messages appelés BPDU et bloque certains ports pour que les chemins actifs forment un arbre dont la racine est le pont racine (root bridge). Si une liaison utilisée tombe en panne, il fait passer un port bloqué à l'état de transmission (forwarding) pour basculer sur un autre chemin.

En STP, on connaît les identifiants de pont de 3 commutateurs : SW1 a la priorité 32768 et l'adresse MAC 00-00-5E-00-53-01, SW2 la priorité 61440 et l'adresse MAC 00-00-5E-00-53-05, et SW3 la priorité 4096 et l'adresse MAC 00-00-5E-00-53-0A. Quel commutateur est élu pont racine ?

  1. ASW1
  2. BSW2
  3. CSW3
Afficher la réponse et l'explication

Réponse : C. SW3

En STP, le commutateur dont l'identifiant de pont (bridge ID) est le plus petit devient le pont racine. L'identifiant de pont place la priorité dans la partie haute et l'adresse MAC dans la partie basse : on compare donc d'abord les priorités, et les adresses MAC seulement si les priorités sont égales. Ici, SW3, dont la priorité de 4096 est la plus petite, devient le pont racine quelle que soit son adresse MAC. La priorité par défaut est de 32768 ; si rien n'est configuré, c'est le commutateur à l'adresse MAC la plus petite qui est choisi, et il est donc d'usage de donner une priorité plus faible au commutateur placé au centre du réseau.

3 commutateurs, SW1, SW2 et SW3, sont reliés en triangle par une liaison entre chaque paire. Le pont racine STP est SW1, et SW2 a un identifiant de pont plus petit que SW3. Toutes les liaisons ont le même coût de chemin. Quel port est bloqué (ne transmet pas de trames) ?

  1. ALe port de SW1 relié à SW3
  2. BLe port de SW2 relié à SW3
  3. CLe port de SW3 relié à SW2
Afficher la réponse et l'explication

Réponse : C. Le port de SW3 relié à SW2

Tous les ports du pont racine sont des ports désignés à l'état de transmission. SW2 et SW3 choisissent chacun comme port racine le port de plus faible coût vers le pont racine, c'est-à-dire le port relié directement à SW1. Sur la liaison restante SW2–SW3, les deux commutateurs ont le même coût vers le pont racine (une liaison) : c'est donc le port de SW2, dont l'identifiant de pont est le plus petit, qui devient le port désigné. Le port de SW3 n'est ni port racine ni port désigné ; il est donc bloqué, et la boucle triangulaire est rompue.

  1. Avec les temporisateurs par défaut, le STP classique (IEEE 802.1D) met environ 30 à 50 secondes après une panne avant qu'un port jusque-là bloqué commence à transmettre. Quel mécanisme permet à RSTP de basculer plus vite ?

Questions d'entraînement sur Conception et exploitation des réseaux

Termes clés expliqués

Spanning Tree Protocol (STP)
Protocole (IEEE 802.1D) qui, dans un réseau où les commutateurs sont reliés par des chemins redondants, bloque logiquement certains ports pour que les chemins forment un arbre sans boucle, ce qui empêche les tempêtes de diffusion. Si un chemin utilisé tombe en panne, il bascule en mettant en service un port bloqué. RSTP (Rapid Spanning Tree Protocol) en est une version améliorée qui bascule plus vite.
Adresse MAC
Adresse de 48 bits utilisée en Ethernet et en LAN sans fil pour désigner les équipements au sein d'un même réseau. Les 24 bits de poids fort identifient le fabricant, et l'adresse est attribuée à chaque interface lors de la fabrication.
Domaine de diffusion (broadcast domain)
Zone qu'atteint une trame de diffusion. Les commutateurs et les hubs transmettent les diffusions et appartiennent donc à la même zone, dont les routeurs (ou le routage d'un commutateur L3) marquent les limites. Avec les VLAN, un même commutateur peut être divisé en un domaine de diffusion distinct par VLAN. Si la zone est trop étendue, les diffusions comme celles d'ARP se multiplient et l'efficacité du réseau baisse.
VLAN (LAN virtuel)
Fonction qui crée des réseaux logiquement séparés (domaines de diffusion) sur un même équipement physique, en général par port de commutateur. Entre commutateurs, les VLAN se distinguent par des étiquettes IEEE 802.1Q.
Ethernet
Famille de normes (IEEE 802.3) des LAN filaires. Les données sont placées dans des trames adressées par adresse MAC. Ethernet fonctionne sur câble à paires torsadées et sur fibre optique, à des débits allant de 10 Mbit/s à plusieurs centaines de Gbit/s. Chaque trame se termine par un code de détection d'erreurs CRC-32, la séquence de contrôle de trame (FCS). Aujourd'hui, les appareils sont normalement reliés à des commutateurs en duplex intégral, si bien que l'ancienne gestion des collisions par CSMA/CD n'est plus utilisée.

Comparatifs associés