Le protocole EIGRP (Enhanced Interior Gateway Routing Protocol) est un protocole de routage à vecteur de distance sans classe. Le protocole EIGRP est une version améliorée d'un autre protocole de routage Cisco, IGRP (Interior Gateway Routing Protocol), aujourd'hui obsolète. Le protocole EIGRP a été initialement lancé en 1992 en tant que protocole propriétaire Cisco disponible uniquement sur les périphériques Cisco. En 2013, Cisco a lancé une fonctionnalité de base du protocole EIGRP sous la forme d'une norme ouverte vers IETF.

EIGRP utilise le code source « D » de DUAL dans la table de routage. Par défaut, le protocole EIGRP a pour distance administrative 90 pour les routes internes et 170 pour les routes importées à partir d’une source externe, telles que les routes par défaut.

Le protocole EIGRP est un protocole de routage à vecteur de distance avancé qui comprend des fonctionnalités indisponibles dans d'autres protocoles de routage à vecteur de distance tels que RIP, notamment : algorithme DUAL (Diffusing Update Algorithm), établissement de contiguïtés de voisinage, protocole de transport fiable (RTP), mises à jour partielles et limitées et équilibrage de charge à coût égal et inégal.

Le protocole EIGRP utilise des modules dépendants d'un protocole (PDM, Protocol Dependent Modules) qui lui permettent de prendre en charge différents protocoles de couche 3 dont IPv4 et IPv6. EIGRP utilise RTP (Reliable Transport Protocol – Protocole de transport fiable) comme protocole de transport pour la livraison de paquets EIGRP. Le protocole EIGRP utilise le mode d'acheminement fiable pour les mises à jour, les demandes et les réponses EIGRP et le mode d'acheminement non fiable pour les paquets Hello et les reçus EIGRP. Le protocole RTP fiable signifie qu’un reçu EIGRP doit être renvoyé.

Avant d’envoyer des mises à jour EIGRP, un routeur doit d’abord détecter ses voisins. Cette opération est effectuée à l'aide des paquets Hello EIGRP. Il n'est pas nécessaire que les valeurs Hello et de mise hors service concordent pour que deux routeurs deviennent voisins. La commande show ip eigrp neighbors permet d'afficher la table de voisinage et de vérifier que le protocole EIGRP a établi une contiguïté avec ses voisins.

Contrairement au protocole RIP, EIGRP n’envoie pas de mises à jour périodiques. EIGRP envoie des mises à jour partielles ou limitées qui ne contiennent que les modifications de routes, et uniquement aux routeurs concernés par la modification. La métrique composite EIGRP utilise la bande passante, le délai, la fiabilité et la charge pour déterminer le meilleur chemin. Par défaut, seuls la bande passante et le délai sont pris en compte.

Au centre du protocole EIGRP se trouve l’algorithme de diffusion de mise à jour DUAL (Diffusing Update Algorithm). La Finite State Machine (FSM) DUAL permet de déterminer le meilleur chemin ainsi que les chemins de secours potentiels vers chaque réseau de destination. Le successeur est un routeur voisin utilisé pour transmettre le paquet en utilisant la route à moindre coût vers le réseau de destination. La distance de faisabilité (FD) est la métrique la plus basse calculée pour atteindre le réseau de destination via le successeur. Un successeur potentiel (FS) est un voisin qui dispose d’un chemin de secours sans boucle vers le même réseau que le successeur et qui répond également à la condition de faisabilité. La condition de faisabilité est respectée lorsque la distance annoncée d’un voisin à un réseau est inférieure à la distance de faisabilité sur routeur local par rapport à ce même réseau de destination. La distance annoncée correspond simplement à la distance de faisabilité d'un voisin EIGRP vers le réseau de destination.

Le protocole EIGRP est configuré à l'aide de la commande router eigrp autonomous-system. La valeur système-autonome est en fait un ID de processus et doit être la même sur tous les routeurs du domaine de routage EIGRP. La commande network est identique à celle utilisée avec le protocole RIP. Le réseau est l’adresse réseau par classe des interfaces connectées directement sur le routeur. Un masque générique est un paramètre facultatif qui peut être utilisé pour n’inclure que certaines interfaces spécifiques.