BGP & OSPF

Routing-Protokolle – Warum braucht man sie?

In kleinen Netzwerken reicht statisches Routing – ein Administrator trägt manuell ein wohin Pakete weitergeleitet werden sollen. Aber was passiert in einem Unternehmen mit Dutzenden Standorten, Hunderten von Routern und Verbindungen die manchmal ausfallen? Oder im Internet selbst, das aus Zehntausenden von Netzwerken besteht?

Hier kommen dynamische Routing-Protokolle ins Spiel. Sie ermöglichen es Routern automatisch den besten Weg zu einem Ziel zu berechnen und sich bei Ausfällen selbstständig anzupassen. Die zwei wichtigsten Protokolle im Unternehmens- und Internet-Umfeld sind OSPF und BGP.

OSPF – Open Shortest Path First

OSPF ist ein Link-State-Protokoll das innerhalb eines autonomen Systems (AS) eingesetzt wird – also im internen Netzwerk eines Unternehmens oder Providers. Es gehört zur Kategorie der Interior Gateway Protocols (IGP).

Wie OSPF funktioniert

Jeder OSPF-Router baut sich eine vollständige Karte des gesamten Netzwerks auf – die Link-State-Datenbank (LSDB). Dazu tauschen alle Router LSAs (Link State Advertisements) aus – Nachrichten die beschreiben welche Verbindungen ein Router hat und wie deren Kosten sind.

Aus dieser Karte berechnet jeder Router unabhängig den kürzesten Pfad zu jedem Ziel mit dem Dijkstra-Algorithmus (Shortest Path First = SPF). Das Ergebnis wird in die Routing-Tabelle eingetragen.

OSPF Kostenberechnung:

Kosten = Referenzbandbreite / Interface-Bandbreite
Standard-Referenz: 100 Mbit/s

Gigabit-Link (1 Gbit/s):  100 / 1000 = 0,1 → gerundet: 1
100-Mbit-Link:             100 / 100  = 1
10-Mbit-Link:              100 / 10   = 10
T1-Link (1,5 Mbit/s):      100 / 1,5  ≈ 64

Niedrigere Kosten = bevorzugter Pfad

OSPF-Bereiche (Areas)

In großen Netzwerken wird OSPF in Areas (Bereiche) aufgeteilt um die Last der LSA-Übertragungen zu begrenzen. Alle Areas müssen mit der Area 0 (Backbone Area) verbunden sein:

OSPF Areas:

        [Area 0 – Backbone]
        /        |        \
  [Area 1]  [Area 2]  [Area 3]
  (Standort A) (Standort B) (Standort C)

OSPF-Nachbarschaft

OSPF-Router die direkt verbunden sind, bilden Nachbarschaften (Adjacencies). Sie tauschen Hello-Pakete aus (per Multicast an 224.0.0.5 bzw. 224.0.0.6) um sich gegenseitig zu erkennen und die LSDB zu synchronisieren. In Multi-Access-Netzwerken (Ethernet) wird ein Designated Router (DR) gewählt um die LSA-Flut zu reduzieren.

BGP – Border Gateway Protocol

BGP ist das Routing-Protokoll des Internets. Während OSPF innerhalb eines Netzwerks arbeitet, verbindet BGP verschiedene autonome Systeme (AS) miteinander – es ist ein Exterior Gateway Protocol (EGP). Jedes AS hat eine eindeutige AS-Nummer (ASN), vergeben von der IANA.

BGP im Internet:

AS 1234 (Deutsche Telekom) ──BGP──► AS 5678 (DTAG Peering) ──BGP──► AS 9012 (Google)
          │
          └──BGP──► AS 3333 (RIPE NCC)

iBGP vs. eBGP

BGP gibt es in zwei Varianten:

  • eBGP (External BGP): Zwischen verschiedenen autonomen Systemen – das klassische Internet-Routing

  • iBGP (Internal BGP): Innerhalb desselben autonomen Systems – zur Verteilung von BGP-Routen intern

BGP ist ein Path-Vector-Protokoll

BGP verwendet nicht einfach eine Metrik wie Hop Count oder Kosten. Stattdessen speichert BGP den vollständigen AS-Pfad zu jedem Ziel – welche autonomen Systeme ein Paket durchqueren muss. Das hat zwei Vorteile: Routing-Schleifen werden automatisch erkannt (eigene AS-Nummer im Pfad = Schleife), und Netzwerkbetreiber können mit Policies gezielt steuern welche Pfade bevorzugt werden.

BGP-Attribute zur Pfadauswahl

Attribut

Bedeutung

AS-Path

Liste der durchquerten AS – kürzerer Pfad wird bevorzugt

Local Preference

Bevorzugung ausgehender Pfade innerhalb eines AS

MED (Multi-Exit Discriminator)

Hinweis an das Nachbar-AS welcher Eingang bevorzugt wird

Next-Hop

IP-Adresse des nächsten Routers auf dem Pfad

OSPF vs. BGP – Wann nimmt man was?

Eigenschaft

OSPF

BGP

Typ

IGP (intern)

EGP (extern)

Einsatz

Innerhalb eines AS

Zwischen AS – Internet

Algorithmus

Dijkstra (SPF)

Path-Vector + Policies

Metrik

Cost (Bandbreite)

AS-Path, Policies

Konvergenz

Schnell (Sekunden)

Langsamer (Minuten)

Skalierung

Mittelgroße Netzwerke

Internet-Skala (900.000+ Routen)

Transport

IP-Protokoll 89

TCP Port 179

Zusammenfassung

  • OSPF ist ein Link-State-IGP das innerhalb eines autonomen Systems eingesetzt wird

  • OSPF nutzt den Dijkstra-Algorithmus auf Basis der Link-State-Datenbank (LSDB)

  • Die OSPF-Metrik heißt Cost und basiert auf der Bandbreite

  • OSPF-Areas reduzieren die Last in großen Netzwerken – Area 0 ist das Backbone

  • BGP ist das Routing-Protokoll des Internets – ein EGP das autonome Systeme verbindet

  • BGP ist ein Path-Vector-Protokoll das AS-Pfade statt einfacher Metriken verwendet

  • eBGP verbindet verschiedene AS, iBGP verteilt BGP-Routen intern

  • OSPF konvergiert schnell (Sekunden), BGP langsamer (Minuten)