Dlaczego wszystkie obszary muszą łączyć się ze szkieletem obszaru 0 w OSPF?

22

To pytanie jest dosłownie odpowiedzią na to samo pytanie zadane w The Cisco Support Community . Odpowiedzi są unikalne dla Stack Exchange.


Dlaczego obszar 0 jest obszarem szkieletowym w OSPF? Dlaczego wszystkie inne obszary muszą się z nim łączyć?

Szukałem właściwego powodu, dla którego wszystkie obszary muszą być połączone z obszarem 0 w OSPF. Mam mały pomysł, ale cała koncepcja nie jest dla mnie jasna.

Jeśli 2 obszary nie są połączone przez obszar 0 (nieciągłe), w jaki sposób OSPF zachowuje się jak protokół stanu łącza, zwiększając możliwość pętli routingu?

trojański
źródło

Odpowiedzi:

39

Szkielet OSPF

Dlaczego obszar 0 jest obszarem szkieletowym w OSPF? Dlaczego wszystkie inne obszary muszą się z nim łączyć?

Jest to dobrze wyjaśnione w RFC 3509, sekcja 1.2 1 :

1.2 Motywacja

W domenach OSPF topologia obszaru jest ograniczona, dlatego musi istnieć obszar szkieletu (obszar 0), a wszystkie pozostałe obszary muszą mieć fizyczne lub wirtualne połączenia ze szkieletem. Powodem tej topologii podobnej do gwiazdy jest to, że routing między obszarami OSPF wykorzystuje podejście wektor odległości, a ścisła hierarchia obszarów pozwala uniknąć problemu „liczenia do nieskończoności”. OSPF zapobiega pętlom routingu między obszarami poprzez wdrożenie mechanizmu podzielonego horyzontu, umożliwiając ABR wstrzykiwanie do szkieletu tylko Podsumowujące LSA pochodzące z tras wewnątrz obszaru i ograniczając obliczanie SPF ABR, aby uwzględnić tylko Podsumowujące LSA w obszarze szkieletowym baza danych stanu łącza.

OSPF jest zwykle uważany za protokół stanu łącza . Niektórym brakuje tego, że OSPF używa zarówno protokołu stanu łącza, jak i algorytmu protokołu wektora odległości .

  • Trasy w szkielecie lub w obszarze niezwiązanym z kręgosłupem są obliczane tak, jak robi to protokół stanu łącza (zob . Algorytm Dijkstry ).
  • Kiedy OSPF musi przenosić trasy poza kręgosłupem przez kręgosłup, wykorzystuje pewne zachowanie wektor odległości (tj. Części algorytmu Bellmana Forda ) w celu propagowania wskaźników LSA Type3 do obszarów nie-szkieletowych.

Prosty przykład zachowania wektora odległości OSPF :

<-- Area 5 --><-- Area 0 --><--           Area 4           -->

R5-----------R1-----------R2------------R3---------------------R4
     Cost 3      Cost 5        Cost 7            Cost 12

               LSA-->          LSA-->
               Type3 LSA       Type3 LSA
               {From R1}       {From R2}
               R5 cost is 3    R5 cost is 8

Zastanów się, co dzieje się z trasą pętli / 32 dla R5.

  1. R5 wysyła LSA Type1 zawierający pętlę / 32
  2. R1 (obszar 5 ABR), jest podłączony do obszaru 0; przekłada LSA Type1 na LSA Type3 o koszcie 3.
  3. R2 (obszar 4 ABR) otrzymuje R1 Type3 LSA (metryka 3) i zmienia metrykę na Loopback R5, w oparciu o koszt R2 na R1 . Teraz LSA Type3 R2 dla R5 ma koszt 8. Jest to zachowanie wektora odległości, o którym wspomniałem powyżej.

Wymaganie, aby wszystkie trasy niezwiązane z kręgosłupem przechodziły przez kręgosłup, jest mechanizmem zapobiegania pętli.

Łączenie niezwiązanych z siecią obszarów OSPF w ABR

Jeśli 2 obszary nie są połączone przez obszar 0 (nieciągłe), w jaki sposób OSPF zachowuje się jak protokół stanu łącza, zwiększając możliwość pętli routingu?

Jak widzieliśmy powyżej, OSPF wykorzystuje zachowanie wektora odległości do wysyłania tras przez szkielet obszaru 0. Protokoły wektor odległości mają dobrze znane ograniczenia, takie jak problem zliczania do nieskończoności . OSPF byłby podatny na te same problemy, gdybyśmy nie mieli granic jego zachowania.


1 RFC 3509 opisuje zachowanie ABR systemu Cisco IOS

Mike Pennington
źródło
18

Obszar 0 został wybrany jako kręgosłup, liczba 0 lub 0.0.0.0 to tylko liczba.

Ponieważ OSPF jest stanem łącza, LSDB musi być identyczny w obrębie obszaru. Ma to na celu zapewnienie spójności obliczeń SPF i zapobieganie pętlom routingu.

Jeśli uruchomiony jest jeden obszar OSPF, można użyć dowolnego obszaru, nie ma wymogu posiadania obszaru 0.

Podczas uruchamiania OSPF w wielu obszarach należy użyć ABR. ABR to router z przyleganiem w obszarze 0 i co najmniej jednym innym obszarze.

ABR biorą LSA typu 1 i 2 i ogłaszają je jako podsumowujące LSA typu 3 w innych obszarach. To nie jest podsumowanie prefiksów, to podsumowanie informacji topologicznej. Jest to w rzeczywistości zachowanie wektora odległości.

Ponieważ inne obszary nie mają pełnych informacji o sobie, cały ruch międzyobszarowy musi przechodzić przez obszar 0. W przeciwnym razie mogą występować pętle routingu, ponieważ nie mają pełnej topologii.

Ze względu na tę konstrukcję OSPF nie musi uruchamiać pełnego SPF, gdy łącza przechodzą w górę / w dół w innych obszarach. Zwiększa to skalowalność.

Daniel Dib
źródło
celem obszaru 0 ospf jest zapobieganie pętlom routingu w jego domenie ospf, czy mam rację?
Trojan
3
Głównym celem obszaru 0 jest zapewnienie łączności z innymi obszarami. Dzięki temu, że projekt OSPF zasadniczo wygląda jak koncentrator i szprycha, gdzie obszar 0 jest koncentratorem, można zapobiec pętlom routingu.
Daniel Dib
9

Z „OSPF: Anatomy of a Routing Protocol” Johna Moya, który napisał wiele ze specyfikacji OSPF.

Wymiana informacji o routingu między obszarami jest zasadniczo wektorem odległości. Dzięki wektorowi odległości im większa liczba zbędnych ścieżek, tym gorsze są właściwości konwergencji. OSPF wymaga, aby wszystkie obszary były podłączone bezpośrednio do szkieletu, więc ogranicza topologię do prostej topologii koncentratora i szprychy. Eliminuje to zbędne ścieżki i zapobiega narażeniu go na problemy z „policzeniem do nieskończoności”.

użytkownik6238
źródło