EIGRP est l'acronyme de Enhanced Interior Gateway Routing Protocol.
C'est un protocole de routage propriétaire.
Il a été développé par Cisco afin de pallier les
manques de IGRP.
Sa distance administrative est de 90. Son numéro
de protocole est 88, et la lettre dans la table de routage pour une route apprise via EIGRP
est la lettre 'D' (Le 'E' était déjà pris par les routes externes).
C'est un protocole de routage hybride.
C'est à dire qu'il n'est ni un protocole à vecteur de
distance (RIPv2), ni un protocol à état de liens (type OSPF).
L'abscence de boucle dans le réseau est garanti par l'utilisation
de l'algorithme DUAL (Diffusing Update Algorithm).
De plus, il ne se base pas sur une topologie globale du
réseau(OSPF) afin de pallier (si possible) à un changement de topologie. Il se base
sur un "successeur" de secours (Feasible successor(vu plus loin)).
Il n'utilise pas intensément le processeur et mémoire comme
peut le faire OSPF en recalculant sa topologie par l'algorithme SPF, et donc mettre
à jour sa table de routage en conséquence.
Pourquoi utiliser EIGRP ?
EIGRP maintient trois tables :
1. Neighbors
EIGRP tout comme OSPF utilise un protocol "Hello" afin de découvrir ses voisins (Neighbor),
mais aussi afin de détecter des changements de topologie. Il utilise le groupe multicast
224.0.0.10 dans ce but.
Les message 'Hello' sont envoyés tous les 5s(Hello Timer).
Une relation de voisinage est decidée rompue au bout de 15s (Hold Timer).
Pour devenir voisins, il est nécessaire de :
2. Topology
Une fois la ou les relations de voisinage découverte, l'échange de topologie peut avoir lieu.
Il se base sur RTP (Reliable Transport Protocol et NON Real Time Protocol) pour les
Full update. EIGRP peut s'échanger ses routes au moyen de :
3. Table de routage
EIGRP met dans la table de routage les routes dont la métrique est la plus basse.
Celle-ci se décrit de la manière suivante :
Les valeurs par défaut de K1, K2, K3, K4, K5 sont :
Si une route non successor vers 'x' a un RD inférieur au FD, alors la route est une 'Feasible Successor route'.Néanmoins, il se peut qu'il n'existe pas de Feasible Successor, alors EIGRP utilise l'algorithme DUAL (Diffusing Update Algorithm) afin de trouver alors une route sans boucle vers 'x'. Il procède en demandant à ses voisins s'ils ont des routes vers 'x' et vérifie qu'il n'y a pas de boucle.
Feasible Successor | Temps |
oui | <2s |
non | <10s |
4. Comparaison OSPF/EIGRP
Fonctionnalités | ||
Converge rapidement | ||
Prévention des boucles inclus dans le protocole | ||
Mise à jour partielle de la table de routage: Nouvelles infos ou chgt | ||
Classless: Manual summarization / VLSM | ||
Permet le manual summarization | ||
Utilise le multicast pour les infos de routage | ||
Utilise le concept de Designated Router | ||
Architecture flexible sans besoin du concept d'aire | ||
Supporte du load-balancing avec des metric égales ou non | ||
Metric robuste basé sur la bande passante et délai | ||
Peut annoncer de l'IP, IPX, Appletalk | ||
Standard public |
5. Configuration standard du process eigrp
La configuration standard du processus eigrp sur un routeur Cisco est telle que :
R(config)# router eigrp as-number R(config-router)# network subnet [wildcard] R(config-router)# maximum-paths number (optionnel) R(config-router)# variance multiplier (optionnel) R(config-if)# ip hello-interval eigrp asn time (optionnel) R(config-if)# ip hold-time eigrp asn time (optionnel) R(config-if)# bandwidth delay (optionnel) R(config-if)# delay (optionnel)La configuration de l'authentification se fait de la manière suivante :
R(config)#key ch R(config)#key chain ? WORD Key-chain name R(config)#key chain toto R(config-keychain)#key 1 R(config-keychain-key)#? Key-chain key configuration commands: accept-lifetime Set accept lifetime of key default Set a command to its defaults exit Exit from key-chain key configuration mode key-string Set key string no Negate a command or set its defaults send-lifetime Set send lifetime of key R(config-keychain-key)#ke R(config-keychain-key)#key-string titi R(config-keychain-key)#^Z R#conf t R(config)# int fa0/0 R(config-if)# ip authentication mode eigrp 10 md5 R(config-if)# ip authentication key-chain eigrp 1 totoIl est possible de supprimer l'autosummarization (no auto-summary) bien évidemment. Il est aussi possible de faire du résumé de route uniquement sur telle ou telle interface suivant votre choix.
R(config-if)# ip summary-address eigrp as-number 172.30.0.0 255.255.240.0
6. Outils de debug
Les outils de debug à notre disposition sont :
R# show ip eigrp neighbor R# show ip eigrp topology [summary] R# show ip route R# debug eigrp ? fsm EIGRP Dual Finite State Machine events/actions neighbors EIGRP neighbors packets EIGRP packets transmit EIGRP transmission events
7. Variance et load-balancing
Le paramètre de 'variance' permet dans certains cas
d'ajouter plusieurs routes vers le même subnet 'x'. Cette valeur comprise entre 1 et 128 se
multiplie avec FD, dans le but de rendre possible l'ajout de la route dans la table de routage
dans le cas où 'maximun-paths' est supérieur à 1.
Ceci est possible si :
8. Expérimentations
J'avoue m'être beaucoup amusé avec le lab suivant :
Les configuration si cela peut aider :