le spanning tree - isrdoc.files.wordpress.com · filtrage des adresses ... • quel est le port...
TRANSCRIPT
1© 2001, Cisco Systems, Inc. All rights reserved.Session NumberPresentation_ID
Le Spanning TreePrincipes et mise en oeuvre
222© 2001, Cisco Systems, Inc. All rights reserved.Presentation_ID
Agenda
• Rappel de fonctionnement
• Topologie redondante et problèmes liés
• Opérations du Spanning Tree
• Evolutions et améliorations
333© 2001, Cisco Systems, Inc. All rights reserved.Presentation_ID
Rappel de fonctionnement :les 3 fonctions d’un switch
• Apprentissage des adresses• Décision de retransmission/filtrage• Eviter les boucles
444© 2001, Cisco Systems, Inc. All rights reserved.Presentation_ID
Rappel de fonctionnement :Apprentissage des adresses
• Initialement, la table des entrées d’adresses MAC est vide !
Table d’adresses MAC
0260.8C01.44440260.8C01.2222
0260.8C01.1111 0260.8C01.3333
E0
E3E2
E1
555© 2001, Cisco Systems, Inc. All rights reserved.Presentation_ID
Rappel de fonctionnement :Apprentissage des adresses
• A envoie une trame à C• Le switch apprend l’adresse MAC de la station A ( adresse source de la trame)• La trame est diffusée vers tous les autres ports
0260.8C01.44440260.8C01.2222
0260.8C01.1111 0260.8C01.3333
A
DC
B
Table d’adresses MAC
E0
E3E2
E1
E0 0260.8C01.1111
666© 2001, Cisco Systems, Inc. All rights reserved.Presentation_ID
Rappel de fonctionnement :Apprentissage des adresses
• D envoie une trame à C• Le switch apprend l’adresse MAC de la station D ( adresse source de la trame)• La trame est diffusée vers tous les autres ports
0260.8C01.44440260.8C01.2222
0260.8C01.1111 0260.8C01.3333
A
DC
B
Table d’adresses MAC
E0
E3E2
E1
E0 0260.8C01.1111E3 0260.8C01.4444
777© 2001, Cisco Systems, Inc. All rights reserved.Presentation_ID
Rappel de fonctionnement :Filtrage des adresses
• A envoie une trame à C
• La destination est connue, la trame n’est pas diffusée vers tous les ports, mais seulement vers le port destinataire !
0260.8C01.44440260.8C01.2222
0260.8C01.1111 0260.8C01.3333
A
DC
B
Table d’adresses MAC
E0
E3E2
E1
E0 0260.8C01.1111E2 0260.8C01.2222E1 0260.8C01.3333E3 0260.8C01.4444
888© 2001, Cisco Systems, Inc. All rights reserved.Presentation_ID
Rappel de fonctionnement :trame de broadcast et de multicasts
• D envoie une trame de broadcast ou multicast • Cette trame est diffusée vers tous les ports (sauf
celui d’origine !)
0260.8C01.44440260.8C01.2222
0260.8C01.1111 0260.8C01.3333
A
DC
B
E0
E3E2
E1
Table d’adresses MAC
E0 0260.8C01.1111E2 0260.8C01.2222E1 0260.8C01.3333E3 0260.8C01.4444
999© 2001, Cisco Systems, Inc. All rights reserved.Presentation_ID
Rappel de fonctionnement :Question !!
• Peut on trouver une adresse de broadcast ou multicast dans la table d’adresse MAC ??
101010© 2001, Cisco Systems, Inc. All rights reserved.Presentation_ID
Topologie redondante
Serveur/station X
Segment 2
Segment 1
Routeur
• Les topologies redondantes sont nécessaires car elles éliminent tout problème de défaillance de lien….
• ..mais elles peuvent engendrer des problèmes de tempêtes de broadcasts, de multiples copies de trames, d’instabilité de la table d’adresses MAC,…
111111© 2001, Cisco Systems, Inc. All rights reserved.Presentation_ID
Tempête de broadcasts
• La station X envoie une trame de broadcast (type ARP) àdestination de la passerelle par défaut
• Les switchs vont infiniment forwarder cette trame sur tous leurs ports créant une tempête de broadcasts
Serveur/station X
Segment 2
Segment 1
Routeur
121212© 2001, Cisco Systems, Inc. All rights reserved.Presentation_ID
Multiples copies de trame
• La station X envoie une trame au routeur• L’adresse MAC du routeur n’a pas encore été
apprise par les 2 switchs• Le routeur reçoit deux copies de la même trame
Serveur/station X
Segment 2
Segment 1
Routeur
131313© 2001, Cisco Systems, Inc. All rights reserved.Presentation_ID
Instabilité de la table de MAC adresse
• La station X envoie une trame au routeur• L’adresse MAC du routeur n’a pas encore été apprise par les 2 switchs• Les 2 switchs apprennent l’adresse MAC de la station X• La trame à destination du routeur est diffusée sur tous les ports• Les 2 switchs apprennent l’adresse MAC de X sur leur port 1
Serveur/station X
Segment 2
Segment 1
Routeur
Port 0 Port 0
Port 1Port 1
141414© 2001, Cisco Systems, Inc. All rights reserved.Presentation_ID
Problèmes de boucles multiples
• Des topologies plus complexes engendrent des boucles multiples !!
Serveur/station X
151515© 2001, Cisco Systems, Inc. All rights reserved.Presentation_ID
Topologie redondante:Question !!
• Quelle est la solution à tous ces problèmes ????
161616© 2001, Cisco Systems, Inc. All rights reserved.Presentation_ID
Le protocole Spanning Tree
• Spécifications IEEE 802.1d• Objectif : maintenir un réseau redondant absent
de tout problèmes de boucles• Moyens : placer certains ports dans un état
bloqué• Les machines reconnaissent la présence de
boucles sur le réseau, et bloque un ou plusieurs ports redondants
• Lorsqu’un changement de topologie survient, le Spanning Tree reconfigure les switchs
171717© 2001, Cisco Systems, Inc. All rights reserved.Presentation_ID
Spanning Tree : Les opérations• Élection d’un unique switch racine («root bridge») : point de référence pour
tous les autres switchsTous ses ports sont des ports désignés ( « designated ports »), i.e dans un « forwarding State » ; ils retransmettent tout le trafic
• Sur les switchs non-racine, calcul du meilleur chemin vers le root bridge, puis, élection d’un unique port racine (root port) par switch
Désigné par le chemin le moins coûteux vers le switch racine, i.e avec la plus grande bande passante ( et le nbr de liens le plus bas) . Le root port est dans un forwarding state
• Un seul port désigné par segment Les autre ports sont dans un « blocking state » : il ne retransmettent pas le trafic
Rootbridge
Non-rootbridge
100 Base T
Port désigné(F)
Port désigné(F)
Port Racine (F)
Port non-désigné(B)10 Base T
181818© 2001, Cisco Systems, Inc. All rights reserved.Presentation_ID
Spanning Tree :Election du root bridge
• Les switchs qui éxécutent SPT s’échangent à intervalle régulier (ttes les 2 s) une trame spéciale appelée BPDU ( Bridge Protocol Data Unit)
• Un des champs de la trame BPDU est l’ID, Identifier. Bridge ID = Bridge priorité + MAC adresse
•• RootRoot bridge : switch avec le plus petit ID !!! bridge : switch avec le plus petit ID !!! • Ici , même niveau de priorité mais l’Adresse MAC de X est
plus petite : le root bridge est donc le switch X !!
BPDU
Switch X Priorité par défaut 32768MAC 0C0011111111
Switch Y Priorité par défaut 32768MAC 0C0022222222
191919© 2001, Cisco Systems, Inc. All rights reserved.Presentation_ID
Format d’une trame BPDU
• Lors du boot, l’ID du pont = l’ID racine
Octet Champ
2 ID du protocole
1 Version
1 Type de message
1 Drapeaux
8 ID Racine
4 Coût du chemin
8 ID du pont
2 ID du port
2 « Message Age »
2 Temps Maximum
2 « Hello Time »
2 « ForwardDelay »
202020© 2001, Cisco Systems, Inc. All rights reserved.Presentation_ID
Spanning Tree :Calcul du meilleur chemin & Etat des ports
• Une fois le pont racine élu, chaque commutateur doit former une association particulière avec le pont racine. Chaque commutateur le réalise en écoutant les BPDUs tel qu’ils arrivent sur le différents ports. Le fait de recevoir des BPDUs sur différents ports indique que le commutateur a des chemins redondants pour aller jusqu’au pont racine
• Le commutateur regarde d’abord le coût du chemin pour voir quel port reçoit l’indication de chemin le plus court. Ce chemin est calculé en fonction de la vitesse du lien et le nombre de liens que ce BPDU a dû traverser. Si un port indique qu’il a le chemin le plus court, il est placé en mode retransmission ( « Forwarding State »). Tous les autres ports qui continuent de recevoir des BPDUs sont placés en mode bloqué ( « Blocking State »).
212121© 2001, Cisco Systems, Inc. All rights reserved.Presentation_ID
Pour informations ….
Octet Champ
2 ID du protocole
1 Version
1 Type de message
1 Drapeaux
8 ID Racine
4 Coût du chemin
8 ID du pont
2 ID du port
2 « Message Age »
2 Temps Maximum
2 « Hello Time »
2 « ForwardDelay »
Vitesse du lien
Anciennes spec IEEE
Nouvelles Spec IEEE
10 G 1 2
1 G 1 4
100 M 10 19
10 M 100 100
222222© 2001, Cisco Systems, Inc. All rights reserved.Presentation_ID
Spanning Tree :Calcul du meilleur chemin & Etat des ports
• Ici,X est le root bridge, et tous ses ports sont désignés (forwardent le trafic)
Le port FE sur le switch Y est le root port ( forwarding).Le port Ethernet ( port 1) sur le switch Y échange également des BPDU, mais avec un coût de chemin moins bon : il passe à l’état bloqué !!!
Non-rootbridge
100 Base T
Port désigné(F)
Port désigné(F)
Port source(F)
Port non-désigné(B)10 Base T
Switch X Priorité par défaut 32768MAC 0C0011111111
Switch Y Priorité par défaut 32768MAC 0C0022222222
Port 0 Port 0
Port 1 Port 1
232323© 2001, Cisco Systems, Inc. All rights reserved.Presentation_ID
Exemple
• Root bridge : switch Z ( la plus plus basse valeur d’ID), donc tous ses ports sont désignés
• Root port : port 0 pour X ET pour Y ( chemin de coût le plus bas vers le switch racine
• Quel est le port désigné ( donc actif ) sur le segment du bas ( contrainte : 1 seul « designatedport par segment ) ?
100 Base T
100 Base T
Port 0
Port 1
Port 0
Port 0
Port 1
Switch X Priorité par défaut32768
MAC 0C0011111111
Switch Y Priorité par défaut32768MAC 0C0022222222
Switch ZPriorité par défaut 32768MAC 0C0011110000
242424© 2001, Cisco Systems, Inc. All rights reserved.Presentation_ID
Exemple : suite
• Chaque port 1 de X et de Y peut a priori être choisi !!
• Solution : Comme les 2 switchs ont le même « coût » vers Z, on regarde leur ID , et ; là encore, c’est le plus faible ID qui l’emporte !
• Conclusion : le port 1 sur X est désigné, le port 1 sur Y est bloqué !!
100 Base T
100 Base T
Port 0
Port 1
Port 0
Port 0
Port 1
Switch X Priorité par défaut32768
MAC 0C0011111111
Switch Y Priorité par défaut32768MAC 0C0022222222
252525© 2001, Cisco Systems, Inc. All rights reserved.Presentation_ID
Etats successifs des ports
• Le protocole Spanning Tree fait transiter les ports dans les différents états suivants :
Blocking
Listening
Learning
Forwarding
20 secondes
15 secondes
15 secondes
262626© 2001, Cisco Systems, Inc. All rights reserved.Presentation_ID
Etats successifs des ports (suite)
• Blocking - Aucune trame transmise, unités BPDU entendues.
• Listening - Aucune trame transmise, écoute (analyse) des trames BPDU.
• Learning - Aucune trame transmise, acquisition des informations sur les adresses (remplissage de la table d’adresse MAC).
• Forwarding - Trames transmises, acquisition des informations sur les adresses.
Explication des états STP
272727© 2001, Cisco Systems, Inc. All rights reserved.Presentation_ID
Re-calcul du Spanning Tree
• Un des champs de la trame BPDU est le champs MAXAGE• Quand MAXAGE arrive à expiration sans reception de BPDU,
une nouvel algorithme Spanning Tree est initiéLes ports bloqués initialment passent en mode « Listenning »
• Dans l’exemple, le switch X tombe en panne, le STP recalcule et après convergence, le switch Y devient le switch racine
Non-rootbridge
100 Base T
Port désigné(F)
Port désigné(F)
Port source(F)
Port non-désigné(B)10 Base T
Switch X Priorité par défaut 32768MAC 0C0011111111
Switch Y Priorité par défaut 32768MAC 0C0022222222
Port 0 Port 0
Port 1 Port 1BPDU
282828© 2001, Cisco Systems, Inc. All rights reserved.Presentation_ID
Spanning Tree : bilan
• Algorithme qui permet de fiabiliser le réseau en autorisant les chemins redondants (pour plus de sécurité) tout en éliminant les problèmes liés à la couche 2
•• Mais les temps de convergence sont Mais les temps de convergence sont relativement longs et peuvent engendrer relativement longs et peuvent engendrer dd’’autres difficultautres difficultéés !s !
292929© 2001, Cisco Systems, Inc. All rights reserved.Presentation_ID
Améliorations apportées au STP
• Port Fast
303030© 2001, Cisco Systems, Inc. All rights reserved.Presentation_ID
Port Fast
• Rappel : STP est activé par défautTous les ports participent au STP
• En cas de redémarrage d’un switch ou de nouveau calcul de convergence, les ports doivent attendre 50 s avant de pouvoir retransmettre
• Port Fast permet de paramétrer les ports connectés aux stations et aux serveurs pour qu’ils passent directement de l’état Blocking à l’état Forwarding
• Note : les ports reliés aux autres switchs ne doivent pas activer Port Fast sous peine de créer des problèmes de boucles
• Note : on active PortFast sur chaque port (interface) souhaité
Port Fast Port Fast