Ciele cvičenia

  • Definícia protokolu a rola portov
  • Základné pojmy
  • Pravidlá a poradie pri porovnávaní BPDU
  • Postup pri riešení úloh na STP
  • Vzorovo riešený príklad
  • Konfigurácia
  • Packet Tracer aktivita

Definícia protokolu a rola portov

Definícia Spanning Tree Protokolu

Spanning-Tree je protokol, ktorý rieši problém s L2 slučkami v prepínaných sieťach. Princíp fungovania tohto protokolu spočíva v tom, že v topológií buduje strom a všetky redundantné linky softvérovo vypne, čoho dôsledok je, že v topológií je stále aktívna len jedna cesta medzi akýmikoľvek dvoma miestami. Komunikácia medzi prepínačmi v rámci STP prebieha využitím BPDU, kde BPDU je dátová jednotka prenášajúca informácie o prepínačoch a ceste ku koreňovému prepínaču (od ktorého sa začína vytvárať STP strom).

Roly portov a ich voľba

V rámci klasického STP definujeme tri roly portov a to: root, designated a nondesignated (alternate) port. Voľba toho, v akej roly sa port nachádza prebieha na základe porovnávania BPDU. BPDU je možné porovnávať na základe viacerých charakteristík, no vo všeobecnosti platí, že nižšia hodnota danej charakteristiky vyhráva. Najlepšie BPDU nazývame „Superior BPDU“ a horšie BPDU nazývame „Inferior BPDU“.

Základné pojmy

Bridge ID (BID)

Táto hodnota slúži na jedinečné identifikovanie každého prepínača v topológii. BID pozostáva z dvoch hlavných častí a to konfigurovateľnej Bridge priority a MAC adresy. Pričom priorita pozostáva z hodnoty priority + čísla VLAN. Bridge priorita môže nadobúdať hodnoty z rozsahu <0 ; 61 440>, pričom štandardná hodnota je 32 768. Prioritu je možné konfigurovať v hodnotách násobkov čísla 4096. Pri porovnávaní tejto hodnoty sa najskôr porovná Priorita, v prípade ak je priorita rovnaká, tak sa porovná MAC adresa.

Port ID (PID)

Táto hodnota slúži na jedinečné identifikovanie každého rozhrania v topológii. PID pozostáva taktiež z dvoch častí a to konfigurovateľnej Port-Priority a čísla rozhrania. Číslo rozhrania sa určuje nasledovne (Napr. Fa0/1 má číslo rozhrania 1, Fa0/24 má číslo rozhrania 24. Ak pokračujeme ďalej a prepínač má aj Gigabitové rozhrania, tak číslovanie pokračuje – teda napr. Gi0/1 bude mať číslo rozhrania 25). Port-Priorita môže nadobúdať hodnoty z rozsahu <0 ; 255>, pričom štandardná hodnota je 128. Port-Prioritu je možné konfigurovať v násobkoch čísla 16. Pri porovnávaní tejto hodnoty sa najskôr porovná Port-Priorita, v prípade, ak je PortPriorita rovnaká, tak sa porovná číslo rozhrania.

Cost

Táto hodnota uchováva informáciu o najlepšej kumulatívnej cene ku koreňovému prepínaču z pohľadu nášho prepínača, na ktorom porovnávame BPDU. Počíta sa ako súčet cien rozhraní, cez ktoré je potrebné prejsť, aby sme sa dostali ku koreňovému prepínaču. Na tomto predmete budeme pracovať s Fa a Gi rozhraniami, pričom ceny týchto rozhraní sú nasledovné: Fa = 19 a Gi = 4.

BPDU

Je dátová jednotka, ktorá slúži na komunikáciu medzi prepínačmi a nesie v sebe množstvo údajov ako napr. Cost, BID suseda, BID koreňového prepínača, PID a pod.

Výsledné BPDU

Je BPDU, ku ktorému sme po jeho prijatí na našom rozhraní pripočítali k hodnote Costu hodnotu costu nášho rozhrania. Napríklad, ak v BPDU, ktoré sme prijali od suseda je hodnota costu 19 a dané BPDU sme prijali cez Gi rozhranie, tak výsledné BPDU bude mať hodnotu costu 19 + 4 = 23. To znamená, že na to, aby sme sa dostali z nášho prepínača ku koreňovému prepínaču potrebujeme prejsť cez jedno Fa a jedno Gi rozhranie.

Pravidlá a poradie pri porovnávaní BPDU

Porovnanie BPDU je možné na základe 4 hlavných charakteristík, pričom je presne určené poradie porovnania daných charakteristík. Vo chvíli, keď sme schopní rozhodnúť, ktoré BPDU je lepšie podľa porovnávanej charakteristiky, tak v tej chvíli končíme s porovnávaním. Poradie, v ktorom porovnávame charakteristiky BPDU je nasledovné:

  • Root Path Cost (RPC): Kumulatívna cena ku koreňovému prepínaču.
  • Sender Bridge ID (SBID): BID prepínača, od ktorého sme prijali BPDU.
  • Sender Port ID (SPID): PID rozhrania prepínača, od ktorého sme prijali BPDU.
  • Receiver Port ID (RPID): PID nášho rozhrania, cez ktoré sme prijali BPDU. Využíva sa výnimočne, ak sa medzi našim prepínačom a susedným prepínačom nachádza HUB.

Postup pri riešení úloh na STP

Jedná sa o úlohy, kde je potrebné určiť roly jednotlivých rozhraní a znázorniť vytvorený STP strom. Pri riešení odporúčam postupovať nasledovne:

  1. Voľba koreňového prepínača (Root Bridge - RB):
    • Koreňovým prepínačom sa stáva prepínač s najnižším BID v topológii
  2. Voľba práve jedného Root Portu (RP) na každom nekoreňovom prepínači:
    • Root portom sa stáva rozhranie, ktoré prijme najlepšie výsledné BPDU (obohatené o cost rozhrania).
  3. Voľba práve jedného Designated portu (DP) pre každý segment:
    • Segment je kolízna doména = jednoducho povedané prepoj medzi prepínačmi. Designated port je rozhranie, ktoré do daného segmentu posiela lepšie BPDU.
  4. Všetky zvyšné rozhrania sú non-designated (NDP/ALT):
    • Pozn1.: Každý prepínač odosiela susedným prepínačom stále najlepšie výsledné BPDU, ktoré prijal.
    • Pozn2.: Odporúčam si na každom prepínači zaznačiť hodnotu najlepšieho Costu ku koreňovému prepínaču.
    • Pozn3.: Všetky rozhrania na koreňovom prepínači sú automaticky Designated, pretože posielajú do daného segmentu najlepšie BPDU (keďže BPDU generuje koreňový prepínač, tak Cost v BPDU má hodnotu 0, čo je najlepšia možná hodnota a preto môžeme s istotou povedať, že pre dané segmenty sa bude jednať o DP).
    • Pozn4.: Oproti RP sa musí nachádzať DP.

Vzorovo riešený príklad

Vzorový náhľad sieťovej topológie
vzor topologie

Majme nasledujúcu topológiu, pričom platí, že všetky prepínače majú nastavenú štandardnú Bridge prioritu. Úlohou je určiť koreňový prepínač, všetky roly rozhraní a zakresliť výsledný strom vytvorený STP protokolom.

1. krok: Určenie koreňového prepínača

Keďže zo zadania je jasné, že všetky prepínače používajú štandardnú Bridge prioritu (32 768), tak na určenie koreňového prepínača využijeme MAC adresu. Najnižšiu MAC adresu má prepínač SW1, teda tento prepínač sa stane Root Bridge. - Podľa poznámky 3 je možné ďalej okamžite určiť rolu všetkých rozhraní na koreňovom prepínači na Designated.

volba BID
2. krok: Voľba Root portov na nekoreňových prepínačoch

Koreňový prepínač začne generovať BPDU a posielať ich do topológie. Všetky ďalšie prepínače po prijatí BPDU pripočítajú cost a posielajú ďalším prepínačom. Takto sa BPDU od koreňového prepínača dostane ku každému prepínaču v topológii, pričom platí, že každý prepínač posiela ďalej len najlepšie výsledné BPDU.

Pozrime sa na prepínač SW2. Tento prepínač má 4 rozhrania, pričom cez každé rozhranie prijme BPDU, no s rôznym costom. Už na prvý pohľad je možné vidieť, že cez Gi0/1 sme najbližšie ku koreňovému prepínaču. Najlepšie výsledné BPDU teda tento prepínač prijme na Gi0/1. Prepínač prijme cez toto rozhranie BPDU s costom 0, následne sa pozrie, cez aké rozhranie BPDU prijal a pripočíta ku costu hodnotu 4 (Gi). Najlepšie výsledné BPDU bude teda mať Cost 4. S týmto costom bude následne prepínač SW2 odosielať BPDU ďalším susedom.

Pri prepínači SW3 je postup rovnaký. Tento prepínač prijme BPDU cez 4 rozhrania, no znova je možné vidieť, že najlepšia cesta ku koreňovému prepínaču bude buď cez rozhranie Fa0/1 alebo Fa0/24. Cez tieto rozhrania prijme výsledné BPDU s costom 19 (Fa). Cez Gi0/1 a Fa0/2 to bude určite vyššia cena. Teraz, keďže sme ale prijali 2 BPDU s rovnakým Costom, tak je potrebné rozhodnúť, ktoré z nich je lepšie, využitím inej charakteristiky. Ak porovnáme Sender BID, tak sa znova rozhodnúť nevieme, lebo obe BPDU sú odosielané rovnakým zariadením (SW1). Preto pokračujeme ďalej a porovnáme Sender PID. Keďže sa v zadaní neuvádza zmena Port-Priority (je rovnaká pre obe rozhrania), tak sa rozhodneme podľa čísla portu. Nižšie číslo rozhrania je Fa0/1. Pozor !!! Porovnávame Sender PID – teda Root portom na prepínači SW3 sa stane rozhranie Fa0/24.

Prepínač SW4 prijme BPDU cez 3 rozhrania. BPDU od SW2 bude mať cost 4 – po pripočítaní lokálneho costu bude výsledné BPDU mať cost 4+19=23. Od zariadenia SW3 prijme BPDU s costom 19 – po pripočítaní lokálneho costu bude mať výsledné BPDU cost 19+4= 23. Od prepínača SW5 prijmeme BPDU s costom 8 (4 k SW2 a 4 k SW1) – po pripočítaní 19 (Fa) bude výsledné BPDU mať hodnotu 27. Znova máme teda situáciu, kedy sa nevieme rozhodnúť na základe Costu (dve BPDU majú hodnotu 23). Pozrieme sa teda na Sender BID. Keďže Bridge priorita je rovnaká, tak rozhodne MAC adresa, ktorá je nižšia v BPDU prijatého od prepínača SW2. Teda Root Portom na SW4 sa stáva rozhranie Fa0/2.

Prepínač SW5 prijme BPDU od SW2 (s costom 4), SW3 (s costom 19) a SW4 (s costom 23). Po pripočítaní lokálneho costu bude najlepšie výsledné BPDU prijaté rozhraním Gi0/2 – pričom výsledné BPDU bude mať Cost 4+4=8 a teda Gi0/2 sa stane Root Portom.

Podľa poznámky 4 je možné okamžite oproti RP zaznačiť rozhranie ako DP. Tiež podľa poznámky 2 si ku každému prepínaču poznačme hodnotu costu, aké má najlepšie výsledné BPDU – zíde sa to neskôr. Aktuálna topológia teda vyzerá nasledovne:

3. krok: Voľba Designated Portu na každom segmente

Na každom segmente je potrebné určiť DP. DP sa stáva rozhranie, ktoré do segmentu posiela lepšie BPDU. Pozrime sa teda na prepojenia, kde sa zatiaľ nenachádza DP.

Prepoj medzi SW2 a SW5 cez Fa0/1. Prepínač SW2 posiela do segmentu BPDU s costom 4 a SW5 s costom 8. Lepšie BPDU teda posiela SW2 a teda DP bude rozhranie Fa0/1 na SW2. Prepoj medzi SW5 a SW3. SW5 posiela do segmentu BPDU s costom 8, pričom SW3 s costom 19. DP je teda rozhranie Fa0/2 na prepínači SW5.

Prepoj medzi SW5 a SW4, SW5 posiela do segmentu BPDU s costom 8, pričom SW4 s costom 23. DP pre tento segment je rozhranie Fa0/10 na prepínači SW5.

Prepoj medzi SW3 a SW4. SW3 posiela do segmentu BPDU s costom 19, pričom SW4 s costom 23. DP je teda rozhranie Gi0/1 na prepínači SW3.

Ak by sa stalo, že do daného segmentu by prichádzali BPDU s rovnakým costom, tak by sme robili porovnanie využitím ďalších atribútov

4. krok: Všetky ostatné rozhrania budú NDP / ALT:

Keďže sme určili na každom nekoreňovom prepínači práve jeden Root Port a zároveň na každom segmente práve jeden Designated port, tak všetky ostatné rozhrania musia byť blokované. Výsledná topológia vyzerá nasledovne:

5. krok: Výsledná bezslučková topológia

Prepojenia, kde je jedna strana v roly ALT sú softvérovo vypnuté. Výsledná bezslučková topológia by vyzerala nasledovne:

Konfigurácia

Switch(config)# spanning tree vlan 10 priority 4096 - zmena bridge-priority

Switch(config-if)# spanning-tree vlan 10 port-priority 112 - zmena port-priority

Switch(config-if)# spanning tree vlan 10 cost 10 - zmena costu

Switch(config)# spanning-tree mode ? - zmena STP módu

Switch# show spanning-tree [vlan id][interface Fa0/1][detail] - overenie konfigurácie

Packet Tracer aktivita

  • Táto aktivita slúži na interaktívnejšie precvičenie protokolu STP.
  • V tejto aktivite si môžete precvičiť:
    • Nastavenie/zmena bridge-priority
    • Nastavenie/zmena port-priority
    • Nastavenie/zmena costu
    • Nastavenie/zmena STP módu
    • Overenie konfigurácie pomocou show príkazu
  • Táto aktivita je v anglickom jazyku, pretože cieľom tohoto predmetu je aj opakovanie technickej angličtiny.
  • Aktivita nie je časovo obmedzená a taktiež nebude ani hodnotená.