Zum Hauptinhalt springen

8. Protocol Packet Processing (Protokollpaketverarbeitung)

Dieses Kapitel beschreibt detailliert, wie OSPF-Router empfangene Protokollpakete verarbeiten. Dies ist der zentrale Teil der OSPF-Implementierung und deckt die Verarbeitungslogik aller Pakettypen ab.

Kapitelübersicht (Chapter Overview)

OSPF verwendet 5 verschiedene Protokollpakettypen, jeder mit einem spezifischen Verarbeitungsablauf:

  • Hello-Pakete
  • Database Description (DD) Pakete
  • Link State Request (LSR) Pakete
  • Link State Update (LSU) Pakete
  • Link State Acknowledgment (LSAck) Pakete

8.1 Empfangen von Protokollpaketen (Receiving Protocol Packets)

Allgemeine Empfangsverarbeitung (General Reception Processing)

Schritt 1: IP-Layer-Empfang

  • Zieladresse: 224.0.0.5 (AllSPFRouters) oder 224.0.0.6 (AllDRouters) oder Unicast
  • Protokollnummer: 89 (OSPF)
  • IP TTL: Muss 1 sein (außer bei virtuellen Links)

Schritt 2: OSPF-Header-Validierung

PrüfelementAnforderungVerarbeitung bei Fehler
Version NumberMuss 2 seinPaket verwerfen
Packet Type1-5 gültigPaket verwerfen
ChecksumMuss korrekt seinPaket verwerfen
Area IDMuss übereinstimmenPaket verwerfen
AuthenticationMuss bestehenPaket verwerfen

8.2 Hello-Paketverarbeitung (Hello Packet Processing)

Empfang von Hello-Paketen

Verarbeitungsablauf

Hello empfangen

Hello-Parameter validieren

Neighbor suchen/erstellen

Neighbor-Status aktualisieren

DR/BDR-Wahl prüfen

Hello-Parameter-Validierung

Parameter, die übereinstimmen müssen

ParameterBeschreibungVerarbeitung bei Nichtübereinstimmung
Network MaskNetzwerkmaskePaket verwerfen
Hello IntervalHello-SendeintervallPaket verwerfen
Dead IntervalNeighbor-AblaufintervallPaket verwerfen
OptionsOptions-FlagsPaket verwerfen

8.3 Database Description Paketverarbeitung (DD Packet Processing)

Empfang von DD-Paketen

Voraussetzung

  • Neighbor-Status muss >= ExStart sein
  • Andernfalls Paket verwerfen

Verarbeitungslogik-Verzweigungen

Verzweigung 1: ExStart-Status

Master-Bestimmung

if (Empfangenes DD enthält Flags I, M, MS):
if (Neighbor Router ID > Lokale Router ID):
Dieser Router wird Slave
Neighbor wird Master
Sequenznummer des Neighbors akzeptieren
else:
Dieses DD ignorieren

Empfang von LSR-Paketen

Voraussetzung

  • Neighbor-Status muss >= Exchange sein
  • Andernfalls Paket verwerfen

Verarbeitungsablauf

LSR empfangen

Anforderungsliste durchlaufen

Jedes LSA in LSDB suchen

Gefunden: Zu LSU-Antwort hinzufügen
Nicht gefunden: BadLSReq-Ereignis

LSU-Paket senden

Empfang von LSU-Paketen

Verarbeitungskomplexität

  • LSU kann mehrere LSAs enthalten
  • Jedes LSA wird unabhängig verarbeitet
  • Komplexester Pakettyp

LSA-Validierung

Schritt 1: Grundvalidierung

PrüfelementAnforderung
LS ChecksumMuss korrekt sein
LS TypeMuss bekannter Typ sein
LS AgeMuss <= MaxAge (3600s) sein

Empfang von LSAck-Paketen

Verarbeitungsablauf

LSAck empfangen

Liste bestätigter LSA-Header durchlaufen

In Link State Retransmission List suchen

Gefunden und übereinstimmend: Aus Neuübertragungsliste entfernen
Nicht gefunden oder nicht übereinstimmend: Diese Bestätigung ignorieren

8.7 Senden von Protokollpaketen (Sending Protocol Packets)

Sendeentscheidung

Hello-Pakete

  • Periodisches Senden (Hello Interval)
  • Ziel: AllSPFRouters (224.0.0.5)

DD-Pakete

  • Während Datenbanksynchronisation
  • Ziel: Unicast-Adresse des Neighbors

LSU-Pakete

  • Antwort auf LSR: Unicast
  • Flooding neuer LSAs: Multicast oder Unicast

8.8 Neuübertragungsmechanismus (Retransmission Mechanism)

Zweck

  • Unbestätigte LSAs verfolgen
  • Jeder Neighbor pflegt eine unabhängige Liste

RxmtInterval

  • Standardwert: 5 Sekunden
  • Konfigurierbar
  • Sollte bei Hochlatenzlinks erhöht werden

Technische Zusammenfassung (Technical Summary)

Schlüssel-Verarbeitungsprinzipien

  1. Strenge Validierung

    • Alle Pakete müssen mehrere Validierungsebenen durchlaufen
    • Jede Nichtübereinstimmung führt zur sofortigen Verwerfung
    • Gewährleistet Protokollsicherheit
  2. Statusgesteuert

    • Neighbor-Status bestimmt Verarbeitungslogik
    • Klare Zustandsübergänge
    • Vermeidet ungültige Operationen
  3. Zuverlässige Übertragung

    • Bestätigungsmechanismus
    • Neuübertragungsmechanismus
    • Sequenznummernerkennung

Referenzen (References)


Hinweis (Note): Die Protokollpaketverarbeitung ist der Kern der OSPF-Implementierung. Das Verständnis des Verarbeitungsablaufs jedes Pakettyps ist für die korrekte Implementierung und Fehlerbehebung unerlässlich.