Zwiększanie niezawodności ruterów
- Krzysztof Banel,
- 01.01.2004
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.
Cisco Express Forwarding
- 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.
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.
Non Stop Forwarding oraz Stateful Switch Over