Spanning Tree Protocol Objectifs : éviter les boucles permettre la redondance au niveau Ethernet Contraintes «imposées» rien à faire sur les stations configuration minimale reproductabilité Standard IEEE 802.1d
Exemples de boucles (1) Erreur de l'administrateur réseau Segment 2 Trafic Segment 1
Exemples de boucles (2) Erreur d'un utilisateur Segment Ethernet PC1 PC2
STP fonctionnement (1) STP construit un arbre de recouvrement algorithme distribué un unique chemin entre 2 ponts entre deux segments, on sélectionne le plus performant passant par la racine
STP fonctionnement (2) Principe général 1 commutateur doit être élu racine de l'arbre Chaque pont doit connaître sa distance minimale vers la racine Sur chaque segment un commutateur est désigné pour s'occuper du trafic vers la racine On distingue les ports des commutateur selon 3 catégories Le port racine (un seul par commutateur) Le(s) port(s) désigné(s) qui relie(nt) aux segments sur lesquels le commutateur est désigné (trafic vers la racine) Les ports bloqués (qui ne transmettent pas de trafic)
STP fonctionnement (3) La construction de l'arbre se fait via l'échange de trames spécifiques : les BPDU (Bridge Protocol Data Unit) Encapsulé dans une trame 802.3 SSAP 0x42 Format : Protocol ID Version Type Flags Root ID Root Path Cost Sender BID Port ID M-Age Max Age Hello Time FD 2 1 1 1 8 4 8 2 2 2 2 2 Protocol ID : toujours 0 Version : toujours 0
STP fonctionnement (4) Type : détermine le type de BPDU configuration : 0 topology change notification : 0x80 Flags :utilisé pour les changements de topologies configuration (bit 1) acquittement (bit 8) Root ID : identifiant du commutateur racine Bridge Priorité (2 octets) + MAC Adresse (6 octets) Root Path Cost : somme des coûts vers la racine
STP fonctionnement (5) Sender BID : identifiant du commutateur ayant émis le BPDU Port ID : identification du port port 1 : 0x8001, port 2 : 0x8002 Message Age : temps depuis lequel le commutateur racine a permis la génération de ce BPDU Max Age : temps de validité du BPDU Hello Time : temps entre 2 BPDU Forward Delay : temps passé en Listening et Learning
STP fonctionnement (6) Principe algorithme Soit : R : id de la racine C : coût vers la racine E : id de l'émetteur Chaque commutateur est racine au départ Chaque commutateur transmet sa configuration courante Une configuration (R1,C1,E1) est jugée meilleure si : (R1<R) ou (R1=R) et (C1<C) ou (R1=R) et (C1=C) et (E1<E)
RSTP 802.1w Rapid Spanning Tree Protocol Objectifs : améliorer les temps de convergence améliorer le temps de reconfiguration après la perte ou l'apparition d'un lien Compatibilité ascendante Le 802.1w a été intégré à la norme principale 802.1d en 2004
STP et VLANs Rien n'est prévu à la base pour les VLANs dans le Spanning Tree même sans lien taggé Dépendant de l'implémentation des constucteurs certains font «tourner» une instance pour tous les VLANs d'autres une par VLAN problèmes d'intéropérabilité
STP et VLANs (1) Exemple avec implémentation d'une instance pour tous les VLANs 2 VLANs port 1 commutateur 1 et commutateur 2 dans le VLAN 2 port 2 commutateur 1 et commutateur 2 dans le VLAN 3 commutateur 1 commutateur 2 port 1 port 1 port 2 port 2 Une seule instance pour tous les VLANs un port sera bloqué un des VLANs sera "splitté"
STP et VLANs (2) Si les 2 commutateurs précédents avaient une implémentation différente Résultat imprévisible dépend où est la racine probabilité forte d'avoir des VLANs "splittés"
STP et VLANs (3) Rien n'est prévu pour les liens taggés pas de BPDU sur ces liens création de plusieurs arbres de recouvrement par VLAN risque de boucles lien taggé lien non taggé arbre de recouvrement 1 arbre de recouvrement 2 boucle
MSTP (1) Création du MSTP (Multiple Spanning Tree Protocol) 802.1s évolution du STP/RPVST et 802.1q 802.1s a été ajouté au 802.1q en 2003 Compatibilité ascendante avec le STP/RSTP (802.1d / 802.1w)
MSTP (2) Certains constructeurs n'ont pas attendu et ont implémenté des alternatives PVST / Rapid-PVST chez Cisco (Per VLAN Spanning Tree) MSTP de Cisco sorti avant la norme incompatible avec le MSTP standard (802.1s)
MSTP (3) Avec MSTP on crée une MSTP region (CST) Chaque region peut faire tourner plusieurs instances nommées MSTI (dans laquelle on place un ou plusieurs VLAN(s)) Principes si un seul VLAN : même principe que le RSTP (et compatible) si plusieurs VLANs 1 arbre de recouvrement par MSTI BPDU contenant le numéro de l'instance sur les liens taggés
STP et VLANs (3) Soit 2 VLAN diffusés sur l'ensemble des commutateurs On crée 2 instances MSTP une pour le VLAN 1 l'autre pour le VLAN 2 lien taggé On aura bien un arbre de recouvrement distinct pour chaque instance pas de risque de boucle
STP et VLANs (4) Inconvénients pour chaque nouveau VLAN créé, il faudra l'ajouter dans l'instance désirée sur chaque commutateur une boucle dans un VLAN perturbera les VLANs étant dans la même MSTI
Rapid-PVST Propriétaire Cisco Une instance est automatiquement créée lors de la création du VLAN Numéro du VLAN dans les BPDU qui passent sur les liens taggés Incompatible avec le MSTP sur les liens taggés Cisco prévoit d'ajouter la compatibilité avec le MSTP en permettant un mapping sur les liens taggés entre une instance et une liste de VLAN
Agrégation de liens Permet d'agréger des liens de même type Standard 802.3ad Le round-robin est laissé à la liberté de l'implémenteur par MAC address par couple IP source / IP destination par quadruplet IP source, port source, IP destination, port destination