- RIPv1
-
RIP im TCP/IP‑Protokollstapel: Anwendung RIP Transport UDP Internet IP (IPv4, IPv6) Netzzugang Ethernet Token
BusToken
RingFDDI … Das Routing Information Protocol (RIP) ist ein Routing-Protokoll auf Basis des Distanzvektoralgorithmus innerhalb eines autonomen Systems. Es dient der dynamischen Erstellung der Routingtabelle von Routern. RIP wird in den Protokollen IP und IPX benutzt.
Inhaltsverzeichnis
Beim Starten eines Routers kennt dieser nur seine direkt angeschlossenen Netzwerke und sendet diese Routingtabelle an die benachbarten Router. Mit diesen Informationen ergänzt dieser Router seine Routingtabelle (es werden jedoch nur Einträge aktualisiert, die besser sind, gleichwertige neuere Routen werden nicht aktualisiert) und lernt somit, welche Netzwerke jeweils über welchen Router aus erreicht werden können und welche Kosten damit verbunden sind. Um Änderungen im Netzwerk (Ausfall oder Start eines Routers) zu erkennen, wird das Senden der Routingtabellen – das sogenannte Advertisement – regelmäßig (alle 30 Sekunden bei IP) wiederholt, dabei wird immer die gesamte Routingtabelle an alle Nachbarn gesendet. Die Routinginformationen breiten sich relativ langsam im Netz aus, bei einer maximalen Ausdehnung des Netzes von 15 Hops beträgt sie bereits sieben Minuten. Zudem ist nicht garantiert, dass die Informationen bei den benachbarten Routern ankommen, da die Advertisements über UDP versendet werden, die Übertragung also nicht zuverlässig ist.Die Kosten (auch Metrik) bezeichnen den Aufwand, um ein bestimmtes Netz zu erreichen. Beim Protokoll IP wird dazu allein der Hop Count verwendet; er bezeichnet die Anzahl der Router, die entlang eines Pfades bis zum Zielnetz durchlaufen werden müssen. Beim Protokoll IPX wird zusätzlich noch der Tick Count benutzt; er bezeichnet die Verzögerung eines Paketes durch alle Router bis zum Zielnetz.
Im Gegensatz zu OSPF und NLSP kennt ein RIP-Router immer nur seine direkten Nachbarn. Bei Änderungen im Netzwerk dauert es eine gewisse Zeit, bis alle Router wieder eine einheitliche Sicht auf das Netzwerk haben. Mit Erreichen dieses Zustandes spricht man von Konvergenz.
Die nur direkte Bekanntschaft seiner Nachbarn ist auch das größte Problem von RIP. Zum einen ergeben sich hohe Konvergenzzeiten und das Count-to-Infinity-Problem. Infinität bezeichnet die Unerreichbarkeit eines Ziels und wird bei RIP mit dem Hop-Count 16 angegeben.
Netz 1 – Router A ------- Router B ------- Router C
Netz 1 wird erreicht über:
- Router A mit dem Hop 1
- Router B mit Hop 2 über Router A
- Router C mit Hop 3 über Router B und Router A.
Falls Router A ausfällt, bemerkt dies Router B und würde beim nächsten periodischen Update Router C mit Infinität (Hop 16) zu Netz 1 informieren. Falls Router C jedoch vorher seine Routingtabelle an Router B schickt, glaubt dieser, dass Router C eine Route zu Netz 1 (mit HOP 3) besitzt und übernimmt diese in seine Routingtabelle mit Hop 4, da dies besser als Hop 16 ist. Router B würde beim nächsten Austausch Hop 4 an Router C senden, dieser übernimmt diese Information und trägt Hop 5 in seine Routingtabelle ein. Somit schaukeln sich beide Router bis auf Hop 16 auf.
Mechanismen zur Vermeidung spezieller Fälle dieses Problems sind Split Horizon, Triggered Updates und (bei RIP mit IP) Split Horizon with Poisoned Reverse. Mit dem Erweiterungsalgorithmus RIP-MTI lassen sich Routing-Loops sogar vollständig erkennen und das Count-to-Infinity Problem tritt überhaupt nicht mehr auf.
RIP erlaubt deshalb nur Netze mit einer maximalen Länge von 15 Routern (d. h. der längste Pfad darf maximal über 15 Router gehen). Außerdem hat es noch weitere Nachteile: Lange Konvergenzzeit, nur kleine bis mittlere Netze, Flutung des Netzes durch Austausch der Routingtabellen (alle 30 Sekunden bei IP, alle 60 Sekunden bei IPX) über Broadcast, keine Subnetz-Unterstützung und keine Authentifizierung. RIP wird mehr und mehr von OSPF abgelöst.
Versionen
Es existieren drei Versionen von RIP: RIP(v1), RIPv2 und RIPng.
Die Version RIP-1 wurde 1969 als Teil des ARPANET entwickelt und verwendet den Bellman-Ford-Algorithmus.
Mit der Version RIPv2 wurden 1993 einige Einschränkungen beseitigt. Neben der möglichen Authentifizierung und der Übermittlung der RIP-Pakete per Multicast ist vor allem die Unterstützung von Subnetzen und CIDR gegeben. Da bei RIP-1 keine Netzmasken zwischen den Routern ausgetauscht werden, konnten nur Netze mit gleichen Netzmasken verbunden werden. Bei RIPv2 werden die Netzmasken übermittelt, somit sind beliebige Netzmasken verwendbar (Variable Length Subnet Mask, VLSM).
RIPng ist in RFC 2080 definiert und enthält Erweiterungen zur Unterstützung von IPv6.
Paketformate
RIP v1
command version must be zero address family identifier (of net 1) must be zero IP address (of net 1) must be zero must be zero metric (distance to net 1) address family identifier (of net 2) must be zero IP address (of net 2) must be zero must be zero metric (distance to net 2) … address family identifier (of net 25) must be zero IP address (of net 25) must be zero must be zero metric (distance to net 25) Die Tabelle ist 4 Bytes breit, Blöcke über net2–net25 sind optional.
RIP v2
command version must be zero RIP-Eintrag (20 Bytes) Die Tabellen sind 4 Bytes breit.
Abhängig vom Eintrag im Feld version besteht ein RIP-Eintrag aus einem RIPv1-Eintrag (AFI etc), einem RIPv2-Eintrag (s.u.) oder einem Authentifizierungs-Eintrag (s.u.). Mehr Details stehen in RFC 2453.
Beispiele eines RIP-Eintrags
1. RIP-Eintrag mit Subnet Mask (version muss auf 2 gesetzt sein)
address family identifier route tag IP Address Subnet Mask Next Hop Metric 2. RIP-Eintrag mit Authentifizierung (version muss auf 2 gesetzt sein)
0xFFFF Authentification Type Authentification (16 Bytes) Siehe auch
Weblinks
- RFC 1058 – RIP
- RFC 2453 – RIPv2
- RFC 2080 – RIPng
- irvtool – Ein RIP-/OSPF-Visualisierungstool (Java/GPL)
Wikimedia Foundation.