Dieses Dokument ist eine Einführung in die IGRP-Suite (Interior Gateway Routing Protocol) von Routing-Protokollen, die von Cisco Systems entwickelt und entwickelt wurde. Dieses Papier sollte nur als Informationsdokument verwendet werden, das als Technologieeinführung gedacht ist und keine Protokollspezifikation oder Produktbeschreibung darstellt.
Für dieses Dokument bestehen keine speziellen Anforderungen.
Dieses Dokument ist nicht auf bestimmte Software- und Hardwareversionen beschränkt.
Weitere Informationen zu Dokumentkonventionen finden Sie unter Cisco Technical Tips Conventions (Technische Tipps zu Konventionen von Cisco).
IGRP wird in TCP/IP- und OSI-Internet (Open System Interconnection) verwendet. Die ursprüngliche IP-Version wurde 1986 entwickelt und erfolgreich implementiert. Es gilt als IGP, wird aber auch intensiv als Exterior Gateway Protocol (EGP) für das domänenübergreifende Routing verwendet. IGRP verwendet Distanzvektor-Routing-Technologie. Es wird davon ausgegangen, dass jeder Router nicht alle Router-/Link-Beziehungen für das gesamte Netzwerk kennt. Jeder Router kündigt Ziele mit einer entsprechenden Entfernung an. Jeder Router, der die Informationen abhört, passt die Entfernung an und leitet sie an benachbarte Router weiter.
Die Entfernungsinformationen im IGRP werden als Kombination aus verfügbarer Bandbreite, Verzögerung, Auslastung und Verbindungszuverlässigkeit dargestellt. Dies ermöglicht eine Feinabstimmung der Verbindungsmerkmale, um optimale Pfade zu erreichen.
EIGRP ist eine erweiterte Version von IGRP. Die gleiche Distanzvektortechnologie wie IGRP wird auch in EIGRP verwendet, und die zugrunde liegenden Entfernungsinformationen bleiben unverändert. Die Konvergenzeigenschaften und die Betriebseffizienz dieses Protokolls haben sich deutlich verbessert. Dies ermöglicht eine verbesserte Architektur, ohne dass Investitionen in IGRP erforderlich sind.
Die Konvergenztechnologie basiert auf Untersuchungen von SRI International. Der Diffusing Update Algorithm (DUAL) ist der Algorithmus, der verwendet wird, um zu jedem Zeitpunkt während einer Routenberechnung Loop-Freiheit zu erhalten. Auf diese Weise können alle Router, die an einer Topologieänderung beteiligt sind, gleichzeitig synchronisiert werden. Router, die von Topologieänderungen nicht betroffen sind, sind nicht an der Neuberechnung beteiligt. Die Konvergenzzeit mit DUAL-Konkurrenten liegt bei allen anderen vorhandenen Routing-Protokollen.
EIGRP wurde so erweitert, dass es von der Netzwerkschicht unabhängig ist, sodass DUAL andere Protokoll-Suites unterstützen kann.
EIGRP besteht aus vier Basiskomponenten:
Ermittlung/Wiederherstellung von Nachbarn
Zuverlässiges Transportprotokoll
DUAL-Finite-State-Rechner
Protokollabhängige Module
Ermittlung und Wiederherstellung von Netznachbarn (Neighbor Discovery/Recovery) ist der Prozess, mit dem Router dynamisch von anderen Routern in ihren direkt verbundenen Netzwerken lernen. Router müssen auch erkennen, wenn ihre Nachbarn unerreichbar oder inoperativ werden. Dieser Prozess wird mit geringem Overhead durch das regelmäßige Senden kleiner Hello-Pakete erreicht. Solange Hello-Pakete empfangen werden, kann ein Router feststellen, dass ein Nachbar aktiv und funktionsfähig ist. Sobald dies festgelegt ist, können die benachbarten Router Routing-Informationen austauschen.
Der zuverlässige Transport ist für die garantierte, geordnete Bereitstellung von EIGRP-Paketen an alle Nachbarn verantwortlich. Es unterstützt die gemischte Übertragung von Multicast- oder Unicast-Paketen. Einige EIGRP-Pakete müssen zuverlässig übertragen werden, andere nicht. Aus Effizienzgründen wird die Zuverlässigkeit nur bei Bedarf bereitgestellt. In einem Multi-Access-Netzwerk mit Multicast-Funktionen wie Ethernet ist es beispielsweise nicht erforderlich, Hellos einzeln an alle Nachbarn zu senden. EIGRP sendet ein einzelnes Multicast-Hello mit einer Angabe im Paket, die die Empfänger darüber informiert, dass das Paket nicht quittiert werden muss. Andere Pakettypen, wie z. B. Updates, erfordern eine Bestätigung. Dies wird im Paket angegeben. Der zuverlässige Transport bietet die Möglichkeit, Multicast-Pakete schnell zu senden, wenn Pakete ausstehen, für die keine Bestätigung vorliegt. Dadurch wird sichergestellt, dass die Konvergenzzeit bei variierenden Geschwindigkeiten niedrig bleibt.
Die DUAL-Finite-State-Maschine verkörpert den Entscheidungsprozess für alle Routenberechnungen. Es verfolgt alle von allen Nachbarn angekündigten Routen. Die Distanzinformationen, die als Metrik bezeichnet werden, werden von DUAL verwendet, um effiziente schleifenfreie Pfade auszuwählen. DUAL wählt Routen aus, die basierend auf möglichen Nachfolgern in eine Routing-Tabelle eingefügt werden sollen. Ein Nachfolger ist ein benachbarter Router, der für die Paketweiterleitung verwendet wird und über einen kostengünstigsten Pfad zu einem Ziel verfügt, das garantiert nicht Teil einer Routing-Schleife ist. Wenn es keine durchführbaren Nachfolger gibt, aber Nachbarn das Ziel ankündigen, muss eine Neuberechnung erfolgen. Dies ist der Prozess, bei dem ein neuer Nachfolger bestimmt wird. Die Zeit, die für die Neuberechnung der Route erforderlich ist, wirkt sich auf die Konvergenzzeit aus. Auch wenn die Neuberechnung nicht prozessorintensiv ist, ist es vorteilhaft, eine Neuberechnung zu vermeiden, wenn sie nicht notwendig ist. Wenn eine Topologieänderung auftritt, testet DUAL mögliche Nachfolger. Wenn es praktikable Nachfolger gibt, wird er alle von ihm gefundenen verwenden, um unnötige Neuberechnungen zu vermeiden. Später werden in diesem Dokument mögliche Nachfolger genauer definiert.
Die protokollabhängigen Module sind für protokollspezifische Anforderungen auf Netzwerkebene verantwortlich. Beispielsweise ist das IP-EIGRP-Modul für das Senden und Empfangen von in IP gekapselten EIGRP-Paketen zuständig. IP-EIGRP ist für die Analyse von EIGRP-Paketen und die Information von DUAL über die neu erhaltenen Informationen zuständig. IP-EIGRP fordert DUAL auf, Routing-Entscheidungen zu treffen, deren Ergebnisse in der IP-Routing-Tabelle gespeichert werden. IP-EIGRP ist für die Neuverteilung von Routen zuständig, die von anderen IP-Routing-Protokollen erfasst wurden.
In diesem Abschnitt werden einige Details zur EIGRP-Implementierung von Cisco beschrieben. Sowohl Datenstrukturen als auch die DUAL-Konzepte werden diskutiert.
Jeder Router speichert Statusinformationen zu benachbarten Nachbarn. Wenn neu entdeckte Nachbarn gelernt werden, werden Adresse und Schnittstelle des Nachbarn aufgezeichnet. Diese Informationen werden in der benachbarten Datenstruktur gespeichert. Die Nachbartabelle enthält diese Einträge. Für jedes protokollabhängige Modul gibt es eine Nachbar-Tabelle. Wenn ein Nachbar ein Hello sendet, kündigt er eine HoldTime an. Die HoldTime ist die Zeit, die ein Router einen Nachbarn als erreichbar und betriebsbereit behandelt. Wenn also ein Hello-Paket nicht innerhalb der HoldTime gehört wird, läuft die HoldTime ab. Nach Ablauf der HoldTime wird DUAL über die Topologieänderung informiert.
Der Eintrag der Nachbartabelle enthält auch Informationen, die für den zuverlässigen Transportmechanismus erforderlich sind. Sequenznummern werden verwendet, um Bestätigungen mit Datenpaketen abzugleichen. Die letzte Sequenznummer, die vom Nachbarn empfangen wurde, wird aufgezeichnet, sodass Pakete, die nicht in der richtigen Reihenfolge sind, erkannt werden können. Eine Übertragungsliste wird verwendet, um Pakete für eine mögliche erneute Übertragung pro Nachbar in die Warteschlange zu stellen. Round-Trip-Timer werden in der benachbarten Datenstruktur gespeichert, um ein optimales Intervall für die erneute Übertragung zu ermitteln.
Die Topologietabelle wird von den protokollabhängigen Modulen aufgefüllt und vom DUAL-Endpunkt-System ausgeführt. Sie enthält alle Ziele, die von benachbarten Routern angekündigt werden. Jedem Eintrag ist die Zieladresse und eine Liste der Nachbarn zugeordnet, die das Ziel angekündigt haben. Für jeden Nachbarn wird die angegebene Metrik aufgezeichnet. Dies ist die Metrik, die der Nachbar in seiner Routing-Tabelle speichert. Wenn der Nachbar dieses Ziel ankündigt, muss er die Route zum Weiterleiten von Paketen verwenden. Dies ist eine wichtige Regel, die Distanzvektor-Protokolle befolgen müssen.
Mit dem Ziel wird auch die Metrik verknüpft, die der Router verwendet, um das Ziel zu erreichen. Dies ist die Summe der von allen Nachbarn am besten angegebenen Kennzahlen zuzüglich der Verbindungskosten zum besten Nachbarn. Dies ist die Metrik, die der Router in der Routing-Tabelle verwendet und anderen Routern ankündigt.
Ein Zieleintrag wird von der Topologietabelle in die Routing-Tabelle verschoben, wenn ein möglicher Nachfolger vorhanden ist. Alle Pfade zum Ziel mit minimalen Kosten bilden einen Satz. Aus diesem Satz werden Nachbarn mit einer angegebenen Metrik, die kleiner als die aktuelle Metrik der Routing-Tabelle ist, als mögliche Nachfolger angesehen.
Durchführbare Nachfolger werden von einem Router als Nachbarn betrachtet, die im Hinblick auf das Ziel nachgeschaltet sind. Diese Nachbarn und die zugehörigen Metriken werden in der Weiterleitungstabelle platziert.
Wenn ein Nachbar die Kennzahl ändert, für die er geworben hat, oder wenn eine Topologieänderung im Netzwerk auftritt, muss der Satz der möglichen Nachfolger möglicherweise neu bewertet werden. Dies wird jedoch nicht als Routenneuberechnung kategorisiert.
Ein Eintrag in einer Topologietabelle für ein Ziel kann einen von zwei Zuständen aufweisen. Eine Route wird im Passivzustand betrachtet, wenn ein Router keine Routenneuberechnung durchführt. Die Route befindet sich im aktiven Zustand, wenn ein Router einer Routenneuberechnung unterzogen wird. Wenn es immer mögliche Nachfolger gibt, muss eine Route niemals in den aktiven Zustand übergehen und eine Neuberechnung der Route vermeiden.
Wenn es keine durchführbaren Nachfolger gibt, wird eine Route in den aktiven Zustand überführt und eine Routenneuberechnung durchgeführt. Eine Routenneuberechnung beginnt mit dem Senden eines Abfragepakets durch einen Router an alle Nachbarn. Benachbarte Router können entweder antworten, wenn sie über mögliche Nachfolger für das Ziel verfügen, oder optional eine Abfrage zurückgeben, die angibt, dass sie eine Routenneuberechnung durchführen. Im aktiven Zustand kann ein Router den Next-Hop-Nachbarn, den er zum Weiterleiten von Paketen verwendet, nicht ändern. Wenn alle Antworten für eine bestimmte Abfrage empfangen wurden, kann das Ziel in den Status Passive (Passiv) wechseln, und es kann ein neuer Nachfolger ausgewählt werden.
Wenn eine Verbindung zu einem Nachbarn ausfällt, der der einzig mögliche Nachfolger ist, werden alle Routen über diesen Nachbarn neu berechnet und der aktive Zustand wird aktiviert.
EIGRP verwendet fünf Pakettypen:
Hallo/Anrufe
Aktualisierungen
Abfragen
Antworten
Anfragen
Wie bereits erwähnt, sind Hellos Multicast für die Erkennung/Wiederherstellung von Nachbarn. Sie erfordern keine Bestätigung. Ein Hello ohne Daten wird auch als Bestätigung (ack) verwendet. Die Stapel werden immer unter Verwendung einer Unicast-Adresse gesendet und enthalten eine Nicht-Null-Bestätigungsnummer.
Updates werden verwendet, um die Erreichbarkeit von Zielen zu vermitteln. Wenn ein neuer Nachbar erkannt wird, werden Aktualisierungspakete gesendet, damit der Nachbar seine Topologietabelle erstellen kann. In diesem Fall handelt es sich bei Aktualisierungspaketen um Unicast. In anderen Fällen, z. B. bei einer Änderung der Verbindungskosten, handelt es sich bei Updates um Multicast. Updates werden immer zuverlässig übertragen.
Anfragen und Antworten werden gesendet, wenn Ziele in den aktiven Status gesetzt werden. Abfragen sind immer Multicast, es sei denn, sie werden als Antwort auf eine empfangene Abfrage gesendet. In diesem Fall ist es Unicast zurück an den Nachfolger, der die Abfrage erstellt hat. Antworten werden immer als Antwort auf Anfragen gesendet, um dem Urheber anzuzeigen, dass er nicht in den aktiven Zustand übergehen muss, da er über geeignete Nachfolger verfügt. Antworten sind Unicast an den Urheber der Abfrage. Sowohl Abfragen als auch Antworten werden zuverlässig übertragen.
Anforderungspakete werden verwendet, um bestimmte Informationen von einem oder mehreren Nachbarn zu erhalten. Anforderungspakete werden in Routenserveranwendungen verwendet. Sie können Multicast oder Unicast sein. Anfragen werden unzuverlässig übertragen.
EIGRP hat das Konzept interner und externer Routen. Interne Routen sind solche, die von einem autonomen EIGRP-System (AS) stammen. Daher wird ein direkt angeschlossenes Netzwerk, das für die Ausführung von EIGRP konfiguriert ist, als interne Route betrachtet und mit diesen Informationen im gesamten EIGRP AS weitergeleitet. Externe Routen sind solche, die von einem anderen Routing-Protokoll erfasst wurden oder sich in der Routing-Tabelle als statische Routen befinden. Diese Routen werden einzeln mit der Identität ihres Ursprungs gekennzeichnet.
Externe Routen werden mit folgenden Informationen gekennzeichnet:
Die Router-ID des EIGRP-Routers, der die Route neu verteilt hat.
Die AS-Nummer, unter der sich das Ziel befindet.
Ein konfigurierbares Administrator-Tag.
Protokoll-ID des externen Protokolls.
Die Metrik aus dem externen Protokoll.
Bitflags für Standard-Routing.
Angenommen, es gibt ein AS mit drei Grenzroutern. Ein Border Router ist ein Router, der mehr als ein Routing-Protokoll ausführt. Das AS verwendet EIGRP als Routing-Protokoll. Beispiel: Zwei der Grenz-Router, BR1 und BR2, verwenden Open Shortest Path First (OSPF), der andere BR3, verwendet Routing Information Protocol (RIP).
Die von einem der OSPF-Grenzrouter, BR1, erlernten Routen können bedingt auf das EIGRP umverteilt werden. Das bedeutet, dass EIGRP, das in BR1 ausgeführt wird, die OSPF-Routen innerhalb seines eigenen AS ankündigt. In diesem Fall wird die Route angekündigt und als vom OSPF bezogene Route mit einer Metrik markiert, die der Metrik der Routing-Tabelle der OSPF-Route entspricht. Die Router-ID ist auf BR1 eingestellt. Die EIGRP-Route wird an die anderen Grenzrouter weitergeleitet. Nehmen wir an, BR3, der RIP-Grenzrouter, kündigt ebenfalls dieselben Ziele an wie BR1. Daher verteilt BR3 die RIP-Routen neu in das EIGRP AS. BR2 verfügt dann über genügend Informationen, um den AS-Einstiegspunkt für die Route, das verwendete ursprüngliche Routing-Protokoll und die Metrik zu bestimmen. Darüber hinaus kann der Netzwerkadministrator bei der Neuverteilung der Route bestimmten Zielen Tagwerte zuweisen. BR2 kann diese Informationen verwenden, um die Route zu verwenden oder sie wieder an OSPF weiterzuleiten.
Mithilfe von EIGRP-Routen-Tagging kann ein Netzwerkadministrator flexible Richtlinienkontrollen durchführen und das Routing anpassen. Routen-Tagging ist besonders bei Transit-ASs nützlich, bei denen EIGRP typischerweise mit einem domänenübergreifenden Routing-Protokoll interagieren würde, das mehr globale Richtlinien implementiert. Diese Kombination ermöglicht ein sehr skalierbares richtlinienbasiertes Routing.
EIGRP bietet Kompatibilität und nahtlose Interoperabilität mit IGRP-Routern. Dies ist wichtig, damit Benutzer die Vorteile beider Protokolle nutzen können. Für die Kompatibilitätsfunktionen ist für Benutzer kein Tag erforderlich, um EIGRP zu aktivieren. EIGRP kann an strategischen Orten ohne Unterbrechung der IGRP-Leistung vorsichtig aktiviert werden.
Es wird ein automatischer Umverteilungsmechanismus verwendet, sodass IGRP-Routen in EIGRP importiert werden und umgekehrt. Da die Metriken für beide Protokolle direkt übersetzbar sind, sind sie leicht vergleichbar, als wären sie Routen, die vom eigenen AS ausgehen. Darüber hinaus werden IGRP-Routen in EIGRP als externe Routen behandelt, sodass die Tagging-Funktionen für eine benutzerdefinierte Anpassung verfügbar sind.
IGRP-Routen haben standardmäßig Vorrang vor EIGRP-Routen. Dies kann mithilfe eines Konfigurationsbefehls geändert werden, bei dem die Routing-Prozesse nicht neu gestartet werden müssen.
Das folgende Netzwerkdiagramm veranschaulicht die DUAL-Konvergenz. Das Beispiel konzentriert sich nur auf das Ziel N. Jeder Knoten zeigt seine Kosten für N (in Hops) an. Die Pfeile zeigen den Nachfolger des Knotens. So verwendet z. B. C A zum Erreichen von N und die Kosten sind 2.
Wenn die Verbindung zwischen A und B fehlschlägt, sendet B eine Abfrage, die die Nachbarn darüber informiert, dass ihr möglicher Nachfolger verloren gegangen ist. D empfängt die Abfrage und stellt fest, ob sie über andere mögliche Nachfolger verfügt. Ist dies nicht der Fall, muss eine Routenberechnung gestartet und der aktive Status eingegeben werden. In diesem Fall ist C jedoch ein praktikabler Nachfolger, da seine Kosten (2) unter den derzeitigen Kosten (3) für das Ziel N liegen. D kann zu C als Nachfolger wechseln. Hinweis A und C waren nicht beteiligt, da sie von der Änderung nicht betroffen waren.
Lassen Sie uns nun eine Routenberechnung durchführen. Nehmen wir an, die Verbindung zwischen A und C schlägt fehl. C stellt fest, dass er seinen Nachfolger verloren hat und keine anderen umsetzbaren Nachfolger hat. D wird nicht als praktikabler Nachfolger angesehen, da die angegebene Kennzahl (3) die aktuellen Kosten (2) von C für das Erreichen von Ziel N übersteigt. C muss eine Routenberechnung für Ziel N durchführen. C sendet eine Abfrage an den einzigen Nachbarn D. D antwortet, weil sich sein Nachfolger nicht geändert hat. D muss keine Routenberechnung durchführen. Wenn C die Antwort erhält, weiß er, dass alle Nachbarn die Nachricht über den Ausfall an N verarbeitet haben. Zu diesem Zeitpunkt kann C seinen neuen umsetzbaren Nachfolger D mit einem Preis von (4) wählen, um das Ziel N zu erreichen. Beachten Sie, dass A und B von der Topologieänderung nicht betroffen waren und D lediglich auf C antworten musste.
Ja, Sie konfigurieren EIGRP genau wie IGRP. Sie konfigurieren einen Routing-Prozess und die Netzwerke, über die das Protokoll ausgeführt werden soll. Vorhandene Konfigurationsdateien können verwendet werden.
Ja, es gibt sowohl protokollunabhängige als auch abhängige Debugbefehle, die Sie darüber informieren, was das Protokoll tut. Es gibt eine Reihe von show-Befehlen, die Ihnen den Status der Nachbartabelle, den Status der Topologietabelle und die EIGRP-Datenverkehrsstatistik bereitstellen.
Alle Funktionen, die Sie in IGRP verwendet haben, sind in EIGRP verfügbar. Ein Merkmal, das hervorgehoben werden muss, sind mehrere Routing-Prozesse. Sie können einen einzigen Prozess verwenden, der IGRP und EIGRP ausführt. Sie können mehrere Prozesse verwenden, die beide ausführen. Sie können einen Prozess zum Ausführen von IGRP und einen anderen zum Ausführen von EIGRP verwenden. Sie können mischen und abgleichen. So können Sie Ihr Routing zu einem bestimmten Protokoll an Ihre Anforderungen anpassen.
Das Problem bei der Bandbreitennutzung wurde durch die Implementierung von partiellen und inkrementellen Updates behoben. Daher werden Routing-Informationen nur dann gesendet, wenn eine Topologieänderung auftritt. Hinsichtlich der Prozessorauslastung reduziert die praktikable Nachfolgetechnologie die Gesamtprozessorauslastung eines AS erheblich, indem nur die Router, die von einer Topologieänderung betroffen waren, für die Neuberechnung der Route erforderlich sind. Darüber hinaus erfolgt die Neuberechnung der Route nur für betroffene Routen. Nur auf diese Datenstrukturen wird zugegriffen und diese verwendet. Dadurch wird die Suchzeit in komplexen Datenstrukturen erheblich reduziert.
Ja. IP-EIGRP führt die Routen-Aggregation wie IGRP durch. Das heißt, Subnetze eines IP-Netzwerks werden nicht über ein anderes IP-Netzwerk angekündigt. Die Subnetzrouten werden in einem Aggregat aus einer einzelnen Netzwerknummer zusammengefasst. Darüber hinaus ermöglicht IP-EIGRP die Aggregation an jeder Bitgrenze einer IP-Adresse und kann bei Detailgenauigkeit der Netzwerkschnittstelle konfiguriert werden.
Nein, ein einzelner EIGRP-Prozess entspricht einem Bereich eines Link-State-Protokolls. Innerhalb des Prozesses können Informationen jedoch an jeder Schnittstellengrenze gefiltert und aggregiert werden. Wenn die Weiterleitung von Routing-Informationen gebunden werden soll, können mehrere Routing-Prozesse konfiguriert werden, um eine Hierarchie zu erreichen. Da DUAL selbst die Weiterleitung von Routen beschränkt, werden in der Regel mehrere Routingprozesse zum Definieren von Organisationsgrenzen verwendet.