Vous êtes sur la page 1sur 6

Spanning Tree Protocol

Le Spanning Tree Protocol (algorithme de l'arbre recouvrant, aussi appel STP) est
un protocole rseau de niveau 2 permettant de dterminer une topologie rseau sans
boucle(appele arbre) dans les LAN avec ponts. Il est dfini dans la norme IEEE 802.1D et est
bas sur un algorithme dcrit par Radia Perlman en 19851.

Sommaire
[masquer]

1Le problme
2Mode de fonctionnement
o 2.1lection du commutateur racine
o 2.2Dtermination des ports racine
o 2.3Dtermination des ports dsigns
o 2.4Blocage des autres ports
o 2.5Changements de topologie
3Bridge Protocol Data Units (BPDU)
4Mode des ports sur les commutateurs en STP
5volutions et extensions
o 5.1Rapid Spanning Tree Protocol (RSTP)
o 5.2Per-VLAN Spanning Tree (PVST)
o 5.3Multiple Spanning Tree Protocol (MSTP)
o 5.4Shortest Path Bridging (SPB)
6Notes et rfrences
7Liens externes

Le problme[modifier | modifier le code]


Les rseaux commuts de type Ethernet doivent avoir un chemin unique entre deux points, cela
s'appelle une topologie sans boucle. En effet, la prsence de boucle gnre des temptes de
diffusion qui paralysent le rseau : tous les liens sont saturs de trames de diffusion qui tournent
en rond dans les boucles et les tables d'apprentissage des commutateurs deviennent instables.
Une solution serait de ne pas tirer les cbles en surnombre de manire ne pas avoir de boucles
dans le rseau. Nanmoins, un bon rseau doit aussi offrir de la redondance pour proposer un
chemin alternatif en cas de panne d'une liaison ou d'un commutateur.
L'algorithme de spanning tree minimum garantit l'unicit du chemin entre deux points du
rseau tout en n'interdisant pas les cbles en surnombre. Pour cela, il bloque administrativement
certains ports des commutateurs.

Mode de fonctionnement[modifier | modifier le code]


L'algorithme STP procde en plusieurs phases : lection du commutateur racine, dtermination
du port racine sur chaque commutateur, dtermination du port dsign sur chaque segment,
blocage des autres ports.

Rseau d'exemple reprsentant le fonctionnement de STP


1. Les cases numrotes reprsentent des commutateurs (le numro tant le bridge ID). Les nuages
reprs par des lettres reprsentent les segments du rseau.

2. Le plus petit bridge ID vaut 3. Par consquent, le commutateur 3 devient le commutateur racine.

3. En supposant que le cot de traverse de chaque segment rseau est 1, le chemin de moindre
cot du commutateur 4 au commutateur racine passe par le segment rseau c. Par consquent, le
port racine pour le commutateur 4 est celui qui mne au segment rseau c.

4. Le chemin de moindre cot depuis le segment rseau e passe par le commutateur 92. Par
consquent, le port dsign pour le segment rseau e est le port qui le connecte au commutateur 92.

5. Tout port qui n'est ni racine ni dsign devient un port bloqu.

6. Aprs la chute d'un lien (marque par une croix), un nouvel arbre de moindre cot est calcul.
lection du commutateur racine[modifier | modifier le code]
Une topologie sans boucle ressemble un arbre et la base de chaque arbre, on trouve ses
racines (roots). Dans un rseau commut, le root bridge (commutateur racine) est lu. Chaque
commutateur a une adresse MAC et un numro de priorit paramtrable (0x8000 par dfaut), 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 gnral, l'administrateur du rseau influence le rsultat de l'lection pour que le commutateur
racine choisi soit le plus prs possible du cur de rseau. Pour cela, il configure la priorit du
commutateur racine le plus opportun en fonction de la topologie du rseau, ainsi que la priorit
d'un autre commutateur qui deviendra commutateur racine en cas de dfaillance du commutateur
racine principal.
Dtermination des ports racine[modifier | modifier le code]
Les autres commutateurs du rseau vont alors dterminer quel est le port qui possde la
distance la plus courte vers le commutateur racine. Pour cela, ils utilisent le cot de
chaque lien travers, ce cot dpendant de la bande passante du lien. Le port racine (root
port, RP) sera celui qui mne le plus directement au commutateur racine. Chaque commutateur
doit avoir un seul root port. L'lection d'un root port est effectue d'aprs 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.
Dtermination des ports dsigns[modifier | modifier le code]
Pour chaque segment rseau reliant des commutateurs, un port dsign (designated port,
DP) est ensuite dtermin. Ces segments peuvent relier plus de deux commutateurs. Le port
dsign est le port reli au segment qui mne le plus directement la racine.
Blocage des autres ports[modifier | modifier le code]
Les ports qui ne sont ni racine, ni dsigns sont bloqus. Un port bloqu peut recevoir des
paquets BPDU mais ne peut pas en mettre.
Changements de topologie[modifier | modifier le code]
En cas de changement de topologie, lorsqu'un lien est coup ou qu'un commutateur tombe en
panne ou est teint, l'algorithme est excut nouveau et un nouvel arbre recouvrant est mis en
place. Les boucles assurent donc de la redondance.

Bridge Protocol Data Units (BPDU)[modifier | modifier le code]


Les BID et autres informations du protocole spanning tree sont transports dans des units
de trames de donnes spciales nommes BPDU (Bridge Protocol Data Units). Les BPDU sont
changes rgulirement (toutes les deux secondes) et permettent aux commutateurs de garder
une trace des changements sur le rseau afin d'activer ou de dsactiver les ports requis. Quand
un commutateur ou un pont est raccord au rseau, il commence par envoyer des BPDU afin de
dterminer la topologie du rseau, avant de pouvoir commencer transfrer des donnes.
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 envoys sur l'adresse multicast 01:80:C2:00:00:00.

Mode des ports sur les commutateurs en STP[modifier | modifier le


code]
Les ports des commutateurs o STP est actif sont dans l'un des tats suivants :

listening : le commutateur coute les BPDU et dtermine la topologie rseau ;


learning : le commutateur construit une table faisant correspondre les adresses MAC aux
numros des ports ;
forwarding : un port reoit et envoie des donnes, opration normale ;
blocking : un port provoquant une boucle, aucune donne n'est envoye ou reue mais le
port peut passer en mode forwarding si un autre lien tombe ;
disabled : dsactiv, un administrateur peut manuellement dsactiver un port s'il le souhaite.
Le dlai 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 dfaut.
Quand un client tel qu'un ordinateur, une imprimante ou un serveur est connect au rseau, son
port se mettra automatiquement d'abord en mode listening puis en mode learning, avant de se
mettre en mode forwarding.
Pour raccourcir le dlai de latence allant de trente cinquante secondes inhrent la connexion
d'un nouveau priphrique, le Rapid STP a t dvelopp 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 sr qu'aucune boucle n'est possible sur ceux-ci.

volutions et extensions[modifier | modifier le code]


L'algorithme original de Spanning Tree a t dcrit par Radia Perlman alors employe 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 ultrieures ont t publies en 1998 et 2004.
Il existe certaines diffrences entre DEC STP et 802.1D qui peuvent causer des problmes
d'interoprabilit.
Les volutions de STP tentent d'en amliorer certains aspects, notamment :

obtenir une meilleure vitesse de convergence, le protocole original ncessitant 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 utilises pour le transport du trafic.
Rapid Spanning Tree Protocol (RSTP)[modifier | modifier le code]
En 1998, l'IEEE publie le document 802.1w qui acclre la convergence du protocole STP aprs
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 aprs un changement de
topologie, RSTP est capable de converger en trois fois la valeur du dlai Hello (deux secondes
par dfaut pour un Hello, c'est--dire 3 2 = 6 secondes de temps de convergence.)2,3.
Rle des ports RSTP

Root : le port le plus prs (en termes de cot 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 dfaillance du port root)
directement l'tat forwarding.
Backup : Lors d'une connexion redondante d'un segment vers un autre bridge (deux
connexion vers le mme domaine de collision) un autre port vers un segment connect au
pont. L'un des ports (selon la priorit) aura comme rle celui de Backup.
Le fonctionnement gnral de RSTP est semblable celui du STP classique. Les diffrences
sont les suivantes :

une dfaillance du root bridge est dtecte en trois dlais hello, c'est--dire six secondes
avec les valeurs par dfaut ;
les ports qui ne sont pas connects d'autres commutateurs (edge ports) peuvent basculer
immdiatement dans l'tat forwarding. RSTP continue observer l'arrive 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 ragit aux annonces BPDU qui proviennent du root
bridge. Un bridge RSTP diffuse son information RSTP sur ses designated ports. Si un bridge
reoit 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 immdiatement dans
l'tat forwarding sans passer par les tats listening et learning, puisque aucune boucle n'est
possible. Ceci constitue une amlioration majeure en termes de 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
problme sur une liaison.
Per-VLAN Spanning Tree (PVST)[modifier | modifier le code]
Quand plusieurs VLAN existent dans un rseau ethernet commut, STP peut fonctionner de
faon indpendante sur chacun des VLAN sparment. Ce mode de fonctionnement a t
baptis PVST(+) par Cisco. C'est le mode par dfaut sur les commutateurs de la marque. Il s'agit
d'un dveloppement propritaire 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)[modifier | modifier le code]
Le Multiple Spanning Tree Protocol (MSTP), dfini 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 rseau, si la
topologie STP est diffrente pour certains groupes de VLAN. Contrairement PVST, il n'est
cependant pas ncessaire de disposer d'une instance par VLAN, ceux-ci pouvant tre trs
nombreux, les VLAN tant groups.
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 mme.
Shortest Path Bridging (SPB)[modifier | modifier le code]
En mai 2012, l'IEEE approuve le standard IEEE 802.1aq4,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 cot gal, et fournit des topologies couche 2 beaucoup plus
vastes, une convergence plus rapide, et amliore l'utilisation des topologies mailles par
l'augmentation de la bande passante entre tous les priphriques en permettant au trafic de
rpartir les charges via l'ensemble des chemins d'un rseau maill6.
SPB consolide de multiples fonctionnalits existantes, y compris Spanning Tree Protocol (STP),
Multiple Spanning Tree Protocol (MSTP), Rapid Spanning Tree Protocol (RSTP), agrgation de
liens, et Multiple MAC Registration Protocol (MMRP) dans un seul protocole d'tat de lien. SPB
est conu pour liminer virtuellement toute erreur humaine lors des configurations et prserve la
nature plug-and-play qui a tabli Ethernet comme le protocole de facto la couche liaison de
donnes.