Zwiększanie niezawodności ruterów
- Krzysztof Banel,
- 01.01.2004
Niezawodność działania sieci jest jednym z jej najważniejszych parametrów funkcjonalnych. Można ją wyrazić jako miarę dostępności sieci w statystycznym odcinku czasu, np. przez stosunek czasu pracy bezawaryjnej do czasu całkowitego, liczbę awarii w 1 mln godzin, sumaryczny czas awarii w ciągu roku. Sieć ma wysoki poziom dostępności <i>(high availability)</i>, gdy możemy zagwarantować współczynnik bezawaryjnego czasu pracy wynoszący 99,999% lub więcej.
Niezawodność działania sieci jest jednym z jej najważniejszych parametrów funkcjonalnych. Można ją wyrazić jako miarę dostępności sieci w statystycznym odcinku czasu, np. przez stosunek czasu pracy bezawaryjnej do czasu całkowitego, liczbę awarii w 1 mln godzin, sumaryczny czas awarii w ciągu roku. Sieć ma wysoki poziom dostępności (high availability), gdy możemy zagwarantować współczynnik bezawaryjnego czasu pracy wynoszący 99,999% lub więcej.
Najczęstszą metodą zwiększania niezawodności jest wykorzystanie nadmiarowości w sieci przez zwielokrotnianie liczby łączy i urządzeń (np. ruterów). Może się wydawać, że takie rozwiązanie gwarantuje wysoki poziom dostępności. Często jednak tak nie jest. Przykładowo, dla redundantnych sieci w warstwie 2., działających z wykorzystaniem protokołu Spanning Tree, wynikająca z awarii łącza lub przełącznika zmiana topologii sieci uruchamia proces rekonwergencji trwający nawet do 50 s. W tym czasie ruch sieciowy, generowany przez użytkowników, nie jest przesyłany. Również na zbudowanie obrazu nowej topologii przez działające w warstwie 3. protokoły rutingu potrzeba czasu, szczególnie w rozległych sieciach.
Z tego względu, a także z uwagi na koszt związany z instalacją nadmiarowych ruterów, istotnego znaczenia nabiera kwestia podwyższenia niezawodności działania pojedynczych urządzeń. W szczególności dotyczy to ruterów szkieletowych. Zazwyczaj osiąga się to poprzez podwojenie najważniejszych modułów rutera, takich jak centralny moduł sterująco-przełączający (RP, Route Processor). W razie awarii aktywnego modułu następuje przełączenie sterowania na moduł zapasowy (RP switchover). Problem polega na tym, jak zminimalizować czas, który upływa do momentu, gdy zapasowy moduł jest już w pełni gotów do obsługi ruchu, oraz jak zapewnić nieprzerwane przesyłanie pakietów w trakcie przełączenia.
Architektura rutera i przełączanie pakietów
Co to znaczy "wysoki poziom dostępności" ?
Tablica rutingu
Oczywiście, główna tablica rutingu RIB stanowi źródło informacji dla struktur przełączania, takich jak FIB. Zmiana topologii sieciowej i tablicy RIB wymusza aktualizację FIB. Warto zauważyć, że ruter szkieletowy jest zwykle zbudowany w architekturze rozproszonej (distributed architecture). Każdy z modułów liniowych dysponuje lokalną tablicą FIB, umożliwiającą autonomiczne przełączenie pakietu bez konieczności kierowania go do RP. Moduł RP pełni główną rolę, kontrolując działanie protokołów rutingu i budując centralne tablice: RIB i FIB. Ta ostatnia jest kopiowana do wszystkich modułów liniowych, które powinny w każdej chwili dysponować tą samą, aktualną wersją FIB.
Zmniejszanie czasu awarii - proste techniki
W ruterach szkieletowych o architekturze rozproszonej są dostępne techniki izolujące problemy poszczególnych modułów od reszty systemu oraz ograniczające czas, który jest potrzebny do aktywacji zapasowego modułu RP i przywrócenia normalnego przełączania pakietów.
Technika Single Line Card Reload* umożliwia poprawną pracę systemu, gdy jedna z kart liniowych ulega awarii. W czasie, gdy karta jest restartowana, ruter nieprzerwanie przełącza pozostały ruch. Z kolei Route Processor Redundancy* (RPR) polega na odpowiednim przygotowaniu zapasowego modułu RP do przejęcia sterowania. Na module tym zostaje uruchomione oprogramowanie sterujące i przeprowadzona wstępna inicjalizacja struktur danych. W momencie przełączenia konieczne jest jednak załadowanie konfiguracji, włączenie odpowiednich procesów oraz restart wszystkich kart liniowych. Podobna technika, zwana Fast Software Upgrade*, pozwala na skrócenie czasu aktualizacji oprogramowania - przeprowadza się tę czynność na zapasowym module niezależnie od głównego, a następnie dokonuje wymuszonego przełączenia. Wymienione techniki pozwalają na skrócenie czasu awarii do kilku minut. Udoskonalona technika RPR, znana jako RPR Plus*, umożliwia uniknięcie restartu kart liniowych w trakcie przełączenia oraz przeprowadza w większym zakresie wstępną inicjalizację zapasowego modułu RP, dzięki czemu czas awarii jest ograniczony do ok. 2 min.
Wszystkie ze wspominanych technik są przydatne, ale nie zapewniają nieprzerwanego przesyłania pakietów w trakcie przekazywania sterowania do zapasowego modułu RP.