Funkcje specjalne protokołu STP
Funkcja UplinkFast
- Funkcja UplinkFast umożliwia natychmiastowe przełączenie ruchu sieciowego z interfejsu pełniącego rolę „root port”, na zapasowe połączenie prowadzące do root-a.
- Aktywowanie funkcji UplinkFast na przełączniku automatycznie zwiększy jego wartość Bridge Priority z 32768 do 49152 oraz wartość (Port Priority) wszystkich jego interfejsów do 3000.
- Proces działania funkcji UplinkFast jest następujący:
- Domyślnie przełącznik przetrzymuje w swojej pamięci kopie wiadomości superior BPDU na podstawie, której wybierany jest interfejs pełniący rolę root port. Funkcja UplinkFast umożliwia zapamiętanie dodatkowej wiadomości Inferior BPDU, wskazującej zapasowe połączenie do root-a.
- W przypadku utraty głównego połączenia do root-a, funkcja UplinkFast umożliwia natychmiastowe przełączenie ruchu sieciowego na interfejs zapasowy, posiadający drugą najniższą wartość wiadomości BPDU. Przenosząc go od razu ze stanu „Blocking” do stanu „Forwarding”, pomijając tym samym proces nasłuchu „Listening State” oraz etap nauki adresów MAC „Learning State”.
- Po aktywowaniu zapasowego połączenia, przełącznik przenosi zawartość tablicy „MAC address Table” z dezaktywowanego interfejsu na nowy zapasowy, dzięki czemu dany port nie musi na nowo uczyć się wszystkich adresów MAC. Związku z tym posunięciem powstaje problem związany z brakiem synchronizacji pomiędzy tablicami adresów MAC na sąsiednich urządzeniach, które nadal posiadają adresy przypisane do starego interfejsu.
- W celu rozwiązania problemu desynchronizacji, przełącznik zaczyna proces przekazywania informacji o adresach MAC do swoich sąsiadów. W tym celu wysyła ramki Ethernet-owe adresowane na specjalny multicast-owy adres 0100.0CCD.CDCD, wraz z docelowym adresem zawierającym adresy MAC wcześniej przypisane do dezaktywowanego interfejsu. Dzięki czemu sąsiednie urządzenie mogą zmienić zawartość swojej tablicy „MAC address Table” (Wiadomości są wysyłane z prędkością określaną poprzez wartość „max-update-rate”).
Funkcja UplinkFast powinna być aktywna jedynie na przełącznikach warstwy dostępowej (Access Layer).
Funkcja BackboneFast
- Funkcja BackboneFast umożliwia skrócenie czasu oczekiwania przy zmianie topologii sieciowej „Indirect Topology Changes”, z około 52 sekund do 30 sekund (Funkcja ta umożliwia pominięcie czasu oczekiwania „Max-Age”).
- Funkcja BackboneFast umożliwia przyspieszenie procesu zmiany topologii sieciowej, zależnie od miejsca odebrania wiadomości Inferior BPDU. Poszczególne opcje prezentują się następująco:
- Jeżeli wiadomość Inferior BPDU dotarła na interfejs Blocking Port, przełącznik uzna port będący w trybie Root Port jak i wszystkie inne blokowane interfejsy za połączenia alternatywne względem root-a (Alternative).
- Jeżeli wiadomość Inferior BPDU dotarła na interfejs Root Port, przełącznik uzna wszystkie blokowane interfejsy za połączenia alternatywne (Alternative) do przełącznika pełniącego rolę root-a.
- Jeżeli wiadomość Inferior BPDU dotarła na interfejs Root Port a przełącznik nie posiada innych portów będących w stanie blokowania uzna, że utracił on połączenie z root-em, a tym samym uzna się za nowego root-a prze upływem wartości czasu „Max-Age”.
- Jeżeli lokalny przełącznik posiada blokowane interfejsy z włączoną funkcją BackboneFast, wykorzysta protokół RLQ (Root Link Query) do sprawdzenia czy inne przełączniki posiadają połączenie z root-em.
- Po wysłaniu pierwszego zapytania RLQ Request przełącznik oczekuje na odpowiedź od urządzenia pełniącego rolę root-a lub mającego z nim łączność. Jeżeli sąsiadujące przełączniki nie spełniają opisanych powyżej wymagań przesyłają zapytanie RLQ Request dalej, dopóki jedno z urządzeń nie spełni wymagań odsyłając tym samym odpowiedzi RLQ Replay.
- Jeżeli otrzymana odpowiedź RLQ Replay nadeszła z interfejsu działającego w trybie RP połączenie z root-em jest stabilne, jeżeli jednak odpowiedź nadeszła na porcie działającym w innym trybie, alternatywne połączenie musi być wybrane, a czas „Max-Age” automatycznie upływa umożliwiając szybszy proces wyboru RP.
Funkcja BackboneFast powinna być włączona na wszystkich przełącznikach w sieci, aby zapewnić obsługę zapytań RLQ Request oraz RLQ Replay na wszystkich przełącznikach.
Funkcja PortFast
- Funkcja PortFast automatycznie przenosi interfejs ze stanu „Blocking” do stanu „Forwarding State”, pomijając tym samym proces nasłuchu „Listening State” oraz etap nauki adresów MAC „Learning State”. Dzięki czemu czas oczekiwania na zmianę topologii zostaje skrócony o 30 sekund do czasu 0 sekund.
- Pomimo przyspieszonego tempa działania funkcji PortFast, istnieje możliwość wykrywania pętli sieciowych, ponieważ każda otrzymana wiadomość BPDU na interfejsie z włączoną funkcją PortFast powoduje automatyczne zresetowanie interfejsu do zwykłego trybu pracy dla protokołu STP.
- W przypadku wykrycia wiadomość BPDU na interfejsie z aktywną funkcją PortFast, przełącznik przeniesie określony port przez podstawowy proces „Listening State” -> „Learning State” -> „Forwarding State”.
- Funkcja PortFast powinna być włączona na interfejsach:
- Dostępowych (Access, Edge) podłączonych do urządzeń końcowych.
Funkcja BPDU Guard oraz BPDU Filter jest zależna od funkcji PortFast.
Bezpieczeństwo protokołu STP
Funkcja Root Guard
- Funkcja Root Guard chroni sieć lokalną, przed niekontrolowanym podłączaniem niezaufanych urządzeń, rozgłaszających pakiety STP z większą wartość BID. Sytuacja tego typu może doprowadzić do zmiany obecnego root-a na nowego, znajdującego się na innym niekorzystnym dla sieci miejscu. Zasada działania Root Guard-a jest następująca:
- Przełącznik zapamiętuje wartość obecnego BID root-a, podłączonego do interfejsu z wyłączoną funkcją Root Guard. Jeżeli przełącznik odbierze wiadomość BPDU z niższą wartością BID (Superior BPDU) na interfejsie z włączoną funkcją Root Guard przejdzie on w stan „root-inconsistent STP state” blokując zmianę obecnego root-a (Stan ten blokuje również ruch sieciowy na danym interfejsie umożliwiając przesyłanie jedynie wiadomości BPDU). Jeżeli wiadomości BPDU z lepszą wartością BID przestaną napływać na blokowanym interfejsie stan „root-inconsistent” zostanie odwołany.
- Funkcja Root Guard powinna być włączona na interfejsach:
- Które nigdy nie powinny być podłączone do root-a, np. interfejsach dostępowych (Access, Edge).
Funkcja Loop Guard
- Funkcja Loop Guard chroni sieć przed powstaniem pętli w skutek przerwania napływu wiadomości BPDU.
- Jeżeli do interfejsu sieciowego nie docierają wiadomości BPDU lokalny urządzenie uznaje, że dany port nie jest podłączony do innego przełącznika, rozpoczynając tym samym proces aktywacji interfejsu do stanu „Forwarding” (Po upływie czasu „Max-Age”). Może jednak zaistnieć sytuacja, w której wiadomości BPDU były filtrowane bądź w inny sposób zablokowane, a tym samym do danego interfejsu sieciowego nadal podłączony inny przełącznik, który może doprowadzić do powstania pętli sieciowej.
- Aby uniknąć takiego scenariusza, funkcja „Loop Guard” śledzi interfejsy na których przełącznik otrzymuje wiadomości BPDU, jeżeli przestaną one napływać przenosi dany interfejs do stanu blokowania „Loop-inconsistent State”.
- Funkcja Loop Guard powinna być włączona na interfejsach:
- Pełniących rolę Root Port, Alternate Port oraz Backup Port.
Funkcja BPDU Guard
- Funkcja BPDU przenosi interfejs sieciowy w stan „Errdisable State” po odebraniu pierwszej nadchodzącej ramki BPDU.
- W przypadku przełącznika zarządzanego blokada nastąpi po wysłaniu przez niego pierwszej wiadomości BPDU, natomiast dla przełącznika niezarządzanego blokada nastąpi w przypadku wykrycia pętli, kiedy to pakiet STP wysłany z sieci lokalnej zostanie zapętlony w podłączonym przełączniku a następnie wróci z powrotem do sieci kontrolowanej.
BPDU Guard nie posiada żadnych mechanizmów zapobiegających powstawaniu pętli, w przypadku podłączenia hub-a.
BPDU Guard przepuszcza pakiety BPDU wychodzące ze skonfigurowanego interfejsu, dzięki czemu w przypadku powstania pętli, wysyłane pakiety powrócą na interfejs wywołując alarm bezpieczeństwa a tym samym aktywują jego blokadę.
Funkcja Filtering STP
- Funkcja Filtering BPDU blokuje możliwość wysyłania jak i odpierania wiadomości BPDU na określonym Interfejsie sieciowym. W przypadku otrzymania nadchodzącej ramki BPDU, interfejs przechodzi domyślny proces aktywacji protokołu STP: „Blocking State” <-> „Forwarding State”.
UDLD (Unidirectional Link Detection)
- Protokół UDLD umożliwia wykrycie awarii przewodu światłowodowego, w przypadku poluzowania się bądź też całkowitego przerwania Jednej z nitek światłowodu. Tym samym powodując powstanie jednostronnej komunikacji.
- Bez skonfigurowanego protokołu UDLD uszkodzenie światłowodu może nie zostać wykryte, a tym samym wymiana danych będzie odbywać się bez przeszkód, oczywiście tylko jedynie w jednym kierunku. Takie zdarzenie może doprowadzić do powstania pętli sieciowej, ponieważ jedna ze stron komunikacji nie będzie otrzymywała wiadomość BPDU a tym samy uzna, że na danym interfejsie nie ma już innego przełącznika. Tymczasem druga strona połączenia nadal będzie otrzymywała wiadomości BPDU, nie zmieniając swojego statusu protokołu STP, dla określonego interfejsu.
- W celu wykrycia awarii przewodu światłowodowego, protokół UDLD systematycznie wysyła wiadomości pomiędzy obydwoma przełącznikami, przetrzymując informacje o sąsiednich urządzeniach w tablicy Neighbor Database.
- Wiadomości protokołu UDLD są systematycznie wysyłane przez obydwie strony komunikacji co 15 sekund. Jeśli przełącznik nie otrzyma na nie odpowiedzi przez potrójny okres skonfigurowanego czasu (3 x 15 sekund) uzna, że połączenie nie funkcjonuje poprawnie, a tym samym je zablokuje. Wartość czasu oczekiwania nie powinna być dłuższa niż sumowana wartość czasu „Max-Age” z podwójną wartością czasu „Delay Timers” (20 sekund + 2 x 15 sekund = 50 sekund). Ponieważ protokół STP mógłby aktywować blokowany wcześniej interfejs.
- Protokół UDLD działa w dwóch trybach:
- Normalny (Normal) – Po wykryciu jednokierunkowego połączenia pomiędzy przełącznikami, protokół UDLD nie wstrzymuje komunikacji pomiędzy nimi, a jedynie wysyła wiadomości Syslog.
- Agresywny (Aggressive) – Po wykryciu jednokierunkowego połączenia pomiędzy przełącznikami, protokół UDLD wysyła 8 wiadomości w odstępach czasowych co jedną sekundę, jeśli nie otrzyma na nie odpowiedzi przenosi dany interfejs w stan blokowania warstwy drugiej modelu OSI „Errdisable State”.
- W przypadku pierwszego włączenia protokołu UDLD na interfejsie, przełącznik oczekuje na otrzymanie co najmniej jednej odpowiedzi UDLD z drugiej strony połączenia (Znajdując się przy tym w stanie „Unknown”), zanim przeniesie dany port w stan „Errdisable”. Dzięki czemu nieskonfigurowany interfejs z aktywowanym protokołem UDLD nie zostanie zablokowany zaraz po włączeniu protokołu UDLD.
- Protokół UDLD powinien być włączona na interfejsach:
- Wykorzystujących połączenia światłowodowe, pomiędzy przełącznikami.
Proces wykrywania jednokierunkowego połączenia jest nazywany Event Driven Detection and Echoing.
Czas wysyłania wiadomości UDLD nie musi być taki sam na obydwóch urządzeniach.
Jeżeli awarii ulegnie interfejs należący do grupy EthernetChanel, zablokowany zostanie jedynie wadliwy interfejs.
Protokół UDLD musi być skonfigurowany na obydwóch stronach połączenia, ponieważ przełącznik z wyłączoną funkcją UDLD nie odpowiada na wiadomości UDLD drugiej strony.
Protokół UDLD stanowi własność firmy CISCO.
Podsumowanie funkcji protokołu STP

| Funkcja | Konfiguracja Globalna (Zalecane zastosowanie) | Konfiguracja interfejsu (Zalecane zastosowanie) | Stan błędu |
| Root Guard | ———————————————– | spanning-tree guard root | Root-inconsistent |
| Zastosowanie: Interfejsy które nigdy nie powinny pełnić roli Root Port | |||
| Loop Guard | spanning-tree loopguard default | spanning-tree guard loop | Loop-inconsistent |
| Zastosowanie: Interfejsy pełniące rolę Root, Alternate oraz Backup Port | |||
| BPDU Guard | spanning-tree portfast bpduguard default | spanning-tree bpduguard enabled | Errdisable State |
| Zastosowanie: Interfejsy podłączone do urządzeń końcowych | |||
| BPDU Filter | spanning-tree bpdufilter default | spanning-tree bpdufilter enabled | —————————- |
| UDLD | udld enable | udld enable | Errdisable State |
| Zastosowanie: Wszystkie interfejsy światłowodowe | |||
| UplinkFast | Zastosowanie: Wszystkie przełączniki warstwy dostępowej (Access) | ||
| BackboneFast | Zastosowanie: Wszystkie przełączniki w danej sieci | ||
Porównanie funkcji protokołu STP
Zalecenia związane ze stosowaniem protokołu STP
- W celu optymalizacji konfiguracji protokołu Spanning Tree Protocol, należy
- Statycznie skonfigurować główny oraz zapasowy przełącznik pełniący rolę root-a.
- Określić role interfejsów w topologii protokołu STP.
- Wykorzystywać funkcje specjalne protokołu STP.
- Włączyć funkcję UDLD na połączeniach światłowodowych.
- Tworzyć proste topologie protokołu STP.
- Wykorzystywać protokół PVRST+ bądź MST.
Pozostałe tematy związane z protokołem STP
- Wprowadzenie do protokołu STP
- Stany i role Interfejsów STP
- Czasy protokołu STP
- Budowa wiadomości BPDU
- Zmiany zachodzące w topologii protokołu STP
- Funkcje specjalne / bezpieczeństwo protokołu STP
- Wprowadzenie do protokołu RSTP
- Tryby i stany pracy protokołu RSTP
- RSTP Convergence
- Teoria protokołu MST
- Troubleshooting protokołu STP
- Konfiguracja protokołu STP
- Konfiguracja protokołu MST
- Konfiguracja funkcji specjalnych protokołu STP

Dodaj komentarz