46
0 Les ponts et commutateurs: Apprentissage et suppression de boucles (algorithme du Spanning Tree) Alain AUBERT [email protected]

Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

Embed Size (px)

Citation preview

Page 1: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

0

Les ponts et commutateurs:

Apprentissage et

suppression de boucles (algorithme du Spanning Tree)

Alain AUBERT

[email protected]

Page 2: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

1

Les ponts:

précurseur des switch

Page 3: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

2

Les fonctions d'un pont

• Pont: équipement de couche 2

• Pont relie des segments réseaux (domaines de collision séparés) entre eux:

• Exemple: pont à 2 ports (pont 1)

1 segment= 1domaine de collision

1 Hub

Page 4: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

3

• Fonction correspondant à celle de la couche réseau, mais n’utilisent pas de données propre à cette couche, mais celle de la couche MAC (adresses universelles).

• Leur fonction principale est de transmettre ou non (fonction de filtrage) des trames sans modification de leur contenu LLC et de leur adresses universelles.

• Ils ont deux utilités:

— augmentation de la bande passante de chaque segment en limitant les paquets transmis sur segment.

— augmentation quasi indéfinie de la taille d’un réseau local sans problème de couche MAC (collision...). Pour cela les ponts stockent et réémettent les paquets en ne tenant compte des contraintes MAC que sur chaque segment.

Les fonctions d'un pont

Page 5: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

4

Le pont de base

• C’est un pont reliant deux ou plusieurs segments distincts. Chaque

segment est relié a un port du pont.

• Fonction de stockage (éviter les collisions d’un segment vers

l’autre) mais pas de fonction de filtrage

• Le stockage temporaire permet de lever les contraintes de longueur,

mais il n’y a pas d’augmentation possible du trafic global. Segment S1 Segment S2

Page 6: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

5

Segment S1

Segment S2

t

t

M1 M2 M3

M1 M3 M2

Emission

M1 sur S1

Emission

M2 sur S1

Le pont réémet

M1 sur S2

M2 a été stocké par

le pont car M3

occupait S2, puis il

est réémis sur S2

Le pont de base

Page 7: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

6

Les pont intelligents

• Ajout d’une fonction de filtrage des trames locales pourra permettre d’augmenter le trafic global.

• Le pont doit donc reconnaître les trames destinées à l’extérieur du segment émetteur.

• Comment fait-il ? mécanisme d'apprentissage

Segment S1 Segment S2

Fonction de filtrage

Page 8: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

7

Ponts intelligents: mécanisme d'apprentissage

• Chaque pont possède une mémoire cache de stockage (mémoire remise à jour régulièrement). Cette mémoire contient une base de données constituées :

— des adresses universelles,

— du numéro du port de connexion correspondant,

— de la date de dernier accès.

• Cette mémoire cache est initialement vide.

• Le pont écoute en mode promiscuous (il écoute tout) les trames transmises.

• Pour une trame donnée, le pont enregistre son adresse source et le port de réception (s’ils ne sont pas déjà définis), il met à jour le champ correspondant au moment d’arrivée.

• Il recherche dans sa mémoire cache si l’adresse destination existe :

— si oui, il envoie la trame sur le port associé, ou la détruit si le port associé est le même que celui d’émission (trafic local). Ceci réalise la fonction de filtrage.

— si non, il envoie la trame sur tous les ports sauf sur celui de réception.

Page 9: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

8

• M1 M2

• M2 M3

• M3 M1

• M3 M4

• M4 M3

• M1 M2

• M1 M5

• M5 M1

Ponts intelligents: mécanisme d'apprentissage

M1

B

M2 M3 M4

M5

P1 P2

P3

• P1 P2 et P3

• P1 P2 et P3

• P2 P1

• P2 P1 et P3

• P2 détruit

• P1 détruit

• P1 P2 et P3

• P3 P1

• M1 – Port 1

• M2 – Port 1

• M3 – Port 2

• Mise à jour date M3

• M4 – Port 2

• Mise à jour date M1

• Mise à jour date M1

• M5 – Port 3

Transmission trame

de … vers

Ports de réception et

d'émission

Contenu mémoire

cache du pont

Page 10: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

9

Les commutateurs ou

switch

Page 11: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

10

Caractéristiques d'un switch

• Un switch est un pont intelligent multiports

• Utilisés dans les réseaux dits Ethernet commuté ou

Switch Ethernet

• Il permet de commuter la trame envoyée sur le bon

port de destination si la table de commutation (ou

table MAC) est renseignée

• Le temps de commutation est fixe

Page 12: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

11

Caractéristiques d'un switch

• 2 modes de fonctionnement

— « à la volée » (Cut through): sans attendre la vérification du

CRC , le switch commute la trame sur le bon port de destination

– Ne permet pas de vérifier la validité des trames et peut

provoquer la commutation de trames erronées qui seront

transmises au destinataire

— Store and forward: mémorise les trames et vérifie le CRC avant

de les commuter

– Temps de transfert plus long et proportionnel à la longueur

de la trame

– La diminution du rapport coût/performance

Page 13: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

12

Mécanisme d’apprentissage construction de la table de commutation

@MAC Port

Table de

commutation

(ou table MAC)

Page 14: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

13

Mécanisme de commutation de trames

@MAC Port

Table de

commutation

Page 15: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

14

Suppression de boucles Algorithme du Spanning Tree

Page 16: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

15

Introduction

• Le protocole Spanning Tree (STP) est un protocole de

couche 2 (liaison de données) conçu pour les

commutateurs et les ponts.

• La spécification de STP est définie dans le document

IEEE 802.1d. Sa principale fonction est de s'assurer qu'il

n'y a pas de boucles dans un contexte de liaisons

redondantes entre des matériels de couche 2.

• STP détecte et désactive des boucles de réseau.

• Il permet de faire en sorte que des matériels compatibles

avec le standard ne fournissent qu'un seul chemin entre

deux stations d'extrémité.

Topologie physique avec boucles Topologie logique sans boucles

sous forme d’un arbre

STP

Page 17: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

16

Problématique

• Ajout d'un pont redondant pour la fiabilité

• Sans STP (Spanning Tree) trois problèmes peuvent survenir :

— 1. Des tempêtes de broadcast

— 2. Une instabilité des tables MAC

— 3. Transmission de trames multiples

Page 18: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

17

Problématique

• Des tempêtes de broadcast :

— Lorsque des trames de broadcast sont envoyées (FF-FF-FF-FF-FF-FF

en destination), les switchs les renvoient par tous les ports. Les trames

circulent en boucles et sont multipliées.

— Les trames n'ayant pas de durée de vie (TTL comme les paquets IP),

elles peuvent tourner indéfiniment.

Page 19: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

18

• Une instabilité des tables MAC :

— Quand une trame, même unicast, parvient aux switches connectés en

redondance, le port du switch associé à l'origine risque d'être erroné. Une

boucle est susceptible d'être créée.

— PC1 envoie une trame au PC2. Les deux commutateurs reçoivent la trame sur

leur port 0/2 et associent ce port à l'adresse mac de PC1. Si l'adresse de PC2

est inconnue, les deux commutateurs transfèrent la trame à travers leur port

0/1. Les commutateurs reçoivent respectivement ces trames inversement et

associent l'adresse MAC de PC1 au port 0/1. Ce processus peut se répéter

indéfiniment.

Problématique

Page 20: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

19

Problématique

• Transmission de trames multiples : dans un réseau commuté redondant, il est possible pour une unité d’extrémité de recevoir plusieurs trames.

— Supposez que l'adresse MAC du PC2 ait été supprimée par les deux commutateurs, à cause d'un dépassement du temps de rafraîchissement.

— Supposez également que le PC1 dispose encore de l’adresse MAC du PC2 dans sa mémoire cache ARP et envoie une trame unicast au PC2.

— Le PC2 reçoit la trame, car il figure sur le même segment que le PC1.

— Le commutateur SW1 ne dispose pas de l’adresse MAC du PC2 et diffuse donc la trame sur ses ports. Le commutateur SW2 ne connaît pas non plus le port du PC2. Il diffuse la trame qu’il a reçue et le PC2 reçoit donc plusieurs copies de la même trame. Cela est le résultat d’opérations inutiles sur toutes les unités.

Page 21: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

20

Algorithme du Spanning Tree: exemple d'application

Page 22: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

21

Identification des différents domaines de collisions

• Chaque Hub non cascadé forme un domaine de

collision.

• Les hubs cascadés forment un seul domaine de

collision.

• Il y a donc 4 domaines de collision.

• Noms :

— Hub1 segment 1 S1

— Hub2 et Hub3 segment 2 S2

— Hub4 segment 3 S3

— Hub5 et Hub6 segment 4 S4

Page 23: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

22

Objectif de l’algorithme de Spanning Tree

0

0

10 10

10 10

10

10

10

10

Port racine

Port désigné

Port alternatif

1. Déterminer le pont racine

2. Déterminer les ports racines

3. Déterminer les ports désignés et alternatifs

Pont racine

Page 24: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

23

Objectif de l’algorithme de Spanning Tree

0

0

10 10

10 10

10

10

10

10

Port racine

Port désigné

Port alternatif

1. Déterminer le pont racine

2. Déterminer les ports racines

3. Déterminer les ports désignés et alternatifs

Pont racine

Page 25: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

24

Le protocole 802.1d: Arbre de recouvrement (Spanning Tree)

• Pour cela, sur chaque pont est implanté le protocole spanning tree

(SPT) normalisé par l'IEEE sous la norme 802.1d.

• Le protocole Spanning Tree (STP) est un protocole de couche 2

(liaison de données) conçu pour les commutateurs et les ponts.

• Le protocole spanning tree doit supprimer les chemins redondants

en construisant un arbre à partir d'un graphe cyclique. Ce protocole

doit être implanté sur chaque pont.

• Pour le mettre en œuvre, les ponts vont s'échanger des trames

BPDU (Bridge Protocol Data Unit) de 34 octets. Ces trames

sont adressées en multicast, seuls les ponts les liront.

Topologie physique avec boucles Topologie logique sans boucles

sous forme d’un arbre

STP

Page 26: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

25

Messages du protocole 802.1d: BPDU

• Les ponts vont s’envoyer mutuellement des messages entre eux

• Le protocole 802.1d utilise des messages (trames BPDU) contenant l'information suivante:

— Root ID (R): identification actuelle du pont racine

— Cost (C) : Coût du lien de plus faible coût entre le pont qui transmet le message et la racine

— Transmitting ID (T): identification du pont qui transmet le message

• Ces messages sont envoyés en multicast [adresse : all bridges]

Page 27: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

26

Interprétation de deux messages 802.1d

• M1[R=R1,C=C1, T=T1] est meilleur que M2[R=R2,C=C2, T=T2]

si

— R1<R2

— R1=R2 et C1<C2

— R1=R2 et C1=C2 et T1<T2

Page 28: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

27

Objectif de l’algorithme de Spanning Tree

0

0

10 10

10 10

10

10

10

10

1. Déterminer le pont racine 2. Déterminer les ports racines

3. Déterminer les ports désignés et alternatifs

Pont racine

Page 29: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

28

Fonctionnement du protocole: 1. Détermination du pont racine

• Au démarrage, chaque pont se considère comme la racine et

transmet un message 802.1d avec un coût de 0 sur tous ses ports

R=P1, C=0, T=P1]

R=P1, C=0, T=P1]

R=P3, C=0, T=P3] R=P2, C=0, T=P2]

R=P2, C=0, T=P2]

R=P3, C=0, T=P3]

R=P5, C=0, T=P5]

R=P5, C=0, T=P5]

R=P4, C=0, T=P4]

R=P4, C=0, T=P4]

Page 30: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

29

Fonctionnement du protocole: 1. Détermination du pont racine

• Si un pont reçoit sur un port un meilleur message 802.1d que celui qu'il transmettait, il arrête de transmettre le message 802.1.d qu'il transmettait

• Dans un réseau la racine est le pont avec le plus petit identificateur

• Chaque pont peut déterminer quelle est la racine en analysant tous les messages 802.1d reçus

Page 31: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

30

• P1 n'a pas reçu de meilleur message sur un de ses ports que celui qu'il émettait. P1 continue à émettre son message 802.1d ([R:=P1, C=0, T=P1]).

P1 se considère comme le pont racine.

• P2 a reçu un meilleur message sur son port P2S2 ([R:=P1, C=0, T=P1]), il cesse d'émettre son message 802.1d ([R:=P2, C=0, T=P2])

P2 considère que P1 est le pont racine.

• P3 a reçu un meilleur message sur son port P3S2 ([R:=P1, C=0, T=P1]), il cesse d'émettre son message 802.1d ([R:=P3, C=0, T=P3])

P3 considère que P1 est le pont racine.

• P4 a reçu un meilleur message sur son port P4S1 ([R:=P1, C=0, T=P1]), il cesse d'émettre son message 802.1d ([R:=P4, C=0, T=P4]

P4 considère que P1 est le pont racine.

• P5 a reçu un meilleur message sur son port P5S3 ([R:=P2, C=0, T=P2]) il cesse d'émettre son message 802.1d ([R:=P5, C=0, T=P5])

P5 considère que P2 est le pont racine.

Fonctionnement du protocole: 1. Détermination du pont racine

Page 32: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

31

Objectif de l’algorithme de Spanning Tree

0

0

10 10

10 10

10

10

10

10

Port racine

1. Déterminer le pont racine

2. Déterminer les ports racines 3. Déterminer les ports désignés et alternatifs

Pont racine

Page 33: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

32

Fonctionnement du protocole: 2. Détermination des ports racines

• Le port racine d'un pont est le port qui se trouve topologiquement le plus

proche de la racine.

C’est le port qui a reçu le meilleur message 802.1d ( )

• P2 a reçu un meilleur message sur son port P2S2 ([R:=P1, C=0, T=P1])

• P3 a reçu un meilleur message sur son port P3S2 ([R:=P1, C=0, T=P1])

• P4 a reçu un meilleur message sur son port P4S1 ([R:=P1, C=0, T=P1])

• P5 a reçu un meilleur message sur son port P5S3 ([R:=P2, C=0, T=P2])

Page 34: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

33

Objectif de l’algorithme de Spanning Tree

0

0

10 10

10 10

10

10

10

10

Port racine

Port désigné

Port alternatif

1. Déterminer le pont racine

2. Déterminer les ports racines

3. Déterminer les ports désignés et alternatifs

Pont racine

Page 35: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

34

Fonctionnement du protocole: 3. Détermination des ports désignés et alternatifs

• Seul le pont P qui se considère comme le pont

racine transmet son message 802.1d [R:=P, C=0,

T=P]).

Dans notre cas, c’est P1

• Les autres ponts lisent le message 802.1d sur le port

racine et le retransmettent sur l'autre port en

modifiant

— le transmetteur (T)

— le coût (C= C reçu + coût du port racine du pont où le message

a été reçu)

Page 36: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

35

Fonctionnement du protocole: 3. Détermination des ports désignés et alternatifs

• P1 transmet un nouveau message 802.1d sur S1 et S2

— M_P1S1(R=P1,C=0,T=P1)

— M_P1S2(R=P1,C=0,T=P1).

• Le pont 2 retransmet le message

— M_P2S3(R=P1,C=10,T=P2)

• Le pont 3 retransmet le message

— M_P3S3(R=P1,C=10,T=P3)

• Le pont 4 retransmet le message

— M_P4S4(R=P1,C=10,T=P4)

• Le pont 5 retransmet le message

— M_P5S4(R=P1,C=20,T=P5)

— A ce moment là, P5 considère que P1 est le pont racine

Page 37: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

36

• Les ports du Pont Racine sont par définition désignés

• Lorsqu'un pont reçoit un meilleur message sur un port non

racine que celui qu'il transmet, il considère ce port comme

un port alternatif.

• Lorsqu'un pont ne reçoit pas un meilleur message sur un

port non racine que celui qu'il transmet, il considère ce port

comme un port désigné.

Fonctionnement du protocole: 3. Détermination des ports désignés et alternatifs

Page 38: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

37

Fonctionnement du protocole: 3. Détermination des ports désignés et alternatifs

• Pont P2:

— P2 transmet sur P2S3 le M_P2S3(R=P1,C=10,T=P2)

— P2 reçoit sur P2S3 le M_P3S3(R=P1,C=10,T=P3)

— Donc P2 ne reçoit pas un meilleur message: il considère donc que son port P2S3 est un port désigné

• Pont P3:

— P3 transmet sur P3S3 le M_P3S3(R=P1,C=10,T=P3)

— P3 reçoit sur P3S3 le M_P2S3(R=P1,C=10,T=P2)

— Donc P3 reçoit un meilleur message: il considère donc que son port P3S3 est un port alternatif

• Pont P4:

— P4 transmet sur P4S4 le M_P4S4(R=P1,C=10,T=P4)

— P4 reçoit sur P4S4 le M_P5S4(R=P1,C=20,T=P5)

— Donc P4 ne reçoit pas un meilleur message: il considère donc que son port P4S4 est un port désigné

• Pont P5:

— P5 transmet sur P5S4 le M_P5S4(R=P1,C=20,T=P5)

— P5 reçoit sur P5S4 le M_P4S4(R=P1,C=10,T=P4)

— Donc P5 reçoit un meilleur message: il considère donc que son port P5S4 est un port alternatif

Page 39: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

38

Récapitulatif: Rôles des ports

• Vis-à-vis des messages 802.1d

— Port racine (Root)

– port via lequel on reçoit les messages provenant de la racine

par le plus court chemin

– un port racine ne transmet pas de messages 802.1d mais les

lit

– un seul port racine par switch

— Port désigné (Desgn)

– port via lequel le pont retransmet les messages 802.1d reçus

de la racine

– message 802.1d transmis par un pont:

– racine actuelle, identification du pont, coût jusqu'à la racine

– un port est désigné si le message qu'il transmet est meilleur

que le meilleur message qu'il reçoit

— Port alternatif (Altn): reçoit uniquement les message. 802.1d

Page 40: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

39

Cinq états de ports peuvent rencontrés sur un port STP. Chaque état comporte un délai:

• Etat « Blocking » (sur port alternatif)

— Rejette toutes les trames de données venant du segment attaché

— Rejette toutes les trames de données venant d'un autre port de transfert

— N'intègre aucune emplacement de station dans sa MAC table (il n'y pas d'apprentissage)

— Reçoit les BPDUs et les transmet à son système

— N'envoie pas de BPDUs reçus de son système

• Etat « Listening » (sur port racine ou désigné)

— Rejette toutes les trames de données venant du segment attaché

— Rejette toutes les trames de données venant d'un autre port de transfert

— N'intègre aucune emplacement de station dans sa MAC table (il n'y pas d'apprentissage)

— Reçoit les BPDUs et les transmet à son système (port racine)

— Envoie les BPDUs reçus de son système (port désigné)

Différents états STP d’un port

Page 41: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

40

• Etat « Learning » (sur port racine ou désigné)

— Rejette toutes les trames de données venant du segment attaché

— Rejette toutes les trames de données venant d'un autre port de transfert

— Intègre les emplacements de station dans sa MAC table (apprentissage)

— Reçoit les BPDUs et les transmet à son système

— Envoie les BPDUs reçus de son système

• Etat « Forwarding » (sur port racine ou désigné)

— Commute toutes les trames de données venant du segment attaché

— Commute toutes les trames de données venant d'un autre port de

transfert

— Intègre les emplacements de station dans sa MAC table (apprentissage)

— Reçoit les BPDUs et les transmet à son système

— Envoie les BPDUs reçus de son système

• Etat « Disabled »

— Cet état est similaire à l'état « blocking » sauf que le port est considéré

physiquement non opérationnel (shut down ou problème physique).

Différents états STP d’un port

Page 42: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

41

Changement d'états d’un port

— L'age maximal de 20 secondes par défaut est le temps maximal avec que STP effectue de nouveaux calculs quand une interface ne reçoit plus de BPDUs.

— Le temps de forwarding de 15 secondes par défaut est le temps de passage d'un état "listening" à "learning" et de "learning" à "forwarding". Aussi, la fréquence d'envoi de BPDUs Hello est de 2 secondes par défaut.

Page 43: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

42

Algorithme du Spanning Tree

sur les switch CISCO

Page 44: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

43

ID d’un switch

• Le switch racine sera le point central de l'arbre STP.

• Le switch qui aura l'ID la plus faible sera celui qui sera élu racine.

• L'ID du switch comporte deux parties, d'une part, la priorité (2 octets) et, d'autre part, l'adresse MAC (6 octets). La priorité 802.1d est d'une valeur de 32768 par défaut (ce sont des multiples de 4096 sur 16 bits). Par exemple, un switch avec une priorité par défaut de32768 (8000 Hex) et une adresse MAC 00 :A0 :C5:12:34:56, prendra l'ID 8000:00A0 :C512:3456.

• On peut changer la priorité d'un switch avec la commande : (config)#spanning-tree [vlan vlan-id] priority priority

• Sur un switch racine, tous les ports sont des ports désignés, autrement dit, ils sont en état « forwarding », il envoient et reçoivent le trafic.

Page 45: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

44

• La commande de configuration est :

(config-if)#spanning-tree cost cost

Coût des ports

Page 46: Les ponts et commutateurs: Apprentissage et suppression de ... · • Pour une trame donnée, ... couche 2 (liaison de données) conçu pour les ... cause d'un dépassement du temps

45

Quelques commandes IOS CISCO

• Pour le diagnostic :

#show spanning-tree [?]

• Désactivation de STP :

(config)#no spanning-tree vlan vlan-id

• Priorité du switch :

(config)#spanning-tree [vlan vlan-id] priority priority

• Coût et priorité d'un port :

(config-if)#spanning-tree [vlan vlan-id] cost cost

• Paramètres de timing :

(config)#spanning-tree [vlan vlan-id] max-age seconds 6 à 200 secondes

(config)#spanning-tree [vlan vlan-id] forward-time seconds 4 à 200 secondes

(config)#spanning-tree [vlan vlan-id] hello-time seconds 1 à 10 secondes