Routing & Switching

OSPF - Routing w oparciu o link state | teoria

ospf open shortest path first
W: Routing & Switching

Ospf (ang. Open Shortest Path First) jest obecnie jednym z najczęściej wybieranych protokołów IGP. Podobnie jak EIGRP czy IS-IS, działa w ramach jednej domeny autonomicznej, co oznacza, że zajmuje się routowaniem w obrębie sieci zarządzanej przez jedną firmę lub organizację. Współcześnie stosujemy OSPF w wersji 2 dla IPv4 oraz w wersji 3 dla IPv6.

Protokół OSPF cieszy się popularnością, ponieważ:

  • Wykorzystuje algorytm SPF (Dijkstry) do wybierania najlepszej trasy
  • Jest bardzo prosty do wdrożenia w podstawowej konfiguracji
  • Posiada szeroki zakres opcji konfiguracyjnych
  • Posiada 5 różnych rodzajów obszarów, które określają wspólną politykę wobec tras spoza obszaru (normal, stub, totally stub, not so stubby, totally not so stubby)
  • Posiada hierarchiczną strukturę obszarów
  • Wszystkie routery w danym obszarze są świadome wszystkich możliwych tras, co umożliwia bardzo szybką konwergencję
  • Przy odpowiedniej konfiguracji można osiągnąć konwergencję w zaledwie kilka milisekund.
  • Posiada podstawowe mechanizmy bezpieczeństwa
Nawigacja w Twoim aucie korzysta z algorytmu SPF do wyznaczania trasy – dokładnie tego samego algorytmu używa OSPF.

Wszystko to możliwe jest dzięki Panu o nazwisku Dijsktra – dzięki stary! 😉

Nie bez znaczenia jest również fakt, że OSPF był od samego początku protokołem otwartym, który działa na sprzęcie każdego producenta. W przeciwieństwie do wspomnianego już EIGRP, który przez pewien czas był dostępny jedynie dla routerów Cisco.

Protokół routingu na podstawie stanu łącza

OSPF wraz z IS-IS należą do grupy protokołów routingu typu link-state. Oznacza to, że każdy router w danym obszarze, zwanym area, posiada identyczną bazę topologii, na podstawie której wybiera najkorzystniejszy wpis do tablicy routingu. Jednakże wraz ze wzrostem liczby routerów w danym obszarze, wzrasta także liczba przesyłanych pakietów.

W celu ograniczenia tego zjawiska routery są dzielone hierarchicznie na obszary. Z centralnie umieszczonym obszarem 0 (ang. area 0, backbone), przez który muszą przechodzić wszystkie informacje.

💡
OSPF jest protokołem link state jedynie wewnątrz obszaru, informacje o podsieciach są rozsyłane przez routery brzegowe – ABR i ASBR – w formie zsumaryzowanej informacji (gotowych ścieżek). Oznacza to, że między obszarami OSPF zachowuje się jak protokół distance-vector.

Podstawowymi cechami odróżniającymi protokoł OSPF od protokołów typu distance-vector są:

  • Metryki/koszty przejścia pakietu przez dany link
  • Oszczędność pasma, ponieważ uaktualnienia są wysyłane jedynie w przypadku zmiany stanu łącza, a nie w formie okresowych rozgłoszeń
  • Szybka konwergencja – zdolność do uzyskania stanu stabilnego po wykryciu zmiany w drzewie połączeń sieciowych
  • Struktura hierarchiczna – zastosowanie obszarów w celu zmniejszenia liczby przesyłanych pakietów, z centralnie położonym obszarem 0 (backbone)
  • Wsparcie dla VLSM (Variable Length Subnet Mask) – cecha niektórych protokołów trasowania umożliwiająca podzielenie i rozróżnianie podsieci z już istniejących sieci
  • Możliwość uwierzytelniania sąsiadów – przyległych routerów w rozumieniu konkretnej instancji OSPF

Koszt i metryka OSPF

Koszt danego łącza obliczamy poprzez podzielenie referencyjnej przepustowości (wartość referencyjna może być dowolnie skonfigurowana) przez przepustowość interfejsu.

W danym obszarze wszystkie routery powinny mieć taką samą wartość referencyjną, najlepiej odpowiadającą najszybszemu interfejsowi.

Koszt = Referencyjna przepustowość / przepustowość interfejsu

Przykład: Koszt = 100 Mbps / 100 Mbps = 1

Jeśli potrzebujesz większej kontroli nad ruchem w Twojej sieci, możesz ręcznie dostosować koszt dla każdego z interfejsów.

Po obliczeniu kosztów dla każdej trasy do podsieci (suma wszystkich kosztów interfejsów w drodze do celu), router umieszcza trasę z najniższym kosztem w tablicy routingu. Należy pamiętać, że gdy istnieje więcej niż jedna ścieżka o takim samym koszcie prowadząca do danej podsieci, możliwe jest zastosowanie równoważenia obciążenia, które jest realizowane przez CEF (Cisco Express Forwarding).

Topologie sieci OSPF

Komunikacja pomiędzy urządzeniami zależy od fizycznego medium, które je łączy. Wyróżniamy 5 rodzajów topologii:

  • point-to-point,
  • point-to-multipoint,
  • Broadcast Multiaccess,
  • Nonbroadcast Multiaccess,
  • Virtual Links.

Sieć typu punkt-punkt (Point to Point)

O sieciach punkt-punkt mówimy, gdy dwa routery są połączone bezpośrednio. Medium transmisyjne jest wykorzystywane jedynie do komunikacji między nimi. Z uwagi na jednoznaczną relację przylegania, nie ma potrzeby przeprowadzania elekcji DR i BDR. Przykładem takiej sieci są połączenia szeregowe. Nawet interfejsy Ethernet, które są bezpośrednio ze sobą połączone kablem, są traktowane jako topologia typu broadcast i wymagają zmiany na punkt-punkt za pomocą polecenia network-type point-to-point.

Sieć typu punkt-wielopunkt (Point to Multipoint)

Sieci punkt-wielopunkt występują, gdy jeden interfejs łączy się z wieloma innymi. Taka grupa połączeń jest traktowana jako sieć punkt-punkt zawarta w jednym interfejsie. W tym przypadku nie ma konieczności wyboru DR i BDR.

Sieć typu Broadcast Multiaccess

Do sieci wielodostępnych zaliczamy między innymi sieci Ethernet. W takim modelu możliwe jest rozsyłanie informacji do wszystkich hostów w sieci, a medium jest współdzielone. W związku z tym niezbędny jest wybór DR oraz BDR, aby zapobiec nadmiernemu tworzeniu się połączeń przylegania. Pakiety hello są rozsyłane na adres multicastowy 225.0.0.5.

Sieć typu Nonbroadcast Multiaccess

Sieci punkt-wielopunkt, które z jakiegoś powodu nie umożliwiają rozsyłania pakietów broadcastowych i multicastowych, nazywamy właśnie sieciami typu wielodostęp niemultikierunkowy. Fizycznie taka sieć jest realizowana w połączeniach punkt-punkt i konieczne jest przeprowadzenie elekcji DR i BDR. Pakiety LSA rozsyłane są na adresy unicastowe.

Każdy obszar w danej sesji OSPF powinien przylegać bezpośrednio do obszaru 0 (obszaru backbone). Jednak zdarza się, że nie ma takiej możliwości i wtedy należy utworzyć połączenie wirtualne poprzez obszary pośredniczące, tak aby ostatecznie osiągnąć relacje przylegania z obszarem backbone.

Poglądowy schemat gdzie tworzone są relacje DR-BDR oraz DRother

Nawiązywanie relacji przylegania

Kiedy podłączamy nowy router do obszaru, nie wystarczy połączyć go z siecią, aby otrzymał on wszystkie informacje od sąsiednich urządzeń. Konieczne jest wcześniejsze zsynchronizowanie tablic topologii oraz obliczenie nowych tras na routerach w danym obszarze.

Pierwszym krokiem w tym procesie jest nawiązanie relacji przylegania. Routery przechodzą wtedy kolejno przez następujące stany:

  1. Stan Down – Router wysyła pakiety Hello na multicastowy adres 224.0.0.5 (AllSPFRouters), informując o swojej obecności w sieci. Pola adresów DR i BDR w danym obszarze zawierają wartość 0.0.0.0.
  2. Stan Init – Router oczekuje na odpowiedź od innych routerów pracujących w tym samym obszarze. Okres oczekiwania zazwyczaj wynosi czterokrotność timera pakietu Hello (na routerach Cisco jest to 10 sekund). Z odebranych pakietów router dowiaduje się o adresach DR i BDR. Jeśli nie otrzyma takiej informacji, rozpoczyna proces wyboru nowego DR i BDR. Router z najwyższym ID zostaje wybrany na DR. Zwycięzca elekcji dodaje nowy router do swojej tablicy topologii oraz wysyła swoje ID wraz z listą wszystkich znanych sąsiadów.
  3. Stan Two-way – Nowo dołączony router widzi swoje ID w uzyskanej liście sąsiadów, co powoduje nawiązanie poprawnego sąsiedztwa między routerami.
  4. Stan Exstart – Bazując na adresie IP, router o wyższym adresie uzyskuje pierwszeństwo w rozpoczęciu procedury wymiany informacji.
  5. Stan Exchange – Routery wymieniają się pakietami DDP (Database Description Packet). Ponieważ nowy router nie ma żadnej wiedzy o topologii obszaru poza bezpośrednio sąsiadującymi urządzeniami, otrzymuje ją od DR, który wysyła serię pakietów DDP zawierających informacje o obszarze. Przyłączone sieci nazywane są linkami.
  6. Stan Loading – Ponieważ pakiety DDR zawierają tylko zsumowane informacje o połączeniach, nowy router może potrzebować dodatkowych informacji o konkretnym łączu. Wysyła wtedy żądanie LSR (Link State Request) do DR i oczekuje odpowiedzi w postaci pakietu LSU (Link State Update).
  7. Stan Full – Wszystkie routery posiadają taką samą bazę topologii oraz znają wszystkie linki w danym obszarze.

Rodzaje pakietów LSA

  • Router-link (LSA typ 1) – zawiera informacje o wszystkich połączeniach routera oraz listę wszystkich sąsiadów. Ten rodzaj LSA jest rozsyłany tylko w obrębie obszaru i jest wysyłany przez każdego routera uczestniczącego w procesie OSPF.
  • Network-link (LSA typ 2) – Wysyłany przez router DR, zawiera listę wszystkich routerów w danym obszarze, dla których działa jako DR i z którymi nawiązał sąsiedztwo. Ten rodzaj LSA jest rozsyłany tylko w obrębie obszaru.
  • Summary link (LSA typ 3) – przekazywane między obszarami, podsumowują informacje o sieciach w danym obszarze. Są tworzone przez ABR.
  • ASBR Summary (LSA typ 4) – przekazywane między obszarami, zawierają informacje o lokalizacji ASBR. W pakiecie LSA 4 znajdują się informacje o ABR, który wysłał pakiet, oraz o ASBR, do którego można dotrzeć dzięki niemu.
  • External link (LSA typ 5) – zawiera informacje o sieciach redystrybuowanych z innych protokołów lub innych instancji OSPF. Rozsyłane są przez ASBR. Wyróżniamy 2 podtypy:
    • Typ 1 – metryka jest sumą kosztu dojścia po OSPF oraz metryki zewnętrznego protokołu;
    • Typ 2 – metryka obejmuje jedynie koszt zewnętrznego protokołu;
  • Multicast LSA (LSA typ 6) - nieobsługiwane i nieużywane..
  • NSSA External Link (LSA typ 7) – to specjalny typ stworzony dla obszarów NSSA i służy do przekazywania informacji o sieciach redystrybuowanych. Podobnie jak LSA 5, ma 2 typy. Tworzone są przez ASBR.

O czym należy pamiętać przy sumaryzacji?

Router ABR dokonuje sumaryzacji na granicy jednego lub więcej obszarów w danej instancji OSPF. Z kolei ASBR dokonuje sumaryzacji i redystrybucji na granicy systemu autonomicznego, znanego jako AS. Pamiętaj, że sumaryzować można tylko podsieci, które przylegają do obszaru i które router ma w swojej tablicy routingu.

Krótkie podsumowanie dotyczące sumaryzacji:

  • Sumaryzacji mogą dokonywać jedynie ABR-y i ASBR-y.
  • Można sumaryzować do dowolnego rozmiaru podsieci (podsieć musi być oczywiście potęgą liczby 2).
  • Sumaryzację należy skonfigurować ręcznie, uważnie planując sieć przy podziale na obszary.

Rodzaje obszarów w OSPF

Backbone Area  – nazywany również obszarem 0. Wszystkie obszary muszą przylegać bezpośrednio do tego obszaru lub poprzez wirtualne łącze. W nim rozsyłane są wszystkie rodzaje pakietów LSA, a pakiet typu 7 LSA jest konwertowany na typ 5 LSA.

Standard Area – obszar dołączony do obszaru 0. Każdy router posiada pełną wiedzę o topologii obszaru, do którego należy, oraz bazę topologii.

Stub Area – obszar, w którym nie akceptuje się informacji o podsieciach pochodzących z redystrybucji poprzez zablokowanie pakietów typu 5 LSA. Dozwolona jest wymiana informacji z innymi obszarami w ramach jednej instancji OSPF. Aby wysłać pakiety do innych podsieci spoza OSPF, stosujemy trasę domyślną. W obszarze stub nie powinien występować ASBR.

Totally Stub Area – obszar, który nie akceptuje żadnych pakietów LSA zawierających zsumaryzowane informacje o innych podsieciach (pakietów LSA 3, 4, 5) spoza obszaru TSA. Pakiety kierowane do podsieci spoza obszaru OSPF są przesyłane za pomocą trasy domyślnej.

Not So Stubby Area (NSSA) – obszary te nie akceptują informacji z redystrybucji, co oznacza blokadę pakietów typu 4 i 5 LSA. Dozwolone są jednak informacje sumaryczne. Informacje o trasach z innych obszarów są rozpowszechniane wewnątrz obszaru NSSA za pomocą pakietów LSA 7. Informacje o trasach z obszaru NSSA do innych obszarów są przesyłane tylko przez routery ABR po konwersji na typ 5 LSA. W przeciwieństwie do obszaru stub, w NSSA może występować ASBR.

Obszary typu stub oraz Totally Stub nie akceptują pakietów typu 5 LSA. Dlatego nałożone są na nie pewne ograniczenia.

Niedozwolone są następujące działania:

  • Przekazywanie informacji o trasach spoza danego obszaru
  • Tworzenie wirtualnych połączeń (virtual links)
  • Redystrybucja tras z innych protokołów routingu do innych
  • Brak routerów działających jako ASBR
  • Wszystkie routery w tym obszarze muszą być typu stub
  • Obszary te nie mogą być obszarami 0 (obszarem głównym)
Napisane przez
Rafał Rudewicz
Pasjonat sieci komputerowych i automatyzacji. CCNP Enterprise & DevNet Specialist. IP/MPLS SME. Dołącz do mnie, aby razem odkrywać fascynujący świat technologii!
Komentarze
Więcej od Inna Sieć
6 sposobów na labowanie od Cisco
Routing & Switching

6 sposobów na labowanie od Cisco

Cisco oferuje sześć opcji labowania, które wspierają edukację. Narzędzia te obejmują zarówno darmowe symulatory, jak i rozbudowane laboratoria, które pozwalają na testowanie rzeczywistych scenariuszy oraz automatyzacji, co ułatwia naukę i rozwój umiejętności w bezpiecznym środowisku.
Spis treści
Świetnie! Udało ci się pomyślnie zarejestrować.
Witaj z powrotem! Zalogowałeś się pomyślnie.
Pomyślnie subskrybowałeś Inna Sieć.
Twój link wygasł.
Sukces! Sprawdź swoją skrzynkę e-mailową, aby uzyskać magiczny link do logowania.
Sukces! Twoje informacje rozliczeniowe zostały zaktualizowane.
Twoje informacje rozliczeniowe nie zostały zaktualizowane.