Spanning-Tree Protocol - IEEE 802.1d
Ethernetové bridge a switche můžou mít implementován IEEE 802.1d Spanning-Tree Protocol a používat spanning-tree algorithm pro tvorbu loop free shortest path sítě.
Spanning-Tree Protocol stanovuje kořenový uzel /root node/ nazývaný také root bridge. Spanning-Tree Protocol buduje topologii, která má jednu cestu do každého připojeného uzlu /node/ v síti. Tento strom /tree/ začíná v root bridge. Spanning-Tree Protocol vyžaduje, aby si síťové zařízení vyměňovaly zprávy, kerými se detekují bridging loops. Switche posílají zprávy, které se jmenují bridge protocol data units (BPDU). BPDU jsou přijímány i na blokovaných interfaces. To zajišťuje, že když aktivní cesta nebo zařízení selže, může být vypočítán nový Spanning-tree. Datové rámce přijaté na blokovaných linkách jsou zahozeny.
BPDUs obsahují informace které umožňují switchům provádět specifické akce:
-
Vybrat jeden switch do role root of the spanning-tree.
-
Vypočítat shortest path od sebe do root switche.
-
Určit jeden switch jako nejbližší k root switchi, pro každý LAN segment. Tento switch je nazýván designated switch. Designated switch zpracovává celou komunikaci z LAN segmentu směrem k root bridgi.
-
Vybrat jeden ze svých portů jako root port, pro každý non-root switch. Toto je interface, přes který je dostupná best path do root switche.
-
Určit porty které jsou součástí spanning-tree. Tyto porty se nazývají designated ports. Non-designated ports jsou blokovány.
Výsledkem práce STP je, že v každé switchované síti existují:
-
Jeden root bridge v celé síti
-
Jeden root port pro non-root bridge
-
Jeden designated port pro segment
-
Nepoužité, nebo non-designated porty
Spanning-tree link cost
Nejkratší cesta /shortest path/ je určována podle úhrnné ceny linky /cumulative link costs/.
Link speed | Cost(Revised) | Cost(Previous) |
---|---|---|
10 Gbps | 2 | 1 |
1 Gbps | 4 | 1 |
100 Mbps | 19 | 10 |
10 Mbps | 100 | 100 |
Redundantní linky, které nejsou součástí shortest path tree jsou zablokovány.
Selecting the root bridge
První akce, kterou udělají všechny switche v sítí, je rozpoznání root bridge. Pozice root bridge v síti ovlivňuje tok provozu v síti.
Po zapnutí switche je použit spanning-tree algorithm pro identifikaci root bridge. Jsou rozeslány BPDUs které obsahují bridge ID (BID). BID obsahuje bridge priority která je defaultně 32768 a switch MAC address. Defaultně jsou BPDUs posílány každé 2 sekudy.
Po zapnutí, switch předpokládá že zrovna on je root bridge a rozesílá BPDUs, která obsahuje MAC address switche v obou položkách BID root i sender. Tato BPDUs je považována za horší /inferior/, protože je generována z designated switche který ztratil link na root bridge. Designated switch vysílá BPDUs s informací že toto je root bridge. Tato BIDs je přijata všemi switchy. Každý switch vymění vyšší root BIDs za nižší root BIDs v BPDUs, kterou odesílá /pokud je jeho BID nižší/. Všechny switche přijmou tyto BPDUs a určí že switch s nejnižším root BID bude root bridge.
Administrátor může nastavit switch priority na hodnotu menší než je default, toto zmenší hodnotu BID.
Spanning-tree port states
-
Disabled – neučastní se STP /administrativně zablokovaný/
-
Blocking – zahazuje rámce, přijímá BPDU /přechod z tohoto stavu max 20s/
-
Listening – zjišťuje zda nejsou linky k rootu s nižší cenou, zahazuje rámce, přijímá BPDU /forward delay=15s/
-
Learning – připravuje se na forwardování, učí se MAC adr. z příchozích rámců, které jsou opět zahazovány /forward delay=15s/
-
Forwarding – přeposílá rámce, učí se MAC, přijímá BPDU
Rapid Spanning-Tree Protocol
Rapid Spanning Tree Protocol (RSTP) má čas konvergence v praxi kolem 1 či 2s. RSTP byl původně definován jako rozšíření normou IEEE 802.1w, ale v roce 2004 byl zařazen do normy IEEE 802.1d.
Zjednodušuje stavy portů:
-
Discarding - slučuje stavy STP(Disabled, Blocking, Listening).
-
Learning
-
Forwarding
Zavádí typy portů/linek:
-
point-to-point - tedy spoj bod-bod, připojení dalšího switche, linka musí být full duplex
-
edge - koncový/hraniční port (PortFast), je do něj připojeno koncové zařízení (jako PC či tiskárna)
-
shared - sdílená linka, například hub, linka je half duplex
Edge porty definujeme pomocí funkce PortFast. Point-to-point a shared konfigurujeme pomocí link-type. Výchozí stav pro full duplex linky je P2P. Pro P2P musíme zaručit, aby byla linka ve full duplex módu.
Configuration STP
show spanning-tree
Obyčejný switch:
mys# show spanning-tree vlan 1
VLAN0001 Spanning tree enabled protocol ieee Root ID Priority 32769 Address 0009.43de.8fc0 Cost 19 Port 16 (FastEthernet0/16) Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 32769 (priority 32768 sys-id-ext 1) Address 0009.7c4f.b040 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time 300 Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- Fa0/2 Desg FWD 19 128.2 P2p Fa0/4 Altn BLK 19 128.4 P2p Fa0/16 Root FWD 19 128.16 P2p
Root bridge:
kocour#sh spanning-tree VLAN0001 Spanning tree enabled protocol ieee Root ID Priority 32769 Address 0009.43de.8fc0 This bridge is the root Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 32769 (priority 32768 sys-id-ext 1) Address 0009.43de.8fc0 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time 15 Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- Fa0/1 Desg FWD 19 128.1 P2p Fa0/2 Desg FWD 19 128.2 P2p Fa0/8 Desg FWD 19 128.8 P2p Fa0/16 Desg FWD 19 128.16 P2p
Uměle snížená rychlost rozhraní = vyšší cena:
kocour#sh spanning-tree