TRI 2°: Introduction Protocole Spanning Tree (STP)

Le protocole STP garantit l’unicité du chemin logique entre toutes les destinations sur le réseau en bloquant intentionnellement les chemins redondants susceptibles d’entraîner la formation d’une boucle. Un port est considéré comme bloqué lorsque les données utilisateur ne sont pas autorisées à entrer ou à sortir du port, à l’exception des trames d'unité BPDU (Bridged Protocol Data Unit) qui sont employées par le protocole STP pour empêcher la formation des boucles. 

Le blocage des chemins redondants est essentiel pour empêcher la formation de boucles sur le réseau. Les chemins physiques sont préservés pour assurer la redondance, mais ils sont désactivés afin d’empêcher la création de boucles. Si le chemin est amené à être utilisé en cas de panne d’un commutateur ou d’un câble réseau, l’algorithme Spanning Tree (STA) recalcule les chemins et débloque les ports nécessaires pour permettre la réactivation du chemin redondant.

Algorithme Spanning Tree :

Le protocole STP IEEE 802.1D utilise l'algorithme Spanning Tree (STA, Spanning Tree Algorithm) pour déterminer quels sont les ports de commutation d'un réseau à bloquer (état de blocage) pour empêcher la formation de boucles. L’algorithme STA désigne un commutateur unique comme pont racine et il l’utilise comme point de référence pour le calcul de tous les chemins. Dans cette figure, le pont racine (commutateur S1) a été choisi par le biais d'un processus de sélection. Tous les commutateurs associés au protocole STP échangent des trames BPDU pour identifier le commutateur doté de l'ID de pont le plus faible sur le réseau. Le commutateur doté de l'identificateur (ID) le plus faible devient automatiquement le pont racine pour les calculs de l’algorithme STA. 

Remarque : pour plus de simplicité et sauf spécification contraire, partons de l'hypothèse que tous les ports de tous les commutateurs sont affectés au VLAN 1. Chaque commutateur dispose d'une adresse MAC unique, associée au VLAN 1. 

Une BPDU est une trame de message échangée par les commutateurs pour le protocole STP. Chaque trame BPDU contient un identificateur de pont qui identifie le commutateur ayant envoyé la trame BPDU. L'ID de pont contient une valeur de priorité, l'adresse MAC du commutateur émetteur et un ID système étendu facultatif. La valeur d'ID de pont la plus basse est déterminée par une combinaison de ces trois champs. 


Les rôles des ports

Les rôles de port décrivent la relation entre les ports du réseau et le pont racine, et indiquent s'ils sont autorisés à réacheminer du trafic de données : 

Ports racine : il s’agit des ports de commutation les plus proches du pont racine. Dans la figure, le port racine de S2 est F0/1, configuré pour la liaison trunk entre S2 et S1. Le port racine de S3 est F0/1, configuré pour la liaison trunk entre S3 et S1. Les ports racine sont sélectionnés individuellement pour chaque commutateur. 

• Ports désignés : il s’agit de tous les ports non racine qui sont autorisés à acheminer le trafic sur le réseau. Dans la figure, les ports de commutation (F0/1 et F0/2) sur S1 sont des ports désignés. Le port F0/2 de S2 est également configuré comme port désigné. Les ports désignés sont sélectionnés individuellement pour chaque trunk. Si l'une des extrémités d'un trunk est un port racine, l'autre extrémité est alors un port désigné. Tous les ports du pont racine sont des ports désignés. 

• Ports alternatifs et ports de sauvegarde : les ports alternatifs et les ports de sauvegarde sont configurés avec un état de blocage, pour éviter la formation de boucles. Dans la figure, le port F0/2 configuré STA sur S3 a un rôle de port alternatif. Le port F0/2 sur S3 présente un état de blocage. Des ports alternatifs sont sélectionnés uniquement sur les liaisons trunk où aucun port de périphérie n'est un port racine. Notez que, dans la figure, seule l'une des extrémités du trunk est bloquée. Cela permet une transition plus rapide vers l'état de réacheminement, si nécessaire. (Les ports bloqués entrent en jeu uniquement lorsque deux ports du même commutateur sont connectés l'un à l'autre via un concentrateur ou un câble simple.) 

• Ports désactivés : un port désactivé est un port de commutation arrêté.  


Tous les commutateurs du domaine de diffusion participent au processus d’élection. Après son amorçage, le commutateur commence à envoyer des trames BPDU toutes les deux secondes. Ces trames BPDU contiennent l'ID de pont du commutateur et l'ID de racine. 

Lorsque le commutateur réachemine ses trames BPDU, les commutateurs adjacents dans le domaine de diffusion lisent les données d'ID de racine contenue dans ces trames BPDU. Si l'ID de racine d'une trame BPDU reçue est inférieur à l'ID de racine du commutateur qui la reçoit, ce dernier met à jour son propre ID de racine, identifiant le commutateur adjacent en tant que pont racine. 

Le commutateur n'est d'ailleurs pas nécessairement adjacent ; il peut s'agir de n'importe quel autre commutateur du domaine de diffusion. Le commutateur transmet ensuite les nouvelles trames BPDU dotées de l’ID de racine plus faible aux autres commutateurs adjacents. Au final, le commutateur présentant l'ID de pont le plus bas est identifié comme étant le pont racine pour l'instance Spanning Tree. Un pont racine est déterminé pour chaque instance Spanning Tree. Il est possible d'avoir plusieurs ponts racine distincts. Si tous les ports de tous les commutateurs sont membres de VLAN 1, il n'y aura qu'une seule instance Spanning Tree. L'ID système étendu joue un rôle dans la détermination des instances Spanning Tree.