EIGRP (Enhanced Interior Gateway Routing Protocol) ist ein **erweitertes [[distance_vector_protocol|Distance-Vector-Routingprotokoll]]** welches sich beim Austausch mit benachbarten Routern sowie bei der Speicherung von Routing-Informationen **wie ein [[link_state_protocol|Link-State-Routingprotokoll]]** verhält.
Aufgrund der umfangreichen Merkmale, welche eher bei Link-State-Protokollen anzutreffen sind, wird EIGRP daher oft auch als Balanced-Hybrid-Routingprotokoll klassifiziert. Mit Hilfe jener Link-State-Eigenschaften erreicht EIGRP im Verhältnis zu konventionellen Distance-Vector-Routingprotokollen eine sehr schnelle Konvergenz und ist immun gegenüber Routing-Schleifen.
EIGRP hat sich aus [[IGRP]] (Interior Gateway Routing Protocol) entwickelt und wird in eigenständigen AS Netzen verwendet.
EIGRP **kombiniert die besten Eigenschaften von Distanzvektor- und Link-State-Routing-Protokollen**. Es basiert auf der DUAL (Diffusing Update Algorithm) Routing-Technologie, die für schnelle Konvergenz und optimale Nutzung der Netzwerkressourcen entwickelt wurde. Es nutzt auch Techniken wie **Hello-Nachrichten**, um Nachbarn zu entdecken und Routing-Informationen auszutauschen.
EIGRP **propagiert neben weiteren Eigenschaften (by default) ein Delay und eine Bandbreite** (anhand der Leistung des angeschlossenen Interface bzw Netzwerk). Anhand dieser Informationen werden die Kosten einer Route berechnet.
=====Funktionsweise=====
* Hello Interval: 5 Sek für high bandwidth, 60 sek für low bandwidth
* Hold Timer: 3x Hello Interval (15 bzw 180 sek)
* Multicast: 224.0.0.10
EIGRP benutzt RTP um Update Pakete zu senden.
* Update
* query
* reply
* hello
* acknowledgment
Die Funktionsweise von EIGRP lässt sich in vier Hauptphasen unterteilen:
* Nachbarbildung (Neighbor Discovery): EIGRP-Nachbarn sind Router, die direkt miteinander verbunden sind und Routing-Informationen austauschen können. Die Nachbarbildung erfolgt durch den Austausch von Hello-Nachrichten. Diese Nachrichten enthalten Informationen über die verfügbaren Netzwerkressourcen und die EIGRP-Parameter. Sobald ein Router einen gültigen Hello empfängt, wird er als Nachbar erkannt und es werden zusätzliche Informationen ausgetauscht.
* Topologieaustausch (Topology Exchange): Nachdem die Nachbarn erkannt wurden, tauschen sie ihre Routing-Informationen mithilfe von Update-Nachrichten aus. Diese Nachrichten enthalten Informationen über verfügbare Netzwerkpfade, Metriken, Next-Hop-Adressen und andere relevante Informationen. Die Update-Nachrichten werden periodisch oder bei Änderungen in der Netzwerktopologie gesendet.
* Beste Pfad Auswahl (Best Path Selection): EIGRP verwendet den DUAL-Algorithmus, um den besten Pfad zu einer bestimmten Zieladresse zu ermitteln. Der DUAL-Algorithmus berücksichtigt verschiedene Faktoren wie Bandbreite, Verzögerung, Zuverlässigkeit und andere Metriken, um den optimalen Pfad zu wählen. Dies ermöglicht eine effiziente Nutzung der verfügbaren Netzwerkressourcen.
* Routing-Tabelle aktualisieren (Routing Table Update): Basierend auf den Ergebnissen des DUAL-Algorithmus wird die Routing-Tabelle aktualisiert. Die Routing-Tabelle enthält Informationen über die besten Pfade zu verschiedenen Zieladressen im Netzwerk. Die aktualisierte Routing-Tabelle wird verwendet, um den Datenverkehr im Netzwerk weiterzuleiten.
=====LAB=====
{{eigrp_lab_gns3.png}}
!R1
int lo0
ip addr 1.1.1.1 255.255.255.255
int fa0/0
ip addr 10.0.0.1 255.255.255.252
no shut
router eigrp 1
eigrp router-id 1.1.1.1
no auto-summary
network 10.0.0.0 0.0.0.3
network 1.1.1.1 0.0.0.0
!R2
int lo0
ip addr 2.2.2.2 255.255.255.255
int fa0/0
ip address 10.0.0.2 255.255.255.252
no shut
int fa1/0
ip address 10.0.0.5 255.255.255.252
no shut
router eigrp 1
eigrp router-id 2.2.2.2
net 2.2.2.2 0.0.0.0
net 10.0.0.0 0.0.0.3
net 10.0.0.4 0.0.0.3
!R3
int lo0
ip addr 3.3.3.3 255.255.255.255
int fa0/0
ip address 10.0.0.6 255.255.255.252
no shut
int fa1/0
ip address 10.0.0.9 255.255.255.252
no shut
router eigrp 1
eigrp router-id 3.3.3.3
net 3.3.3.3 0.0.0.0
net 10.0.0.4 0.0.0.3
net 10.0.0.8 0.0.0.3
!R4
int lo0
ip addr 4.4.4.4 255.255.255.255
int fa0/0
ip address 10.0.0.10 255.255.255.252
no shut
router eigrp 1
eigrp router-id 4.4.4.4
net 10.0.0.8 0.0.0.3
net 4.4.4.4 0.0.0.0
show ip eigrp interfaces
=====Links=====
* [[https://www.youtube.com/watch?v=QyymlFWDEgM|EIGRP Explained CertBros - Youtube]]
* [[https://youtu.be/CHONDJ5Dgi4|EIGRP Fundamentals Keith Barker - Youtube]]
* [[https://www.youtube.com/watch?v=e5qYqNX6f0k|EIGRP Deep dive Kevin Wallace - Youtube]]
* [[https://www.youtube.com/watch?v=MaVoIcMcJiY|Kevin Wallace - EIGRP's Variance Feature]]