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ě.

Varianty STP při použití VLAN

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.

147a.gif

Obr. 1

Následující sekce ukazuje typické použití různých typů Spanning tree protokolů (STP) na toto nastavení.

PVST+

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í:

CST

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

147b.gif

Obr. 2

V síti s běžícím CST platí:

MST

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í:

 

147c.gif

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:

 

MST Region

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.

MST konfigurace a MST Region

Každý switch, na kterém běží MST, má jednu MST konfiguraci, která se skládá ze tří následujících atributů:

  1. Název(pojmenování) konfigurace (32 bytů)

  2. Číslo revize konfigurace(2 byty)

  3. 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ů

 

Hranice 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.

147d.gif

Obr. 4

 

MST Instance

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é.

 


 

Konfigurace MSTP

Implicitní nastavení MSTP

vlastnost

 

Spanning-tree mode

PVST+ (Rapid PVST+ a MSTP jsou vypnuté).

Priorita přepínače (Switch priority)

32768.

Priorita portu (Spanning-tree port priority)

128.

Cena portu (Spanning-tree port cost)

1000 Mbps: 4.
100   Mbps: 19.
10     Mbps: 100.

Doba mezi posíláním Hello zpráv (Hello time)

2 sekund

Doba změny stavu portu - listening na learning a learning na forwarding (Forward-delay time)

15 sekund

Maximální doba života BPDU (Maximum-aging time)

20 sekund

Maximální počet přeskoků BPDU
(Maximum hop count)

20 přeskoků

 

Specifikace MST regionu, konfigurace a povolení MSTP

 

Příkaz 

Popis 

Krok 1 

configure terminal

Vstup do globálního konfiguračního režimu

Krok 2 

spanning-tree mst configuration

Vstup do MST konfiguračního režimu

Krok 3 

instance instance-id vlan vlan-range

Namapování VLANu na MST instanci

  • Pro instanci instance-id můžeme specifikovat jeden VLAN, rozsah VLANů s pomlčkou nebo seznam VLANů oddělených čárkou.

  • Rozsah instance-id je od 1 do 15

  • Pro vlan vlan-range je rozsah od 1 do 4094.

například instance 1 vlan 1-63 nebo instance 1 vlan 10, 20, 30

Krok 4 

name name

název konfigurace (max. 32 znaků, case sensitive)

Krok 5 

revision version

Revizní číslo konfigurace (0 - 65535)

Krok 6 

show pending

Kontrolni vypis konfigurace.

Krok 7 

exit

Nastavení změn a návrat do globálního konfiguračního režimu

Krok 8 

spanning-tree mode mst

Zapnutí MSTP. RSTP je automaticky zapnut.
Nelze mít spuštěny MSTP and PVST+ , nebo MSTP a PVST+ současně

Krok 9 

end

Návrat zpět

Krok 10 

show running-config

Kontrola, co jsme zadali

 

Konfigurace priority přepínače

 

Příkaz 

Popis 

Krok 1 

configure terminal

Vstup do globálního konfiguračního režimu

Krok 2 

spanning-tree mst instance-id priority priority

Nastavení priority přepínače pro MST instance

  • Pro instanci instance-id můžeme specifikovat jednu instanci, rozsah instancí s pomlčkou nebo seznam instancí oddělených čárkou. Rozsah je od 0 do 15

  • Pro priority je rozsah 0 až 61440 s krokem 4096; implicitně je 32768. Nižší číslo znamená vyšší pravděpodobnost, že se přepínač stane root-přepínačem

Hodnoty priority mohou být: 0, 4096, 8192, 12288, 16384, 20480, 24576, 28672, 32768, 36864, 40960, 45056, 49152, 53248, 57344, a 61440. Všechny ostatní hodnoty jsou zakázány.

Krok 3 

end

Návrat zpět

Krok 4 

show running-config

Kontrola, co jsme zadali

 

Konfigurace Root přepínače

 

Příkaz

Popis

Krok 1 

configure terminal

Vstup do globálního konfiguračního režimu

Krok 2 

spanning-tree mst instance-id root primary

Nastavení přepínače jako potencionálního Root

  • instance-id číslo instance(možno zadat opět pomocí pomlčky a čárky)

Krok 3 

end

Návrat zpět

Krok 4 

show spanning-tree mst instance-id

Kontrola, co jsme zadali

 

Nastavení Path Cost (ceny linek)

 

Příkaz

Popis

Krok 1 

configure terminal

Vstup do globálního konfiguračního režimu

Krok 2 

interface interface-id

Vstup na rozhranní

Krok 3 

spanning-tree mst instance-id cost cost

Nastavení ceny cesty

Pokud se objeví v síti smyčka, MSTP použije cenu cesty pro výběr forwarding portu
Nižší cena znamená vyšší preferenci linky

  • instance-id číslo instance(možno zadat opět pomocí pomlčky a čárky)

  • cost cena cesty (rozsah 1 až 200 000 000)

Krok 4 

end

Návrat zpět

Krok 5 

show spanning-tree mst interface interface-id

nebo

show spanning-tree mst instance-id

Kontrola, co jsme zadali

 

Zobrazení MST konfigurace

Příkaz 

Popis 

show spanning-tree mst configuration

Zobrazení nastavení MST regionů

show spanning-tree mst instance-id

Zobrazení nastavení MST pro konkrétní instanci

show spanning-tree mst interface interface-id

Zobrazení nastavení MST pro konkrétní rozhraní

 

Naše zapojení

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í.

 

nase zapojení

Obr. 5

Výpis konfigurace přepínače SW1:

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

Výpis konfigurace přepínače SW2:

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

Výpis konfigurace přepínače SW3:

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.
 


 

Závěr

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.

BPDU v Etherealu

Obr. 6

Na výpisu je vidět:

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)

RSTP BPDU vlajky

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:
00
01
10
11
 

Port role:
Unknown
Alternate port
Root port
Designated port
 

role portu

4

Learning

stavy portu

5

Forwarding

6

Agreement

7

Topology change acknowledgement (TCA)

potvrzení o změně topologie