Enhanced Interior Gateway Routing Protocol (EIGRP) est un protocole de routage propriétaire développé par Cisco à partir de leur protocole original IGRP. De ce fait, EIGRP ne pouvait être utilisé que sur des équipements Cisco, mais est devenu un protocole partiellement[1] ouvert en 2013, permettant aux fabricants de routeurs de l'utiliser. Il est depuis décrit dans la RFC 7868[2].
EIGRP est un protocole de routage à vecteur de distance IP, avec une optimisation permettant de minimiser l'instabilité de routage due aussi bien au changement de topologie qu'à l'utilisation de la bande passante et la puissance du processeur du routeur.
Certaines de ces optimisations sont basées sur le Diffusing Update Algorithm (DUAL) développé par SRI, qui garantit l'absence de boucle. En particulier, DUAL évite les « sauts à l'infini » (voir métrique (routage)) en les limitant à 224.
EIGRP calcule les métriques sur base de 5 paramètres combinés à 5 coefficients K :
La formule est :
soit 256 fois la formule pour la métrique d'IGRP
où :
Par défaut, K1 et K3 sont à 1, et le reste à zéro, réduisant la formule à :
où :
Par exemple, la métrique correspondant à un lien série de 768 kbit/s suivi par une connexion Ethernet de 10 Mbit/s sera :
Les constantes K1…K5 doivent être de même valeur sur tous les routeurs d'un même système EIGRP, dans le cas contraire des adjacences ne peuvent pas se former. Il n'y a aucun bénéfice connu à modifier les valeurs par défaut de K1…K5 et Cisco déconseille de modifier ces valeurs[3].
Pour les routeurs Cisco[4] :
- EIGRP gère le routage inter-domaine sans classe permettant l'utilisation de masques de sous-réseaux à longueur variable, ce qui était impossible pour son prédécesseur, IGRP.
- L'utilisation de l'algorithme DUAL fait d'EIGRP un des protocoles de routage dont la convergence est des plus rapides[5]
- EIGRP permet de gérer l’équilibrage de charge sur des chemins différents grâce à son système de successeurs
- EIGRP est multi-protocole : il peut exécuter différents processus de routage, et donc construire différentes routes pour IP, IPX et AppleTalk.
- EIGRP permet l’utilisation de hash comme MD5 et SHA-2 pour la communication entre deux routeurs, permettant de rester confidentiel même en cas de reniflement de paquet sur le réseau
- EIGRP permet de spécifier des heures pendant lesquelles les authentifications EIGRP entre routeurs sont valides
Ces deux termes sont utilisés par EIGRP (successor et feasible successor en anglais). Le successeur est la route ayant la meilleure métrique pour atteindre la destination donnée. Le successeur possible est une route de secours permettant d’atteindre la même destination, mais avec une distance plus importante, donc moins optimale que le successeur. La condition à respecter pour être choisi comme successeur possible est d’avoir une distance possible (Feasible Distance en anglais) plus grande que la distance annoncée (Advertised Distance en anglais). Si le successeur devait devenir indisponible, le successeur possible devient alors la route choisie. Ce mécanisme permet l’équilibrage de charge entre des chemins différents. Une route possède un successeur, et jusqu’à 4 successeurs possibles par défaut
Une route peut avoir 2 états : active ou passive
Une route dite passive est une route qui est atteignable et quand EIGRP a complètement convergé. Un réseau EIRGP est considéré comme stable une fois que toutes ses routes sont dans un état passif. Si le successeur ne répond pas, mais qu’il existe un successeur possible disponible, la route reste dans l’état passif.
Une route passe en mode actif quand le successeur et tous les successeurs possibles ne peuvent pas atteindre la destination. EIGRP envoie alors des paquets de requête et doit re-converger.
Une route peut acquérir le statut de « bloqué en actif » (Stuck In Active en anglais) si un nœud EIGRP ne reçoit pas de paquet réponse pendant trois minutes suivant sa requête, l’empêchant de re-converger. Le routeur local va ensuite mettre à jour sa table d’adjacence en enlevant tous les routeurs qui n’ont pas répondu, et placer les routes passant par ceux-ci en mode actif.