Zwiększanie niezawodności ruterów

Non Stop Forwarding

Oczywiście, jeśli utrzymywalibyśmy moduły RP - główny i zapasowy - w stanie pełnej i nieustannej synchronizacji, błyskawicznie aktualizując wszystkie struktury danych w drugim z modułów w rytm pracy pierwszego, to moglibyśmy mówić o doskonałym przygotowaniu do ewentualnej awarii. Jednakże tak duże i nieprzerwane wykorzystanie systemu wpływałoby negatywnie na jego podstawowe działanie, tj. wydajne przełączanie pakietów. Rozwiązaniem kompromisowym jest przyjęcie, że niezbędna jest synchronizacja informacji ze sfery forwarding plane, takich jak FIB czy AT, które umożliwią przesyłanie pakietów w czasie, gdy procesy control plane będą przejmowały zadania, np. odbudowę powiązań z sąsiednimi ruterami i aktualizację tablicy RIB. Funkcjonalność taka jest określana jako Stateful Switch Over* (SSO).

Należy pamiętać, że nieprzerwane przesyłanie pakietów zależy nie tylko od tego, jak sprawnie następuje proces przełączenia modułów RP w danym ruterze, ale także od zachowania ruterów sąsiednich. W typowej sytuacji, jeśli sąsiednie urządzenia nie otrzymają od rutera będącego w trakcie przełączenia jakiegoś specjalnego zawiadomienia, zadeklarują sąsiedztwo (adjacency) jako zerwane, usuną ze swojej tablicy RIB wszystkie wpisy z nim związane i powiadomią o zmianie topologii inne sąsiednie routery. Spowoduje to aktualizację topologii w całej sieci i związane z tym zmiany tablic rutingu (route flaps) oraz zakłócenia w przesyłaniu pakietów.

Zwiększanie niezawodności ruterów

Cisco Express Forwarding

Aby uniknąć takiej sytuacji, konieczne jest rozszerzenie funkcjonalności dynamicznych protokołów rutingu, zarówno w ruterze, którego niezawodność podwyższamy przez instalację zapasowego modułu RP, jak i sąsiednich ruterach. Dopiero takie rozszerzenia, czyli funkcjonalność Non Stop Forwarding (NSF), pozwalają na nieprzerwane przesyłanie pakietów w sieci podczas przełączania modułów RP rutera. Umożliwiają one ruterowi zasygnalizowanie sąsiednim systemom, że ewentualne przełączenie nie będzie miało wpływu na istotną zmianę topologii w sieci i że nie powinny one zaprzestawać kierowania doń pakietów. Pozwalają też na szybką odbudowę tablicy rutingu rutera po przełączeniu sterowania do modułu zapasowego. Typową sekwencję zdarzeń można przedstawić następująco:
  • Ruter wyposażony w nadmiarowy moduł RP i funkcjonalność SSO/NSF zawiadamia sąsiednie routery o swoich możliwościach, sygnalizując to za pośrednictwem protokołów rutingu (np. specjalne pakiety typu Hello).

  • Sąsiednie rutery potwierdzają, że są zdolne do realizacji funkcji NSF (w tej technice jest konieczne, by rutery po obu stronach miały tę funkcjonalność).

  • Na redundantnym ruterze protokoły rutingu będą uruchomione wyłącznie na głównym module RP, zostają zbudowane tablice RIB, FIB, AT. Główny moduł RP kopiuje tablice FIB i AT do zapasowego modułu RP oraz modułów liniowych wyposażonych w funkcję lokalnego przełączania. Również każdorazowa zmiana konfiguracji jest synchronizowana między modułami.

  • W razie awarii lub wyłączenia głównego modułu RP sterowanie przejmuje moduł zapasowy i sygnalizuje sąsiednim ruterom, że przełączenie jest w toku. Rutery obsługujące NSF potwierdzają, że nie rozwiązują sąsiedztwa i nie usuwają odpowiednich wpisów ze swoich tablic rutingu.

  • W trakcie przełączania modułów ruter przesyła pakiety, korzystając z aktualnych tablic FIB i AT. Również sąsiednie rutery kontynuują przesyłanie pakietów. Przełączenie modułów RP trwa od kilku do kilkunastu sekund.

  • Po przejęciu sterowania aktywny moduł RP wysyła prośby do sąsiednich ruterów o pomoc w aktualizacji swojej tablicy RIB. Rutery przesyłają informacje o rutingu i nowy RP buduje swoją tablicę. Następnie dokonuje odpowiedniej aktualizacji tablic FIB i AT, dodając, pozostawiając lub usuwając odpowiednie wpisy. W razie potrzeby ruter wysyła też aktualne informacje rutingowe do swoich sąsiadów.
Implementacja techniki NSF jest różna dla poszczególnych protokołów rutingu (takich jak BGP, OSPF czy IS-IS) i zależy od ich specyficznych cech.

BGP Graceful Restart

Szczególnie istotna jest implementacja NSF w przypadku protokołu BGP - ze względu na skalę jego działania oraz ilość informacji o rutingu, którą przenosi. Restart rutera BGP może wpłynąć na działanie ruterów i przesyłanie pakietów nie tylko w określonej domenie (systemie AS), lecz także w pozostałych.

Zwiększanie niezawodności ruterów

Non Stop Forwarding oraz Stateful Switch Over

Wymiana informacji między ruterami BGP odbywa się za pośrednictwem połączenia TCP. W momencie jego otwarcia, tj. przy wymianie komunikatów OPEN, sąsiadujące rutery informują o funkcjonalności NSF przez ustawienie pola BGP Capability Code na wartość 64, znaną jako BGP Graceful Restart. Gdy w ruterze BGP dokonuje się przełączenie redundantnych modułów RP i sesja TCP zostaje rozłączona, sąsiedni ruter nie usuwa odpowiednich wpisów z tablicy RIB, tylko je zaznacza, kontynuując przesyłanie pakietów. Gdy sterowanie w redundantnym ruterze przejmuje zapasowy moduł RP, połączenie TCP zostaje na nowo otwarte, a przez mechanizm Graceful Restart jest sygnalizowany fakt, że przełączenie modułów udało się. Sąsiedni ruter wysyła wtedy pełną informację o rutingu za pośrednictwem komunikatów UPDATE, tak że tablica RIB na nowym, aktywnym module RP może być odbudowana. Redundantny ruter odwzajemnia się, wysyłając odpowiednie komunikaty, sąsiedni zaś kasuje znaczniki ustawione wcześniej dla wpisów z nim związanych.


TOP 200