Enhanced Interior Gateway Routing Protocol (EIGRP)

23 08 2008

EIGRP es un protocolo de routing híbrido propiedad de Cisco, que posee características de algoritmos de distancia vector y del estado de enlace.

EIGRP envia el actualizaciones del vector de distancias a otras redes (distancia vector), y también sincroniza las tablas de routing con los vecinos al inicio y cuando se producen cambios (protocolo de estado enlace). EIGRP tiene un máximo de hops en 255 (100 por defecto), lo que permite que se use para grandes redes.

Por defecto puede balancear cuatro rutas, pero se pueden configurar hasta seis (de igual coste o no).

Características principales:

  • Soporte para IP, IPV6, IPX y otros protocolos gracias a modulos dependientes (PDMs).
  • Classless routing (sin clases, como IRP v2 y OSPF).
  • Soporte para VLSM (subredes de tamaño variable) y redes discontinuas.
  • Neighbor discovery eficiente.
  • Comunicación via Reliable Transport Protocol (RTP).
  • Selección del mejor camino mediante Diffusing Update Algorithm (DUAL).

Neighbor discovery

Antes de que los routers EIGRP intercambien rutas, han de ser vecinos. Para ello se han de cumplir tres condiciones: recibir un mensaje Hello o ACK, estar en el mismo AS (autonomous system) y misma métrica.

Si están en distintos AS, los routers no compartirán las tablas automáticamente. Además solamente se enviará la tabla de rounting completa la primera vez, luego se enviarán únicamente los cambios que se produzcan.

EIGRP utiliza tres tablas:

  • Tabla de vecinos: cada router mantiene información sobre routers adjacentes.
  • Tabla de topologia: contiene todas los destinos advertidos por los vecinos.
  • Tabla de encaminamiento: rutas que se usan para tomar decisiones de encaminamiento. Se forma a través de la tabla de topología.

Las tablas utilizan estos conceptos:

  • Distancia factible: mejor distancia a la red de destino.
  • Distancia advertida: distancia informada por un vecino hasta la red de destino.
  • Sucesor factible: ruta de backup guardada en la tabla de topología (camino alternativo).

Reliable Transport Protocol (RTP)

Protocolo de capa de transporte para comunicación de mensajes entre routers EIGRP.

Diffusing Update Algorithm (DUAL).

EIGRP usa DUAL para seleccionar y mantener el mejor camino a una red remota. Es el encargado de procesar búsquedas de rutas alternativas.

Configuración

Para habilitar EIGRP en un router, simplemente introducir el AS y las redes conectadas al router:

router(config)# router eigrp AS-number
router(config-router)# network 10.0.0.0

Nota: usar direcciones classful (con clase, con los bits de subred y host a 0).

Para deshabilitar EIGRP de una interfaz usar:

router(config-router)# passive-inteface X

En caso de que dispongamos de un router que no soporte EIGRP, podemos realizar una traducción con el comando redistribute. En caso de configurar una red discontinua necesitaremos añadir el comando no auto-summary de forma que transmitan las subredes.

Troubleshooting

Para ver la tabla de routing:

router# sh ip route

Para ver sólo las entradas eigrp:

router# sh ip route eigrp

Para ver la tabla de vecinos y la tabla de topología:

router# sh ip eigrp neighbors
router# sh ip eigrp topology

Para ver los paquetes Hello enviados entre routers adyacentes:

router# debug eigrp packet

Para ver cambios EIGRP y actualizaciones que se produzcan en la red( no debe mostrar nada si todo funciona correctamente):

router# debug ip eigrp notification

Acciones

Información

6 respuestas

13 05 2009
fede

hola de nuevo,
en el post comentas, “Nota: usar direcciones classful (sin clase, con los bits de subred y host a 0).”, ¿por que, si es un protocolo classles?

esta es la formula que encontre para EIGRP:
[(BW+Delay)*(k5/(confiabilidad+k4)) ]*256=0¡¡¡¡¡,ya que k4 y k5 son 0 por defecto, ¿¿me la puedes aclarar??

Gracias, saluddos:D

14 05 2009
frikeando007

He editado la entrada, gracias :P . Respecto a la métrica de EIGRP:

metric=256*[(K1*bw+((K2*bw)/(256-load))+K3*delay)]*[K5/(reliability+K4)]

(La métrica de EIGRP escala las métricas IGRP por un factor de 256).

Donde:

Los valores de delay y bandwidth son normalizados antes de ser usados para poder compararlos:

scaled bandwidth = (10^7/bandwidth(i)) * 256 donde bandwidth(i) es el menor de todos los links del path

scaled delay = (delay(i)/10) * 256 donde delay(i) es el total de todos los links del path

reliability=de 1 a 255, donde 255 es totalmente confiable

Por defecto los valores de las constantes son K1=1,K2=0,K3=1,K4=0,K5=0, por eso el término [K5/(reliability+K4)] es ignorado y la formula resultante es:

metric = 256 * (bw + delay)

Los pesos se pueden cambiar si es necesario. Sin embargo, los pesos deben ser los mismos en todos los routers!

14 05 2009
fede

¿No deberia decir “Nota: usar direcciones CLASSFULL (CON clase, con los bits de subred y host a 0).”

De todas formas EIGRP permite añadir una “wildcard mask”, opcional, a la direccion de red

Tengo un problema con la formula de EIGRP,
¿si k5/(k4+confiabilidad) es 0, me sale (BW+delay)*(k5/k4) igual a 0?¿Me lo puedes aclarar por favor?

Gracias David:D

16 05 2009
frikeando007

Ahora si que si jeje. Respecto a la formula, sustituye las constantes por defecto K1=1,K2=0,K3=1,K4=0,K5=0:

Formula inicial:
metric=256*[(K1*bw+((K2*bw)/(256-load))+K3*delay)]*[K5/(reliability+K4)]
-> sustituimos
metric=256*[(1*bw+((0*bw)/256-load))+1*delay)]*[0/(reliability+0)]
->
metric=256*[(bw+(0/256-load))+delay)]*[0/(reliability+0)]
-> 0 dividido entre cualkier cosa es 0
metric=256*[(bw+delay)]

Lo que conocemos son las constantes k1..k5, el resto de valores son incognitas. Espero que el proceso quede claro,

un saludo

18 05 2009
fede

Gracias por tu respuesta clara y concisa David:D

me queda una pequeña duda:
¿como eliminas el ultimo factor de la formula(…. * [0/(reliability+0)])?

un salido david

20 05 2009
frikeando007

Cuando me has comentado el factor me ha parecido algo extraño, pues aunque [0/(reliability+0)] es 0 (0 dividido entre cualquier cosa lo es), esta multiplicando el resto de la fórmula por lo que anularía el valor de la métrica.

La respuesta la he encontrado aquí:

http://www.rhyshaden.com/eigrp.htm

El término es ignorado si k5=0! :) .

Deja un comentario