lunes, 31 de mayo de 2010

EIGRP (Enhanced Interior Gateway Routing Protocol) parte 1

El protocolo Enhanced Interior Gateway Routing Protocol híbrido, es decir, con características de un protocolo vector-distancia y de uno de estado del enlace; es propietario de Cisco, y podemos encontrar la descripción técnica en la página de Cisco.


EIGRP

Descarga esta topología aquí
EIGRP es un protocolo vector-distancia mejorado, classless, y que nos da una mejora sobre el protocolo IGRP. Usa el concepto de sistema autónomo (AS) para describir al conjunto de routers contiguos que ejecutan el mismo protocolo de ruteo y comparten información de ruteo. EIGRP incluye la ma´scara de red en sus anuncios de las rutas, a diferencia de IGRP, lo que nos permite usar VLSM y sumarizar las redes.

EIGRP es híbrido porque tiene características de los protocolos de link-state también, aunque no envía paquetes con el estado del enalce como OSPF, pero envía updates similares a los de protocolos link-state de las rutas, donde incluyen el costo desde la perspectiva del router que anuncia la ruta. También sincroniza las ablas de ruteo de los vecinos al arrancar y envía actualizaciones de cambios específicos cuando éstos ocurren; lo que hace a EIGRPuna solución óptima para redes grandes. Tiene un límite de saltos de 255 (el default es 100).

Otras de sus ventajas son:
  • Soporta IPv6.
  • Se considera classless, como RIPv2 y OSPF.
  • soporta VLSM y CIDR.
  • Soporta sumarización y redes discontiguas.
  • Descubrimiento eficiente de vecinos.
  • Se comunica con Reliable Transport Protocol.
También puede usar módulos dependientes del protocolo (PDM) para dar soporte de ruteo a protocolos como AppleTalk, IPv6, IPX, etc. Ésto se logra a través del uso de módulos (PDM) que manienten una serie de tablas de ruteo que aplican para un protocolo específico; es decir, tenemos una tabla de ruteo IP/EIGRP, una IPv6/EIGRP, una AppleTlak/EIGRP, etc. El único protocolo que se aproxima a ésto es Intermediate-System-to-Intermediate-System (IS-IS).

Para establecer un vecino (Neighbor) se deben cumplir 3 condiciones:
  • Recibir un Hello o un ACK
  • Que el número de AS coincida
  • Métricas idénticas (valores K)

Los protocolos de estado del enlace usan paquetes Hello para establecer lavecindad o adyacencia, porque no envían normalmente actualizaciones periódicas de rutas, y debe existir un mecanismo para ayudar a los vecinos a darse cuenta cuando un nuevo peer entra en juego o alguno existente se va "down". Para mantener la relación de vecindad, los routers de EIGRP deben continuar recibiendo esos paquetes Hello. De la topología mostrada podemos ver los paquetes Hello en HQ:

HQ#debug eigrp packets
EIGRP Packets debugging is on
(UPDATE, REQUEST, QUERY, REPLY, HELLO, ACK )
HQ#
EIGRP: Received HELLO on Serial0/0/1 nbr 10.1.3.2
AS 25, Flags 0x0, Seq 52/0 idbQ 0/0
EIGRP: Received HELLO on Serial0/1/1 nbr 10.1.5.2
AS 25, Flags 0x0, Seq 18/0 idbQ 0/0
EIGRP: Sending HELLO on Serial0/0/0
AS 25, Flags 0x0, Seq 25/0 idbQ 0/0 iidbQ un/rely 0/0
EIGRP: Sending HELLO on Serial0/0/1
AS 25, Flags 0x0, Seq 25/0 idbQ 0/0 iidbQ un/rely 0/0
EIGRP: Received HELLO on Serial0/1/0 nbr 10.1.4.2
AS 25, Flags 0x0, Seq 39/0 idbQ 0/0
EIGRP: Requeued unicast on Serial0/1/1
EIGRP: Received ACK on Serial0/1/0 nbr 10.1.4.2
AS 25, Flags 0x0, Seq 0/139 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/0
EIGRP: Sending UPDATE on Serial0/1/0 nbr 10.1.4.2
AS 25, Flags 0x0, Seq 141/97 idbQ 0/0 iidbQ un/rely 0/0
EIGRP: Received REPLY on Serial0/1/1 nbr 10.1.5.2
AS 25, Flags 0x0, Seq 18/144 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/0
EIGRP: Sending ACK on Serial0/1/1 nbr 10.1.5.2
AS 25, Flags 0x0, Seq 0/18 idbQ 0/0 iidbQ un/rely 0/0

Cuando los routers son de sistemas autónomos diferentes, no comparten su información de ruteo automáticamente y no se vuelven "vecinos"; ésto ayuda a que en redes grandes no se propaguen de manera indeseada ciertas rutas; aunque podemos hacer la redistribución manual entre diferentes AS.

EIGRP anuncia su tabla de ruteo entera sólo al encontrar un nuevo vecino y formar una nueva adyacencia mediante el intercambio de packetes Hello. Al recibir las actualizaciones, el router las guarda en una tabla de topología local, donde se guardan todas las rutas conocidas, y de ahí se seleccionan las mejores rutas que formarán la tabla de ruteo.

Algunos términos importantes:
  • Feasible Distance: la mejor métrica entre todas las rutas que conocemos a un destino, incluyendo la métrica al vecino que está anunciando esa ruta. Es la ruta que encontramos en la tabla de ruteo. La métrica es la que reporta el "vecino" más la métrica del vecino reportando la ruta. Es el primer número entre paréntesis.
  • Reported/advertised distance: es la distancia o métrica a una red remota, como la anuncia un vecino. Es también la métrica de la tabla de ruteo y es el segundo número de los dos que aparecen entre paréntesis:
HQ#show ip eigrp topology
IP-EIGRP Topology Table for AS 25


Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
r - Reply status

P 10.1.1.0/24, 1 successors, FD is 28160
via Connected, FastEthernet0/1
P 10.1.3.0/30, 1 successors, FD is 5511936
via Connected, Serial0/0/1
P 10.1.4.0/30, 1 successors, FD is 5511936
via Connected, Serial0/1/0
P 10.1.2.0/30, 1 successors, FD is 5511936
via Connected, Serial0/0/0
P 10.1.5.0/30, 1 successors, FD is 5511936
via Connected, Serial0/1/1
P 10.1.6.0/24, 2 successors, FD is 5514496
via 10.1.3.2 (5514496/28160), Serial0/0/1
via 10.1.2.2 (5514496/28160), Serial0/0/0
P 10.1.7.0/24, 2 successors, FD is 5514496
via 10.1.3.2 (5514496/28160), Serial0/0/1
via 10.1.2.2 (5514496/28160), Serial0/0/0
P 10.1.8.0/24, 1 successors, FD is 5514496
via 10.1.4.2 (5514496/28160), Serial0/1/0
P 10.1.9.0/24, 1 successors, FD is 5514496
via 10.1.4.2 (5514496/28160), Serial0/1/0
P 10.1.10.0/24, 1 successors, FD is 5514496
via 10.1.5.2 (5514496/28160), Serial0/1/1
P 10.1.12.0/24, 1 successors, FD is 5514496
via 10.1.5.2 (5514496/28160), Serial0/1/1
P 10.1.11.0/30, 1 successors, FD is 5514496
via 10.1.5.2 (5514496/28160), Serial0/1/1
  • Topology Table: La tabla de topología se llena con los PDM y actúan sobre el Diffusin Update Algorithm (DUAL). Contiene todos los destinos anunciados por los routers vecinos, guardando cada dirección de destino y una lista de los vecinos que han anunciado esa red de destino. Para cada vecino, la métrica anunciada, que viene sólo de la tabla de ruteo del vecino, es grabada. Si el vecino anuncia el destino es porque está usando esa ruta para reenviar paquetes.
  • Neighbors table: Es la información de los routers adyacentes, se incluye la IP y la interfase de cada vecino que forma una adyacencia, se almacena en la RAM (también la tabla de topología está en la RAM). Hay una tabla de vecinos por cada PDM. Se usan números de secuencia en los paquetes de actualización, así podemos detectar los paquetes fuera de orden.
HQ#show IP eigrp neighbors
IP-EIGRP neighbors for process 25
H____Address____Interface__Hold Uptime__SRTT__RTO__Q__Seq
_________________________(sec)________(ms)________ Cnt Num
0____10.1.3.2___Ser0/0/1___13 00:03:00___40___1000___0___21
1____10.1.4.2___Ser0/1/0___12 00:03:00___40___1000___0___19
2____10.1.5.2___Ser0/1/1___13 00:03:00___40___1000___0___17
3____10.1.2.2___Ser0/0/0___13 00:03:00___40___1000___0___22

  • Feasible Successor: Es la trayectoria que reporta una distancia que es menor que la Feasible Distance, y se considera una ruta de respaldo. EIGRP mantendrá hasta 6 feasible successors en la tabla de topología. Sólo el de mejro métrica (sucesor) es copiado y guardado en la tabla de ruteo. En la tabla de topología podemos ver los posibles sucesores.
  • Successor: es la mejor ruta a una red remota; y es la que es copiada de la tabla de topología y se guarda en la tabla de ruteo. Es la ruta que EIGRP usará para reenviar tráfico a un destino específico y se guarda en la tabal de ruteo. Se respalda con una feasible successor route en la tabla de topología.

En resumen; un router arranca y ejecuta EIGRP, envía Hello packets, si sus interfases están conectadas a un router ejecutando EIGRP en el mismo sistema autónomo, se formará una adyacencia. Por ser el primer contacto, intercambiarán la información de la tabla de ruteo completa y durante la operación posterior sólo mandarán actualizaciones a esas rutas. Todas las rutas que un ruoter conozca de este proceso, formarán parte de la tabla de topología, y de ahí se tomarán las mejores rutas (con la métrica menor) para formar la tabla de ruteo, y se elegirá un posible sucesor, si es posible,para cada ruta (feasible successor). También hay una tabla de vecinos ejecutando EIGRP con la información de las IP's y la interfase por la que se conoce a dicho vecino.

De la siguiente tabla de ruteo podemos observar la distancia administrativa y la métrica (feasible distance) que le da EIGRP a cada ruta; misma que viene en la tabla de topología. La última ruta tiene la etiqueta EX porque se trata de una ruta estática en R3 que yo di de alta manualmente para redistribución.

HQ#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route

Gateway of last resort is not set

10.0.0.0/8 is variably subnetted, 12 subnets, 2 masks
C 10.1.1.0/24 is directly connected, FastEthernet0/1
C 10.1.2.0/30 is directly connected, Serial0/0/0
C 10.1.3.0/30 is directly connected, Serial0/0/1
C 10.1.4.0/30 is directly connected, Serial0/1/0
C 10.1.5.0/30 is directly connected, Serial0/1/1
D 10.1.6.0/24 [90/5514496] via 10.1.3.2, 00:28:27, Serial0/0/1
[90/5514496] via 10.1.2.2, 00:28:27, Serial0/0/0
D 10.1.7.0/24 [90/5514496] via 10.1.3.2, 00:28:27, Serial0/0/1
[90/5514496] via 10.1.2.2, 00:28:27, Serial0/0/0
D 10.1.8.0/24 [90/5514496] via 10.1.4.2, 00:28:27, Serial0/1/0
D 10.1.9.0/24 [90/5514496] via 10.1.4.2, 00:28:27, Serial0/1/0
D 10.1.10.0/24 [90/5514496] via 10.1.5.2, 00:28:27, Serial0/1/1
D 10.1.11.0/30 [90/5514496] via 10.1.5.2, 00:28:27, Serial0/1/1
D EX 10.1.12.0/24 [170/5514496] via 10.1.5.2, 00:28:27, Serial0/1/1

2 comentarios :