Académique Documents
Professionnel Documents
Culture Documents
Vous avez surement déjà entendu parler de l’EIGRP. Il s’agit de l’un des principaux
protocoles de routage disponible aujourd’hui.
Nous commencerons par les notions à connaitre pour passer la CCNA, puis nous irons
jusqu’au niveau CCNP.
1) Présentation de l’EIGRP
Avant de voir comment fonctionne ce protocole, attardons nous sur ses caractéristiques de
base.
L’EIGRP était un protocole propriétaire Cisco (il est ouvert depuis 2013). Il a été développé
en améliorant le protocole IGRP, l’ancêtre de l’EIGRP.
Il s’agit d’un protocole de routage interne (IGP), au même titre que RIP, OSPF, etc…
Cela veut dire qu’il est capable de réaliser du routage au sein d’un Autonomous System.
Pour faire simple, un AS c’est un ensemble de réseaux sous une même autorité. Sur ces
réseaux nous utilisons des protocoles dits IGP (Interior Gateway Protocol).
Entre les AS, c’est-à-dire sur internet, nous utilisons des protocoles EGP (tel que BGP).
Retenez donc que l’EIGRP est un protocole de routage interne, comme RIP et OSPF.
Autre détail, EIGRP utilise le protocole RTP (Reliable Transport Protocol) pour échanger des
infos avec les autres routeurs (à ne pas confondre avec le protocole Real-time Transport
Protocole)
Il s’agit d’un protocole de couche 4, semblable au protocole TCP, mais en plus léger.
Elle est de 90 pour les routes internes, et 170 pour les routes externes (importées dans
EIGRP).
EIGRP possède un avantage non négligeable, il est capable de calculer une route de secours.
Le protocole va donc garder deux routes pour chaque destination : la route principale (celle
avec la meilleure métrique), et une route secondaire. Nous verrons plus tard qu’il faut remplir
une condition pour garder une route de secours.
Autre avantage, EIGRP est capable de faire du Load Balancing s’il connait plusieurs liens
équivalents.
Il peut utiliser jusqu’à 6 liens. Il est aussi capable de faire de l’Unequal Cost Load Ballancing.
C’est-à-dire, répartir la charge sur des liens qui n’ont pas la même métrique.
Si R1 veut joindre le réseau 10.3.0.0/24, en temps normal il va passer par R2. La métrique est
alors de 100 + 100, soit 200.
Il est donc normal qu’il ne choisisse pas de passer par R4, car la métrique y est de 250.
Mais après configuration, il est possible d’utiliser aussi le lien vers R4.
Enfin, l’EIGRP est capable de router plusieurs types de protocoles : le classique IPv4 (et
IPv6), mais aussi de l’IPX et de l’Apple Talk.
En résumé :
– Supporte VLSM
Si vous avez déjà étudié le protocole RIP, cette notion devrait vous être familière.
Il s’agit en fait d’un protocole qui n’a pas de vision global du réseau.
Quand R1 apprend l’existence du réseau 10.3.0.0 /24 (lequel réseau se trouve derrière R3), il
l’apprend par R2.
R2 envoie donc un message à R1, contenant plus ou moins ceci : « Bonjour c’est ton voisin
R2. Si tu veux joindre le réseau 10.3.0.0/24, passe par chez moi. Le réseau est à une distance
de XXX. »
Au final, R1 ne sait pas réellement ou se trouve le réseau 10.3.0.0/24. Il sait simplement que
R2 possède un chemin pour joindre ledit réseau.
A mettre en opposition avec un protocole à état de lien (OSPF), qui lui, connait la topologie
complète du réseau, et fait lui-même le choix du chemin.
Au final, EIGRP est donc un protocole à vecteur de distance, mais qui possède certains
avantages des protocoles à état de lien.
Parmi c’est avantages, nous retrouvons une autre notions très importante, la façon dont
fonctionnent les MAJ de routage.
1.3) Les mises à jour de routage
Vous vous souvenez du protocole RIP qui envoie sa table de routage complète toutes les 30
secondes ?
L’EIGRP n’envoie des MAJ qu’en cas de changement. C’est-à-dire qu’en l’absence de
changement dans l’infrastructure, aucune mise à jour ne circule.
Si une route a été rajoutée dans la table de routage, seule cette route sera transmise dans la
MAJ.
Même si EIGRP n’est pas un grand bavard, il discute tout de même avec ses voisins.
Hello
Cela fonctionne comme une relation sociale. Un premier bonjour permet de faire la
connaissance avec une autre personne. Ensuite, une prise de nouvelle régulière permet
d’entretenir la relation.
EIGRP fait de même. Sauf que lui envoie un Hello toutes les 5 secondes, pour s’assurer que le
voisin est toujours Up.
Après 3 Hello sans réponse, EIGRP considère le voisin comme down.
Update
Il permet d’envoyer les MAJ de routage aux voisins. Pour rappel, ce message est envoyé
seulement en cas de changement, et seul le changement est inclus dans la MAJ.
Query.
Il est un peu particulier. C’est un message qui est envoyé par un routeur qui cherche une route
vers un certain réseau.
Il va alors envoyer une Query (en Unicast ou en Multicast) à tous ses voisins, dans l’espoir
que l’un d’eux lui propose une route alternative.
Quand un routeur reçoit une requête de Query, s’il n’est pas capable d’y répondre, il la
transmet alors à tous ses autres voisins.
Vous l’aurez compris, une requête Query peut aller très loin sur le réseau.
Nous reviendrons plus tard sur une notion appelée Stuck In Active.
En bref, il s’agit d’un état dans lequel se trouve le routeur quand il envoie des requêtes Query,
et qu’il n’a pas encore reçu toutes les réponses. S’il envoie 4 requêtes (à 4 de ses voisins), il
attendra que ses 4 voisins aient répondu aux Query.
Si les voisins ne répondent pas (les Query tournent en boucle, etc…), le routeur attendra 3
minutes, avant d’intégrer une nouvelle route à sa table (à condition qu’une des Query ai
rapporté une nouvelle route).
Reply
Comment un routeur fait pour répondre à une Query ? Il envoie un Reply (en Unicast).
Ce Reply va indiquer que la destination recherchée peut être jointe en passant par ce routeur,
et va donner la métrique.
Si le routeur ne permet pas de joindre la destination voulue, le Reply annonce une métrique
infinie.
Voici le topo :
R1 possède une route vers le réseau 10.3.0.0/24. Cette route lui indique de passer par R2.
Donc, tous les messages à destination de 10.3.0.0/24 seront envoyés à R2 (qui se chargera de
les envoyer à R3).
Mais voilà, R2 ne répond plus. Après 3 Hello sans réponse, R1 doit se rendre à l’évidence.
Son voisin préféré a rendu l’âme, et il n’est plus capable de router des paquets vers R3.
Nous avons dit que le protocole EIGRP est capable de garder une route de secours.
Malheureusement, le lien vers R4 est très lent. R1 a donc choisit de ne pas prendre R4 comme
route de secours pour joindre 10.3.0.0/24.
Mais comme R2 n’est plus, R1 doit faire un effort. Il envoie donc une Query à R4, en
demandant une route vers 10.3.0.0/24.
R4 répond donc avec un Reply, qu’il connait un chemin pour aller vers 10.3.0.0/24.
La version courte :
– R4 envoie un Reply à R1
Ack
Ce dernier est beaucoup plus simple. Il sert d’accusé réception pour les Update, Query et
Reply.
En résumé :
Hello : Créer et entretenir les relations de voisinage. Toutes les 5 secondes. 3 Hello sans
réponse = voisin Down. Envoyé sur 224.0.0.10
Update : MAJ de routage. Envoyée en cas de changement. Seul le changement est inclus.
Query : demande de route pour une destination. Si un routeur ne peut pas répondre, il
transmet la Query aux voisins.
Les voici :
– K1 : Bande passante
– K3 : Délai
– K2 et K4 : fiabilité
– K5 : charge
EIGRP utilise donc 4 attributs pour juger les routes qu’il apprend.
Les 5 K sont placés dans une formule. Le résultat le plus faible l’emporte.
Pour calculer une métrique basée sur la bande passante et le délai, K1 et K3 valent 1, K2, K4
et K5 valent 0.
Une autre valeur existe. Il s’agit du MTU – Maximum Transmission Unit. Elle représente la
taille maximum des PDU que peu gérer le routeur.
Plus un routeur annonce un MTU élevé, plus il est capable de gérer des grands paquets.
Mais cette notion n’entre pas en compte dans le calcul de la métrique, non ?
Tout à fait. Le MTU est annoncé par les routeurs. Il est utilisé pour choisir entre plusieurs
routes ayants des métriques équivalentes. Bien sûr, EIGRP peut faire du Load Balancing.
Mais s’il possède plus de lien équivalent qu’il n’a le droit d’en utiliser, il devra faire un choix.
– K2 et K4 : fiabilité
– K5 : charge
Le MTU est annoncé, mais n’est pas utilisé dans le calcul de la métrique.
1.6) La terminologie
Passons à quelque chose de plus complexe.
La Feasible Distance
Il s’agit de la distance que nous annonce notre voisin pour une certaine destination.
Le Successor
Le Successor est simplement le voisin qui a été choisi pour joindre une destination.
Le Feasible Successor
Le Feasible Successor est le Next-Hop de secours pour une route.
Si le Successor tombe, automatiquement le routeur va envoyer les paquets au FS, qui devient
alors Successor.
Et comment devient-on FS ?
Pour devenir FS, il faut avoir une AD (Advertised Distance) plus faible que la FD (Feasible
Distance) du Successor.
Nous avons dit que pour devenir FS, il fallait avoir une AD plus faible que la FD du
Successor.
150 < 200 (AD de R4 < FD de R2). R4 devient donc le Feasible Successor.
A retenir :
Advertised Distance – AD : métrique annoncé par le voisin, pour joindre une destination.
Feasible Successor – FS : Successor de secours pour une destination. Pour devenir FS, il faut
avoir une AD plus faible que la FD du Successor.
Celles-ci vont reprendre une bonne partie de ce que nous avons vu.
– La Neighbor Table
– La Topology Table
– La Routing Table
La Neighbor Table
Que contient-elle ?
Simplement la liste de tous les voisins du routeur. C’est à dire, tous les routeurs directement
connectés, et qui utilisent EIGRP.
Voici un exemple :
R2 : 172.16.1.2
R3 : 172.16.2.3
– SRTT – Smooth Round Trip Time : temps nécessaire pour recevoir un Ack après
avoir transmis un message
– Queue count : combien de paquet sont en attente d’être transmis. S’il y a beaucoup de
paquet dans la queue, cela indique une congestion
La Topology Table
L’idée ici, est de faire apparaitre des Feasible Successor, et du Load Ballancing.
Quand il cherche à joindre 10.2.1.0/24 (c’est-à-dire R2) il passera directement par R2.
R2 sera donc le Successor pour 10.2.1.0 /24. Mais il prendra aussi R3 comme Feasible
Successor.
Que contient-elle ?
Elle contient la liste de toutes les destinations joignables, avec le Successor associé, et si
possible, le Feasible Successor.
Le terme topologie porte donc à confusion. Le routeur ne connaît pas la topologie complète
du réseau. Rappelons qu’EIGRP est un protocole à vecteur de distance.
La table nous indique que le routeur connait 1 Successor et qu’il est à une distance de 409600
(la Feasible Distance).
La ligne d’en dessous « via 172.16.1.2 … » représente le Successor (en l’occurrence R2).
Nous avons son IP 172.16.1.2 et la FD 409600 qui bien sûr est la même qu’au-dessus.
Et la deuxième ligne, à quoi correspond-elle ? La table nous annonce un Successor, mais nous
affiche deux voisins possibles. A quoi sert le deuxième voisin ?
Nous avons son IP 172.16.2.3 (R3), puis la Feasible distance 435200. Celle-ci est plus élevée
que la FD de R2. Il est donc logique que R1 ai choisi R2 comme Successor au lieu de R3.
Vient ensuite l’Advertised Distance 170496. Encore une fois, c’est la distance annoncée par
R3 pour joindre 10.2.0.0 /22.
Vous avez suivi ? Je vous conseille de relire cette dernière partie deux ou trois fois pour bien
l’assimiler.
En y regardant de plus près, c’est tout à fait normal : les Feasible Distance sont les mêmes !
Quand R1 devra envoyer des paquets vers 172.16.3.0 /24, il enverra un paquet à R2, puis un à
R3, puis un à R2, puis un à R3, etc…
Cela veut dire que la destination est Passive (stable). Le routeur est capable de router des
paquets vers ce réseau.
Quand elle devient Active (symbolisé par un A), cela veut dire que le routeur n’est pas capable
de router des paquets vers cette destination. Il n’a donc plus de Successor. Il envoie alors des
Query pour trouver un nouveau Successor.
Plus tard, lors des Labs, vous aurez l’occasion d’aller voir par vous-même les tables.
La Table de routage
Le plus facile pour la fin !
Dans cette table se trouvent les Next Hop pour chaques destination.
Nous retrouvons l’adresse de la destination, la distance administrative (90 pour les routes
internes).
Nous retrouvons donc un Next Hop dans la table de routage. C’est-à-dire R2, le Successor.
2) Conclusion
Nous avons fini la partie théorique sur EIGRP. Nous avons vu une bonne partie des notions
théoriques à connaitre.