Rechnernetze
Home Nach oben

Routing Information Protocol (RIP)

Das am häufigsten in Autonomous Systems verwendete Protokoll ist das RIP, welches in jeder TCP/IP Implementierung (in Form des Routed Process) verfügbar ist. Ursprünglich wurde das RIP von der Firma Xerox für die Xerox Network Services entwickelt. Ausgangspunkt für die Verbreitung war jedoch eine Implementierung des RIP-Protokolls an der University of California at Berkeley, mit der die Routingtabellen innerhalb des Universitätsnetzes stabil gehalten werden sollten. An eine weltweite Verbreitung dieses Protokolls – wie es später mit der Berkeley 4.X Unix-Implementierung erfolgte – war während keines Zeitpunkts der Entwicklung oder Implementierung gedacht.

Beim RIP Protokoll handelt es sich um ein verteiltes Routingprotokoll, das auf einem sogenannten Distance-Vector Algorithm (DVA) beruht. Kennzeichnend für Algorithmen dieser Klasse ist die Verwendung einer Metrik zur Bestimmung eines Abstandes (Distance) zwischen zwei Gateways (die Metrik kann z.B. aus der Anzahl der Knoten auf dem Weg oder aus der Übertragungszeitverzögerung zwischen verschiedenen Gateways gebildet werden). Unabhängig von der verwendeten Metrik benutzen DVAs jedoch in jedem Fall einen verteilten Algorithmus, mit dem sie jedem Gateway im Autonomous System den Aufbau der Routingtabelle ermöglichen, in welche die Distanzen zu den anderen Gateways eingetragen werden.

Das RIP-Protokoll verwendet als Metrik die Anzahl der Gateways (Hop Counts), die bei der Übertragung von Datenpaketen auf dem Weg zum Ziel durchlaufen werden müssen. Der hierfür vorgesehene maximale Wert ist im RIP-Protokoll mit 15 Hop Counts festgelegt; größere Werte besagen, dass das Netzwerk nicht erreicht werden kann. Da Verbindungswege zwischen den einzelnen Gateways im RIP-Protokoll gewichtet werden können, besteht für den Fall, dass zwei unterschiedliche Wege zu einem Ziel führen, die Möglichkeit den Hop Count für einen Weg künstlich zu erhöhen. Somit kann ein Verbindungsweg genutzt werden, der mehr Hop Counts benötigt, aber dennoch eine höhere Übertragungsleistung bereitstellt. In jedem Fall muss sich das RIP Protokoll jedoch für einen Weg zu einem bestimmten Ziel entscheiden, es kann nicht beide Wege gleichzeitig (etwa für verschiedene Verbindungen) nutzen.

Den Ausgangspunkt bei der Verwendung des RIP Protokolls bildet die Initialisierung der Gateways in einem Autonomous System, die durch den manuellen Aufbau von zwei Tabellen (Remote Routing Table und Adjacency Table) erfolgt. In den Remote Routing Tables werden für jedes Gateway zunächst die Netzwerkadressen (netid) aller direkt angeschlossenen Netzwerke eingetragen, denen eine Distanz zugeordnet wird. Die Distanz ist bei einem direkt angeschlossenen Netzwerk immer null, da es in jeden Fall direkt (ohne einen Hop Count) zu erreichen ist. Danach erfolgt der Aufbau der Adjacency Table, in welcher die Adresspaare aller direkt benachbarten Gateways gespeichert werden. Für die in der Beispieltopologie gezeigten Gateways ergeben sich somit die folgenden Remote Routing Tables.

RIP-TABELLE-1.WMF (4656 Byte)

Nach diesem manuellen Aufbau der initialen Tabellen erfolgt für den weiteren Aufbau die Übertragung der Routinginformation. Das RIP Protokoll verwendet hierfür einen einfachen Broadcast-Mechanismus, mit dem es den anderen Gateways in regelmäßigen Abständen (standardmäßig alle 30 Sekunden) die neuen Tabellen übergibt. Die Gateways, die diese Broadcast-Message erhalten, vergleichen die in der Nachricht propagierten Routen mit ihren eigenen und korrigieren bzw. ergänzen ihre Tabellen, falls erforderlich. Für die im Beispiel gezeigte Topologie sind die Routingtabellen bereits nach dem ersten Austausch vollständig aufgebaut und enthalten die folgenden Einträge.

RIP-TABELLE-2.WMF (6784 Byte)

Das Beispiel zeigt, dass es sich beim RIP Protokoll um ein sehr einfaches Protokoll handelt, bei dem die Gateways eines Autonomous Systems in periodischen Abständen ihre Routingtabellen austauschen und ggf. Korrekturen vornehmen. Allerdings wurde in den Tabellen neben der Distanz auch eingetragen, über welches Gateway ein bestimmtes Netz zu erreichen ist und somit eine Technik eingeführt, die als Split Horizon bezeichnet wird. Diese Technik wurde eingeführt, um das Problem der langsamen Konvergenz (Aufbau von stabilen Routingtabellen nach einer Veränderung in der Topologie z.B. nach dem Ausfall einer Leitung) des RIP-Protokolls zu verbessern. Bei dieser Erweiterung des Protokolls speichert ein Gateway neben der Distanz zu einem bestimmten Zielnetz auch das Gateway, mit dessen Hilfe es das Zielnetz erreichen kann. Dieses Verfahren besitzt den Vorteil, dass eine vorliegende Routinginformation nicht global an die benachbarten Gateways übertragen wird, sondern selektiv entschieden werden kann, welche Routinginformation an ein bestimmtes Gateway weitergegeben wird. Somit kann verhindert werden, dass Routinginformation an ein Gateway (zurück-) übertragen wird, von dem diese Information stammt. In bestimmten Situation kann durch Split Horizon ein schnellerer Aufbau von stabilen Routingtabellen erfolgen.

Im folgenden soll die Konvergenz des RIP Protokolls mit und ohne Split Horizon betrachtet werden. Der erste Teil des Bildes zeigt ein Netzwerk bei dem Gateway 2 eine Verbindung zum Gateway 1 besitzt. Bei einem Ausfall der Verbindung in b) würde das Gateway 2 ohne Split Horizon von Gateway 3 die Information erhalten, dass Gateway 1 von Gateway 3 mit einem Hop Count zu erreichen ist. Es würde daraufhin seine Routingtabelle anpassen und dem gesamten Datenverkehr zum Gateway 1 über das Gateway 3 weiterleiten. Die Folge wäre eine Routingschleife. Beim nächsten Update der Routingtabellen würde Gateway 3 vom Gateway 2 lernen, dass das Gateway 1 nun mit zwei Hop Count zu erreichen ist und seine Routingtabelle anpassen. Dieser Ping-Pong-Effekt würde solange fortgesetzt bis beide Gateways einen Hop Count von 16 erhalten und damit das Gateway 1 als nicht erreichbar eintragen.

BEISPIELTOPOLOGIE-2.WMF (5148 Byte)

Bei der Verwendung von Split Horizon speichern die Gateways neben der Distanz zu einem Zielnetz auch, woher diese Information stammt, und propagieren keine Routen mit höheren Kosten zurück an dieses Gateway. In dem Beispiel würde also Gateway 3 seine Routinginformation über die Erreichbarkeit von Gateway 1 nicht an Gateway 2 zurücksenden. Damit wäre die Bildung der Routingschleife verhindert. Nach dem Austausch weiterer Update Informationen würden alle Gateways erkennen, dass Gateway 1 nicht erreichbar ist.

Eine andere Technik zur Verbesserung der langsamen Konvergenz des RIP-Protokolls wird durch das sogenannte Hold Down erreicht. Bei diesem Verfahren ignorieren Gateways für eine bestimmte Zeit (ca. 60 sec.) Nachrichten, die besagen, dass ein zuvor als nicht erreichbar gekennzeichnetes Gateway über eine andere Route erreichbar ist. Hiermit soll erreicht werden, dass nach dem Ausfall einer Verbindungsleitung so lange gewartet wird, bis alle Gateways die Nachricht über den Ausfall der Leitung erhalten haben und nicht irrtümlich Wege propagieren, welche die ausgefallene Verbindung benutzen.