EIGRP

EIGRP

Historique :

  • évolution de IGRP
  • initiallement propriété Cisco
  • semble partiellement "ouvert" depuis 2013 ( draft eigrp )
  • se veut une alternative à OSPF pour les réseaux de taille moyenne
  • Transport via "Reliable Transport Protocol" (RTP), propriété Cisco, se veut non lié à IP - (RTP a été porté sur IP, Appletalk, Novell - à ma connaissance)
    • envoie avec ou sans acquittement
    • unicast, multicast
  • adresse multicast utilisée : 224.0.0.10
  • authentification

Message :

  • pas de diffusion régulière des tables

  • envoie de MàJ que si nécessaire

  • n'envoie que la MàJ

  • 5 types de messages

    • hello : création/entretien des relations de voisinage

      • toute les 5 secondes à 244.0.0.10 (délais modifiable)
      • 3 hello sans réponse : voisin parti (down)
    • update : mise à jour déclenchée (ne contient que la modification)

      • nouveau voisin détecté : un update en unicast
    • query/reply : quand une route vers une destination disparait suite à une mise à jour, un routeur demande une nouvelle route à ses voisins. Si le routeur dispose de la route, il répond (unicast), sinon il fait suivre la question. Pendant l'attente des réponses, le demandeur est dans l'état Stuck In Active pour au plus 3 minutes.

    • ack : acquittement des messages update, query et reply

Métrique de EIGRP

m = 256⋅(K1⋅BP + (K2⋅BP)/(256 − Charge) + K3⋅Delai)⋅(K5)/(Fiabilite + K4)

K1 à K5 peuvent prendre la valeur 0 ou 1.

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.

m = 256⋅((107)/(min(bandwidth)) + (delais)/(10))

où :

  • min(bandwidth) est la bande passante minimale le long du chemin, exprimée en kbit/s
  • les délais sont exprimés en microsecondes.
  • il n'est pas conseillé de jouer avec les coefficients (qui doivent etre identiques sur tous les routeurs pour l'établissement des relations de voisinages).

À noter la transmission du MTU, qui n'est pas utiliser dans le calcul des routes.

Algorithme DUAL (rapidement)

  • objectifs :

    • éviter de la formation de boucles,
    • éviter le comptage à l'infini
    • accélération de la convergence,
    • économiser bande-passante.
  • multi-chemins possible avec répartition de charge (non traité ici)

  • reprise rapide pour VOIP/TOIP

  • http://labo-cisco.com/introduction-a-leigrp/

  • Feasible Distance (FD) : distance pour atteindre une destination
  • Advertised Distance (AD) ou Reported Distance : distance annoncée par un voisin vers une destination donnée.
  • Successor : premier saut (next hop) pour une direction
  • Feasible Successor (FS) : s'il existe, successeur de secours : Pour devenir FS, il faut avoir une AD (Advertised Distance) plus faible que la FD (Feasible Distance) du Successor.
  • table des voisins (directement connectés) (interface, SRTT, ...)
show ip eigrp neighbors
  • topology table : mal nommée, contient les destinations connues et pour chacune d'elle avec le "Successor" et si possible le ou les "Feasible Successor"; les destinations marquées P (passive) sont joignables, celles A (Active) sont en cours de recherche.
show ip eigrp topology
  • routing table : route préfixée par D ; distance administrative de 90
show ip route

Mise en oeuvre :

  • Démarrage dans un AS (Autonomous System)
(config)#router eigrp <AS-number>
  • Désactivation du résumé automatique (basé sur les classes)
(config-router)#no auto-summary
  • Déclaration des réseaux à annoncer et des interfaces utilisées
(config-router)#network <IP-address> <wildcard mask>

En première approximation, le <wildcard mask> est l'inverse du masque. L'adresse d'interface du routeur peut etre aussi utilisée (<wildcard mask> : 0.0.0.0).

  • Faire un résumé de route : par interface; cela permet de regrouper des annonces de réseaux contigus en une seule.
(config-if)#ip summary-address eigrp <AS-number> <IP-address> <Netmask>
  • Désactivation des interfaces (sécurités) ; une interface Passive ne transmet pas et refuse les mises à jour, les messages Hello (perte du voisin); par copntre, si l'adresse de l'interface est dans un réseau faisant l'objet d'une commande network, le réseau est toujours annoncé. Deux façons de faire :
    • déactivation par interface (par défaut, actives)
 (config-router)#passive-interface <interface>

+ déactivation globale, activation par interface
(config-router)#passive-interface default
(config-router)#no passive-interface <interface>

Attention, sur un système en production, cela provoque une interruption de service (perte des relations de voisinnages)

  • Authentification :
(config)#key chain EIGRP_KEYS
(config-keychain)#key 1
(config-keychain-key)#key-string cisco
(config-keychain-key)#accept-lifetime 00:00:00 1 jan 2013 00:00:00 1 jan 2014
(config-keychain-key)#send-lifetime 00:00:00 1 jan 2013 00:00:00 1 jan 2014

(config-keychain)#key 2
(config-keychain-key)#key-string LabCisco
(config-keychain-key)#accept-lifetime 00:00:00 30 dec 2013 infinite
(config-keychain-key)#send-lifetime 00:00:00 30 dec 2013 infinite

La première commande crée le "porte-clefs" nommé ici EIGRP_KEYS; la première sera nommée key1, le mot de passe sera cisco et utilisera et acceptera ce mot de passe di 1/1/2013 au 1/1/2014; la seconde nommée key2 sera valable du 30/12/2013 à une date indéterminée (il est conseillé d'avoir un léger recouvrement lors des changements de clef). Bien évidemment, les informations doivent etre identiques sur tous les routeurs souhaitant communiquer entre eux. Une fois la date et l'heure vérifiée sur les routeurs (#clock set ....), il faut activer l'authentification pour chaque interface concernée :

(config-if)#ip authentication mode eigrp <AS-number> md5
(config-if)#ip authentication key-chain eigrp <AS-number> EIGRP_KEYS
  • Équilibrage de charge (pour aller plus loin) : pas abordé cette année