Zum Hauptinhalt springen

7. Bringing Up Adjacencies (Aufbau von Adjacenzen)

Dieses Kapitel beschreibt detailliert, wie OSPF-Router Adjacency-Beziehungen aufbauen und pflegen. Adjacency ist der Kern des OSPF-Protokolls und bestimmt, welche Router ihre Link-State-Datenbank synchronisieren.

Kapitelübersicht (Chapter Overview)

Der Aufbau von Adjacency ist ein mehrstufiger Prozess, der Folgendes umfasst:

  • Neighbor-Entdeckung
  • Bestätigung bidirektionaler Kommunikation
  • Aushandlung der Master/Slave-Beziehung
  • Datenbanksynchronisation
  • Erreichen des vollständigen Adjacency-Status

7.1 Neighbor-Beziehung vs Adjacency (Neighbor vs Adjacency)

Konzeptunterscheidung

KonzeptDefinitionStatus
NeighborDirekt verbundener Router, entdeckt via Hello2-Way oder höher
AdjacencyNeighbor, der LSDB synchronisiertFull-Status

7.2 Neighbor-State-Machine (Neighbor State Machine)

Zustandsübergangsdiagramm

Down → Init → 2-Way → ExStart → Exchange → Loading → Full

(keine Adjacency)

Statusdetails

1. Down (Ausgefallen)

  • Anfangsstatus
  • Keine Hello-Pakete empfangen
  • Neighbor nicht erreichbar

2. Init (Initialisierung)

  • Hello-Paket vom Neighbor empfangen
  • Hello listet diesen Router nicht auf
  • Unidirektionale Kommunikation

3. 2-Way (Bidirektionale Kommunikation)

  • Empfangenes Hello enthält diese Router-ID
  • Bidirektionale Kommunikation hergestellt
  • Entscheidungspunkt: Adjacency aufbauen oder nicht

4. ExStart (Austausch-Start)

  • Aushandlung der Master/Slave-Beziehung
  • Router mit größerer ID wird Master
  • Bestimmt initiale DD-Sequenznummer

5. Exchange (Datenbankbeschreibung)

  • Austausch von Database Description (DD) Paketen
  • Beschreibt Inhalt der lokalen LSDB
  • Nur LSA-Header, nicht vollständige LSAs

6. Loading (Laden)

  • Anforderung fehlender oder abgelaufener LSAs
  • Sendet Link State Request (LSR)
  • Empfängt Link State Update (LSU)

7. Full (Vollständige Adjacency)

  • Datenbank vollständig synchronisiert
  • Normaler Betriebsstatus
  • Routenberechnung möglich

7.3 Adjacency-Bildungsentscheidung (Adjacency Formation Decision)

Entscheidungsmatrix

NetzwerktypMit wem Adjacency aufbauenGrund
Punkt-zu-PunktAlle NeighborsNur ein Neighbor
Punkt-zu-MultipunktAlle NeighborsAls mehrere Punkt-zu-Punkt behandelt
BroadcastDR und BDRAdjacency-Anzahl reduzieren
NBMADR und BDRAdjacency-Anzahl reduzieren

7.4 DR- und BDR-Wahl (DR/BDR Election)

Wahlalgorithmus

Wahlzeitpunkt

  • Interface-Status wechselt von Waiting zu DR oder DROther
  • Hello-Paket löst Neuberechnung aus

Wahlregeln

  1. Prioritätsvergleich

    • Router Priority = 0: Nimmt nicht an Wahl teil
    • Höhere Priorität ist bevorzugt
  2. Router-ID-Vergleich

    • Bei gleicher Priorität gewinnt größere Router-ID
  3. Zweiphasige Wahl

    • Phase 1: BDR wählen
    • Phase 2: DR wählen

7.5 Database Description Pakete (Database Description Packets)

DD-Paketformat

Header-Felder

FeldGrößeBeschreibung
Interface MTU16 BitInterface-MTU-Größe
Options8 BitOptionale Fähigkeiten
Flags8 BitI/M/MS-Flags
DD Sequence Number32 BitSequenznummer

Flag-Bit-Beschreibung

  • I (Init): Erstes DD-Paket
  • M (More): Weitere DD-Pakete folgen
  • MS (Master/Slave): 1=Master, 0=Slave

LSR-Generierungszeitpunkt

Auslösebedingungen

  • Exchange-Status: Neighbor hat neuere LSAs
  • Loading-Status: Fortsetzen der Anforderung fehlender LSAs
  • Full-Status: Gelegentlich fehlende LSAs anfordern

LSU-Zweck

Verwendungsszenarien

  1. Antwort auf LSR (Unicast)
  2. Flooding neuer LSAs (Multicast/Broadcast)
  3. Periodisches LSA-Refresh

Bestätigungszeitpunkt

Verzögerte Bestätigung

  • Batch-Bestätigung nach Empfang mehrerer LSAs
  • Verzögerung typischerweise < 1 Sekunde
  • Reduziert Paketanzahl

Sofortige Bestätigung

  • Empfang doppelter LSAs
  • Empfang älterer LSA-Instanz

7.9 Adjacency-Wartung (Adjacency Maintenance)

Rolle des Hello-Protokolls

Kontinuierliche Überwachung

  • Periodisches Senden von Hello-Paketen
  • Überwachung von Neighbor-Hellos
  • Neighbor läuft ab, wenn kein Hello innerhalb Dead Interval

Hello-Intervall

  • Punkt-zu-Punkt/Broadcast: 10 Sekunden
  • NBMA: 30 Sekunden

Dead-Intervall

  • Standard: Hello Interval × 4
  • Punkt-zu-Punkt/Broadcast: 40 Sekunden
  • NBMA: 120 Sekunden

7.10 Adjacency-Bildungsbeispiele (Adjacency Formation Examples)

Router A ←────────→ Router B

Schritt 1: Beide senden Hello
A → B: Hello (Neighbor-Liste leer)
B → A: Hello (Neighbor-Liste leer)

Schritt 2: Bidirektionale Kommunikation bestätigen
A → B: Hello (Neighbor-Liste enthält B)
B → A: Hello (Neighbor-Liste enthält A)
Status: 2-Way

Schritt 3: Master/Slave aushandeln
A → B: DD (I, M, MS=1, Seq=X)
B → A: DD (I, M, MS=0, Seq=X)
A wird Master

Schritt 4: Datenbankbeschreibungen austauschen
A → B: DD (M, MS=1, Seq=X+1) [LSA-Header-Liste]
B → A: DD (M, MS=0, Seq=X+1) [LSA-Header-Liste]
...fortsetzen bis Austausch abgeschlossen

Schritt 5: Fehlende LSAs anfordern
A → B: LSR [fordere LSA 1, 2, 3 an]
B → A: LSU [LSA 1, 2, 3]
A → B: LSAck [bestätige 1, 2, 3]

Schritt 6: Full-Status erreichen
Status: Full
Routenberechnung möglich

Technische Zusammenfassung (Technical Summary)

Schlüsselmechanismen

  1. State-Machine-gesteuert

    • Klare Zustandsübergänge
    • 7 Neighbor-Zustände
    • Ereignisgesteuertes Verhalten
  2. Zuverlässige Synchronisation

    • Sequenznummernmechanismus
    • Bestätigung und Neuübertragung
    • Master/Slave-Koordination
  3. Optimiertes Design

    • DR/BDR reduzieren Adjacenzen
    • Batch-Bestätigung reduziert Traffic
    • Stufenweise Datenbanksynchronisation

Referenzen (References)


Hinweis (Note): Der Aufbau von Adjacency ist die Grundlage des OSPF-Protokolls. Das Verständnis von Zustandsübergängen und Paketaustauschfolge ist für die Fehlerbehebung entscheidend.