Spanning tree protocol
Un article de Wikipédia, l'encyclopédie libre.
Le spanning tree protocol (aussi appelé STP) est un protocole réseau permettant une topologie réseau sans boucle dans les LAN avec pont. Le Spanning Tree Protocol est défini dans la norme IEEE 802.1D.
Sommaire |
[modifier] Mode de fonctionnement
Les réseaux doivent avoir un unique chemin entre 2 points, cela s'appelle une topologie sans boucle. En effet, la présence de boucle génère des Broadcast storm (tempête de diffusion) qui paralysent le réseau. Cependant, un bon réseau doit aussi inclure une redondance des matériels pour fournir un chemin alternatif en cas de panne. L'algorithme de "spanning tree minimum" garantit l'unicité du chemin entre 2 points du réseau en affectant un port dédié (root port), celui qui a le chemin le plus court vers le root bridge, à chaque segment du Lan (domaine de collision).
[modifier] Élection d'un "root bridge"
Une topologie sans boucle ressemble à un arbre et à la base de chaque arbre, on trouve ses racines (roots). Dans un réseau commuté, un root bridge (switch maître) est automatiquement choisi par l'algorithme du spanning tree. Chaque switch a une adresse MAC et un numéro de priorité configurable (0x8000 par défaut), ces deux nombres constituent l'identification du bridge (nommée BID). Le BID est utilisé pour élire le root bridge en fonction des numéros de priorité, en cas d'égalité, l'adresse MAC la plus basse l'emporte, et comme toutes les adresses MAC sont uniques, un switch pourra toujours être élu comme "root bridge". Les autres switches du réseau vont alors calculer la distance la plus courte vers le root bridge en utilisant le "coût" de bande passante le plus faible. Le numéro de priorité est normalement laissé par défaut mais l'administrateur du réseau peut s'il le souhaite modifier ce numéro pour faire élire un switch particulier, sinon tout le processus est automatique.
[modifier] Élection des "root port"
Un root port est un port qui sera utilisé pour transmettre les données (par opposition à un port bloqué). Chaque switch doit avoir un seul "root port". L'élection d'un root port est effectuée d'après le champ path cost et port ID d'un paquet BPDU. En cas d'égalité, c'est le port ayant un port ID le plus faible qui sera élu. A noter qu'un port bloqué peut émettre et recevoir des paquets BPDU. Les autres ports d'un switch sont des "designated port", ce sont eux qui forwardent les paquets BPDU.
[modifier] Bridge Protocol Data Units (BPDUs)
Les BIDs et autres informations du protocole Spanning Tree Protocol sont transportés dans des unités de trames de données spéciales nommées BPDU (bridge protocol data units). Les BPDUs sont échangés régulièrement (toutes les 2 secondes) et permettent aux switches de garder une trace des changements sur le réseau afin d'activer ou de désactiver les ports requis. Quand un switch ou un bridge est raccordé au réseau, il ne va pas immédiatement commencer à transférer des données. Il va commencer par envoyer des BPDUs afin de déterminer la topologie du réseau.
[modifier] Mode des ports sur les switches en STP
- Listening - le switch "écoute" les BPDUs et détermine la topologie réseau
- Learning - le switch construit une table mappant les adresses MAC au numéro de port
- 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
Quand un client tel qu'un ordinateur, une imprimante ou un serveur est connecté au réseau, son port se mettra automatiquement en "forwarding mode" après un délai de 50 secondes où il va se mettre en mode listening puis learning.
Pour raccourcir le délai de 50 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 qui permet à un port de switch de passer directement en forwarding mode.
[modifier] Liens externes
- Animation éxplicant bien le fonctionnement du STP (en)
- Le protocole Spanning Tree par François Goffinet (avec schémas)
- Radia Perlman at Sun Labs (en)
- ANSI/IEEE 802.1D-2004 standard (en)
- Cisco's version of 'Understanding STP' (en)
- RFCs
- RFC 2674-1999, proposed standard, Definitions of Managed Objects for Bridges with Traffic Classes, Multicast Filtering and Virtual LAN Extensions
- RFC 1525-1993, - SBRIDGEMIB, proposed standard, Definitions of Managed Objects for Source Routing Bridges
- RFC 1493-1993 - BRIDGEMIB, draft standard, Definitions of Managed Objects for Bridges