Présentation du protocole EIGRP

EIGRP
EIGRP (Enhanced Interior Gateway Routing Protocol) est un protocole de routage développé par Cisco. Cet article reprend les bases de son fonctionnement et de sa configuration.

Introduction

EIGRP est un protocole de routage de type « distance vector » (vecteur de distance) avancé (ou hybride selon les points de vue). Bien que son fonctionnement global ressemble très fort à un protocole de type « distance vector » il dispose d’une série de caractéristiques que l’on retrouve par exemple dans OSPF qui est un « link state protocol » (protocole d’état des lien) comme l’établissement de relations d’adjacence.

Caractéristiques

  • Supporte le VLSM (Variable Length Subnet Mask), c’est donc un protocole de routage « classless ».
  • Fonctionne sur base de l’algorithme DUAL pour une sélection efficace des routes tout en évitant les boucles.
  • Relations d’adjacence avec les routeurs voisins.
  • Transmissions des messages en multicast (224.0.0.10) et unicast
  • Supporte plusieurs protocoles de la couche réseau: IPv4, IPv6, AppleTalk, IPX, …
  • Load-balancing et notamment sur routes ayant des métriques différentes.
  • « Summarization » à n’importe quel endroit du réseau.
  • « Auto-summarization », par défaut, entre réseaux majeurs (entre deux réseaux classfull).
  • Echange des messages entre routeurs assuré par RTP (Reliable Transfer Protocol).
  • Métrique tenant compte de la bande passante et du délai des interfaces. D’autres paramètres peuvent être configurés en plus ( fiabilité et charge de l’interface).
  • Distance administrative pour les routes internes: 90 (valeur par défaut)
  • Distance administrative pour les routes externes: 170 (valeur par défaut)

Fonctionnement

Tout d’abord, EIGRP fonctionne sur base d’un numéro de système autonome ( « Autonomous System
Number » ou « ASN »). C’est-à-dire qu’il pourra uniquement communiquer avec les routers où EIGRP est configuré pour le même ASN.
Ensuite, une fois qu’on l’a activé sur une interface, que ce soit de manière dynamique ou statique, EIGRP tente de découvrir des voisins potentiels pour celà il y envoi des message « HELLO ».
Lorsque deux routeurs reçoivent des messages HELLO l’un de l’autre, ils vérifient alors les conditions d’adjacence afin de décider si oui ou non ils deviendront des voisins EIGRP (neighbors).
Pour que deux routeurs deviennent voisins EIGRP il doivent remplir les conditions suivantes:
  • Fonctionner dans le même AS (Autonomous System), donc être configuré avec le même ASN.
  • Les deux routeurs doivent pouvoir s’envoyer et recevoir des packets IP.
  • Les interfaces doivent être configurées avec une adresse IP dans le même subnet.
  • L’interface concernée ne doit pas être configurée comme passive.
  • Les valeurs K (valeurs qui définissent le calcul de la métrique) doivent correspondre.
  • L’authentification EIGRP (si configurée) doit être passée avec succès.
Si ces différentes conditions sont vérifiées, les deux routeurs se considèrent alors comme voisins EIGRP, ajoutent cette relation dans leur table de voisinage, et commencent à s’échanger des informations.
Lorsqu’une relation de voisins vient de s’établir, chaque routeur commence par envoyer la totalité de ses routes connues pour lesquelles il a une interface active ET configurée dans EIGRP. Par la suite, seules les modifications seront envoyées.
Afin de garantir une certain stabilité, les routeurs s’échangent en permanence des messages HELLO. Ces messages HELLO sont envoyés à intervalles réguliers et ont une durée de vie. Si un des deux routeurs n’a pas reçu de nouveau HELLO avant que la durée de vie du précédent soit écoulée, le routeur voisin est considéré comme défaillant, l’adjacence est rompue et les routes reçues par ce voisin sont retirées de la table de routage.
Chaque routeur garde en mémoire toutes les informations sur les routes reçues de ses voisins et il les stocke dans sa table de topologie. EIGRP utilise ensuite l’algorithme DUAL pour sélectionner la meilleure route vers chaque sous-réseau, calcule la métrique à y associer et place le résultat dans sa table de routage.

La métrique

Par défaut, EIGRP calcule la métrique d’un subnet en tenant compte de la bande passante et du délai des interfaces. D’autres éléments peuvent être configurés pour entrer dans le calcul: la fiabilité de l’interface et la charge de l’interface.
La métrique (avec les paramètre par défaut) se calcule comme suit:
Métrique = ( ( 10.000.000 / PPBP ) + S[délais] ) x 256
PPBP: Plus petite bande passante vers le subnet en kbits/s
S[délais]: Somme des délais des interfaces vers le subnet exprimée en 10µs (dizaine de µs)

« Feasible Distance » et « Reported Distance »

La « Feasible Distance » (FD) est la métrique pour un subnet du point de vue du routeur lui-même, utilisée pour choisir la meilleure route vers ce subnet.
La « Reported Distance » (RD) est la métrique pour un subnet du point de vue du routeur voisin. (La métrique annoncée par le routeur voisin).
Lorsque deux routeurs s’échangent leur topologie, ils envoient des messages de type « Update » contenant une série d’information ( subnet concerné, délai, bande passante, charge de l’interface, fiabilité de l’interface, MTU et nombre de sauts).
Le routeur qui reçoit l’information l’intègre dans sa table de topologie et ensuite calcule la RD du subnet avec ces informations et la FD pour ce subnet. Voici un exemple:
R1 est connecté au subnet 192.168.0.0 / 24 via son interface FastEthernet0/0
R1 et R2 sont connectés via leurs inerfaces Serial 0/0 respectives. (172.16.0.0 / 30)
Le schéma ci-dessous reprend l’update envoyé par R1 à R2 concernant son subnet 192.168.0.0

« Successor » et « Feasible Successor « 

Une des particularité d’EIGRP réside dans le fait qu’il garde dans sa table de topologie toutes les informations reçues de ses voisins, y compris les routes qui n’ont pas été intégrée dans la table de routage. C’est là qu’on rencontre les termes « Successor  » et « Feasible Successor ».
Quand plusieurs routes possibles existent, le « Successor » est la route qui a la plus petite métrique vers le subnet … donc qui a la plus petite « Feasible Distance ». Le routeur qui annonce cette route sera alors le « next-hop », le prochain saut vers ce subnet. C’est cette route qui sera placée dans la table de routage.
Dans certaines conditions, d’autres routes peuvent être considérés comme valides sans pour autant être les meilleures. Ce sont les « Feasible Successors ». Ces routes ne sont, dans une configuration par défaut, pasp lacée dans la table de routage. Toutefois, si le « Successor » actuel devait tomber, EIGRP irait alors directement chercher une alternative dans sa table de topologie parmi les « Feasible Successors ».
Pour qu’une route soit considérée comme « Feasible Successor » il faut que la RD de cette route soit strictement inférieur à la FD de la meilleure route. Exemple: (les valeurs FD et RD sont ici simplifiées et non réalistes afin de rendre la compréhension plus aisée).
Un routeur a, dans sa topolgie, trois routes vers le subnet 192.168.0.0 / 24:
Route n°1 : via 10.0.0.1, RD=1000, FD=2000
Route n°2 : via 10.0.1.1, RD=1500, FD=2750
Route n°3 : via 10.0.2.1, RD=2500, FD=3000
la Route n°1 sera le « Successor », puisque c’est la plus petite FD.
la Route n°2 sera un « Feasible Successor » car RD(route2) < FD(route1)
la Route n°3 ne sera pas un « Feasible Successor », RD(coute3) > FD(route1)

Que se passe-t-il lors d’un accident sur le réseau ?

Il arrive bien entendu qu’une routeur perde une liaison pour une raison x ou y. Que ce soit à cause d’une interface défaillante, d’un voisin qui ne répond plus, … EIGRP va tenter de trouver une solution…
  1. EIGRP analyse sa topologie. Si un ou plusieurs « Feasible Successor » existent, il remplace la route par celle parmi les FS ayant la plus petite FD.
  2. Si EIGRP n’a pas de FS dans sa topologie, il entre dans un processus de requêtes. Il envoi des requêtes à ses voisins à la recherche d’une nouvelle route vers le subnet perdu. Ces voisins, s’ils n’ont pas de solution immédiate à proposer envoient à leur tour des requêtes à leurs propre voisins … etc.
Autant dire que la présence d’un FS dans la topologie permet d’améliorer sensiblement la convergence du réseau.

1.3 . Convergence EIGRP
Maintenant , nous allons voir comment le protocole EIGRP
  • Feasible Distance (FD) = Metric calculé par le routeur local
  • Reported Distance (RD) = Metric calculé par un voisin.
Prenons l’exemple du dessous :^



  • La FD que j’ai calculé afin d’atteindre le réseau A est à 200
  • La RD du routeur de gauche est à 100 , donc ma FD est supérieur à la RD de ce dernier.
  • La RD du routeur de droite est à 300 , donc ma FD est inférieur à la RD de ce dernier.
Conclusion :

  •  il est donc un successeur potentiel (Feasible successor).
  • Si le RD appris par un voisin est plus grande que mon FD, il doit y avoir une boucle réseau. EIGRP  va ignorer ce routeur pour ce réseau.
II. Configuration
  • ÉTAPE 1 : Dans un premier temps , il va falloir rentrer dans le mode de configuration d’EIGRP.
Pour ce faire :
Router(config)#router eigrp X               ! X = Process ID
/!\ Le numéro du process ID a une action sur le protocole EIGRP. /!\
/!\ Numéro de process ID différent entre deux routeurs = pas de relation neighbor /!\
(Contrairement à OSPF)
Nous nous trouvons désormais dans le mode (config-router).

  • ÉTAPE 2 : Se mettre d’accord sur un Router-ID (Exactement comme OSPF)
Chaque processus EIGRP de chaque routeurs possèdent un Router ID. (une adresse IPv4) Ceci leurs permet de pouvoir être identifié lors d’échange de donnée
Le router ID est défini comme suit :
  • Priorité 1 le Router ID renseigner dans le processus EIGRP.

router(config)#router eigrp 1

router(config-router)#router-id 1.1.1.1



  • Priorité 2 : L’adresse IP la plus haute configuré sur nos interface loopback
  • Priorité 3 : L’adresse IP la plus haute configuré sur nos interface physique.
C’est via cette adresse IP que nos routeurs vont être connu par ses neighbors .
  • ÉTAPE 3:  Activer EIGRP sur nos interfaces
Comme OSPF , il faut activer le protocole EIGRP sur nos interfaces afin de commencer à envoyer des packets « Hello » afin de découvrir des neighbor’s.
router(config-router)#network 10.0.0.0 0.0.0.255
Cette ligne de commande active EIGRP sur le réseau 10.0.0.0 /24  (Utilisation du wildcard mask)


router(config-router)#network 10.0.0.0



Cette ligne de commande active EIGRP sur le réseau 10.0.0.0 /8  (sans masque , la classe est prise en compte)
  • ÉTAPE 4:  Vérification
Pour fonctionner , le protocole EIGRP utilise trois tables :
  • Neighbor table
router#show ip eigrp neighbors

la commande ci dessus nous permet d’avoir la liste de nos voisins EIGRP ainsi que leurs « router ID »
  • Topology table
router#show ip eigrp topology

La commande ci dessus nous permet d’avoir TOUTES les routes EIGRP , que ce soit les « Successor » ou les « Feasible Successors ».
Exemple :



0 commentaires:

Enregistrer un commentaire