Open Shortest Path First

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
OSPF, IP(IPv4/IPv6) im TCP/IP‑Protokollstapel:
Anwendung HTTP IMAP SMTP DNS
Transport TCP UDP
Internet OSPF, IP(IPv4/IPv6)
Netzzugang Ethernet Token
Bus
Token
Ring
FDDI

Open Shortest Path First (OSPF) bezeichnet ein von der IETF entwickeltes Link-State-Routing-Protokoll. Es ist im RFC 2328 (obsolet: RFC 1247 von 1991) festgelegt und basiert auf dem von Edsger W. Dijkstra entwickelten „shortest path“ Algorithmus.[1]

OSPF ist vielleicht das am häufigsten verwendete Interior Gateway Protocol (IGP) in großen Unternehmensnetzen. Das am häufigsten verwendete Exterior Gateway Protocol (EGP) ist das Border Gateway Protocol (BGP), das Haupt Routing-Protokoll zwischen autonomen Systemen im Internet.

Überblick[Bearbeiten]

Um die Nachteile von RIP (Routing Information Protocol) auszugleichen, wurde ab 1988 das Open-Shortest-Path-First-Verfahren (OSPF) entwickelt. Die Hauptvorteile von OSPF gegenüber RIP bestehen in der schnelleren Konvergenz und der besseren Skalierbarkeit für größere Netzwerke. Wie der Name andeutet, besitzt OSPF zwei Charakteristika, das der Offenheit im Sinne einer öffentlichen Spezifikation als RFC 2328 und das der Verwendung des SPF-Algorithmus. In UNIX-Systemen ist OSPF als gated-Dämon implementiert. OSPF gehört zur Klasse der Link-State-Routing-Protokolle. Für IPv6 gilt RFC 5340.

Der Standard definiert nicht, wie die Kosten zu berechnen sind. Die Grundlage des SPF-Algorithmus bilden nicht wie der Name nahelegt die Anzahl der Hops, sondern die Pfadkosten. Entscheidungskriterium für die Vorteilhaftigkeit eines Weges und damit Metrik wird die nominale Datenrate.

Neuere Trends bei Betreibern von IP-Netzen zeigen, dass dort vermehrt IS-IS im Zusammenhang mit MPLS eingesetzt wird, weil die IS-IS-Features ausreichen, das Protokoll weniger komplex als OSPF ist und im Vergleich besser skaliert. Trotzdem ist OSPF heute noch das vorwiegend verwendete Routing-Protokoll.

Merkmale von OSPF[Bearbeiten]

  • OSPF garantiert ein schleifenfreies Routing im Gegensatz zu RIP
  • Es nutzt das Hello-Protokoll für die Überwachung der Nachbarn
  • Es unterstützt VLSM sowie CIDR
  • OSPF ist für große skalierbare Netze gut geeignet
  • Das Area-Konzept vereinfacht die Kommunikation und Wartung

Hierarchische Struktur durch Areas[Bearbeiten]

Ein grundlegendes und wichtiges Konzept bei OSPF stellt die Hierarchie in sogenannte Areas (Bereiche) dar. Alle OSPF-Router können verschiedenen Areas zugeordnet werden. Dabei hat die sogenannte Backbone Area (Area 0) eine besondere Stellung. Alle anderen regulären Areas müssen direkt mit dieser Backbone Area verbunden sein. Sollte eine direkte Verbindung nicht möglich sein, können diese weit entfernten Areas durch Virtual Links mit der Backbone Area verbunden werden.[2]

Backbone Area[Bearbeiten]

In einer OSPF-Hierarchie muss es immer eine Backbone Area geben. Diese Backbone Area hat immer die Nummer 0 und stellt die Verbindungsbrücke zwischen allen Areas dar.

Reguläre Area[Bearbeiten]

Alle anderen Areas außer der Backbone Area sind reguläre Areas. Die Area-Nummer kann ein Zahlenwert zwischen 1 und 4294967295 (= 232 - 1) oder eine äquivalente Netz-ID (z.B. 192.168.1.0) sein.

Transit Area[Bearbeiten]

Normalerweise muss eine reguläre Area direkt mit der Backbone Area verbunden sein. Liegt bei einer komplexen Netzwerk-Topologie zwischen einer regulären Area und der Backbone Area eine andere reguläre Area, so werden keine Routing-Updates ausgetauscht. Um eine solche weit entfernte Area mit der Backbone Area zu verbinden, müssen Virtual Links konfiguriert werden. Diese überbrücken eine dazwischen liegende Area, welche dann zur Transit Area wird. Die Virtual Links stellen eine Tunnelverbindung zwischen einer Area und der Backbone Area dar.

Stub Area[Bearbeiten]

Eine Stub Area ist eine reguläre Area, in welcher deren Area Border Router die Weiterleitung von LSA-Nachrichten vom Typ 5 filtern. Damit wird für alle normalen Router in einer Stub Area deren Area Border Router als Gateway propagiert.

Totally Stubby Area[Bearbeiten]

Eine Totally Stubby Area (TSA) ist eine reguläre Area, in welcher deren Area Border Router die Weiterleitung von LSA-Nachrichten vom Typ 3, 4 und 5 filtern. Damit wird für alle normalen Router in einer Totally Stubby Area ausschließlich deren Area Border Router als Gateway propagiert.

Not So Stubby Area[Bearbeiten]

Eine Not So Stubby Area (NSSA) ist eine Stub Area, welche durch ein anderes IGP- oder EGP-Protokoll externe Routen erlernt, aber in welcher deren Area Border Router die Weiterleitung von LSA-Nachrichten vom Typ 5 filtern. Diese externen Routinginformationen würden normalerweise in einer Stub Area nicht propagiert. Ist die Stub Area aber als eine Not So Stubby Area konfiguriert, so werden externe Routing-Updates mit LSA-Nachrichten vom Typ 7 an die Area Border Router der Stub Area weitergeleitet. Diese wiederum wandeln dann diese LSA-Nachrichten vom Typ 7 in LSA-Nachrichten vom Typ 5 um und propagieren diese externen Routen in die Backbone Area.[3]

Totally Not-So-Stubby Area (TNSSA)[Bearbeiten]

Eine Totally Not-So-Stubby Area (Totally NSSA) ist eine reguläre Area, in welcher deren Area Border Router die Weiterleitung von LSA-Nachrichten vom Typ 3, 4 und 5 filtern. Externe Routen werden genauso wie bei NSSA mit LSA-Nachrichten vom Typ 7 propagiert und durch ABR in LSA-Nachrichten vom Typ 5 umgewandelt.[4]

Area Border Router[Bearbeiten]

Jede Area hat einen Area Border Router (ABR). Dieser ABR dient als Schnittstelle zwischen einer regulären Area und der Backbone Area. Wenn in einer Area nur ein Router existiert, so ist dieser automatisch auch der DR (Designated Router). Existieren in einer Area zwei Router so wird zwischen den beiden automatisch ein Router zum ABR und der zweite zum Backup-ABR (Backup Designated Router). Jeder weitere Router wird als normaler Router behandelt. Fällt ein Designated Router aus übernimmt direkt der Backup Designated Router dessen Aufgaben und wird selbst zum Designated Router. Sogleich wird ein anderer normaler Router in dieser Area zum Backup Designated Router gewählt.

Ein ABR kann LSA-Nachrichten filtern und über Route Summarization mehrere Routen zusammenfassen, um Routingtabellen zu vereinfachen.

Autonomous System Border Router[Bearbeiten]

Erlernt ein Router externe Routen über ein IGP- oder EGP-Protokoll und propagiert diese im OSPF-Netzwerk, so stellt dieser einen Autonomous System Border Router (ASBR) dar.

Designated Router[Bearbeiten]

In jedem (N)BMA-Netz (LAN-Segment) werden automatisch ein OSPF-Router zum Designated Router und ein OSPF-Router zum Backup Designated Router gewählt. Alle regulären Router in einem (N)BMA-Netz senden ihre Updates an den Designated Router und dieser wiederum ist der einzige, der Updates an alle anderen Router in einem (N)BMA-Netz weiterleitet.

Lastverteilung[Bearbeiten]

Wenn alternative Netzwerkpfade aus Sicht von OSPF dieselben metrischen Pfadkosten besitzen, so werden diese Pfade abwechselnd verwendet, um eine Lastverteilung zu ermöglichen.

Arbeitsweise[Bearbeiten]

OSPF Topologie

Kernstück von OSPF ist die Nachbarschafts-Datenbank (Adjazenz-Datenbank)/LSD (Link State Database), die eine Liste aller benachbarten Router enthält, zu denen eine bidirektionale Verbindung besteht. Sie spiegelt die Topologie des Netzes wider. Damit diese Datenbank aufgebaut oder bei Topologie-Änderungen aktualisiert wird, ist der Austausch von Routing-Informationen notwendig. Diese werden mittels Flooding übermittelt. Um den Umfang der auszutauschenden Informationen gering zu halten, wählen OSPF-Router einen designierten Router DR sowie einen Reserve-Router BDR (Backup Designated Router), die als Schnittstellen für den Austausch dienen. Der OSPF-Router, dessen Multi-Access-Schnittstelle die höchste Router-Priorität besitzt, wird DR. Haben zwei Router die gleiche Priorität, wird der Router mit der höheren Router-ID gewählt. Als Router-ID wird die IP-Adresse eines Loopback-Interfaces oder – je nach Hersteller – des Interfaces mit der numerisch höchsten IP-Adresse/des ersten aktiven Interfaces automatisch gewählt.

Link State Advertisements LSA[Bearbeiten]

OSPF-Router tauschen Informationen über die erreichbaren Netze mit sogenannten LSA-Nachrichten (Link State Advertisements) aus. Hierbei sind folgende LSA-Typen definiert:

  • Router-LSA (Typ 1): Für jeden aktiven Link des Routers, der der zu betrachtenden Area angehört, wird ein Eintrag im Router-LSA erzeugt. In ihm wird neben der IP-Adresse des Links auch die Netzmaske des Links und der Netzwerktyp (Loopback, Point-to-Point, normales Netz) eingetragen.
  • Network-LSA (Typ 2): Der designierte Router (DR) eines Netzsegments erzeugt ein Network-LSA für dieses Netz, das neben der Netzadresse und -maske auch eine Liste der anderen angrenzenden Router enthält.
  • Summary-LSA (Typ 3/4): Informationen über Ziele außerhalb einer Area können von den ABR (Area border router) je nach Konfiguration als LSA-Typ 3 (wenn es sich um eine Netz-Information handelt) oder LSA-Typ 4 (bei einer weitergeleiteten Router-Erreichbarkeit) in eine andere Area weitergegeben werden. LSAs vom Typ 3 werden auch verwendet, um Default-Routen in (Stub-)Areas zu propagieren.
  • AS-External LSA (Typ 5): Router, die aus Sicht des OSPF das eigene autonome System abschließen, können für extern gelernte oder manuell konfigurierte Routen Typ-5-LSAs erzeugen. Diese enthalten Netzadresse und -maske des Zielnetzwerks sowie einen Verweis auf den ankündigenden Router. Eine gängige Anwendung von Typ-5-LSAs ist, Default-Routen in die Backbone-Area zu injizieren.
  • NSSA-External-LSA (Typ 7): LSA-Typ7 wird am NSSA ASBR generiert. Type-5 LSAs sind in NSSA Areas nicht erlaubt, daher generiert der NSSA ASBR Type-7 LSAs dafür. Ein NSSA-External-LSA ist annähernd identisch mit einem AS-External-LSA. Im Gegensatz zu den AS-External-LSAs, die durch ein gesamtes OSPF-AS geflutet werden, werden NSSA-External-LSAs nur innerhalb der NSSA-Area geflutet, in der sie erzeugt wurden.
  • Opaque-LSA (Typ 9): Dieser LSA-Typ wird Link lokal und somit nicht über Router hinweg verbreitet. Aktuell wird dieser LSA-Typ für eine Graceful Restart Funktion genutzt.
  • Opaque-LSA (Typ 10): Dieser LSA-Typ wird Area lokal verbreitet. Aktuell wird dieser LSA-Typ für Traffic Engineering Funktionen genutzt.
  • Opaque-LSA/Graceful Restart (Typ 11): Dieser LSA-Typ wird AS weit geflutet. RFC 5187 ersetzt den Opaque-LSA Typ durch Graceful Restart LSA. Diese Veränderung gilt allerdings nur für OSPFv3. Eine Nutzung dieses LSA Types ist derzeit nicht bekannt.

Designated Router[Bearbeiten]

Dieser Artikel oder nachfolgende Abschnitt ist nicht hinreichend mit Belegen (beispielsweise Einzelnachweisen) ausgestattet. Die fraglichen Angaben werden daher möglicherweise demnächst entfernt. Bitte hilf der Wikipedia, indem du die Angaben recherchierst und gute Belege einfügst. Näheres ist eventuell auf der Diskussionsseite oder in der Versionsgeschichte angegeben. Bitte entferne zuletzt diese Warnmarkierung.

Designated Router (deutsch: ernannter Router) wird optional in Open Shortest Path First verwendet, um die durch den Routing-Prozess erzeugte Netzlast in Broadcast-Netzen mit vielen OSPF-Routern zu verringern.

Um die Menge der zu übertragenden LSAs einzudämmen, wird in Netzwerken, die nicht aus isolierten Punkt-zu-Punkt-Verbindungen bestehen, ein Designated Router (DR) gewählt. Der DR ist verantwortlich dafür, die Aktualisierungsinformation innerhalb einer Area zu verteilen. Der DR steigt damit zum verwaltungsmäßigen Zentrum einer Area auf. Der Backup-Designated Router (BDR) nimmt die Rolle seines Stellvertreters ein.

Die Wahl eines Designated Routers erfolgt transparent. Entscheidungskriterium ist die höchste Router-ID, die im Allgemeinen die höchste, konfigurierte IP-Adresse darstellt. In besonderen Fällen kann direkt Einfluss auf den Auswahlprozess genommen werden, indem eine Router-ID konfiguriert oder eine Loopback-Adresse als Ersatz erzeugt wird. Der Wahlprozess findet über den Austausch von Hello-Paketen statt. Fällt der DR aus, übernimmt der BDR fast nahtlos dessen Rolle, ohne erst einen erneuten Wahlvorgang eines DR zu initiieren. Dies geschieht selbst dann, wenn zwischenzeitlich neue Router mit höherer IP-Adresse hinzugekommen sein sollten. Abschließend wird noch ein BDR gewählt.

Protokoll[Bearbeiten]

Hello-Protokoll[Bearbeiten]

Das Hello-Protokoll ist in Open Shortest Path First für den Netzwerkbetrieb ein integraler Bestandteil des gesamten Routingprozesses. Es ist verantwortlich für:

  • Senden von Keepalives in bestimmten Intervallen (damit wird bestätigt, ob die Route noch besteht)
  • Zur Entdeckung eines Nachbarn
  • Aushandlung der Parameter
  • Wahl eines Designated Routers (DR) und des Backup-DRs

Alle ankommenden Hello-Pakete werden auf die Area ID und anderen Parametern geprüft. Wenn diese mit den lokalen Einstellungen übereinstimmen, wird dieser Router als Nachbar eingetragen.

OSPF Version 2[Bearbeiten]

OSPF Header
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Version Type Length
Router ID
Area ID
Checksum AuType
Authentication
Data
  • Die Größe des Version-Felds beträgt 8 Bit.
  • Die Größe des Typ-Felds beträgt 8 Bit.
Typ Beschreibung Referenz
1 Hello RFC 2328, RFC 5340
2 Database description RFC 2328, RFC 5340
3 Link state request RFC 2328, RFC 5340
4 Link state update RFC 2328, RFC 5340
5 Link state acknowledgment RFC 2328, RFC 5340
  • Die Größe des Length-Feldes beträgt 16 Bit. Es enthält die Gesamtpaketlänge.
  • Die Größe des Feldes Router ID beträgt 32 Bit.
  • Die Größe des Feldes Area ID beträgt 32 Bit.
  • Die Größe des Checksum-Feldes beträgt 16 Bit. Es enthält die Standard IP-Prüfsumme.
  • Die Größe des Felds AuType (Authentifikations-Typ) beträgt 16 Bit.
Authentication type Beschreibung Referenz
0 None RFC 2328
1 Simple password authentication RFC 2328
2 Cryptographic authentication RFC 2328
3 bis 65535 Reserved
  • Die Größe des Felds Authentication beträgt 64 Bit.

OSPF Version 3[Bearbeiten]

OSPF Header Version 3
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Version
(Version)
Type
(Typ)
Length
(Länge)
Router ID
(Routerbezeichner)
Area ID
(Bereichsbezeichner)
Checksum
(Prüfsumme)
Instance ID
(Instanzbezeichner)
Reserved
(reserviert)
Data
(Daten)
  • Die Version 3 des OSPF ist für IPv6 vorgesehen und in RFC 5340 definiert.
  • Die Instance ID (Instanzbezeichner) beträgt 8 Bit.
  • Reserved (reserviert) beträgt 8 Bit.

Unterschiede zwischen OSPFv2 und OSPFv3[Bearbeiten]

Die Protokolldefinition von OSPFv3 führte, neben der Erweiterung um IPv6-Funktionalität, einige Unterschiede zu OSPFv2 ein. Die Unterschiede werden im folgenden aufgelistet:

  • Die Bezeichnung „subnet“ wurde durch „link“ ersetzt. Hintergrund ist die Definition eines Interfaces. In OSPFv2 wird ein Interface als ein Subnetz betrachtet, dies führt dazu, dass auf einem Interface nur eine Nachbarschaftsbeziehung in einem Subnetz erfolgen kann. Allerdings kann ein Interface auch mehrere Subnetze enthalten und sehr wohl über diese Nachbarschaftsbeziehung aufbauen wollen. Diese Umdefinition behebt den Umstand und erhöht die Möglichkeiten zur Nachbarschaftsbildung.
  • Nachbarschaftserkennung anhand der Router-ID. In OSPFv2 werden Nachbarn, auf NBMA-Links, über die Interface-Adressen erkannt. Bei Point-to-Point-Links werden die Nachbarn über die Router-ID identifiziert. Dieser Unterschied wird in OSPFv3 aufgehoben, und sämtliche Nachbarn werden über die Router-ID identifiziert.
  • Authentifizierung entfernt. In OSPFv2 wird im Header eine Authentifizierung durchgeführt. Diese wurde in OSPFv3 vollständig entfernt. Die Funktion wird nun durch den IPv6 Authentication Header ersetzt (Funktion verschoben auf unteren Layer).
  • Weiterleitung von unbekannten LSA-Typen. In OSPFv2 werden unbekannte LSA-Typen gelöscht und nicht weiter verbreitet. OSPFv3-Implementierungen sollen auch unbekannte LSA-Typen weiterleiten.

Freie Software-Implementierungen[Bearbeiten]

  • Quagga (Weiterentwicklung von GNU Zebra)
  • BIRD (Opensource-Implementierung eines Ipv4- und Ipv6-fähigen TCP/IP-Routing-Daemons)
  • XORP (eXtensible Open Router Platform)
  • OpenOSPFD (Unix-Systemdienst)

Siehe auch[Bearbeiten]

Literatur[Bearbeiten]

  • Wolfgang Schulte: Handbuch der Routing Protokolle der Netze, SVH Verlag, 2009, ISBN 978-3-8381-1066-0
  • John T. Moy: OSPF: Anatomy of an Internet Routing Protocol, Addison-Wesley Longman Verlag, 1998, ISBN 978-0201634723

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. E. W. Dijkstra: A Note on Two Problems in Connexion with Graphs. In: Numerische Mathematik. 1, 1959, S. 269-271 (PDF; 739 kB)
  2. cisco.com - What Are OSPF Areas and Virtual Links?
  3. cisco.com - OSPF Not-So-Stubby Area (NSSA)
  4. Mike's Technology and Finance Blog - The OSPF Totally Not-So-Stubby-Area (NSSA)