Dynamisches Routing

Artikel für fortgeschrittene Anwender

Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.

Inhaltsverzeichnis
  1. Prinzipielle Funktionsweise
  2. Verfügbare Protokolle
    1. Protokoll - Übersicht
      1. RIP - Routing Information Protocol
      2. OSPF - Open Shortest Path First
      3. IS-IS - Intermediate System To Interme...
      4. EIGRP
      5. BGP - Border Gateway Protocol
      6. OLSR - Optimized Link State Routing Pr...
  3. Implementierungen
  4. Links

Wiki/Icons/service.png Die Aufgabe eines Routers besteht darin, Pakete zwischen mehreren Netzen zu vermitteln. Dazu muss dem Router bekannt sein, wie ein Zielnetzwerk zu erreichen ist. Der Aufwand, diese Information manuell zu pflegen, steigt mit jedem angeschlossenen Router. Kommt es noch zu häufigen Änderungen in der Netztopologie, werden Technologien benötigt die auf diese Änderungen dynamisch reagieren.

Beim dynamischen Routing geht es um die Fähigkeit eines Routers oder Servers, die angeschlossene Netzwerktopologie selbständig zu erlernen, auf Veränderungen zu reagieren und daraus Rückschlüsse auf die optimale Route zum Zielnetzwerk zu ziehen.

Prinzipielle Funktionsweise

Um unter Ubuntu einen Router zu betreiben, gibt es unterschiedliche Routing-Daemons (Dienste). Diese arbeiten alle nach dem gleichen Prinzip: Sie erlernen aus der Routing-Tabelle des Kernels die direkt angeschlossenen Netzwerke/Interfaces und ggf. statisch konfigurierte Routen. Anschließend verteilen sie diese Informationen (je nach Konfiguration) an ihre Nachbar-Router. Diese sammeln diese Informationen und verteilen ihrerseits die ihnen bekannten Netzwerke und Routen. So bildet sich nach einer Initialisierungsphase auf jedem Router ein Abbild der Netzwerktopologie.

Diese Routen-Tabellen existieren parallel zur Kernel-Routing Tabelle, stehen dementsprechend für Paket-Routing erst einmal nicht zur Verfügung. Erst in einem zweiten Schritt wird abhängig von der Konfiguration entschieden, welche Route dem Kernel bekannt gemacht wird. Dabei wird nur der nächste Nachbar (Gateway) und das Zielnetzwerk in die Routing-Tabelle kopiert.

Ist dieser Vorgang auf allen Routern durchgeführt, kann zwischen den Netzen geroutet werden. Das Routing selber übernimmt der Kernel bzw. das IP-Subsystem. Das Routing-Protokoll ist nur für die Routenfindung verantwortlich.

Verfügbare Protokolle

Es gibt unterschiedliche Routing-Prokolle für unterschiedliche Anwendungsfälle. Die geläufigsten Vertreter für kabelgebundene Netze sind OSPF, RIP und BGP. Jüngst hinzugekommen sind RAdv für IPv6 und neuere Verfahren für offene Mesh Netzwerke. Bekanntester Vertreter ist hier OLSR.

Protokoll - Übersicht

RIP - Routing Information Protocol

Vorteile:

  • geringe Anforderung an Hardware (CPU, RAM)

Nachteile:

  • konvergiert langsam nach Topologie-Änderung. Fällt eine bekannte Route aus, muss die Ersatzroute erst erneut gelernt werden.

  • hat Probleme bei Loops/Multi-Homing

  • maximale Pfadlänge zwischen zwei Netzen limitiert auf 15 Router

Ein sehr einfaches Routing Protokoll der DistantVektor-Familie. Ein Router teilt alle ihm bekannten Routen mit seinem Nachbarn. Dieser erlernt eine Route nur, wenn die Route unbekannt ist oder deren Kosten geringer sind als die bekannte Route. Wird eine bessere Route erlernt, wird die alte Route verworfen. Dies hält die Routing-Tabelle klein, hat aber den Nachteil, dass keine Loops erkannt werden können. Obwohl es zwei mögliche Routen zu einem Ziel gibt, kennen alle Router nur eine Route. Je nach Topologie nutzen ein paar Router jedoch die Alternativroute als Primär-Route. Fällt eine der beiden Routen aus, ist das Zielnetzwerk für alle von dieser Route betroffenen Router nicht erreichbar. Erst wenn von einem Router mit Alternativroute eine Routen-Bekanntmachung versendet wird, verteilt sich die Information über die Alternativroute über das ganze Netz.

Siehe auch: RIP - Wikipedia

OSPF - Open Shortest Path First

Vorteile:

  • konvergiert "sofort". Alle Alternativrouten sind immer bekannt.

  • kann stabil mit Loops und Multi-Homing umgehen.

Nachteile:

  • Höhere Anforderungen an Hardware (CPU und RAM)

Bei OSPF handelt es sich um ein sogenanntes LinkState Protokoll. Den Namen hat es vom Dijkstras Algorithmus "Shortest Path First" geerbt, der zur Routenfindung genutzt wird. Der Hauptunterschied zu RIP ist, dass jeder Router im OSPF-Netz jeden anderen Router und deren Routen kennt. Das umgeht die Hauptkritikpunkte von RIP. Wenn ein beliebiger Router die Information erhält, dass eine Route ausgefallen ist, kann dieser sofort ermitteln, ob eine Ersatzroute vorhanden ist. Auch die Problematik der Loop-Erkennung entfällt beim "Shortest Path First"-Algorithmus. Diese Vorteile werden mit höherem Aufwand für die Hardware erkauft. Um Bandbreite zu schonen, wird beim Protokoll-Start ein primärer (designated router) und sekundärer Router (backup designated router) "gewählt". Über diese werden dann die Topologie-Informationen verteilt. So muss nicht jeder Router an jeden anderen Router Informationen verteilen.

Siehe auch: OSPF - Wikipedia

IS-IS - Intermediate System To Intermediate System

IS-IS ähnelt OSPF stark. Es nutzt sogar den gleichen Dijkstras Algorithmus zur Routenermittlung. Dementsprechend erbt es auch die Stärken und Schwächen von OSPF. Wichtigstes Alleinstellungsmerkmal gegenüber OSPF ist die Unabhängigkeit vom IP-Stack. IS-IS setzt auf den CLNS-OSI-Stack auf und ist somit prinzipiell in der Lage, jedes routingfähige Protokoll zu Verwalten. So war IS-IS von Anfang an in der Lage, IPv6 Routen zu verwalten, wohingegen RIP und OSPF jeweils erweitert werden mussten.

Siehe auch: IS-IS - Wikipedia

EIGRP

Ein von CISCO entwickeltes Hybrid-Routing Protokoll. Es hat sowohl Eigenschaften eines Distant-Vektor als auch Link-State Protokolls.

Weitere Informationen: EIGRP - Wikipedia

BGP - Border Gateway Protocol

Das Border-Gateway-Protokoll ist der einzige Vertreter der Exterior-Gateway-Protokollklasse. Diese kommen hauptsächlich zur Kommunikation zwischen großen Netzen zum Einsatz. Bei BGP handelt es sich im Prinzip um ein Distant-Vektor-Protokoll, das jedoch so verbessert wurde, dass Skalierungs- und Loop-Probleme nicht auftreten.

Siehe auch: BGP - Wikipedia

Hierbei handelt es sich, wie der Name schon angibt, um ein Link-State-Protokoll wie OSPF oder IS-IS. Allerdings wurden Anpassungen vorgenommen, damit das Protokoll besser in Ad-Hoc Umgebungen skaliert. Da sich Ad-Hoc Netze schnell ändern können, skaliert das Konzept eines "designated Routers" pro Netzwerk nicht. OLSR Router wählen in einer 2-Hop Umgebung ihren "Vertreter" (multipoint relay, MPR). Dieser verteilt dann die Topologie-Informationen. Eine weitere Eigenschaft von OLSR ist, dass es keinen Mechanismus bietet, um zu garantieren, dass eine Topologie-Änderung alle Teilnehmer erreicht hat. Die Änderung werden einfach so oft ins Netz geflutet, dass jeder Teilnehmer sie mitbekommen muss.

Siehe auch: OLSR - Wikipedia

Implementierungen

siehe separater Artikel Dynamisches Routing/Implementierungen