Routing-Informationsprotokoll - Routing Information Protocol

Das Routing Information Protocol ( RIP ) ist eines der ältesten Distanzvektor-Routing-Protokolle, das die Hop-Zählung als Routing-Metrik verwendet . RIP verhindert Routing-Schleifen, indem es eine Begrenzung der zulässigen Anzahl von Hops in einem Pfad von der Quelle zum Ziel implementiert . Die maximale Anzahl von Hops, die für RIP zulässig sind, beträgt 15, wodurch die Größe der Netzwerke begrenzt wird, die RIP unterstützen kann.

RIP implementiert Split-Horizon- , Route-Poisoning- und Holddown- Mechanismen, um die Verbreitung falscher Routing-Informationen zu verhindern.

In RIPv1 senden Router alle 30 Sekunden Updates mit ihrer Routing-Tabelle. In den frühen Bereitstellungen waren die Routingtabellen klein genug, dass der Datenverkehr nicht signifikant war. Mit zunehmender Größe der Netzwerke wurde jedoch klar, dass alle 30 Sekunden ein massiver Datenverkehr auftreten konnte, selbst wenn die Router zu zufälligen Zeiten initialisiert worden waren.

In den meisten Netzwerkumgebungen ist RIP nicht die bevorzugte Wahl des Routing-Protokolls , da seine Konvergenzzeit und Skalierbarkeit im Vergleich zu EIGRP , OSPF oder IS-IS schlecht sind . Es ist jedoch einfach zu konfigurieren, da RIP im Gegensatz zu anderen Protokollen keine Parameter benötigt.

RIP verwendet das User Datagram Protocol (UDP) als Transportprotokoll und erhält die reservierte Portnummer 520.

Entwicklung des Distanzvektor-Routings

Basierend auf dem Bellman-Ford-Algorithmus und dem Ford-Fulkerson-Algorithmus wurden ab 1969 Distanzvektor-Routingprotokolle in Datennetzen wie dem ARPANET und CYCLADES implementiert . Der Vorgänger von RIP war das Gateway Information Protocol (GWINFO), das Mitte der 1970er Jahre von Xerox entwickelt wurde, um sein experimentelles Netzwerk zu routen. Als Teil der Xerox Network Systems (XNS)-Protokollsuite wurde GWINFO in das XNS Routing Information Protocol umgewandelt. Dieses XNS-RIP wurde wiederum die Grundlage für frühe Routing-Protokolle, wie beispielsweise das IPX-RIP von Novell , das Routing Table Maintenance Protocol (RTMP) von AppleTalk und das IP-RIP. Die 1982er Berkley Software Distribution des UNIX- Betriebssystems implementierte RIP in den gerouteten Daemon . Das Release 4.2BSD erwies sich als populär und wurde die Grundlage für nachfolgende UNIX-Versionen, die RIP im gerouteten oder gated- Daemon implementierten . Letztendlich wurde RIP ausgiebig eingesetzt, bevor der von Charles Hedrick geschriebene Standard 1988 als RIPv1 verabschiedet wurde.

Die RIP-Hop-Zählung

Die von RIP verwendete Routing-Metrik zählt die Anzahl der Router, die übergeben werden müssen, um ein Ziel-IP-Netzwerk zu erreichen. Die Hop-Anzahl 0 bezeichnet ein Netzwerk, das direkt mit dem Router verbunden ist. 16 Hops bezeichnen ein Netzwerk, das gemäß dem RIP-Hop-Limit nicht erreichbar ist.

Versionen

Es gibt drei standardisierte Versionen des Routing Information Protocol: RIPv1 und RIPv2 für IPv4 und RIPng für IPv6 .

RIP-Version 1

Die ursprüngliche Spezifikation von RIP, definiert in RFC 1058, wurde 1988 veröffentlicht. Beim Start und danach alle 30 Sekunden sendet ein Router mit RIPv1-Implementierung eine Anforderungsnachricht über jede RIPv1-fähige Schnittstelle an 255.255.255.255. Benachbarte Router, die die Anforderungsnachricht erhalten, antworten mit einem RIPv1-Segment, das ihre Routing-Tabelle enthält . Der anfragende Router aktualisiert seine eigene Routing-Tabelle mit der erreichbaren IP-Netzwerkadresse, der Hop-Anzahl und dem nächsten Hop, d. h. der Router-Interface-IP-Adresse, von der die RIPv1-Antwort gesendet wurde. Da der anfragende Router Updates von verschiedenen benachbarten Routern erhält, aktualisiert er nur die erreichbaren Netzwerke in seiner Routing-Tabelle, wenn er Informationen über ein erreichbares Netzwerk erhält, das er noch nicht in seiner Routing-Tabelle hat, oder Informationen, dass ein Netzwerk, das er in seiner Routing-Tabelle hat, ist mit geringerer Hop-Anzahl erreichbar. Daher hat ein RIPv1-Router in den meisten Fällen nur einen Eintrag für ein erreichbares Netzwerk, denjenigen mit der niedrigsten Hop-Anzahl. Erhält ein Router von zwei verschiedenen Nachbarroutern die Information, dass das gleiche Netzwerk mit gleicher Hop-Anzahl aber über zwei verschiedene Routen erreichbar ist, wird das Netzwerk zweimal mit unterschiedlichen Next-Hop-Routern in die Routing-Tabelle eingetragen. Der RIPv1-fähige Router führt dann einen sogenannten Equal-Cost-Load-Balancing für IP-Pakete durch.

RIPv1-fähige Router fordern nicht nur alle 30 Sekunden die Routing-Tabellen anderer Router an, sie hören auch auf eingehende Anfragen von benachbarten Routern und senden ihrerseits ihre eigene Routing-Tabelle. RIPv1-Routing-Tabellen werden daher alle 25 bis 35 Sekunden aktualisiert. Das RIPv1-Protokoll fügt der Aktualisierungszeit eine kleine zufällige Zeitvariable hinzu, um zu vermeiden, dass Routing-Tabellen über ein LAN synchronisiert werden. Es wurde angenommen, dass sich die Routing-Updates als Ergebnis einer zufälligen Initialisierung zeitlich verteilen würden, aber dies war in der Praxis nicht der Fall. Sally Floyd und Van Jacobson zeigten 1994, dass sich die Timer ohne geringfügige Randomisierung des Update-Timers mit der Zeit synchronisierten.

RIPv1 kann im Silent-Modus konfiguriert werden, sodass ein Router benachbarte Routing-Tabellen anfordert und verarbeitet und seine Routing-Tabelle und die Hop-Anzahl für erreichbare Netzwerke aktuell hält, aber nicht unnötig seine eigene Routing-Tabelle in das Netzwerk sendet. Der Silent-Modus wird häufig für Hosts implementiert.

RIPv1 verwendet Classful- Routing. Die regelmäßigen Routing-Updates enthalten keine Subnetzinformationen , da es an Unterstützung für Subnetzmasken mit variabler Länge (VLSM) fehlt . Diese Einschränkung macht es unmöglich, Subnetze unterschiedlicher Größe innerhalb derselben Netzwerkklasse zu haben . Mit anderen Worten, alle Subnetze einer Netzwerkklasse müssen die gleiche Größe haben. Es gibt auch keine Unterstützung für die Router-Authentifizierung, was RIP anfällig für verschiedene Angriffe macht.

RIP-Version 2

Aufgrund der Mängel des ursprünglichen RIP - Spezifikation wurde 1993 entwickelt RIP Version 2 (RIPv2), als RFC 1723 im Jahr 1994 veröffentlicht wurde , und erklärt Internet - Standard 56 1998 enthalten Es die Möglichkeit , Informationen zu Carry - Subnetz, und unterstützt damit Classless Inter- Domänen-Routing (CIDR). Um die Abwärtskompatibilität aufrechtzuerhalten, blieb die Hop-Anzahlgrenze von 15 bestehen. RIPv2 verfügt über Einrichtungen, um vollständig mit der früheren Spezifikation zusammenzuarbeiten, wenn alle Protokollfelder " Must Be Zero" in den RIPv1-Nachrichten richtig spezifiziert sind. Darüber hinaus ermöglicht eine Kompatibilitätsschalterfunktion feinkörnige Anpassungen der Interoperabilität.

Um unnötige Last auf Hosts zu vermeiden, die nicht am Routing teilnehmen, sendet RIPv2 die gesamte Routing-Tabelle per Multicast an alle benachbarten Router unter der Adresse 224.0.0.9 , im Gegensatz zu RIPv1, das Broadcast verwendet . Für spezielle Anwendungen ist die Unicast- Adressierung weiterhin zulässig.

( MD5 ) Authentifizierung für RIP wurde 1997 eingeführt.

In RIP Version 2 wurden auch Routen-Tags hinzugefügt. Diese Funktionalität ermöglicht eine Unterscheidung zwischen Routen, die aus dem RIP-Protokoll gelernt wurden, und Routen, die von anderen Protokollen gelernt wurden.

RIPng

RIPng (RIP next generation), definiert in RFC 2080, ist eine Erweiterung von RIPv2 zur Unterstützung von IPv6 , dem Internet Protocol der nächsten Generation. Die Hauptunterschiede zwischen RIPv2 und RIPng sind:

  • Unterstützung von IPv6-Netzwerken.
  • Während RIPv2 die Authentifizierung von RIPv1-Updates unterstützt, tut RIPng dies nicht. IPv6-Router sollten damals IPsec zur Authentifizierung verwenden.
  • RIPv2 codiert den nächsten Hop in jeden Routeneintrag, RIPng erfordert eine spezifische Codierung des nächsten Hops für einen Satz von Routeneinträgen.

RIPng sendet Updates auf UDP-Port 521 unter Verwendung der Multicast-Gruppe ff02::9 .

RIP-Nachrichten zwischen Routern

RIP-Nachrichten verwenden das User Datagram Protocol auf Port 520 und alle zwischen Routern ausgetauschten RIP-Nachrichten sind in einem UDP-Segment gekapselt.

RIPv1-Nachrichten

RIP definierte zwei Arten von Nachrichten:

Nachricht anfordern
Einen benachbarten RIPv1-fähigen Router bitten, seine Routing-Tabelle zu senden.
Antwortnachricht
Trägt die Routingtabelle eines Routers.

Timer

Das Routing-Informationsprotokoll verwendet im Rahmen seines Betriebs die folgenden Timer:

Timer aktualisieren
Steuert das Intervall zwischen zwei grundlosen Antwortnachrichten. Standardmäßig beträgt der Wert 30 Sekunden. Die Antwortnachricht wird an alle ihre RIP-aktivierten Schnittstellen rundgesendet.
Ungültiger Timer
Der ungültige Timer gibt an, wie lange ein Routing-Eintrag in der Routing-Tabelle sein kann, ohne aktualisiert zu werden. Dies wird auch als Ablaufzeitgeber bezeichnet. Standardmäßig beträgt der Wert 180 Sekunden. Nach Ablauf des Timers wird die Hop-Anzahl des Routing-Eintrags auf 16 gesetzt, wodurch das Ziel als nicht erreichbar markiert wird.
Spültimer
Der Flush-Timer steuert die Zeit zwischen dem ungültigen oder als nicht erreichbar markierten Leitweg und dem Entfernen des Eintrags aus der Leitwegtabelle. Standardmäßig beträgt der Wert 240 Sekunden. Dies ist 60 Sekunden länger als Ungültiger Timer. Der Router wird also 60 Sekunden lang alle Nachbarn über diese nicht erreichbare Route informieren. Dieser Timer muss auf einen höheren Wert eingestellt werden als der ungültige Timer.
Holddown-Timer
Der Hold-Down-Timer wird pro Routeneingabe gestartet, wenn sich die Hop-Zählung von einem niedrigeren Wert auf einen höheren Wert ändert. Dadurch kann die Route stabilisiert werden. Während dieser Zeit kann dieser Routing-Eintrag nicht aktualisiert werden. Dies ist nicht Teil des RFC 1058. Dies ist die Implementierung von Cisco . Der Standardwert dieses Timers beträgt 180 Sekunden.

Einschränkungen

  • Die Hop-Anzahl darf 15 nicht überschreiten, sonst werden Routen verworfen.
  • Subnetzmasken mit variabler Länge werden von RIP Version 1 (die veraltet ist) nicht unterstützt.
  • RIP hat eine langsame Konvergenz und zählt bis unendlich .

Implementierungen

  • Cisco IOS , Software, die in Cisco-Routern verwendet wird (unterstützt Version 1, Version 2 und RIPng)
  • Cisco NX-OS-Software, die in Cisco Nexus-Rechenzentrums-Switches verwendet wird (unterstützt nur RIPv2)
  • Junos- Software, die in Routern, Switches und Firewalls von Juniper verwendet wird (unterstützt RIPv1 und RIPv2)
  • Routing und RAS, eine Windows Server- Funktion, enthält RIP-Unterstützung
  • Quagga , eine kostenlose Open-Source-Software- Routing-Suite basierend auf GNU Zebra
  • BIRD , eine kostenlose Open-Source-Software- Routing-Suite
  • Zeroshell , eine kostenlose Open-Source-Software- Routing-Suite
  • Eine RIP-Implementierung, die erstmals in 4.2BSD eingeführt wurde , routed, überlebt in mehreren ihrer Nachkommen, einschließlich FreeBSD und NetBSD .
  • OpenBSD hat in Version 4.1 eine neue Implementierung, ripd, eingeführt und in Version 4.4 geroutet eingestellt.
  • Netgear- Router bieten im Allgemeinen eine Auswahl von zwei Implementierungen von RIPv2; diese sind mit RIP_2M und RIP_2B gekennzeichnet. RIP_2M ist die Standard-RIPv2-Implementierung mit Multicasting – die erfordert, dass alle Router im Netzwerk RIPv2 und Multicasting unterstützen, während RIP_2B RIPv2-Pakete mithilfe von Subnet-Broadcasting sendet – wodurch es besser mit Routern kompatibel ist, die Multicasting nicht unterstützen, einschließlich RIPv1-Router.
  • Huawei HG633 ADSL/VDSL-Router unterstützen passives und aktives Routing mit RIP v1 & v2 auf der LAN- und WAN-Seite.

Ähnliche Protokolle

Ciscos proprietäres Interior Gateway Routing Protocol (IGRP) war ein etwas leistungsfähigeres Protokoll als RIP. Es gehört zur gleichen Basisfamilie von Distanzvektor-Routing-Protokollen .

Cisco hat die Unterstützung und den Vertrieb von IGRP in seiner Router-Software eingestellt. Es wurde durch das Enhanced Interior Gateway Routing Protocol (EIGRP) ersetzt, das ein völlig neues Design ist. Während EIGRP immer noch ein Distanz-Vektor-Modell verwendet, bezieht es sich auf IGRP nur durch die Verwendung derselben Routing-Metriken. IGRP unterstützt mehrere Metriken für jede Route, einschließlich Bandbreite , Verzögerung , Last , MTU und Zuverlässigkeit .

Siehe auch

Verweise

Weiterlesen

  • Malkin, Gary Scott (2000). RIP: Ein Intra-Domain-Routing-Protokoll . Addison-Wesley Longman. ISBN  0-201-43320-6 .
  • Edward A. Taft, Gateway Information Protocol (überarbeitet) (Xerox Parc, Palo Alto, Mai 1979)
  • Xerox Systemintegrationsstandard – Internet-Transportprotokolle (Xerox, Stamford, 1981)

Externe Links