Warum müssen alle Bereiche in OSPF mit einem Area 0-Backbone verbunden sein?


22

Diese Frage ist eine wörtliche Wiederholung derselben Frage , die in der Cisco Support Community gestellt wurde . Antworten gibt es nur bei Stack Exchange.


Warum ist Bereich 0 der Backbone-Bereich in OSPF? Warum müssen alle anderen Bereiche eine Verbindung herstellen?

Ich habe nach dem richtigen Grund gesucht, warum alle Bereiche in OSPF mit Bereich 0 verbunden werden müssen. Ich habe eine kleine Idee, aber ich bin mit dem ganzen Konzept nicht klar.

Wenn 2 Bereiche nicht durch Bereich 0 verbunden sind (nicht zusammenhängend), wie erhöht das Verhalten von OSPF als Verbindungsstatusprotokoll die Wahrscheinlichkeit von Routing-Schleifen?

Antworten:


39

OSPF-Backbone

Warum ist Bereich 0 der Backbone-Bereich in OSPF? Warum müssen alle anderen Bereiche eine Verbindung herstellen?

Dies wird in RFC 3509, Abschnitt 1.2 1 sehr gut erklärt :

1.2 Motivation

In OSPF-Domänen ist die Bereichstopologie eingeschränkt, sodass es einen Backbone-Bereich (Bereich 0) geben muss und alle anderen Bereiche entweder physische oder virtuelle Verbindungen zum Backbone haben müssen. Der Grund für diese sternähnliche Topologie ist, dass das OSPF-Inter-Area-Routing den Distanzvektor-Ansatz verwendet und eine strenge Bereichshierarchie die Vermeidung des Problems "Zählen bis unendlich" ermöglicht. OSPF verhindert Inter-Area-Routing-Schleifen, indem ein Split-Horizon-Mechanismus implementiert wird, der es ABRs ermöglicht, nur aus den Intra-Area-Routen abgeleitete Summary-LSAs in das Backbone zu injizieren, und die SPF-Berechnung von ABRs so einschränkt, dass nur Summary-LSAs im Backbone-Bereich berücksichtigt werden Verbindungsstatus-Datenbank.

OSPF wird normalerweise als Verbindungsstatusprotokoll betrachtet . Was einige Leute vermissen, ist, dass OSPF sowohl Link-State-Protokoll- als auch Distanzvektor-Protokoll- Algorithmen verwendet.

  • Routen innerhalb des Backbones oder in einem Nicht-Backbone-Bereich werden wie bei einem Link-State-Protokoll berechnet (siehe Dijkstra-Algorithmus ).
  • Wenn OSPF Routen ohne Backbone durch das Backbone transportieren muss, verwendet es ein gewisses Distanzvektorverhalten (dh Teile des Bellman Ford-Algorithmus ), um Typ3-LSA-Metriken in Nicht-Backbone-Bereiche zu übertragen.

Einfaches Beispiel für das Distanzvektor- Verhalten von 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

Überlegen Sie, was mit einer / 32-Loopback-Route für R5 passiert.

  1. R5 sendet einen LSA vom Typ 1, der den / 32-Loopback enthält
  2. R1 (Area 5 ABR) ist mit Area 0 verbunden; es übersetzt die Type1-LSA in eine Type3-LSA mit Kosten von 3.
  3. R2 (Area 4 ABR) empfängt R1s Type3 LSA (Metrik 3) und ändert die Metrik in R5s Loopback, basierend auf R2s Kosten in R1 . Der Typ3-LSA von R2 für R5 kostet jetzt 8. Dies ist das oben erwähnte Distanzvektor- Verhalten.

Es ist ein Schleifenverhinderungsmechanismus, dass alle Nicht-Backbone-Routen das Backbone passieren müssen.

Verbinden von Nicht-Backbone-OSPF-Bereichen an einem ABR

Wenn 2 Bereiche nicht durch Bereich 0 verbunden sind (nicht zusammenhängend), wie erhöht das Verhalten von OSPF als Verbindungsstatusprotokoll die Wahrscheinlichkeit von Routing-Schleifen?

Wie wir oben gesehen haben, verwendet OSPF das Distanzvektor- Verhalten, um Routen durch das Area 0-Backbone zu senden. Entfernungsvektorprotokolle weisen bekannte Grenzen auf, wie beispielsweise das Count-to-Infinity-Problem . OSPF wäre für die gleichen Probleme anfällig, wenn wir seinem Verhalten keine Grenzen setzen würden.


1 RFC 3509 beschreibt das ABR-Verhalten von Cisco IOS


18

Als Backbone wurde der Bereich 0 gewählt, die Zahl 0 oder 0.0.0.0 ist nur eine Zahl.

Da OSPF der Verbindungsstatus ist, muss die LSDB innerhalb eines Bereichs identisch sein. Dies soll sicherstellen, dass die SPF-Berechnung konsistent ist und Routing-Schleifen verhindert werden.

Wenn OSPF für einen einzelnen Bereich ausgeführt wird, kann ein beliebiger Bereich verwendet werden, für den kein Bereich 0 erforderlich ist.

Beim Ausführen von OSPF mit mehreren Bereichen muss ein ABR verwendet werden. Ein ABR ist ein Router mit Nachbarschaft in Bereich 0 und mindestens einem anderen Bereich.

ABRs nehmen LSAs vom Typ 1 und 2 und kündigen sie in anderen Bereichen als zusammenfassende LSAs vom Typ 3 an. Dies ist keine Zusammenfassung der Präfixe, sondern eine Zusammenfassung der topologischen Informationen. Dies ist tatsächlich das Distanzvektorverhalten.

Da in anderen Bereichen keine vollständigen Informationen vorliegen, muss der gesamte Datenverkehr zwischen den Bereichen durch Bereich 0 verlaufen. Andernfalls kann es zu Routing-Schleifen kommen, da nicht die vollständige Topologie verfügbar ist.

Aufgrund dieses Designs muss OSPF nicht mit vollem SPF ausgeführt werden, wenn Verbindungen in anderen Bereichen nach oben oder unten gehen. Dies erhöht die Skalierbarkeit.


Der Zweck von OSPF-Bereich 0 ist, Routing-Schleifen in seiner OSPF-Domäne zu verhindern. Stimmt das?
Trojan

3
Das Hauptziel von Bereich 0 ist die Bereitstellung von Konnektivität zu anderen Bereichen. Indem das OSPF-Design im Wesentlichen wie ein Hub und eine Speiche aussieht, bei denen der Bereich 0 der Hub ist, können Routing-Schleifen verhindert werden.
Daniel Dib

9

Aus "OSPF: Anatomy of a Routing Protocol" von John Moy, der einen Großteil der OSPF-Spezifikation geschrieben hat.

Der Austausch von Routing-Informationen zwischen Bereichen ist im Wesentlichen ein Distanzvektor. Mit Distance Vector werden die Konvergenzeigenschaften umso schlechter, je mehr redundante Pfade vorhanden sind. Bei OSPF müssen alle Bereiche direkt mit dem Backbone verbunden sein, sodass die Topologie auf eine einfache Hub- und Spoke-Topologie beschränkt ist. Dies eliminiert redundante Pfade und verhindert, dass es zu Problemen mit dem Zählen bis unendlich kommt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.