MST
Multiple Spanning Tree (MST) protokolu a jeho implementace na směrovačích firmy Cisco. Popíšeme zde varianty Spanning tree protokolu při použití VLANů s hlavním zaměřením na MST. Na konci pak uvedeme konkrétní příklad MST konfigurace směrovačů na vzorové topologii sítě.
Obrázek 1 ukazuje běžné zapojení přepínače A s 1000 VLANy redundantně spojeného se dvěma přepínači D1 a D2. V tomto nastavení jsou uživatelé připojení ke přepínači A a administrátor sítě usiluje o dosažení vyvážení zátěže na přístupových linkách založené na sudých nebo lichých VLANech, nebo jiném vhodném schématu.
Obr. 1
Následující sekce ukazuje typické použití různých typů Spanning tree protokolů (STP) na toto nastavení.
V Cisco provedení Per-VLAN Spanning Tree (PVST+) mohou být parametry Spanning tree nastaveny tak, že polovina STP portů je forwarding na jedné lince a druhá polovina na druhé lince. To lze snadno dosáhnout tak, že nastavíme přepínač D1 jako root pro VLANy 501-1000 a přepínač D2 jako root pro VLANy 1-500.
Pro toto nastavení platí:
Lze dosáhnout optimálního vyvažování zátěže.
Spanning tree instance je udržována pro každý VLAN, to znamená 1000 instancí pro pouze 2 různé logické topologie. To značně plýtvá výkonem CPU pro všechny přepínače v síti a navíc se linky zbytečně zahlcují zasíláním Bridge Protocol Data Unit (BPDU) zpráv.
Standard IEEE 802.1q definuje mnohem více, než jenom trunking. Definuje Common Spanning Tree (CST), který předpokládá pouze jedinou instanci Spanning tree pro celou přepínanou síť bez ohledu na počet VLANů. Jestliže CST aplikujeme na naší topologii, výsledkem bude schéma na obrázku 2
Obr. 2
V síti s běžícím CST platí:
Nemožnost load balancingu, jeden port je blokován pro všechny VLANy.
Nízké zatížení CPU, protože je nutno počítat pouze jednu instanci.
Multiple Spanning Tree (MST) je nový IEEE standard inspirovaný Cisco protokolem Multiple Instances Spanning Tree Protocol (MISTP). Následující tabulka ukazuje podporu MST různých Catalyst přepínačů:
Catalyst Platforma | MST s RSTP |
---|---|
Catalyst 2900 XL and 3500 XL | Not Available |
Catalyst 2950 and 3550 | Cisco IOS ® 12.1(9)EA1 |
Catalyst 2955 | All Cisco IOS versions |
Catalyst 2948G-L3 and 4908G-L3 | Not Available |
Catalyst 4000, 2948G, and 2980G (Catalyst OS (CatOS)) | 7.1 |
Catalyst 4000 and 4500 (Cisco IOS) | 12.1(12c)EW |
Catalyst 5000 and 5500 | Not Available |
Catalyst 6000 and 6500 (CatOS) | 7.1 |
Catalyst 6000 and 6500 (Cisco IOS) | 12.1(11b)EX, 12.1(13)E, 12.2(14)SX |
Catalyst 8500 | Not Available |
MST (IEEE 802.1s) kombinuje to nejlepší z PVST+ a 802.1q. Myšlenka je taková, že několik VLANů mapujeme na menší počet Spanning tree instancí, protože většina sítí nepotřebuje více než několik logických topologií. V topologii znázorněné na obrázku 1 jsou pouze 2 různé logické topologie. Potřebujeme tedy pouze 2 Spanning tree instance. Není tedy potřeba, aby běželo 1000 instancí. Když namapujeme polovinu z 1000 VLANů na Instanci č.1 a druhou na Instanci č.2, jak ukazuje schéma na obrázku 3, pak platí:
Požadované vyvažování zátěže lze stále dosáhnout, neboť polovina VLANů je v jedné instanci.
Nízké zatížení CPU, protože se rozhoduje pouze mezi dvěmi instancemi.
Obr. 3
Technicky vzato je MST nejlepší řešení. Z hlediska konstruktéra sítě je jediná nevýhoda spojená s přechodem na MST to, že MST je nový protokol a tudíž vyvstávají následující problémy:
Protokol je složitější než běžný Spanning tree a vyžaduje proto lepší rozplánování. Složitost spočívá v mapování VLANů na instance a nastavení priorit cest a přepínačů
Spojení se stávajícími přepínači, které MST nepodporují, je problematické
Myšlenka MST Regionů je podobná myšlence autonomních systémů Border Gateway Protocol (BGP), kde je skupina přepínačů se stejnou správou. MST region pak vystupuje v okolní síti jako jeden virtální přepínač.
Propojené přepínače, které mají stejnou MST konfiguraci jsou nazývány MST region. Počet MST regionů v síti není nijak omezen.
Jak už bylo zmíněno výše, hlavní vylepšení, které představuje MST je, že několik VLANů může být namapováno na jednu Spanning tree instanci. Tím vzniknou problémy s určením, které VLANy jsou namapovány na kterou instanci. Přesněji označování BPDU tak, aby cílová zařízení mohla identifikovat instance a VLANy k nim náležící.
Tento problém v případě 802.1q standardu nikdy nenastane, neboť všechny VLANy jsou zde namapovány na jedinou instanci.
V případě PVST+ se předávají BPDU zprávy pro každý jednotlivý VLAN.
V MST se řeší tento problém statickým nakonfigurováním přepínačů, kdy přiřazujeme jednotlivé VLANy na instance. V BPDU zprávě jsou pak rozesílány ID konfigurace a kontrolní součet, který je vypočítaný z tabulky mapování VLANů na instance.
Každý switch, na kterém běží MST, má jednu MST konfiguraci, která se skládá ze tří následujících atributů:
Název(pojmenování) konfigurace (32 bytů)
Číslo revize konfigurace(2 byty)
4096-položková tabulka, která spojuje každý z potenciálních 4096 VLANů podporovaných na šasi s danou instancí
Aby se skupina switchů stala součástí jednoho MST regionu, musí mít nastaveny stejné konfigurační atributy. Nastavení vhodné konfigurace pro celou síť je úlohou administrátora. Tento krok je možno provést pomocí Command Line Interface (CLI) nebo přes Simple Network Management Protocol (SNMP).
Poznámka: Jestliže se dva switche liší v jednom nebo více atributech konfigurace, stávají se částmi jiných regionů
Aby bylo zajištěno shodné mapování VLANů na instance, je pro protokol nezbytné, aby mohl přesně identifikovat hranice regionů. Pro tento účel jsou parametry regionu zahrnuty v BPDU zprávě. Přesné mapování VLANů na instance není v BPDU propagováno, protože přepínače potřebují pouze informaci, zda jsou nebo nejsou ve stejném regionu. Proto se v BPDU zprávě náchází kontrolní součet (číselná hodnota odvozená pomocí matematické funkce z tabulky mapování VLANů na instance), číslo revize a název konfigurace. Jakmile přepínač dostane BPDU zprávu, porovná vlastní kontrolní součet s kontrolním součtem ze zprávy. Pokud se liší, port na kterém BPDU přišlo je na hranici regionu.
In generic terms, a port is at the boundary of a region if the designated bridge on its segment is in a different region or if it receives legacy 802.1d BPDUs. In the following diagram, the port on B1 is at the boundary of region A, whereas the ports on B2 and B3 are internal to region B:
Na schématu z obrázku 4 je port na přepínači B1 na hranici regionu A zatímco porty na přepínačích B2 a B3 jsou vnitřní v regionu B. Přepínače B2 a B3 mají stejnou MST konfiguraci a proto leží v regionu B, zatímco přepínač B1 má odlišnou konfiguraci MST a leží tudíž v jiném MST regionu.
Obr. 4
Cisco implementace MST podporuje až 16 instancí. Každý Spanning Tree je identifikován pomocí ID v rozsahu 0 až 15. Instance 0 je povinná a je vždy přítomna. Instance 1 až 15 jsou volitelné.
|
|
|
|
|
|
Cílem demonstrace bylo zapojit a nastavit vzorovou topologii sítě s několika VLANy, které jsme namapovali na 2 instance MST. K nim pak dodefinovat Root přepínače a odchytit a analyzovat BPDU zpávy.
Pro zapojení jsme použili 3 Cisco Catatalyst 2950 switche. Pro demonstraci MSTP jsme si nadefinovali 4 VLANY a rozdělili je do dvou MST instancí.
VLAN4 a VLAN5 patří do Instance 1
VLAN6 a VLAN7 patří do Instance 2
Obr. 5
conf t hostname SW1 spanning-tree mst configuration -- přepnutí do MST konfiguračního módu instance 1 vlan 4-5 -- namapování VLANů 4 a 5 na instanci 1 instance 2 vlan 6-7 -- namapování VLANů 6 a 7 na instanci 2 name region1 -- jméno regionu bude "region1" revision 1 -- číslo revize 1 show pending -- vypsání nastavení Pending MST configuration Name [region1] Revision 1 Instance Vlans mapped -------- -------------------------- 0 1-3,8-4094 1 4-5 2 6-7 ------------------------------------ spanning-tree mode mst -- zapnutí MSTP vtp mode transparent vlan 4 -- nastavení VLANu 4 name CTYRI exit vlan 5 name PET exit vlan 6 name SEST exit vlan 7 name SEDM exit interface FastEthernet0/4 switchport access vlan 4 -- přiřazení VLANu 4 na port 4 exit interface FastEthernet0/5 switchport access vlan 5 -- přiřazení VLANu 5 na port 5 exit interface FastEthernet0/6 switchport access vlan 6 -- přiřazení VLANu 6 na port 6 exit interface FastEthernet0/7 switchport access vlan 7 -- přiřazení VLANu 7 na port 7 exit end conf t spanning-tree mst 2 priority 4096 -- nastavení priority přepínače pro instanci 2 na 4096 exit
conf t hostname SW2 spanning-tree mst configuration -- přepnutí do MST konfiguračního módu instance 1 vlan 4-5 -- namapování VLANů 4 a 5 na instanci 1 instance 2 vlan 6-7 -- namapování VLANů 6 a 7 na instanci 2 name region1 -- jméno regionu bude "region1" revision 1 -- číslo revize 1 spanning-tree mode mst -- zapnutí MSTP vtp mode transparent vlan 4 -- nastavení VLANu 4 name CTYRI exit vlan 5 name PET exit vlan 6 name SEST exit vlan 7 name SEDM exit interface FastEthernet0/4 switchport access vlan 4 -- přiřazení VLANu 4 na port 4 exit interface FastEthernet0/5 switchport access vlan 5 -- přiřazení VLANu 5 na port 5 exit interface FastEthernet0/6 switchport access vlan 6 -- přiřazení VLANu 6 na port 6 exit interface FastEthernet0/7 switchport access vlan 7 -- přiřazení VLANu 7 na port 7 exit end conf t spanning-tree mst 1 priority 4096 -- nastavení priority přepínače pro instanci 1 na 4096 exit
conf t hostname SW1 spanning-tree mst configuration -- přepnutí do MST konfiguračního módu instance 1 vlan 4-5 -- namapování VLANů 4 a 5 na instanci 1 instance 2 vlan 6-7 -- namapování VLANů 6 a 7 na instanci 2 name region1 -- jméno regionu bude "region1" revision 1 -- číslo revize 1 spanning-tree mode mst -- zapnutí MSTP vtp mode transparent vlan 4 -- nastavení VLANu 4 name CTYRI exit vlan 5 name PET exit vlan 6 name SEST exit vlan 7 name SEDM exit interface FastEthernet0/4 switchport access vlan 4 -- přiřazení VLANu 4 na port 4 exit interface FastEthernet0/5 switchport access vlan 5 -- přiřazení VLANu 5 na port 5 exit interface FastEthernet0/6 switchport access vlan 6 -- přiřazení VLANu 6 na port 6 exit interface FastEthernet0/7 switchport access vlan 7 -- přiřazení VLANu 7 na port 7 exit end
Výpis proveden na přepínači SW1 (Root přepínač instance 2): show spanning-tree mst ###### MST00 vlans mapped: 1-3,8-4094 Bridge address 000a.41b1.dbc0 priority 32768 (32768 sysid 0) Root address 0005.dcd2.2040 priority 32768 (32768 sysid 0) port Fa0/3 path cost 0 IST master address 0005.dcd2.2040 priority 32768 (32768 sysid 0) path cost 200000 rem hops 19 Operational hello time 2, forward delay 15, max age 20 Configured hello time 2, forward delay 15, max age 20, max hops 20 Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- Fa0/2 Altn BLK 200000 128.2 P2p Fa0/3 Root FWD 200000 128.3 P2p Fa0/4 Desg FWD 200000 128.4 P2p ###### MST01 vlans mapped: 4-5 Bridge address 000a.41b1.dbc0 priority 32769 (32768 sysid 1) Root address 0005.dcd2.2300 priority 4097 (4096 sysid 1) port Fa0/2 cost 200000 rem hops 19 Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- Fa0/2 Root FWD 200000 128.2 P2p Fa0/3 Altn BLK 200000 128.3 P2p Fa0/4 Desg FWD 200000 128.4 P2p ###### MST02 vlans mapped: 6-7 Bridge address 000a.41b1.dbc0 priority 4098 (4096 sysid 2) Root this switch for MST02 Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- Fa0/2 Desg FWD 200000 128.2 P2p Fa0/3 Desg FWD 200000 128.3 P2p
Na předchozím výpisu vidíme, že přepínač, na kterém byl výpis proveden (SW1) je Root-přepínač pro instanci 2(MST02), do které jsou mapovány VLANy 6 a 7.
Jsou zde také vidět nastavení jednotlivých portů, jejich rolí a cen linek. Stejně jako adresy Root-přepínačů ostatních instancí a ke kterému portu jsou tyto přepínače připojeny.
Po nakonfigurování switchů jsme pozorovali automatické rozběhnutí RSTP(po odpojení a opětovném připojení jedné z linek proběhla rekonfigurace portů během asi 3 sekund).
Pak jsme pomocí hubu zapojeného mezi dvěma switchi sledovali provoz na lince pomocí programu Ethereal. Na obrázku 6 je výpis z programu Ethereal.
Obr. 6
Na výpisu je vidět:
verzi Spanning tree - Multiple Spanning Tree
BPDU vlajky popsané v kapitole RSTP BPDU vlajky
parametry BPDU popsané v kapitole Implicitní nastavení MSTP
MST Config ID format selector - formát ID konfigurace
MST Config name - název konfigurace
MST Config revision - číslo revize
MST Config digest - kontrolní součet
Dále jsme zjistili, že na lince procházejí BPDU zprávy jen pro definované instance, v našem případě tedy pro instanci 0,1 a 2 a to v čase po dvou sekundách pro každou instanci(hello time)
Tabulka popisuje význam jednotlivých bitů v BPDU zprávě u RSTP, který je zahrnut v MST.
Bit | Funkce | |
---|---|---|
0 | Topology change (TC) | došlo ke změně topologie |
1 | Proposal |
|
2-3: | Port role: | role portu |
4 | Learning | stavy portu |
5 | Forwarding | |
6 | Agreement | |
7 | Topology change acknowledgement (TCA) | potvrzení o změně topologie |