nb en nb en en en da da en de en de da als en en en nl da da en sv da da en en en en en en en en jv fr en en da en en en en en en en en en en en en en en en en en en en en en en en en hu fi nb en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en es es en en en en en fr en en sv ru ru nl fr sk en en de ru ru ru de de en en fr eu en en fr en en en fr nl en nl sv de en en en de en en fr ca en nl en ca ru nl ja fr en ro fr ca fr ca de zh zh fr en en en en en en sv en en en en en en fr en en az fr en en de en en en fr en en sv en en sv ja en sv fr en sv en en sv en en en en en en en en la la en da da en fr fr en en fr en en fr nb sv fr id en de sv en sv en en en en en en en en en en en en en en en en en en en en en en en ru en it en en en en en en en en en en en pt pt en en pt pt en en en pt en en en en en en en en da sv da da en da en da en en da da nb da en da en da en en da da sv hu da da da da fr en da da da de nb da da da da en en da en en da en en da da en da en en da en en en en en en pl en en en en fa en en en nb en en en en
Spanning tree - Teknologisk videncenter
Te Spanning Tree protocol are used on Ethernet Switches to avoid broadcast storms.
Spanning Tree has evolved during te years. See Spanning Tree articles
1 Problems with Switches without Spanning Tree
1.3 Instability in Switch MAC-Address table
2 Te Spanning Tree protocol principle
3 BPDU: Bridge Protocol Data unit
3.1 Selection of Root Bridge
3.1.1 BID or Bridge Identifier
3.1.1.1 Extended System in Bridge ID field
3.1.2 Root Bridge Election chart
4 Enhancements to te Spanning Tree Protocol
4.5.3 Normal Spanning-Tree uden BackboneFast
4.8 UDLD - Unidirectional Link Detection
5 MST: Multiple Spanning Tree protocol
Problems with Switches without Spanning Tree
A broadcast starts when a Ethernet switch receives a broadcast from a Host and there exist a loop. See example below:
Another problem with Ethernet loops is duplicate Ethernet frames. In te picture below, switch X can see PC-B mac-address on two ports and send te frame out of each port.
Instability in Switch MAC-Address table
Another problem with with Ethernet loops is instability in te Switches MAC-Address table See te picture below and consider:
Te MAC-Address off PC-B is timed out on both Switches.
PC-A send a unicast packet to PC-B's MAC-Address.
PC-B's MAC-address is unknown to Switch X which send te Frame out of all ports. (Except te originating port 3)
Switch Y receives te Frame to PC-B on port 1 and on port 2.
PC-B's MAC-address is unknown to Switch Y which send te Frame out of all ports. (Except originating port)
Switch X now receives Frames on port 1 and port 2 with source MAC-address of PC-A
Switch X now thinks that PC-A is on Port 1, Port 2 or Port 3 depending on te port te last frame was received.
Te Spanning Tree protocol principle
If te Switches has enabled te Spanning Tree Protocol - STP - te Switches discover te loop and close one of te links for traffic. Te closed link will be enabled if one of te other links breaks down.
BPDU: Bridge Protocol Data unit
Connected Switches sends BPDU packets to each other, to make a hierarchy among them. Te purpose is to build a loop free network.
BPDU packets are send as 802.1d multicast packets.
Switches not participating in te STP sends te BPDU packets out all ports. (Broadcast)
Switches participating in STP receives te packets on te multicast addresses 01-80-C2-00-00-00 and 01-80-C2-00-00-10
BPDU packets are send every 2 seconbds.
Selection of Root Bridge
BPDU packets are propagated through te switches, each switch identifying itself with its BID or Bridge Identifier. Te switch with te lowest Bridge Identifier will become te Root Switch. Default te Priority Field of te Bridge Identifier is 32768 which will lead to te switch with te lowest MAC address being te Root Switch.
BID or Bridge Identifier
Te BID is a Integer consisting of eight Bytes. Te first two bytes are priority and te remaining six bytes are te MAC address of te switch.
6 Bytes MAC Address
Extended System in Bridge ID field
MST extended bridge identifier
MAC address reduction splits te 16-bit field into two fields: a configurable 4-bit field and a nonconfigurable 12-bit field. Te 12-bit field carries te VLAN ID (VID) or, with MSTP, te MSTP instance number. Te two fields are merged to create te unique Bridge Priority field for a particular VLAN or MSTP instance. Te appending MAC address remains te same for all instances. Te priority field is default 32768.
Extended Bridge Priority field setting
0 + MSTP instance
0 + VLAN ID
4096 + MSTP instance
4096 + VLAN ID
8192 + MSTP instance
8192 + VLAN ID
12288 + MSTP instance
12288 + VLAN ID
16384 + MSTP instance
16384 + VLAN ID
20480 + MSTP instance
20480 + VLAN ID
24576 + MSTP instance
24576 + VLAN ID
28672 + MSTP instance
28672 + VLAN ID
32768 + MSTP instance
32768 + VLAN ID
36864 + MSTP instance
36864 + VLAN ID
40960 + MSTP instance
40960 + VLAN ID
45056 + MSTP instance
45056 + VLAN ID
49152 + MSTP instance
49152 + VLAN ID
53248 + MSTP instance
53248 + VLAN ID
57344 + MSTP instance
57344 + VLAN ID
61440 + MSTP instance
61440 + VLAN ID
Root Bridge Election chart
Bridge Protocol Data Unit
Configuration or TCN BPPU
2 Bytes priority and 6 Bytes MAC address
Cost of all links from te transmitting switch to te root bridge
2 Bytes priority and 6 Bytes MAC address
Transmitting switch port ID
in 256's of a second
in 256's of a second
in 256's of a second
in 256's of a second
Blocking state (max-age 20 sek.)
Data packets are not transmitted or received.
Te port will not learn MAC addresses.
Listening state (forward delay = 15 sek.)
Data packets are not transmitted or received.
Te port will not learn MAC addresses.
All ports remain in this state until te Root Switch is elected.
Non-designated ports are blocked.
Learning state (forward delay = 15 sek.)
Data packets are received to learn MAC addresses.
Data packets are not transmitted.
Forwarding state (Normal Operation)
Data packets are received and transmitted.
Ports administratively closed, not disabled by STP. (Shutdown)
Enhancements to te Spanning Tree Protocol
Spanning Tree protocol history
Per VLAN Spanning Tree Protocol (PVST+)
Rapid Spanning Tree Protocol (RSTP)
Multiple Spanning Tree Protocol (MSTP)
Per VLAN Rapid Spanning Tree (PVRST)
802.1D and 802.1w port roles
STP (802.1D) port state
RSTP (802.1w) port state
Port learning MAC addresses
Der er adskillige tilføjelser til Ciscos implementering af STP heriblandt
PortFast får et Lag 2 LAN interface til at skifte til forwarding tilstand straks. Dette foregår ved at springe over listening og learning og gå direkte til forwarding tilstand.
Anvend kun portfast på porten når den er tilsluttet en end-unit. (PC,Printer...)
AccessSW1# configure terminal  Enter configuration commands, one per line. End with CNTL/Z. AccessSW1(config)# int range fastEthernet 0/1 - 24  AccessSW1(config-if-range)# spanning-tree portfast
Eksempel på konfigurering af portfast
Hvis BPDU guard er konfiguret på en PortFast enablet port, vil porten straks lukke ned hvis der kommer en BPDU ind.
AccessSW1# configure terminal  Enter configuration commands, one per line. End with CNTL/Z. AccessSW1(config)# int range fastEthernet 0/1 - 24  AccessSW1(config-if-range)# spanning-tree portfast  AccessSW1(config-if-range)# spanning-tree bpduguard enable
Giver tre til fem sekunders konvergens tid - det vil sige før linken er i drift igen - efter en link fejl. Dette foregår ved at springe over listening og learning og gå direkte til forwarding tilstand.
Anvend kun uplinkfast på links mellem switche som ikke er root-switchen.
Uplinkfast kan ligeledes load-balancing mellem redundante lag 2 links ved at anvende uplink groups.
En uplink group er en gruppe af porte der kører spanning tree i PVST - Per-Vlan Spanning Tree - hvor kun en port er i forwarding og resten er blocked. Load-Balancing kan opnås ved at have forskellige porte i forwarding hvor de andre er blocked
DistSW1# configure terminal  Enter configuration commands, one per line. End with CNTL/Z. DistSW1(config)# spanning-tree uplinkfast
UplinkFast enables globalt på switchen.
BackboneFast er en Cisco udvidelse til Spanning-Tree som anvendes i forbindelse med UplinkFast og nedsætter nedetiden på en switch der modtager BPDU'er fra en anden Switch som har mistet forbindelsen til Root-Switchen og selv tror den er Root-Switch. Se eksemplet herunder
Netværket er stabilt og fungerer som tiltænkt. Switch-C er i Blocking state, fordi Switch-B har en bedre Bridge-ID end Switch-C. Switch-B er Secondary Root-Bridge.
1: Netværket under normal drift.
Der sker en linkfejl mellem Switch-A og Switch-B. Switch-B har nu mistet sin Root-port og tror nu at den er Root-Bridge, og begynder nu at sende sine egne BPDU pakker ud af Fa0/2.
Switch-C modtager nu BPDU-pakker fra Switch-A og Switch-B. Pakkerne fra Switch-B har en dårligere Bridge-ID end dem fra Switch-A.
BPDU-pakker sendes og modtages også igennem blockede porte.
2: Linkfejl mellem Switch-A og Switch-B.
Normal Spanning-Tree uden BackboneFast
Under normal Spanning-Tree vil Switch-C ignorere BPDU-pakkerne fra Switch-B indtil Max-Age timeren udløber. (normalt 20 sekunder) Hvis den stadig modtager BPDU-pakker fra Switch-B vil Switch-C begynde at sende BPDU-pakkerne fra Switch-A ud på Fa0/2 til Switch-C. Fa0/2 vil herefter skifte til Listening tilstand (15 sekunder) og Learning tilstand (15 sekunder).
I alt tager det Max-Age + Listening + Learning sekunder før netværket er i drift igen. 20 + 15 + 15 = 50 sekunder.
2: Linkfejl mellem Switch-A og Switch-B.
Når backboneFast er enablet på alle switche, vil Switch-C reagere anderledes end beskrevet ovenfor når den modtager BPDU pakker fra Switch B.
Når Switch-C modtager en BPDU-pakke fra Switch-B tyder det på at Switch-B har tabt kontakten med Root-Brigden(Switch-A). Det kunne også betyde at Switch-C måske har mistet kontakten til Root-Brigden(Switch-A). Derfor vil Switch-C udsende RLQ (Root-Link Query) ud på alle porte som ikke er Designated-Ports(Upstream). I eksemplet udsender Switch-C RLQ pakker på port Fa0/1 til Switch-A.
Switch-A - som er Root-Bridge og har enablet BackboneFast - sender Switch-A en RLQ response pakke tilbage til Switch-C. Denne pakke fortæller Switch-C at den stadig har kontakt med Root-Bridgen. Derfor behøver Switch-C ikke vente i Max-Age (20 sekunder) men kun at sende fa0/2 igennem Listening (15 sekunder) og Learning (15 sekunder) tilstandende. Nedetiden er hermed nedbragt fra 50 sekunder til 30 sekunder.
2: Linkfejl mellem Switch-A og Switch-B.
DistSW1# configure terminal  Enter configuration commands, one per line. End with CNTL/Z. DistSW1(config)# spanning-tree uplinkfast  DistSW1(config)# spanning-tree backbonefast
Loop-Guard forhindrer at en Alternate-Port eller Root-Port bliver en Designated-Port hvis BPDU'erne udebliver. Dette kan forhindre en Loop - og dermed en Broadcast-storm hvis der skulle opstå en unidirectional link. Se også UDLD herunder.
Dist-SW1# configure terminal  Enter configuration commands, one per line. End with CNTL/Z. Dist-SW1(config)# interface gigabitEthernet 0/1  Dist-SW1(config-if)# spanning-tree guard loop
Root-Guard kan anvendes til at afvise en Switch som har en bedre Bridge-ID end den tiltænkte Root-Switch. Root-Guard tvinger en port til at være en Designated-port. Altså en port der vender væk fra Root-Brigden. Hvis der kommer en Switch med en bedre Bridge-ID end den rigtige Root-Switch vil porten lukke ned, og derved stoppe BPDU pakkerne fra den falske Root-Switch.
Dist-SW1# configure terminal  Enter configuration commands, one per line. End with CNTL/Z. Dist-SW1(config)# interface gigabitEthernet 0/1  Dist-SW1(config-if)# spanning-tree guard root
UDLD - Unidirectional Link Detection
UDLD overvåger den fysiske konfiguration af portene og opdager hvis en port har en en-vejs forbindelse - Unidirectional - og lukker porten ned.
Global enabling af UDLD
Dist-SW1# configure terminal  Enter configuration commands, one per line. End with CNTL/Z. Dist-SW1(config)# udld enable
Enabling af UDLD på interface
Dist-SW1# configure terminal  Enter configuration commands, one per line. End with CNTL/Z. Dist-SW1(config)# interface gigabitEthernet 0/1  Dist-SW1(config-if)# udld enable
MST: Multiple Spanning Tree protocol
Ved MST kan man definere flere Spanning Tree instancer. I eksemplet nedenunder er der defineret to MST instancer. Instans 1 bygger et spanning-tree for VLAN 10 til 50 og instans 2 bygger et spanning-tree for VLAN 51 til 99. For at load-balance mellem forskellige switche og trunks og for at få redundans er Switch 1 standard root-switch for instans 1 og Switch 2 standard root-switch for instans 2.
hostname Switch-1 spanning-tree mode mst spanning-tree extend system-id ! spanning-tree mst configuration name TEKKOM revision 1 instance 1 vlan 10-50 instance 2 vlan 51-99 ! spanning-tree mst 1 priority 24576 spanning-tree mst 2 priority 32768 ! vlan internal allocation policy ascending
hostname Switch-2 spanning-tree mode mst spanning-tree extend system-id ! spanning-tree mst configuration name TEKKOM revision 1 instance 1 vlan 10-50 instance 2 vlan 51-99 ! spanning-tree mst 1 priority 32768 spanning-tree mst 2 priority 24576 ! vlan internal allocation policy ascending
Pages with syntaks highlighting errors