User Tools

Site Tools


informatique:cisco:eigrp

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
informatique:cisco:eigrp [2008/12/05 19:31] – Affinage BSCI pteuinformatique:cisco:eigrp [2013/10/14 20:44] (current) – external edit 127.0.0.1
Line 3: Line 3:
 ======EIGRP====== ======EIGRP======
  
-**EIGRP** (Enhanced Interior Gateway Routing Protocol) est un protocole de routage propriétaire CISCO à vecteur de distance.+**EIGRP** (Enhanced Interior Gateway Routing Protocol) est un protocole de routage propriétaire CISCO à vecteur de distance. Sa distance administrative est 90.
  
  
 =====Théorie===== =====Théorie=====
  
-====Les 4 mécanismes-clés====+====Les 4 mécanismes clés====
 //selon Cisco// //selon Cisco//
  
Line 20: Line 20:
   * réduit la consommation de la bande passante par l'envoie d'update partiels   * réduit la consommation de la bande passante par l'envoie d'update partiels
   * **VLSM** (Variable-Length Subnet Masking) support : le protocole diffuse les réseaux avec leur masque (//classless routing protocol//) mais pas par défaut (nécessite ''no auto-summary'')   * **VLSM** (Variable-Length Subnet Masking) support : le protocole diffuse les réseaux avec leur masque (//classless routing protocol//) mais pas par défaut (nécessite ''no auto-summary'')
-  * updates partiels 
   * utilise des paquets Hello pour découvrir ses voisins et connaitre leur état   * utilise des paquets Hello pour découvrir ses voisins et connaitre leur état
   * pour être voisins, 2 routeurs doivent avoir les mêmes constantes K (**K-value**) et le même numéro d'AS   * pour être voisins, 2 routeurs doivent avoir les mêmes constantes K (**K-value**) et le même numéro d'AS
Line 26: Line 25:
   * utilise une adresse multicast pour dialoguer (224.0.0.10) mais peut aussi utilier de l'unicast en spécifiant les voisins à la main   * utilise une adresse multicast pour dialoguer (224.0.0.10) mais peut aussi utilier de l'unicast en spécifiant les voisins à la main
  
-Par défaut EIGRP est capable de faire du partage de charge entre plusieurs (par défaut 4 ; maximum 6) successeurs de même métrique ; en jouant sur la **variance** il peut même le faire sur des routes à métriques différentes. Par défaut la variance vaut 1 ; si on la passe à 2 cela signifie que le routeur fera du partage de charge sur tous les //feasible successors// ayant une métrique <= à la métrique du successeur x2.+Par défaut EIGRP est capable de faire du partage de charge entre plusieurs (par défaut 4 ; maximum 6) successeurs de même métrique ; en jouant sur la **variance** il peut même le faire sur des routes à métriques différentes. Par défaut la variance vaut 1 (le max possible est 128) ; si on la passe à 2 cela signifie que le routeur fera du partage de charge sur tous les //feasible successors// ayant une métrique <= à la métrique du successeur x2.
  
 Le timeout en EIGRP est de 3 min : si un voisin ne répond pas à une demande avant la fin de ce timeout, il est supprimé de la table des voisins. Le timeout en EIGRP est de 3 min : si un voisin ne répond pas à une demande avant la fin de ce timeout, il est supprimé de la table des voisins.
Line 32: Line 31:
 ====Les 3 tables==== ====Les 3 tables====
  
-  * la **table de voisins** : contient la liste des routeurs voisins qui ont établis une adjacence ainsi que l'interface pour les atteindre+  * la **table de voisins** ou **table d'adjacence** : contient la liste des routeurs voisins qui ont établis une adjacence ainsi que l'interface pour les atteindre
   * la **table de topology** : contient tous les routes apprises par les voisins, avec leur FD/AD/voisin associé   * la **table de topology** : contient tous les routes apprises par les voisins, avec leur FD/AD/voisin associé
   * la **table de routage** : contient les meilleures routes vers chaque réseau connu (= successor route)   * la **table de routage** : contient les meilleures routes vers chaque réseau connu (= successor route)
  
-====Les 5 types de paquets=====+====Les 5 types de paquets====
  
-  * Hello : paquet de découverte des voisins, émis toutes les 5 secondes par défaut +  * Hello : paquet multicast de découverte des voisins, émis par défaut toutes les 5s sur les liens rapides et toutes les 60s sur les liens multipoints lents (e.g. NBMA). Le **hold time** est égal à 3 fois le **hello interval**. 
-  * Update : envoyés en multicast +  * Update : envoyés en multicast ou unicast, non périodiques 
-  * Query +  * Query : normalement multicast mais peuvent être en unicast 
-  * Reply +  * Reply : unicast 
-  * ACK : pour acquitter les update, query et reply+  * ACK : paquet unicast pour acquitter les update, query et reply
  
 ====Calcul de la métrique==== ====Calcul de la métrique====
-En EIGRP on utilise la même métrique qu'en IGRP x 256. Elle est calculée grâce a une savante formule qui __peut__ prendre en compte les paramètres de l'interface suivants :+ 
 +La métrique c'est un coût = plus elle est faible, meilleure elle est. En EIGRP on utilise la même métrique qu'en IGRP x 256 (32 bits contre 24 bits pour IGRP). Elle est calculée grâce a une savante formule qui __peut__ prendre en compte les paramètres de l'interface suivants :
   * la bande passante   * la bande passante
   * le délais   * le délais
Line 67: Line 67:
   * **(current) Successor** c'est le "next-hop router" qui a le coût le plus bas et qui est "loop-free"   * **(current) Successor** c'est le "next-hop router" qui a le coût le plus bas et qui est "loop-free"
   * **FS** (Feasible Successor, ou successeur éventuel) : c'est le backup du successor vers un réseau donné ; la condition pour cela est que son AD soit inférieur au FD du successeur. C'est cela qui permet de s'assurer à "100%" que EIGRP est sans boucle. Par défaut il peut y avoir 4 successeurs éventuels (de même FD), mais on peut en spécifier jusqu'à 6. C'est aussi cela qui permet à EIGRP de converger très rapidement (plus qu'OSPF ou IS-IS).   * **FS** (Feasible Successor, ou successeur éventuel) : c'est le backup du successor vers un réseau donné ; la condition pour cela est que son AD soit inférieur au FD du successeur. C'est cela qui permet de s'assurer à "100%" que EIGRP est sans boucle. Par défaut il peut y avoir 4 successeurs éventuels (de même FD), mais on peut en spécifier jusqu'à 6. C'est aussi cela qui permet à EIGRP de converger très rapidement (plus qu'OSPF ou IS-IS).
-  * **SIA** Stuck In Active : indique un problème de convergence pour le réseau associé+  * **SIA** Stuck In Active : indique un problème de convergence pour le réseau associé (dû au fait que les paquets reply ne sont plus reçus, e.g. quand un voisin a sa CPU ou sa mémoire saturée et ne peut pas forger une réponse)
   * **RTO** (Retransmission TimeOut) : temps avant retransmission, si un ACK n'a pas été reçu   * **RTO** (Retransmission TimeOut) : temps avant retransmission, si un ACK n'a pas été reçu
   * **SRTT** (Smoothed Round Trip Time) c'est à peu près le temps d'aller-retour sur un lien   * **SRTT** (Smoothed Round Trip Time) c'est à peu près le temps d'aller-retour sur un lien
-  * **état actif** = dans la table de topologie, état pour une route dont il n'a plus de successor ; dans cet état il envoie des demandes à ses voisins, attend des réponses et la route ne peu plus être utilisée+  * **état actif** = état d'une route dont il n'a plus de successor ni de FS ; dans cet état le routeur envoie des //query// à ses voisins, et passe la route en inatteignable en attendant les //reply//.
   * l'**état passif** à l'inverse indique une route opérationnelle : c'est l'état normal   * l'**état passif** à l'inverse indique une route opérationnelle : c'est l'état normal
  
Line 78: Line 78:
   interface Serial0/0   interface Serial0/0
    description se0/0 vers CoreRouter    description se0/0 vers CoreRouter
-   bandwidth 64000+   bandwidth 64
    ip address 10.140.3.2 255.255.255.0    ip address 10.140.3.2 255.255.255.0
    clock rate 64000    clock rate 64000
  
-Notez que le paramètre bandwidth ne joue pas sur la bande passante réelle du lien, il influe uniquement le calcul de la métrique (car par défaut en EIGRP un lien série est considéré comme ayant une bande passante de T1, soit 1,5Mbps). Par défaut EIGRP ne dépasse pas 50% de la bande passante pour tourner, mais cela peut se configurer par interface (ici pour l'AS 100 on passe à 30% max) :+Notez que le paramètre bandwidth (exprimée en Kbps) ne joue pas sur la bande passante réelle du lien, il influe uniquement le calcul de la métrique (car par défaut en EIGRP un lien série est considéré comme ayant une bande passante de T1, soit 1,5Mbps). Par défaut EIGRP ne dépasse pas 50% de la bande passante pour tourner, mais cela peut se configurer par interface (ici pour l'AS 100 on passe à 30% max) :
   (config-if)#ip bandwidth-percent eigrp 100 30   (config-if)#ip bandwidth-percent eigrp 100 30
  
Line 106: Line 106:
  
 =====Configuration avancée===== =====Configuration avancée=====
 +
 +====Agrégation de routes====
 +
 +Dans certains cas, pour limiter la taille des tables de routage, il peut être intéressant d'agréger les routes : l'endroit stratégique est sur les routeurs de bordure de système autonome (ASBR). Cela se fait par défaut selon le schéma du CIDR, mais comme nous l'avons vu plus haut il vaut mieux désactiver cette fonction. En revanche on peut affiner manuellement cette agrégation, par interface :
 +
 +  Router(config)#int se0/0
 +  Router(config-if)#ip summary-address eigrp 100 10.0.1.0 255.255.0.0 [AD]
 +
 +Dans cet exemple on agrège les routes sur l'interface Se0/0 en annonçant le réseau 10.0.1.0/16. Le paramètre à la fin est optionnel : il s'agit de la distance administrative à annoncer (par défaut la distance administrative des routes EIGRP agrégées est de 5).
 +
 +La métrique d'un agrégat de route est celle qui est la meilleure parmi celles des routes agrégées.
  
 ====Authentification==== ====Authentification====
 +
 Contrairement à OSPF, RIPv2 et IS-IS, EIGRP ne support pas l'authentification par simple mot de passe (qui transite en clair, utilisé surtout pour éviter les modifications de routage accidentelles), mais uniquement par hash MD5 (un digest est généré à partir di key-ID, de la clé et du message). Les clés sont regroupées dans une chaine et peuvent être au nombre de 5 maximum ; dans ce cas la première qui marche sera utilisée. On peut leur spécifier des dates de validité. Dans notre exemple on n'en utilisera qu'une seule (key 1). Contrairement à OSPF, RIPv2 et IS-IS, EIGRP ne support pas l'authentification par simple mot de passe (qui transite en clair, utilisé surtout pour éviter les modifications de routage accidentelles), mais uniquement par hash MD5 (un digest est généré à partir di key-ID, de la clé et du message). Les clés sont regroupées dans une chaine et peuvent être au nombre de 5 maximum ; dans ce cas la première qui marche sera utilisée. On peut leur spécifier des dates de validité. Dans notre exemple on n'en utilisera qu'une seule (key 1).
  
Line 117: Line 129:
 On active l'authentification EIGRP sur chaque interface qui participe au routage de l'AS 100 (il faudra faire de même en face, sur les voisins) : On active l'authentification EIGRP sur chaque interface qui participe au routage de l'AS 100 (il faudra faire de même en face, sur les voisins) :
   Router(config)#int se0/0   Router(config)#int se0/0
 +
   Router(config-if)#ip authentication mode eigrp 100 md5   Router(config-if)#ip authentication mode eigrp 100 md5
   Router(config-if)#ip authentication key-chain eigrp 100 reseau_prod   Router(config-if)#ip authentication key-chain eigrp 100 reseau_prod
  
-====Agrégation de routes==== +====stub router====
-Dans certains cas, pour limiter la taille des tables de routage, il peut être intéressant d'agréger les routes. Cela se fait par défaut selon le schéma du CIDR, mais comme nous l'avons vu plus haut il vaut mieux désactiver cette fonction. En revanche on peut affiner manuellement cette agrégation : cela se configure par interface : +
-  Router(config)#int se0/0 +
-  Router(config-if)#ip summary-address eigrp 100 10.0.1.0 255.255.0.0 [AD]+
  
-Dans cet exemple on agrège les routes sur l'interface Se0/0 en annonçant le réseau 10.0.1.0/16. Le paramètre à la fin est optionnel ; il s'agit de la distance administrative à annoncer.+Un routeur d'impasse ou **stub router** est une routeur "feuille" : c'est un routeur ne connait que ses réseaux //connected/et apprend tout le reste par EIGRPAinsi il ne sert à rien de l'interroger pour tout réseau qui ne lui appartient pas. On le déclare comme stub router afin que les autres routeurs ne le sollicitent pas quand ils perdent une route, ce qui optimise les flux de routage.
  
-====Routeur d'impasse==== +Un routeur stub peut respectivement, juste [recevoir des routes | annoncer ses routes ''connected'' | annoncer ses routes statiques | annoncer ses routes agrégée]
-Un routeur d'impasse ou **stub router** est une routeur "feuille". La plupart du temps un routeur ne connait que ses réseaux //connected// et apprend tout le reste par EIGRP. Ainsi il ne sert à rien de l'interroger pour tout réseau qui ne lui appartient pas. On peut donc déclarer comme stub router afin que les autres routeurs ne le sollicitent pas quand ils perdent une route.+
  
-  (config-router)#eigrp stub+  (config-router)#eigrp stub [receive-only | connected | static | summary]
  
-Un routeur stub ne reçoit pas les queries ; il annonce juste ses routes connectées directement.+(les "|" peuvent s'additionner, par défaut ''connected'' et ''summary'' sont activés).
  
 ====Load-balancing==== ====Load-balancing====
 +
 Comme décrit plus haut EIGRP permet de faire du load-balancing entre plusieurs successeurs (feasible ou non). Pour configurer le nombre maximum de chemin pour le partage de charge : Comme décrit plus haut EIGRP permet de faire du load-balancing entre plusieurs successeurs (feasible ou non). Pour configurer le nombre maximum de chemin pour le partage de charge :
  
Line 144: Line 154:
  
   (config-router)#variance 2   (config-router)#variance 2
 + 
  
-====Stub router==== +====Distance administrative====
-Ou routeur impasse, comme en OSPF, spécifie que ce routeur ne doit pas être sollicité par ses voisins quand ils perdent une route.+
  
-Un routeur stub peut respectivementjuste [recevoir des routes | annoncer ses routes ''connected'' | annoncer ses routes statiques | annoncer ses routes agrégée]+La **distance administrative** détermine la priorité d'une route annoncée par un protocole par rapport aux autres protocoles. C'est un coefficient de confiance attribué à une source (interneexterne à l'AS). On peut la voir dans un ''show ip route'' de la forme [90/45003] : 90 désigne la distance administrative et 45003 la métrique. Par défaut les routes EIGRP internes ont une distance administrative de 90 et les routes EIGRP externes de 170.
  
-  (config-router)#eigrp stub [receive-only | connected | static | summary]+On peut le modifier par la commande : 
 +  (config-router)#distance eigrp <distance_interne> <distance_externe>
  
-(les "|" peuvent s'additionner, par défaut ''connected'' et ''summary'' sont activés).  
  
 =====Vérifications===== =====Vérifications=====
-  Router#sh ip eigrp neighbors +  Router#show ip eigrp neighbors 
 +  
   IP-EIGRP neighbors for process 100   IP-EIGRP neighbors for process 100
   H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq   H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq
Line 162: Line 172:
   0   10.140.3.1              Se0/0             13 00:12:52   22   200  0  175   0   10.140.3.1              Se0/0             13 00:12:52   22   200  0  175
  
-  Router#sh ip protocols +  Router#show ip protocols 
- +  
   Routing Protocol is "eigrp 100"   Routing Protocol is "eigrp 100"
     Outgoing update filter list for all interfaces is not set     Outgoing update filter list for all interfaces is not set
Line 193: Line 202:
     Distance: internal 90 external 170     Distance: internal 90 external 170
  
-  Router#sh ip route eigrp+  Router#show ip route eigrp
        172.16.0.0/24 is subnetted, 1 subnets        172.16.0.0/24 is subnetted, 1 subnets
   D       172.16.31.0 [90/643840] via 10.140.3.1, 00:13:00, Serial0/0   D       172.16.31.0 [90/643840] via 10.140.3.1, 00:13:00, Serial0/0
Line 214: Line 223:
        192.168.2.0/24 is variably subnetted, 3 subnets, 3 masks        192.168.2.0/24 is variably subnetted, 3 subnets, 3 masks
   D       192.168.2.0/24 is a summary, 00:13:00, Null0   D       192.168.2.0/24 is a summary, 00:13:00, Null0
- 
        192.168.3.0/24 is variably subnetted, 3 subnets, 2 masks        192.168.3.0/24 is variably subnetted, 3 subnets, 2 masks
   D       192.168.3.0/24 [90/41152000] via 10.140.3.1, 00:13:00, Serial0/0   D       192.168.3.0/24 [90/41152000] via 10.140.3.1, 00:13:00, Serial0/0
  
-  Router#sh ip eigrp interfaces+  Router#show ip eigrp interfaces
   IP-EIGRP interfaces for process 100   IP-EIGRP interfaces for process 100
      
Line 227: Line 235:
   Se0/0              1        0/0        22       0/          93           0   Se0/0              1        0/0        22       0/          93           0
   Se0/1              0        0/0               0/        1241           0   Se0/1              0        0/0               0/        1241           0
 +
  
 =====Debug===== =====Debug=====
 +
   debug eigrp neighbors   debug eigrp neighbors
   debug eigrp packets   debug eigrp packets
informatique/cisco/eigrp.1228505508.txt.gz · Last modified: 2013/10/14 20:51 (external edit)