# Enhanced Interior Gateway Routing Protocol

El Protocolo de Enrutamiento de Puerta de enlace Interior Mejorado (en inglés: Enhanced Interior Gateway Routing Protocol o EIGRP) es un protocolo de enrutamiento de vector distancia, propiedad de Cisco Systems, que ofrece lo mejor de los algoritmos de Vector de distancias. Se considera un protocolo avanzado que se basa en las características normalmente asociadas con los protocolos del estado de enlace. Algunas de las mejores funciones de OSPF, como las actualizaciones parciales y la detección de vecinos, se usan de forma similar con EIGRP. Aunque no garantiza el uso de la mejor ruta, es bastante usado porque EIGRP es algo más fácil de configurar que OSPF. EIGRP mejora las propiedades de convergencia y opera con mayor eficiencia que IGRP. Esto permite que una red tenga una arquitectura mejorada y pueda mantener las inversiones actuales en IGRP.

## Características

EIGRP al igual que IGRP usa el siguiente cálculo de métrica:
    Métrica= [K1 * ancho de banda + ((K2 * ancho de banda)/(256-carga))+ (K3 * retardo)]*[K5/(confiabilidad + K4)]. (Nota: Debido a que EIGRP utiliza un campo de métrica de 32 bits, a diferencia de IGRP que es de 24, multiplica este valor por 256).
Los valores por defecto de las constantes son : K1=1, K2=0, K3=1, K4=0, K5=0. Cuando K4 y K5 son 0, la porción [K5/(confiabilidad+K4)] de la ecuación no forman parte del cálculo de la métrica. Por lo tanto, utilizando los valores por defecto de las constantes, la ecuación de la métrica es: Ancho de banda+retardo
Las características más relevantes de EIGRP son:
1- Protocolo de transporte confiable (RTP)
2- Actualizaciones Limitadas
3- Algoritmo de actualización por difusión (DUAL)
4- Establecimiento por adyacencias
5- Tablas de vecinos y topología
Los routers EIGRP mantienen información de ruta y topología a disposición en la RAM, para que puedan reaccionar rápidamente ante los cambios. Al igual que OSPF, EIGRP guarda esta información en varias tablas y bases de datos.
Las rutas reciben un estado y se pueden rotular para proporcionar información adicional de utilidad.
EIGRP mantiene las siguientes tres tablas:
* Tabla de vecinos
    Cada router EIGRP mantiene una tabla de vecinos que enumera a los routers adyacentes. Esta tabla puede compararse con la base de datos de adyacencia utilizada por OSPF. Existe una tabla de vecinos por cada protocolo que admite EIGRP.
* Tabla de topología
    La tabla de topología se compone de todas las tablas de encaminamiento EIGRP recibidas de los vecinos. EIGRP toma la información proporcionada en la tabla de vecinos y la tabla de topología y calcula las rutas de menor costo hacia cada destino. EIGRP rastrea esta información para que los routers EIGRP puedan identificar y conmutar a rutas alternativas rápidamente. La información que el router recibe de los vecinos se utiliza para determinar la ruta del sucesor, que es el término utilizado para identificar la ruta principal o la mejor. Esta información también se introduce a la tabla de topología. Los routers EIGRP mantienen una tabla de topología por cada protocolo configurado de red (como IP, IPv6 o IPX). La tabla de enrutamiento mantiene las rutas que se aprenden de forma dinámica.
* Tabla de encaminamiento
    La tabla de encaminamiento EIGRP contiene las mejores rutas hacia un destino. Esta información se recupera de la tabla de topología. Los routers EIGRP mantienen una tabla de encaminamiento por cada protocolo de red.
A continuación se muestran los campos que conforman la tabla de encaminamiento:
* Distancia factible (FD): Ésta es la métrica calculada más baja hacia cada destino. Por ejemplo, la distancia factible a 32.0.0.0 es 2195456. La distancia de la ruta que está en la tabla de encaminamiento.
* Origen de la ruta: Número de identificación del router que publicó esa ruta en primer lugar. Este campo se llena solo para las rutas que se aprenden de una fuente externa a la red EIGRP. El rotulado de rutas puede resultar particularmente útil con el encaminamiento basado en políticas. Por ejemplo, el origen de la ruta a 32.0.0.0 es 200.10.10.10.
* Distancia informada (RD): La distancia informada (RD) de la ruta es la distancia informada por un vecino adyacente hacia un destino específico. Por ejemplo, la distancia informada a 32.0.0.0 por el vecino 200.10.10.10 es 281600 tal como lo indica (2195456/281600).
* Información de interfaz: La interfaz a través de la cual se puede alcanzar el destino.
* Estado de ruta: El estado de una ruta. Una ruta se puede identificar como pasiva, lo que significa que la ruta es estable y está lista para usar, o activa, lo que significa que la ruta se encuentra en el proceso de recálculo por parte de DUAL.

## Protocolos que utiliza EIGRP

Protocolo de Transporte Confiable (RTP, que no se confundan con el Real-time Transport Protocol), que es un protocolo de capa de transporte que garantiza la entrega ordenada de paquetes EIGRP a todos los vecinos. En una red IP, los hosts usan TCP para secuenciar los paquetes y asegurarse de que se entreguen de manera oportuna. La entrega confiable de otra información de encaminamiento puede realmente acelerar la convergencia porque entonces los routers EIGRP no tienen que esperar a que un temporizador expire antes de retransmitir. Con RTP, EIGRP puede realizar envíos en multicast y en unicast a diferentes pares de forma simultánea. Esto maximiza la eficiencia.
Cuando un router detecta que un vecino no está disponible, intenta encontrar rutas alternativas para todas aquellas que en la tabla de encaminamiento están dirigidas a ese vecino.
El heurístico que se emplea para saber si utilizar una ruta de un vecino o no es comparar la distancia factible de la ruta (la que tenía el router antes de perder la conectividad con el vecino) con la distancia informada por cada vecino alternativo. Si un vecino alternativo tiene una distancia informada menor que la distancia factible, significa que está más cerca que el router que calcula el destino y por tanto no puede dar origen a un bucle porque no puede volver al router que recalcula. En este caso se puede usar como encaminamiento alternativo. Si un vecino tiene una distancia informada mayor que la factible, es posible que su camino hacia el destino pase por el router que hace el recálculo, por lo que no es conveniente utilizarla ya que hay la posibilidad de que de lugar a un bucle de encaminamiento
Cuando no se encuentra un camino alternativo con la información disponible localmente (en terminología EIGRP, no se encuentra un sucesor factible), se desencadena el algoritmo DUAL (Diffusing Update ALgorithm), que es el proceso de búsqueda de rutas alternativas de EIGRP.
El proceso simplificado funciona de la siguiente manera:
El router que ha detectado la caída marca la ruta como parte del proceso de recálculo (la marca como activa, o perteneciente a un proceso de activo de recálculo, como opuesto al proceso pasivo de recibir las tablas de encaminamiento de los vecinos, el proceso estándar). A continuación, pregunta a todos sus vecinos (menos al que está caído) por una ruta alternativa para llegar a ese destino.
Cada vecino que recibe una pregunta por una ruta, mira en su tabla de encaminamiento si tiene alguna ruta para llegar a ese destino que no sea el vecino que pregunta. Si la encuentra, contesta al vecino con ese dato y el proceso se acaba. Si no la encuentra, marca a su vez la ruta como activa y pregunta a su vez a todos los vecinos menos el que originó la pregunta por una ruta alternativa. Si no tiene vecinos, responde que no encuentra una ruta. Así, la pregunta se va difundiendo (lo que da origen al nombre del algoritmo) por toda la parte de la red que sigue accesible, hasta que se encuentra una ruta alternativa o se determina que la ruta no está accesible porque todos los vecinos responden negativamente.
Una de las mejores características de EIGRP es su diseño modular. Se ha demostrado que los diseños modulares o en capas son los más escalables y adaptables. EIGRP logra la compatibilidad con los protocolos enrutados, como IP, IPX y AppleTalk, mediante los PDM. En teoría, EIGRP puede agregar PDM para adaptarse fácilmente a los protocolos enrutados nuevos o revisados como IPv6. Cada PDM es responsable de todas las funciones relacionadas con su protocolo encaminado específico.
El módulo IP-EIGRP es responsable de las siguientes funciones:
* Enviar y recibir paquetes EIGRP que contengan datos IP
* Avisar a DUAL una vez que se recibe la nueva información de encaminamiento IP
* Mantener de los resultados de las decisiones de encaminamiento DUAL en la tabla de encaminamiento IP
* Redistribuir la información de encaminamiento que se aprendió de otros protocolos de encaminamiento capacitados para IP

## Configuración del protocolo

Como se trata de un protocolo propietario que solo es implementado en los routers de Cisco. Es posible detallar aquí la forma de realizar una configuración básica de EIGRP.
1. Use lo siguiente para habilitar EIGRP y definir el sistema autónomo:
El número de sistema autónomo se usa para identificar todos los routers que pertenecen a la internetwork. Este valor debe coincidir para todos los routers dentro de la internetwork.
2. Indique cuáles son las redes que pertenecen al sistema autónomo EIGRP en el router local mediante la siguiente orden:
Network-number es el número de red que determina cuáles son las interfaces del router que participan en EIGRP y cuáles son las redes publicadas por el router. La orden network configura solo las redes conectadas. Por ejemplo, la red 3.1.0.0, que se encuentra en el extremo izquierdo de la figura principal, no se encuentra directamente conectada al router A. Como consecuencia, esa red no forma parte de la configuración del Router A.
3. Al configurar los enlaces seriales mediante EIGRP, es importante configurar el valor del ancho de banda en la interfaz. Si el ancho de banda de estas interfaces no se modifica, EIGRP supone el ancho de banda por defecto en el enlace en lugar del verdadero ancho de banda. Si el enlace es más lento, es posible que el router no pueda converger, que se pierdan las actualizaciones de encaminamiento o se produzca una selección de rutas por debajo de la óptima. Para establecer el ancho de banda para la interfaz, aplique la siguiente sintaxis:
Solo el proceso de encaminamiento utiliza la orden bandwidth y es necesario configurar la orden para que coincida con la velocidad de línea de la interfaz.
4. Cisco también recomienda agregar la siguiente orden a todas las configuraciones EIGRP:
Esta orden habilita el registro de los cambios de adyacencia de vecinos para monitorear la estabilidad del sistema de encaminamiento y para ayudar a detectar problemas.