OSPF jest chyba najpopularniejszych protokołem routingu IGP. Jest wspierany przez wiele urządzeń. Od tych małych routerów i firewalli po duże urządzenia operatorskie. Oprócz swojej popularności ma też jeszcze jedną, wielką zaletę. Pozwala się skalować w łatwy i przewidywalny sposób. Skalowanie OSPF realizowane jest za pomocą obszarów. Nimi zajmiemy się w tym wpisie.

Zanim przejdziemy do obszarów, przypomnijmy sobie podstawy OSPF. 

LSA i LSDB 

Open Shortest Path First (OSPF) jest protokołem Link State. Oznacza to, że aby podjąć optymalną decyzję, gdzie ma zostać skierowany ruch, jaka trasa jest najlepsza, router musi mieć pełny obraz sieci. Musi mieć informację o wszystkich połączeniach i prefiksach wykorzystywanych w sieci. Informacje te są przechowywany na routerze w Link State Database (LSDB) i wymieniane pomiędzy routerami za pomocą Link State Advertisment (LSA).

Każda zmiana w sieci np.: awaria łącza pomiędzy routerami lub dodanie nowego routera, powoduje aktualizację LSDB i ponowne przeliczenie całej sieci oraz wybór najlepszych tras.  

Czy to może być problem?  

W małych sieciach składających się z kilku routerów to nie powinien być problem, ale współczesne sieci, szczególnie operatorskie, są znacznie większe. Takie sieci mogą być zbudowana z setek routerów. Te sieci żyją i się zmieniają. Dodawane są nowe połączenia, stare usuwane, niektóre ulegają awarii. Każdy z routerów OSPF musi podołać temu wyzwaniu.  

Jakie wyzwania stoją przed takim routerem?  

Rozmiar LSDB. Taka baza ze stanami linków może nam szybko urosnąć, zajmując pamięć operacyjną routera.  

Aktualizacje LSDB i przeliczanie algorytmu wyboru trasy zajmują czas procesora.  

Jak możemy rozwiązać te dwa problemy? 

Możemy wykorzystywać do budowy naszej sieci tylko “duże urządzenia”. Takie, które mają dużo pamięci operacyjnej i szybkie procesory. Jest to rozwiązanie nieoptymalne z finansowego punktu widzenia. Zazwyczaj, takie urządzenia są drogi i nie będą optymalnie wykorzystane we wszystkich miejscach naszej sieci. 

Na szczęście mamy obszary. 

Zastosowanie obszarów w sieci jest realizacją zasady “dziel i rządź”. Duży obszar 0 (backbone), w którym dotychczas działały wszystkie routery OSPF, zostaje podzielony na mniejsze części. Każda z tych części staje się osobnym obszarem. Obszar to logiczny zestaw sieci, routerów i połączeń.  

Dzięki odpowiedniej konfiguracji obszarów, możemy ograniczyć rozmiar LSDB i ilość wymienianych informacji pomiędzy poszczególnymi obszarami. Nie musimy na każdym routerze w całej sieci mieć identycznej LSDB. LSDB musi być takie spójne tylko na routerach będących wewnątrz danego obszaru. Router w obszarze 30 nie musi mieć informacji, które są na routerze w obszarze 20. Zmiana w sieci w obszarze 20 nie powoduje przeliczenia tras w obszarze 30. Jest to ważne, ponieważ ciągłe przeliczanie OSPF i wybór najlepszej trasy, wpływa negatywnie na stabilność działania sieci.

Oprócz korzyści, jakie płyną z zastosowania obszarów w OSPF, mamy też pewne ograniczenia.  Każdy obszar musi mieć punkt styku z obszarem 0. Jeśli ruch ma przejść z obszaru 20 do obszaru 30, to jego ścieżka wygląda następująco: 20 0 30. Nie ma bezpośredniego przejścia z obszaru 20 do 30. Obszar 0 jest obszarem tranzytowym. Router, który łączy obszar 0 z innym obszarem, nazywa się  Area Border Router (ABR). ABR musi przechowywać LSDB dla obszaru 0 (backbone) i każdego innego, z którym ma połączenie. Wdrożenie obszarów w sieci musi być dobrze przemyślane i zaprojektowane.