EIGRP - Part 1

Share
EIGRP - Part 1

En nuestro camino como ingenieros de red, nos podemos cruzar con varios temas fundamentales para los examenes de certificacion, como el CCNA o el CCNP ROUTE (300-101). Uno de estos temas es EIGRP. Este post está orientado hacer un review básico de este protocolo, si estas en tus primeros pasos en el networking (CCENT o CCNA), esta información te será de utilidad.

Introduccion

Comenzaremos con la premisa que todo Network Engineer debe saber como dogma de fe: EIGRP es un protocolo propietario de Cisco. Sin embargo, la empresa publicó un RFC acerca del funcionamiento del protocolo. Si quieres saber sobre la arquitectura de EIGRP puedes encontrarlo visitando este link

Adicionalmente, debemos saber que EIGRP usa un algoritmo llamado DUAL para calcular las rutas óptimas. Esto es importante pues cuando veamos la tabla de enrutamiento podremos ver una letra D frente a las rutas, esto indica que la ruta fue aprendida por EIGRP.

En este artículo mostraremos EIGRP a grandes rasgos para poder configurarlo y algo de troubleshooting básico.

Let’s go!

Reuniendo las partes de EIGRP

Para poder invocar a EIGRP es necesario reunir tres partes básicas del mismo, estas se describen a continuación:

  • Sistema Autónomo: Se puede entender como el grupo al que pertenecerán los routers, una hermandad de dispositivos si se quiere ver asi. Para que EIGRP pueda funcionar adecuadamente, todos los routers deben tener el mismo número de sistema autonomo configurado.
  • Subred entre los routers: La subred que identifica a cada interfaz en la conexión entre los routers debe ser anunciada por EIGRP.
  • Valores de K: EIGRP calcula la métrica usando 5 variables en una fórmula algo extensa. No es necesario aprenderse la fórmula de memoria, pero si es buena práctica saber que valor de K corresponde a que caracteristica, aqui el siguiente cuadro lo describe:
Nro. Descripcion Valor por default
K1 Bandwidth 1
K2 Load 0
K3 Delay 1
K4 Reliability 0
K5 MTU 0

Habilitando EIGRP

Para que el poder de EIGRP sea utilizado, debe ser habilitado en las interfaces. Usaremos la siguiente topología para poder entender estos conceptos:

Aqui un show ip interfaces brief para ver las IPs a utilizar en ambos dispositivos:

R1#show ip int brief | ex unassigned
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            10.0.0.1        YES manual up                    up
Loopback0                  1.1.1.1         YES manual up                    up
R2#show ip int brief | ex unassigned
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            10.0.0.2        YES manual up                    up
Loopback0                  2.2.2.2         YES manual up                    up    

NOTA: Las Loopback usaran mascara /32 y las FastEthernet /24

Antes de iniciar con EIGRP, veamos qué sucede si realizamos un ping desde R1 a la Loopback de R2 y viceversa:

R1#ping 2.2.2.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:

.....
Success rate is 0 percent (0/5)R2#ping 1.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:

.....
Success rate is 0 percent (0/5)

Como podrás imaginar, lanzar un ping hacia las Loopbacks falla debido a que esas direcciones no se encuentran en la tabla de enrutamiento de ninguno de los routers. Para resolver esto, debemos tener un protocolo de enrutamiento entre ambos.

Que cual usaremos? Lee el título de este artículo, te dará alguna pista ;)

Invocando a EIGRP

Una vez tenemos las partes y el lugar de invocación (topología) es hora de realizar el ritual de configuración para traer los poderes de EIGRP el prohibido... digo, el protocolo.

Veamos la configuración para R1

R1(config)#router eigrp 10
R1(config-router)#network 10.0.0.0 0.0.0.255
R1(config-router)#network 1.1.1.1 0.0.0.0

Ahora para R2

R2(config)#router eigrp 10
R2(config-router)#network 10.0.0.0 0.0.0.255
R2(config-router)#network 2.2.2.2 0.0.0.0

Veamos que significa cada comando:

  • router eigrp 10: este comando le indica al router que deberá usar el protocolo de EIGRP y a continuación pondremos el número de sistema autónomo, puede ir de 1 a 65535. Recuerda que este número debe ser igual en todos los routers que usaran EIGRP.
  • network 10.0.0.0 0.0.0.0.255: aqui le indicamos que redes son las que participaran en el proceso EIGRP. En este caso, hemos puesto la subred que existe entre los routers para denotar que ambos hablaran EIGRP y se volveran best friends forever...bueno, quizas hasta que el link se caiga. Notaras que luego de la subred, viene un numero que al parecer es la máscara invertida, a este número se le llama wildcard. Por el momento diremos que es la notacion para anunciar las redes y que se calcula sustrayendo la mascara de subred de la direccion broadcast de red (255.255.255.255), esto es, si se quiere calcular la wilcard de una mascara 255.255.255.0 bastara con hacer una diferencia de esta manera:

Broadcast: 255.255.255.255 -
Mascara:    255.255.255.0
Wildcard:   0.0.0.255

Asi es como se obtuvo la wildcard para el su uso en el comando network, con el tiempo desarrollarás la habilidad ocular del sharingan y esto será más sencillo de calcular a simple vista.

Comprobando EIGRP

Veamos si existen rutas aprendidas por EIGRP con el comando show ip route:

En el router R1:

R1#show ip route
Codes: L - local, C - connected, S - static, 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
       i - IS-IS, su - IS-IS summary, 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, + - replicated route

Gateway of last resort is not set
      1.0.0.0/32 is subnetted, 1 subnets
C        1.1.1.1 is directly connected, Loopback0
      2.0.0.0/32 is subnetted, 1 subnets
D        2.2.2.2 [90/156160] via 10.0.0.2, 00:59:34, FastEthernet0/0
      10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C        10.0.0.0/24 is directly connected, FastEthernet0/0
L        10.0.0.1/32 is directly connected, FastEthernet0/0

En el router R2

R2#show ip route
Codes: L - local, C - connected, S - static, 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
       i - IS-IS, su - IS-IS summary, 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, + - replicated route

Gateway of last resort is not set
      1.0.0.0/32 is subnetted, 1 subnets
D        1.1.1.1 [90/156160] via 10.0.0.1, 01:00:29, FastEthernet0/0
      2.0.0.0/32 is subnetted, 1 subnets
C        2.2.2.2 is directly connected, Loopback0
      10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C        10.0.0.0/24 is directly connected, FastEthernet0/0
L        10.0.0.2/32 is directly connected, FastEthernet0/0

Excelente! Como podrás apreciar, la subred de las Loopback son aprendidas por EIGRP, esto se sabe pues la tabla de enrutamiento nos muestra una D que indica que fueron aprendidas por el algoritmo DUAL de EIGRP.

Ahora EIGRP está corriendo y sus poderes son utilizados por los routers lml

Prueba de fuego

Si EIGRP funciona, el ping hacia las Loopbacks deberia ser posible:

R1#ping 2.2.2.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:

!!!!!
Success rate is 100 percent (5/5)R2#ping 1.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:

!!!!!
Success rate is 100 percent (5/5)

Hell yeah! Cheers por EIGRP lml

Conclusiones

En este primer artículo hemos visto un poco de teoría básica y como configurar EIGRP para un primer funcionamiento. En las proximas publicaciones veremos algunos conceptos intermedios y finalmente EIGRP avanzado !

Hasta la proxima :)