Protokół Najkrótszej Ścieżki (OSPF)

Złożony protokół stanu łącza (IGP) z hierarchicznymi obszarami i typami LSA.

Wprowadzenie: Od Routingu przez Plotki do Wspólnego Atlasu GPS

W naszej eksploracji routingu dynamicznego po raz pierwszy zetknęliśmy się z Protokołem Informacji o Trasach (RIP). RIP działa na prostej zasadzie: routingu przez plotki. Routery nasłuchują swoich bezpośrednich sąsiadów i składają w całość ograniczony obraz sieci na podstawie informacji z drugiej ręki. Chociaż proste, podejście to jest powolne w reakcji na zmiany i ślepe na kluczowe cechy sieci, takie jak prędkość łącza. W miarę jak sieci stawały się większe i szybsze, potrzebne stało się bardziej inteligentne i wydajne rozwiązanie.

Tu pojawia się OSPF (Open Shortest Path First). OSPF reprezentuje fundamentalnie inną filozofię routingu. Zamiast polegać na plotkach, celem OSPF jest zapewnienie, aby każdy router w danym obszarze posiadał identyczną, kompletną i bardzo szczegółową mapę całej sieci. Każdy router, uzbrojony w ten doskonały atlas drogowy, działa następnie niezależnie jak zaawansowany GPS. Uruchamia algorytm w celu obliczenia absolutnie najkrótszej ścieżki od siebie do każdego możliwego miejsca docelowego.

OSPF jest protokołem typu , co czyni go znacznie bardziej skalowalnym, szybszym w konwergencji i inteligentniejszym niż jego poprzednicy oparte na wektorze odległości. Jest to standard branżowy, otwarty (niezastrzeżony) i jest jednym z najpowszechniej wdrażanych protokołów routingu w sieciach korporacyjnych i u dostawców usług.

Metryka OSPF: Koszt oparty na Przepustowości

Pierwszą wielką zaletą OSPF nad RIP jest jego inteligentna metryka. Podczas gdy RIP brał pod uwagę tylko liczbę routerów (przeskoków), OSPF używa bardziej zaawansowanej wartości zwanej Kosztem.

Koszt OSPF to wartość liczbowa przypisana do łącza, gdzie niższy koszt jest bardziej pożądany. Domyślnie koszt ten jest obliczany na podstawie przepustowości interfejsu. Wzór jest następujący:

Koszt=Przepustowosˊcˊ ReferencyjnaPrzepustowosˊcˊ Interfejsu\text{Koszt} = \frac{\text{Przepustowość Referencyjna}}{\text{Przepustowość Interfejsu}}`

Przepustowość Referencyjna to konfigurowalna wartość, ale domyślnie w starszym sprzęcie wynosi 100 Mb/s. Przepustowość Interfejsu to prędkość łącza (np. 10 Mb/s dla Ethernetu, 100 Mb/s dla Fast Ethernetu, 1000 Mb/s dla Gigabit Ethernetu). Całkowity koszt ścieżki to suma kosztów wszystkich wychodzących interfejsów wzdłuż tej ścieżki.

Przykład: Wybór Szybszej Ścieżki

Wróćmy do scenariusza, w którym RIP zawiódł. Pakiet musi trafić z sieci podłączonej do Routera A do sieci przy Routerze D. Załóżmy, że Przepustowość Referencyjna jest ustawiona na 1 Gb/s (1000 Mb/s).

  • Ścieżka 1 (A -> B -> D): Używa szybkich łącz Gigabit Ethernet.
    • Koszt łącza A->B: 1000 Mb/s1000 Mb/s=1\frac{1000 \text{ Mb/s}}{1000 \text{ Mb/s}} = 1
    • Koszt łącza B->D: 1000 Mb/s1000 Mb/s=1\frac{1000 \text{ Mb/s}}{1000 \text{ Mb/s}} = 1
    • Całkowity Koszt dla Ścieżki 1 = 2
  • Ścieżka 2 (A -> C -> D): Używa starych, wolnych łącz Ethernet.
    • Koszt łącza A->C: 1000 Mb/s10 Mb/s=100\frac{1000 \text{ Mb/s}}{10 \text{ Mb/s}} = 100
    • Koszt łącza C->D: 1000 Mb/s10 Mb/s=100\frac{1000 \text{ Mb/s}}{10 \text{ Mb/s}} = 100
    • Całkowity Koszt dla Ścieżki 2 = 200

Ponieważ OSPF zawsze wybiera ścieżkę o najniższym całkowitym koszcie, poprawnie wybierze Ścieżkę 1. W przeciwieństwie do RIP, OSPF rozumie, że łącze o wysokiej przepustowości jest lepsze, nawet jeśli wiąże się z większą liczbą przeskoków. Ta inteligentna metryka czyni go znacznie lepszym dla nowoczesnych sieci.

Działanie OSPF: Trzyetapowy Proces

Sposób, w jaki OSPF tworzy swoją kompletną mapę sieci, można zrozumieć jako proces obejmujący trzy kluczowe komponenty: nawiązywanie relacji sąsiedztwa, wymianę informacji o stanie łączy i budowanie tablicy routingu.

1. Odkrywanie Sąsiadów i Nawiązywanie Relacji (Protokół Hello)

Pierwszym zadaniem routera jest odkrycie swoich sąsiadów. Robi to, wysyłając małe pakiety "Hello" na wszystkie swoje interfejsy z włączonym OSPF. Kiedy dwa routery na tym samym łączu otrzymają od siebie nawzajem pakiety Hello i zgodzą się co do pewnych parametrów (takich jak maska sieci i liczniki czasu), tworzą relację sąsiedztwa. Jest to jak formalny uścisk dłoni, ustanawiający linię komunikacji.

2. Budowanie Mapy (Wymiana Bazy Danych Stanu Łącz)

Po nawiązaniu relacji routery wymieniają się swoją wiedzą o sieci. Dzieje się to poprzez wymianę . LSA to osobisty raport routera, mówiący: "Jestem Router X. Jestem połączony z Routerem Y na tym interfejsie z kosztem 10, i z Routerem Z na tamtym interfejsie z kosztem 5."

Routery zalewają sieć tymi LSA. Każdy router zbiera wszystkie LSA od każdego innego routera w swoim obszarze i przechowuje je w swojej Bazie Danych Stanu Łącz (LSDB). Na końcu tego procesu, LSDB każdego routera powinna być idealnie identyczna: każdy ma teraz kompletny atlas.

3. Obliczanie Najlepszych Tras (Algorytm SPF)

Mając w ręku kompletną mapę (LSDB), każdy router niezależnie wykonuje ostatni krok. Uruchamia algorytm Najpierw Najkrótsza Ścieżka (SPF), bardziej znany jako algorytm Dijkstry. Router umieszcza siebie w korzeniu drzewa i, używając kosztów łączy z LSDB, oblicza ścieżkę o najniższym całkowitym koszcie do każdego miejsca docelowego.

Wynikiem obliczeń SPF jest drzewo najkrótszych ścieżek. Z tego drzewa router wyodrębnia najlepsze, wolne od pętli trasy i instaluje je w swojej tablicy routingu. Ponieważ każdy router zaczyna z tą samą mapą, wszystkie niezależnie dochodzą do spójnych i poprawnych decyzji routingowych. Kiedy łącze w sieci ulegnie awarii, nowe LSA jest rozsyłane, każdy aktualizuje swoją mapę i każdy ponownie uruchamia obliczenia, co prowadzi do bardzo szybkiej sieci.

Skalowalność dzięki Hierarchii: Obszary OSPF

Chociaż metoda stanu łącza jest bardzo wydajna, w bardzo dużej sieci (z tysiącami routerów) proces zalewania LSA i wielokrotnego uruchamiania algorytmu SPF na ogromnej bazie LSDB mógłby przeciążyć procesor i pamięć routerów. Pojedyncze niestabilne łącze mogłoby spowodować burzę aktualizacji w całej sieci.

OSPF rozwiązuje ten problem skalowalności za pomocą genialnego projektu hierarchicznego, wykorzystującego obszary (ang. areas). Obszar to logiczna grupa sąsiadujących ze sobą routerów i sieci.

Dwuwarstwowa Hierarchia

Domena OSPF jest podzielona na specjalny Obszar Magistralny (Obszar 0) oraz jeden lub więcej zwykłych, niemagistralnych obszarów. Obszar magistralny działa jak centralny węzeł tranzytowy, niczym krajowy system autostrad. Wszystkie inne obszary muszą łączyć się bezpośrednio z magistralą.

Taki projekt zapewnia kilka kluczowych korzyści:

  • Zmniejszony Narzut: Routery rozsyłają szczegółowe informacje LSA tylko wewnątrz własnego obszaru. Szczegółowa topologia Obszaru 10 jest ukryta przed routerami w Obszarze 11. To radykalnie zmniejsza ilość ruchu routingowego i rozmiar bazy LSDB na każdym routerze.
  • Szybsze Obliczenia SPF: Ponieważ LSDB jest mniejsza, algorytm SPF działa znacznie szybciej, zmniejszając obciążenie procesora routerów.
  • Zwiększona Stabilność: Problem w jednym obszarze (np. niestabilne łącze) nie powoduje ponownych obliczeń SPF w innych obszarach. Niestabilność jest ograniczona.

Role Routerów OSPF

Ten hierarchiczny projekt tworzy specjalizowane role dla routerów:

  • Router Wewnętrzny: Router, który ma wszystkie swoje interfejsy w jednym obszarze.
  • Router Magistralny: Każdy router, który ma co najmniej jeden interfejs w Obszarze 0.
  • Router Brzegowy Obszaru (ABR): Najważniejsza rola. ABR ma interfejsy w więcej niż jednym obszarze, zazwyczaj jeden w Obszarze 0 i jeden lub więcej w innych obszarach. Jest to brama dla ruchu między obszarami i jest odpowiedzialny za sumaryzację informacji routingowych z jednego obszaru i ogłaszanie ich do magistrali.
  • Router Brzegowy Systemu Autonomicznego (ASBR): Router, który łączy sieć OSPF z siecią zewnętrzną, używającą innego protokołu routingu (np. BGP dla internetu, lub siecią innej firmy używającej RIP lub EIGRP). Wykonuje on redystrybucję tras.

Poskramianie Chaosu: DR i BDR w Sieciach Wielodostępowych

OSPF posiada jeszcze jeden sprytny mechanizm poprawiający wydajność, specjalnie dla sieci takich jak Ethernet, gdzie wiele routerów może być podłączonych do tego samego wspólnego segmentu.

Problem: N-kwadratowy Bałagan

Jeśli masz 10 routerów podłączonych do jednego przełącznika Ethernet, logika stanu łącza dyktowałaby, że każdy router musi utworzyć relację sąsiedztwa z każdym innym routerem w tym segmencie. Liczba wymaganych relacji wynosiłaby n(n1)2\frac{n(n-1)}{2}, co dla 10 routerów daje 45. To tworzy ogromną ilość zbędnego rozsyłania LSA i „paplaniny”.

Rozwiązanie: Wybór Rzecznika

Aby to rozwiązać, OSPF wybiera Router Wyznaczony (DR) oraz Zapasowy Router Wyznaczony (BDR) dla każdego segmentu wielodostępowego. Wybory opierają się najpierw na konfigurowalnym priorytecie OSPF, a następnie na najwyższym identyfikatorze routera (Router ID).

Zamiast rozmowy każdy z każdym, ustanawiana jest uproszczona struktura komunikacji:

  • Wszystkie inne routery w segmencie (zwane DROthers) tworzą pełną relację sąsiedztwa tylko z DR i BDR.
  • Gdy DROther ma do udostępnienia aktualizację stanu łącza, wysyła swoje LSA przez multicast tylko do DR i BDR.
  • DR jest wtedy jedynym odpowiedzialnym za rozesłanie tego LSA do wszystkich pozostałych routerów w segmencie.
  • BDR nasłuchuje w ciszy i utrzymuje aktualną bazę danych, gotowy do natychmiastowego przejęcia roli, jeśli DR ulegnie awarii.

Ten proces wyborczy radykalnie zmniejsza liczbę relacji sąsiedztwa i ilość ruchu routingowego w sieciach wielodostępowych, czyniąc OSPF wysoce wydajnym i skalowalnym. Na łączach punkt-punkt, gdzie obecne są tylko dwa routery, wybory DR/BDR nie są konieczne.

    Protokół Najkrótszej Ścieżki (OSPF) | Teleinf Edu