EIGRP

aus ANOther Wiki, der freien Wissensdatenbank

 
- steht für Enhanced Interior Gateway Routing Protocol
- ist ein Interior-Gateway-Protocol
- wurde 1994 von Cisco veröffentlicht
- ist der Nachfolger des IGRP (IGRP wird seit 12.3 nicht mehr unterstützt)
- wie sein Vorgänger Cisco-proprietär
- ist ein Distance-Vector-Routingprotokoll
- legt für jedes unterstützte Schicht-3-Protokoll eine eigene Routingtabelle an

 

EIGRP benutzt DUAL, den Diffusing Update ALgorithm, um die beste Route festzustellen

Inhaltsverzeichnis

Kernpunkte von EIGRP

- Schnelle Konvergenz: Ein EIGRP-Router speichert die Routingtabellen all seiner Nachbarn, so kann er schnell Alternativrouten finden. Sollte keine derartige Route existieren, werden die Nachbarn aufgefordert, eine solche zu finden. Dies passiert, bis eine Alternativroute gefunden wird
- VLSM-Unterstützung: EIGRP ist ein Classless-Routingprotokoll. Per Default betreibt EIGRP auto-summarisation, dies kann auf jedem Subnetbit passieren
- Teilweise Updates: EIGRP sendet keine periodischen Updates. Es sendet nur, wenn sich etwas verändert hat, und dann auch nur diesen Teil. Dadurch wird wesentlich weniger Bandbreite verbraucht als z.B. bei IGRP
- Multiprotokollunterstützung: EIGRP unterstützt IP, ApplaTalk, sowie IPX

 

EIGRP Metrik

EIGRP benutzt die selbe Metrik wie IGRP um den besten Weg zu berechnen, wird nur mit 256 multipliziert.

K-Vaiablen zur Bestimmung der Metrik

Die Metrik basiert auf fünf Punkten, wobei per Default nur zwei Punkte zur Routenberechnung verwendet werden:

- Bandbreite: die kleinste Bandbreite zwischen Quelle und Ziel
- Delay: die genamte Laufzeit zum Ziel

Folgende drei Punkte werden per Default nicht verwendet, da sich diese Faktoren mitunter häufig ändern können, und dies zu ständigen Neuberechnungen der Routen führen würde:

- Reliability (Zuverlässinheit): hier wird die schlechteste Zuverlässigkeit (aus den keepalives) verwendet
- Loading (Last): die höchste Last, basierend auf Paketrate und konfigurierter Bandbreite auf den jeweiligen Interfaces
- MTU: die kleinste MTU. Die MTU ist zwar im EIGRP-Routingupdate inkludiert, wird jedoch derzeit nicht für die Metrikberechnung verwendet

Konfiguration

Bei der Konfiguration wird eine AS-Nummer bestimmt, diese muss auf allen Routern des gleichen AS die selbe sein.

R-ANO-01(config)#router eigrp 100
R-ANO-01(config-router)#network 10.0.10.0
R-ANO-01(config-router)#network 10.1.0.0
R-ANO-01(config-router)#network 192.168.100.0
R-ANO-01(config-router)#network 192.168.200.0

Die obrige Eingabe bringt folgende Einträge in der running-config:

router eigrp 100
 network 10.0.0.0
 network 192.168.100.0
 network 192.168.200.0
 auto-summary

Der Router fasst also die beiden privaten A-Klasse-Netze 10.0.10.0 und 10.1.0.0 zu einem 10.0.0.0/8 zusammen. Sollte dies nicht gewünscht werden, kann mit der Wildcard das jeweilige Netz genauer definiert werden:

R-ANO-01(config)#router eigrp 100
R-ANO-01(config-router)#network 10.1.0.0 0.0.0.255
R-ANO-01(config-router)#network 10.0.10.0 0.0.0.255
R-ANO-01(config-router)#network 192.168.200.0 0.0.0.255
R-ANO-01(config-router)#network 192.168.100.0 0.0.0.255

Nun steht in der running jedes Netz für sich:

router eigrp 100
 network 10.0.10.0 0.0.0.255
 network 10.1.0.0 0.0.0.255
 network 192.168.100.0
 network 192.168.200.0
 auto-summary


Weiters sollte bedacht werden, dass zur Routenberechnung die Bandbreite hinzugezogen wird. Sollte zum Beispiel bei einem seriellen Interface keine Bandbreite angegeben worden sein, nimmt der Router die default-Einstellung, die Bandbreite eines T1. Dies kann und wird zu falschen Routen führen. Durch den Eintrag

R-ANO-01(config-if)#bandwidth 64

am jeweiligen Interface kann dieses vermieden werden.

 

Default-Route

[2do]

router eigrp 100
 network 10.0.0.0
 network 172.16.0.0
ip default-network 172.16.0.0
ip route 172.16.0.0 255.255.0.0 172.16.1.1

 

Hier wird die Standard-Route verbreitet:

interface serial 0/0
  ip address 192.168.1.1 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 serial 0/0
!
router eigrp 100
  network 0.0.0.0

Zusammenfassung Konfiguration EIGRP

  1. die Konfigurationskommandos für basic-EIGRP beinhalten:
    1. router eigrp [AS-Nummer]
    2. network [Netz-ID]
    3. bandwidth [in kbits]
  2. die Wildcard-Maske ist optional, und wird verwendet, um die [Netz-ID] richtig zu interpretieren
  3. eine Default-Route wird in EIGRP mit "ip default-network [Netz-ID]" erstellt und verbreitet
  4. mit "show ip eigrp neighbors" wird geprüft, ob der Router seine EIGRP-Nachbarn kennt, mit "show ip route eigrp" kann überprüft werden, ob Routen via EIGRP gelernt werden
  5. mit "sh ip protocols", "sh ip eigrp interfaces", "sh ip eigrp neighbors", "sh ip eigrp topology" und "sh ip eigrp traffic" können EIGRP-Vorgänge überwacht bzw. überprüft werden

erweiterte EIGRP-Optionen

Route Summarization

Dadurch erhält man kleinere Routingtabellen, und spart Netzverkehr, da bei guter Struktur wesentlich weniger Updates übertragen werden müssen. Auto-Summarization ist bei EIGRP per Default konfiguriert.

Um die Zusammenfassungen besser justieren zu können, kann diese auch manuell gemacht werden. Die manuelle Variante hat folgende Merkmale:

  1. sie kann auf allen Interfaces an allen Routern im Netzwerk konfiguriert werden
  2. ist sie konfiguriert, wird automatisch eine route auf null0 hinzugefügt
    1. dies ist ein Mechanismus, um Loops zu vermeiden
  3. wenn die letzte spezifizierte Route verschwindet, verschwindet auch die Zusammenfassung
  4. die kleinste Metrik der spezifizierten Routen wird für die Metzik der Zusammenfassung verwendet
Konfiguration der Route-Sum

Um die Zusammenfassung manuell konfigurieren zu können, muss erst das automatische Zusammenfassen abgedreht werden

R-ANO-01(config)#router eigrp 100
R-ANO-01(config-router)#no auto-summary

Nun kann auf einem Interface die manuelle Summarization durchgeführt werden

R-ANO-01(config-if)#ip summary-address eigrp [AS-Nummer] [Netz-ID] [Opt: Administrative Distanz]

In der Routingtabelle der EIGRP_Nachbarn ist danach auch zu lesen

10.1.0.0/16 is a summary

Lastverteilung auf gleichen Pfaden

Mit Hilfe von EIGRP kann die Netzwerklast auf gleichen Pfaden verteilt werden. Dies geschieht mit den Befehlen

R-ANO-01(config)#router ei 100
R-ANO-01(config-router)#maximum-paths 2

Um die Lastverteilung zu deaktivieren kann

 R-ANO-01(config-router)#maximum-paths 1

verwendet werden

 

Lastverteilung auf ungleichen Pfaden

Allerdings kann auch Last auf ungleichen Pfaden verteilt werden. Dazu wird "variance" verwendet

R-ANO-01(config)#router ei 100
R-ANO-01(config-router)#maximum-paths 2
R-ANO-01(config-router)#variance 2

Beispiel: Netz1 ist über drei Router (R1, R2, R3) mit Netz2 verbunden. die verschiedenen Routen haben verschiedene Kosten. Der Pfad über R1 kostet 10, über R2 20 und über R3 30.

Der "Gewinner" wäre hier der Weg über Router 1, da er die geringsten Kosten bedeutet. Wird allerdings der Eintrag

R-ANO-01(config-router)#variance 2

verwendet, nimmt EIGRP die Route, die in diesem Fall die zweifachen Kosten der Gewinnerroute hat, als gleichwertig, und verteilt die Last über beide Wege. Der Wert hinter "variance" kann 1 bis 128 betragen

Authentisierung bei EIGRP

EIGRP unterstützt MD5-Authentifizierung. In der Standardeinstellung ist jedoch keine Authentifizierung konfiguriert.

Der Router generiert und überprüft jedes EIGRP-Paket auf dessen Vertrauenswürdigkeit. Jeder am Routingtabellen-Updateprozess teilnehmende Router muss neben einer eigenen Key-ID das gleiche Passwort Key) haben.

 

- der Router generiert eine Zusammenfassung oder einen Hash des Keys, der Key-ID und der Nachricht
- EIGRP erlaubt , dass Keys durch Keyketten verwaltet werden
- es müssn die Key-ID, der Key selbst und die Lebenszeit (lifetime) des Keys bestimmt werden
- der erste gültige Key, in Abfolge der Key-IDs, wird verwendet

Konfiguration

Erst muss man in das Interface gelangen, in dem man die MD%-Authentifizierung aktivieren will

R-ANO-01(config-if)#ip authentication mode eigrp [AS] md5

Somit wird dem Router beigebracht, MD5 für EIGRP-Pakete zu verwenden

R-ANO-01(config-if)#ip authentication key-chain eigrp [AS] [Chain-Name]

Erlaubt die Verwendung von Keychais

Nun, zurück im Globalen Konfigurationsmodus, wird mit "key chain [Chain-Name] der Konfigurationsmodus für die Keychanes erreicht

R-ANO-01(config)#key chain [Chain-Name]

Am veränderten Prompt erkennt man, dass man eben diesen Modus erreicht hat. Nun wird die Key-ID festgelegt

R-ANO-01(config-keychain)#key [Key-ID]

Danach muss da sPasswort festgelegt werden, das bei allen teilnehmenden Routern gleich sein muss

R-ANO-01(config-keychain)#key-string [Password]

Somit ist das Verfahren einsatzbereit. Allerdings gibt es noch optionale Konfigurationen, die Dauer der Gültigkeit betreffend.

 R-ANO-01(config-keychain)#
accept-lifetime [Startzeit] [[infinite(unbeschränkt)]/[Endzeit]/[duration](Dauer) in Sekunden)

Diese Einstellung gilt für empfangene Pakete, während

 R-ANO-01(config-keychain)#
send-lifetime [Startzeit] [[infinite(unbeschränkt)]/[Endzeit]/[duration](Dauer) in Sekunden)

für gesendete Pakete gilt

 

Die eingegebenen Zeilen nun in der run.conf:

key chain [Password]
 key 12345
  accept-lifetime 12:30:00 Jun 12 2007 infinite
  send-lifetime 12:30:00 Jun 12 2007 infinite

Debug

mittels

debug eigrp packets

auf den betreffenden Routern