Accueil🇫🇷Chercher

Spanning Tree Protocol

Le Spanning Tree Protocol (aussi appelé STP) est un protocole réseau de niveau 2 permettant de déterminer une topologie réseau sans boucle (appelée algorithme de l'arbre recouvrant) dans les LAN avec ponts. Il est défini dans la norme IEEE 802.1D et est basé sur un algorithme décrit par Radia Perlman en 1985[1].

Le problème

Les réseaux commutés de type Ethernet doivent avoir un chemin unique entre deux points, cela s'appelle une topologie sans boucle. En effet, la présence de boucle génère des tempêtes de diffusion qui paralysent le réseau : tous les liens sont saturés de trames de diffusion qui tournent en rond dans les boucles et les tables d'apprentissage des commutateurs (switch) deviennent instables.

Une solution serait de ne pas tirer les câbles en surnombre de manière à ne pas avoir de boucles dans le réseau. Néanmoins, un bon réseau doit aussi offrir de la redondance pour proposer un chemin alternatif en cas de panne d'une liaison ou d'un commutateur (switch).

L'algorithme de « spanning tree minimum » garantit l'unicité du chemin entre deux points du réseau tout en n'interdisant pas les câbles en surnombre. Pour cela, il bloque administrativement certains ports des commutateurs (switch).

Mode de fonctionnement

L'algorithme STP procède en plusieurs phases : élection du commutateur racine, détermination du port racine sur chaque commutateur, détermination du port désigné sur chaque segment, blocage des autres ports.

  • RĂ©seau d'exemple reprĂ©sentant le fonctionnement de STP
  • 1. Les cases numĂ©rotĂ©es reprĂ©sentent des commutateurs (le numĂ©ro Ă©tant le bridge ID). Les nuages repĂ©rĂ©s par des lettres reprĂ©sentent les segments du rĂ©seau.
    1. Les cases numérotées représentent des commutateurs (le numéro étant le bridge ID). Les nuages repérés par des lettres représentent les segments du réseau.
  • 2. Le plus petit bridge ID vaut 3. Par consĂ©quent, le commutateur 3 devient le commutateur racine.
    2. Le plus petit bridge ID vaut 3. Par conséquent, le commutateur 3 devient le commutateur racine.
  • 3. En supposant que le coĂ»t de traversĂ©e de chaque segment rĂ©seau est 1, le chemin de moindre coĂ»t du commutateur 4 au commutateur racine passe par le segment rĂ©seau "c". Par consĂ©quent, le port racine pour le commutateur 4 est celui qui mène au segment rĂ©seau "c".
    3. En supposant que le coût de traversée de chaque segment réseau est 1, le chemin de moindre coût du commutateur 4 au commutateur racine passe par le segment réseau "c". Par conséquent, le port racine pour le commutateur 4 est celui qui mène au segment réseau "c".
  • 4. Le chemin de moindre coĂ»t depuis le segment rĂ©seau "e" passe par le commutateur 92. Par consĂ©quent, le port dĂ©signĂ© pour le segment rĂ©seau "e" est le port qui le connecte au commutateur 92.
    4. Le chemin de moindre coût depuis le segment réseau "e" passe par le commutateur 92. Par conséquent, le port désigné pour le segment réseau "e" est le port qui le connecte au commutateur 92.
  • 5. Tout port qui n'est ni racine ni dĂ©signĂ© devient un port bloquĂ©.
    5. Tout port qui n'est ni racine ni désigné devient un port bloqué.
  • 6. Après la chute d'un lien (marquĂ©e par une croix), un nouvel arbre de moindre coĂ»t est calculĂ©.
    6. Après la chute d'un lien (marquée par une croix), un nouvel arbre de moindre coût est calculé.

Élection du commutateur racine

Une topologie sans boucle ressemble à un arbre et à la base de chaque arbre, on trouve ses racines (roots). Dans un réseau commuté, le root bridge (commutateur racine) est élu. Chaque commutateur a une adresse MAC et un numéro de priorité paramétrable (0x8000 par défaut), ces deux nombres constituant l'identifiant de pont (bridge identifier, BID). 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 influence le résultat de l'élection pour que le commutateur racine choisi soit le plus près possible du cœur de réseau. Pour cela, il configure la priorité du commutateur racine le plus opportun en fonction de la topologie du réseau, ainsi que la priorité d'un autre commutateur qui deviendra commutateur racine en cas de défaillance du commutateur racine principal.

DĂ©termination des 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. Pour cela, ils utilisent le « coût » de chaque lien traversé, ce coût dépendant de la bande passante du lien. Le « port racine » (root port, RP) sera celui qui mène le plus directement au commutateur racine. Chaque commutateur doit avoir un seul root port. L'élection d'un root port est effectuée d'après les 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.

Détermination des ports désignés

Pour chaque segment réseau reliant des commutateurs, un « port désigné » (designated port, DP) est ensuite déterminé. Ces segments peuvent relier plus de deux commutateurs. Le port désigné est le port relié au segment qui mène le plus directement à la racine.

Blocage des 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.

Changements de topologie

En cas de changement de topologie, lorsqu'un lien est coupé ou qu'un commutateur tombe en panne ou est éteint, l'algorithme est exécuté à nouveau et un nouvel arbre recouvrant est mis en place. Les boucles assurent donc de la redondance.

Bridge Protocol Data Units (BPDU)

Les BID et autres informations du protocole spanning tree sont transportés dans des unités de trames de données spéciales nommées BPDU (Bridge Protocol Data Units). Les BPDU sont échangées régulièrement (toutes les deux secondes) et permettent aux commutateurs de garder une trace des changements sur le réseau afin d'activer ou de désactiver les ports requis. Quand un commutateur ou un pont est raccordé au réseau, il commence par envoyer des BPDU afin de déterminer la topologie du réseau, avant de pouvoir commencer à transférer des données.

Il existe trois types de BPDU :

  • la configuration BPDU(CBPDU), utilisĂ© pour le calcul du spanning tree ;
  • la notification de changement de topologie (TCN) BPDU, utilisĂ© pour annoncer les changements topologiques ;
  • l'acquittement de changement de notification de la Topologie (TCA).

Les BPDU sont envoyés sur l'adresse multicast 01:80:C2:00:00:00.

Mode des ports sur les commutateurs en STP

Les ports des commutateurs oĂą STP est actif sont dans l'un des Ă©tats suivants :

  • listening : le commutateur « Ă©coute » les BPDU et dĂ©termine la topologie rĂ©seau ;
  • learning : le commutateur construit une table faisant correspondre les adresses MAC aux numĂ©ros des ports ;
  • forwarding : un port reçoit et envoie des donnĂ©es, opĂ©ration normale ;
  • blocking : un port provoquant une boucle, aucune donnĂ©e n'est envoyĂ©e ou reçue mais le port peut passer en mode forwarding si un autre lien tombe ;
  • disabled : dĂ©sactivĂ©, un administrateur peut manuellement dĂ©sactiver un port s'il le souhaite.

Le délai de transition entre les modes listening vers learning et learning vers forwarding est nommé forward delay, il est fixé par le root bridge et vaut quinze secondes par défaut.

Quand un client tel qu'un ordinateur, une imprimante ou un serveur est connecté au réseau, son port se mettra automatiquement d'abord en mode listening puis en mode learning, avant de se mettre en mode forwarding.

Pour raccourcir le délai de latence allant de trente à cinquante secondes inhérent à la connexion d'un nouveau périphérique, le Rapid STP a été développé et standardisé par la norme IEEE 802.1w ; il permet à un port de commutateur de passer directement en mode forwarding.

Il est également possible d'exclure certains ports du fonctionnement du spanning tree, pour autant que l'on soit sûr qu'aucune boucle n'est possible sur ceux-ci.

Évolutions et extensions

L'algorithme original de Spanning Tree a été décrit par Radia Perlman alors employée par Digital Equipment Corporation, il est nommé DEC STP. En 1990, l'IEEE publiait le premier standard 802.1D basé sur le travail de Perlman. Des versions ultérieures ont été publiées en 1998 et 2004.

Il existe certaines différences entre DEC STP et 802.1D qui peuvent causer des problèmes d'interopérabilité.

Les évolutions de STP tentent d'en améliorer certains aspects, notamment :

  • obtenir une meilleure vitesse de convergence, le protocole original nĂ©cessitant plus de trente secondes pour converger ;
  • exploiter mieux les liens existants, STP bloquant certaines liaisons pour Ă©viter les boucles, celles-ci ne sont alors pas du tout utilisĂ©es pour le transport du trafic.

Rapid Spanning Tree Protocol (RSTP)

En 1998, l'IEEE publie le document 802.1w qui accélère la convergence du protocole STP après un changement de topologie. Il est inclus dans standard IEEE 802.1D-2004. Tandis que le STP classique peut prendre de trente à cinquante secondes pour converger après un changement de topologie, RSTP est capable de converger en trois fois la valeur du délai Hello (deux secondes par défaut pour un Hello, c'est-à-dire 3 × 2 = 6 secondes de temps de convergence.)[2] - [3].

RĂ´le des ports RSTP
  • Root : le port le plus près (quant au coĂ»t du chemin) du root bridge.
  • Designated : le port qui transmet les trames sur un segment.
  • Alternate : un port distinct du root port vers le root bridge. Il s'agit du meilleur chemin "alternatif" vers le root bridge, et passe (en cas de changement de dĂ©faillance du port root) directement Ă  l'Ă©tat forwarding.
  • Backup : Lors d'une connexion redondante d'un segment vers un autre bridge (deux connexion vers le mĂŞme domaine de collision) un autre port vers un segment connectĂ© au pont. L'un des ports (selon la prioritĂ©) aura comme rĂ´le celui de Backup.

Le fonctionnement général de RSTP est semblable à celui du STP classique. Les différences sont les suivantes :

  • une dĂ©faillance du root bridge est dĂ©tectĂ©e en trois dĂ©lais hello, c'est-Ă -dire six secondes avec les valeurs par dĂ©faut ;
  • les ports qui ne sont pas connectĂ©s Ă  d'autres commutateurs (edge ports) peuvent basculer immĂ©diatement dans l'Ă©tat forwarding. RSTP continue Ă  observer l'arrivĂ©e de BPDU sur ces ports pour s'assurer qu'aucune boucle n'est possible. Si un BPDU est observĂ©, le port bascule dans le statut non edge ;
  • contrairement au STP classique, RSTP rĂ©agit aux annonces BPDU qui proviennent du root bridge. Un bridge RSTP diffuse son information RSTP sur ses designated ports. Si un bridge reçoit un BPDU indiquant un meilleur root bridge, il place tous les autres ports dans l'Ă©tat discarding et informe ce bridge qu'il est le meilleur chemin vers le root. En recevant cette information, celui-ci peut faire transiter le port vers ce bridge immĂ©diatement dans l'Ă©tat forwarding sans passer par les Ă©tats listening et learning, puisque aucune boucle n'est possible. Ceci constitue une amĂ©lioration majeure quant Ă  la vitesse de convergence ;
  • RSTP conserve des informations au sujet d'un chemin alternatif vers le root bridge, ainsi qu'un chemin de backup vers les segments, ceci permet une transition rapide en cas de problème sur une liaison.

Per-VLAN Spanning Tree (PVST)

Quand plusieurs VLAN existent dans un réseau ethernet commuté, STP peut fonctionner de façon indépendante sur chacun des VLAN séparément. Ce mode de fonctionnement a été baptisé PVST(+) par Cisco. C'est le mode par défaut sur les commutateurs de la marque. Il s'agit d'un développement propriétaire qui est également pris en charge par certains fournisseurs concurrents.

PVST fonctionne uniquement avec Cisco Inter-Switch Link (ISL). PVST+ est utilisé avec dot1q.

Multiple Spanning Tree Protocol (MSTP)

Le Multiple Spanning Tree Protocol (MSTP), défini dans la norme IEEE 802.1s puis inclus dans IEEE 802.1Q-2003, est une extension de RSTP dans laquelle une instance de RSTP existe par groupe de VLAN.

Disposer de plusieurs instances de STP permet de mieux utiliser les liaisons dans le réseau, si la topologie STP est différente pour certains groupes de VLAN. Contrairement à PVST, il n'est cependant pas nécessaire de disposer d'une instance par VLAN, ceux-ci pouvant être très nombreux, les VLAN étant groupés.

MSTP a été inspiré par le protocole de Cisco Multiple Instances Spanning Tree Protocol (MISTP).

MSTP est compatible avec les ponts RSTP, le format de BPDU Ă©tant le mĂŞme.

Shortest Path Bridging (SPB)

En , l'IEEE approuve le standard IEEE 802.1aq[4] - [5] qui est connu et documenté dans la plupart des livres comme Shortest Path Bridging (SPB). SPB permet à tous les liens d'être actifs à travers des chemins multiples à coût égal, et fournit des topologies couche 2 beaucoup plus vastes, une convergence plus rapide, et améliore l'utilisation des topologies maillées par l'augmentation de la bande passante entre tous les périphériques en permettant au trafic de répartir les charges via l'ensemble des chemins d'un réseau maillé[6].

SPB consolide de multiples fonctionnalités existantes, y compris Spanning Tree Protocol (STP), Multiple Spanning Tree Protocol (MSTP), Rapid Spanning Tree Protocol (RSTP), agrégation de liens, et Multiple MAC Registration Protocol (MMRP) dans un seul protocole d'état de lien. SPB est conçu pour éliminer virtuellement toute erreur humaine lors des configurations et préserve la nature plug-and-play qui a établi Ethernet comme le protocole de facto à la couche liaison de données.

Notes et références

Liens externes

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.