Podstawy sieci z Cisco IOS. Moduł 2: STP TCN
STP TCN (Topology Change Notification) jest procedurą jawnego powiadomienia o zmianie w sieci. Dzięki niej, sieć zyskuje szybszą możliwość rekonfiguracji i uwzględnienia zmian do jakich doszło w aktywnej topologii.
Podczas zmian w aktywnej topologii może dojść do zmiany położenia przełączników względem siebie oraz sposobu połączenia ich portów. Taka zmiana może doprowadzić do tego, że z punktu widzenia przełącznika, adresy osiągalne za pośrednictwem jednego z portów staną się osiągalne przez całkiem inny. Warto dodać, że nie dochodzi tutaj do zmiany portów przyłączeniowych urządzeń końcowych. Zmieniają się tylko połączenia pomiędzy przełącznikami. Sytuacja taka została przedstawiona poniżej, gdzie po awarii połączenia podstawowego, przełączniki posiadają jeszcze nieaktualne wpisy w swoich tablicach przełączania.
Według tych wpisów, droga z S2 do H2 i z S4 do H1 prowadzi po zmianie przez złe porty. Wpisy te zostały ujęte w czerwonych ramki (linia przerywana). Zatem pomimo tego, iż druga ścieżka dla danych istnieje, to nadal nie będzie komunikacji pomiędzy H1 i H2.
W normalnych warunkach, informacje przetrzymywane w tablicy przełączania muszą być aktualizowane tylko w wypadku fizycznej zmiany lokalizacji urządzeń końcowych. Dodatkowo, większość takich urządzeń transmituje ramkę do sieci podczas aktywacji interfejsu sieciowego (np. Gratuitous ARP w IPv4 lub DAD w IPv6), która aktualizuje tablice przełączania.
Zatem wydawać się może, że duża wartość licznika czasu, przez który przetrzymywane są dynamiczne wpisy w tablicy przełączania jest porządana. Zgodnie ze standardami IEEE, domyślna wartość tego czasu (Aging Time) powinna wynosić 300 sekund. Jest to czas liczony od dodania wpisu lub jego ostatniej aktualizacji (użycia wpisu do przekazania ramki).
Jak widać w tym scenariuszu, niektóre sytuacje w celu poprawy czasu zbieżności mogą wymagać dodatkowej obsługi, która w takich przypadkach realizowana jest właśnie za pomocą STP TCN (Topology Change Notification).
Poniżej została pokazana budowa TCN BPDU i Configuration BPDU. Sposób ich enkapsulacji jest taki sam, natomiast różnią się wartościami pola BPDU Type i resztą pól. Szczegóły te zostały opisane w dziale o Spanning Tree Protocol.
Procedura obsługi aktywnej zmiany w topologii wykorzystuje 2 bity flag, jakie przenoszone są w Configuration BPDU. Są nimi bity: TC (Topology Change) i TCA (Topology Change Acknowledgment). Więcej o nich znajduje się poniżej.
Kiedy przełącznik niebędący przełącznikiem głównym wykryje zmianę w aktywnej topologię, wysyła TCN BPDU do segmentu sieci przyłączonego przez swój port główny. Transmisja ta jest powtarzana co okres lokalnego czasu Hello Time, aż do momentu otrzymania potwierdzenia od przełącznika desygnowanego. Potwierdzenie to powinno być zawarte w kolejnym Configuration BPDU, jakie będzie on do nas wysyłał i jest sygnalizowane poprzez ustawienie flagi TCA (Topology Change Acknowledgment).
Jeżeli żadna wiadomość konfiguracyjna nie zostanie odebrana, to przełącznik po czasie "Max Age - Message Age" rozpoczyna swoją rekonfigurację. Odbywa się ona zgodnie ze standardową procedurą, związaną z minięciem czasu życia wcześniej odebranej wiadomości konfiguracyjnej. W normalnych warunkach przełącznik ten powinien odebrać Configuration BPDU z ustawioną flagą TCA (Topology Change Acknowledgment) i przestać generować TCN BPDU przez swój port główny.
Przełącznik desygnowany powtarza tę samą procedurę w kierunku przełącznika głównego.
Kiedy przełącznik główny odbierze tę informację, to nie wysyła już żadnego TCN BPDU. Zamiast tego, przełącznik ten wysyła przez interfejs na którym odebrał powiadomienie, pierwszą wiadomość Configuration BPDU z ustawionymi flagami TCA (w celu potwierdzenia otrzymania powiadomienia) oraz TC (w celu powiadomienia innych przełączników o zmianie w sieci). Na pozostałych interfejsach wysyłana jest wiadomość Configuration BPDU tylko z ustawioną flagą TC (Topology Change).
Pierwszy przełącznik, który odbiera pierwszy pakiet z obiema flagami, resetuje wartość flagi TCA, jako że potwierdzenie to było skierowane tylko do niego i wysyła w dół drzewa tylko ustawioną flagę TC. Kolejne pakiety Configuration BPDU transmitowane są już tylko z flagą TC. Flaga TC ustawiona jest przez okres Forward Delay + Max Age, czyli domyślnie 35 sekund.
Jeśli przełącznik, który jest przełącznikiem głównym zmienił aktywną topologię, to od razu wysyła w dól drzewa Configuration BPDU z ustawioną flagą TC przez okres Forward Delay + Max Age. Wszystko to zostało zobrazowane poniżej.
Każdy z przełączników, przez okres otrzymywania Configuration BPDU z ustawioną flagą TC (Topology Change), wykorzystuje wartość Forward Delay z tej wiadomości konfiguracyjnej dla wszystkich dynamicznych wpisów w tablicy przełączania. Gwarantuje to szybsze pozbycie się nieprawidłowych wpisów. Wpisy, które są prawdziwe i ciągle wykorzystywane przez przełącznik w tym okresie, pozostaną. Wartość ich licznika będzie ciągle aktualizowana i nie zdąży on minąć.
Po otrzymaniu Configuration BPDU bez ustawionej flagi TC (Topology Change), przełącznik zaczyna korzystać ze standardowej wartości licznika Aging Time dla dynamicznych wpisów, czyli domyślnie 300 sekund.
Do aktywacji procedury zmiany w aktywnej topologii dochodzi na skutek poniższych zdarzeń:
- port przechodzi do stanu Forwarding i przełącznik posiada minimum 1-port desygnowany (możliwa zmiana tras),
- port przechodzi ze stanu Forwarding/Learning do stanu Blocking (możliwa zmiana tras i nieprawidłowe tablice),
- została zmieniona wartość identyfikatora przełącznika głównego,
- zostało odebrane Topology Change Notification BPDU.
Mechanizm wykrywania zmian w aktywnej topologii może nie zawsze być pożądany. Jeżeli mamy przełącznik, do którego portów przyłączone są częściowo urządzenia końcowe, to każda ich aktywacja powoduje wywołanie zmiany w aktywnej topologii. Podobnie w drugą stronę, kiedy urządzenie jest wypinane z sieci.
Kiedy do portu podłączone jest urządzenie końcowe, nie musimy się obawiać tego, że załączenie tego portu spowoduje powstanie redundantnej ścieżki, a jego wyłączenie zmianę w budowie aktywnej topologii. Stąd wszelkie procedury związane ze zmianą topologii są tutaj zbędne. Aby rozwiązać ten problem, można wyłączyć działanie tego mechanizmu na poszczególnych portach. W tym celu stosowany jest wspomniany wcześniej mechanizm Edge Port, nazywany też często PortFast.
Poniżej widoczny jest przykład działania Topology Change Notification STP. Wszystkie porty przełącznika posiadają domyślną konfigurację. W związku z tym co zostało powiedziane wyżej, podłączenie urządzenia końcowego do portu powinno aktywować TCN. Tak też się też stało, kiedy do poru S3 został podłączony telefon.
Całe zdarzenie można zaobserwować w wyniku poleceń "debug spanning-tree events" i "debug spanning-tree bpdu", jakie zostały wykonane na przełącznikach Cisco Catalyst w trybie Privileged EXEC. Warto porównać budowę wyłapanych oraz widocznych wyżej na zrzucie BPDU z opisaną wyżej budową tych wiadomości. W celu zatrzymania zdarzeń debugerów, należy tradycyjnie zanegować te polecenia z użyciem “no" lub skorzystać z polcenia "undebug all", które dezaktywuje wszystkie aktywne debugery.
Na błękitnawym tle widać odebrane przez przełącznik S1 (SW-A1) TCN BPDU. S1 jest przełącznikiem głównym. Wskutek tego generuje on pierwsze BPDU z flagami TCA i TC (żółtawe tło), a kolejne tylko z flagą TC (różowe tło).
Jeżeli na przełącznikach działa protokół STP, to aktualnie używany czas starzenia się wpisów w tablicy przełączającej powinno weryfikować się za pomocą poznanego wcześniej polecenia "show spanning-tree". Na slajdzie widać czas starzenia się wpisów w tablicy przełączania przed aktywacją procedury TCN (lewa strona) oraz po aktywacji procedury TCN (prawa strona).
W związku z powyższym, warto pamiętać o odpowiedniej konfiguracji portów dostępowych dla urządzeń końcowych. Bez tego, każde ich wpięcie/wypięcie do sieci, będzie powodowało dość sporą, opisaną w tym miejscu serię zdarzeń w sieci.
Przed kolejną porcją wiedzy zachęcamy do przećwiczenia i utrwalenia tej poznanej tutaj. Skorzystaj z naszych ćwiczeń!
Zachęcamy do śledzenia nas w mediach społecznościowych Facebook i LinkedIn.
Zapraszamy do kontaktu drogą mailową