Este documento es una introducción al conjunto de protocolos de ruteo Interior Gateway Routing Protocol (IGRP) diseñado y desarrollado por Cisco Systems. Este documento debería usarse sólo con el fin de obtener información, como una introducción a la tecnología y no representa una especificación de protocolo o una descripción de producto.
No hay requisitos específicos para este documento.
Este documento no tiene restricciones específicas en cuanto a versiones de software y de hardware.
El IGRP es utilizado en tipos de Internet TCP/IP y de Interconexión de sistema abierto (OSI). La versión original de IP fue diseñada e instalada exitosamente en 1986. Se considera un IGP, pero también se ha utilizado profusamente como protocolo de gateway exterior (EGP) para routing entre dominios. IGRP utiliza tecnología de routing de vector de distancia. El concepto de base es que ningún router necesita saber todas las relaciones de router y enlace de la red completa. Cada router anuncia destinos con una distancia correspondiente. Cada router que escucha la información ajusta la distancia y la propaga a los routers vecinos.
Se representa a la información de distancia en IGRP como un compuesto de ancho de banda disponible, demora, uso de carga y confiabilidad de link. Esto permite afinar las características del link para alcanzar trayectos óptimos.
EIGRP es una versión mejorada de IGRP. La tecnología de vector de igual distancia que se usa en IGRP también se emplea en EIGRP. Además, la información de la distancia subyacente no presenta cambios. Las propiedades de convergencia y la eficacia de operación de este protocolo han mejorado significativamente. Esto permite una arquitectura mejorada y, a la vez, retiene la inversión existente en IGRP.
La tecnología de convergencia está basada en una investigación realizada en SRI International. El algoritmo de actualización difusa (DUAL) es el algoritmo que se utiliza para asegurar que no haya bucles en cada instancia a través del cómputo de una ruta. Esto les permite a todos los routers involucrados en una topología cambiar para sincronizarse al mismo tiempo. Los routers que no se ven afectados por los cambios de topología no se incluyen en el recálculo. El tiempo de convergencia con DUAL compite con el de cualquier otro protocolo de ruteo existente.
EIGRP ha sido extendido para que sea independiente del protocolo de la capa de red, y así permita que DUAL soporte otros conjuntos de protocolos.
EIGRP tiene cuatro componentes básicos:
Recuperación/Detección de vecino
Protocolo de transporte confiable
Máquina de estados finitos DUAL
Módulos dependientes del protocolo
La detección o recuperación de vecinos es el proceso que utilizan los routers para aprender dinámicamente de otros routers conectados directamente a sus redes. Los routers también deben detectar cuando sus vecinos se vuelven inalcanzables o dejan de funcionar. Este proceso se logra con carga general baja al enviar pequeños paquetes de saludo. Mientras se reciben paquetes de saludo, un router puede determinar que un vecino está activo y en funcionamiento. Una vez que esto se determina, los routers de la vecindad pueden intercambiar información del ruteo.
El transporte confiable es responsable de la entrega ordenada y garantizada de paquetes EIGRP a todos los vecinos. Admite la transmisión combinada de paquetes multidifusión y unidifusión. Algunos paquetes EIGRP deben transmitirse de manera confiable, mientras que para otros esto no es necesario. Para mayor eficacia, la confiabilidad sólo se brinda cuando es necesaria. Por ejemplo, en una red de acceso múltiple que tiene capacidades de multidifusión, tal como Ethernet, no es necesario enviar saludos confiables a todos los vecinos en forma individual. Entonces, EIGRP envía un saludo de multidifusión único con una indicación en el paquete que informa a los receptores que dicho paquete no necesita ser reconocido. Otros tipos de paquetes, como las actualizaciones, requieren reconocimiento y eso se indica en el paquete. El transporte confiable tiene un aprovisionamiento para enviar paquetes de multidifusión rápidamente cuando hay paquetes sin acuse de recibo pendientes. Esto ayuda a asegurar que el tiempo de convergencia permanezca lento ante la presencia de links con distintas velocidades.
La máquina de estados finitos DUAL contiene el proceso de decisión de todos los cálculos de rutas. Rastrea todas las rutas anunciadas por todos los vecinos. La información de distancia, conocida como métrica, se usa mediante DUAL para seleccionar trayectos eficientes sin loops. DUAL selecciona las rutas que se insertarán en una tabla de ruteo, según los sucesores factibles. Un sucesor es un router vecino utilizado para el reenvío de paquetes que tenga el trayecto de menor costo a un destino que no es parte de un loop de ruteo. Cuando no existen sucesores factibles, pero si hay vecinos que anuncian el destino, se debe realizar un recálculo. Este es el proceso en el que se determina un nuevo sucesor. La cantidad de tiempo necesario para volver a calcular la ruta afecta el tiempo de convergencia. Aún cuando el recálculo no es un procesador intensivo, resulta ventajoso para evitar el recálculo si no fuera necesario. Cuando ocurre un cambio de topología, DUAL prueba sucesores factibles. Si detecta algún sucesor factible, utilizará el que encuentre a fin de evitar recálculos innecesarios. En este documento se definen con más detalles sucesores factibles.
Los módulos que dependen del protocolo son responsables de los requisitos específicos del protocolo de capa de red. Por ejemplo, el módulo IP-EIGRP es responsable del envío y de la recepción de paquetes EIGRP que son encapsulados en IP. IP-EIGRP es responsable de analizar los paquetes EIGRP e informar a DUAL sobre los nuevos datos recibidos. IP-EIGRP solicita a DUAL efectuar decisiones de ruteo, cuyos resultados se almacenan en la tabla de IP Routing. IP-EIGRP es responsable de redistribuir las rutas aprendidas en otros protocolos de IP Routing.
En esta sección se describen algunos detalles de la implementación de EIGRP de Cisco. En ella se tratan las estructuras de datos y los conceptos de DUAL.
Cada router conserva información de estado de los vecinos adyacentes. Cuando se reconoce a los vecinos recientemente detectados, se registra la dirección y la interfaz del vecino. Esta información está almacenada en la estructura de datos del vecino. La tabla de vecino contiene estas entradas. Hay una tabla de vecino para cada módulo dependiente del protocolo. Cuando un vecino envía un saludo, anuncia un tiempo de espera. HoldTime es la cantidad de tiempo que un router considera a un vecino como alcanzable y en funcionamiento. En otras palabras, si el paquete de saludo no se escucha durante el tiempo de espera, el tiempo de espera caduca. Cuando la retención de tiempo caduca, se informa a DUAL sobre el cambio en la topología.
La entrada de tabla de vecino también incluye información requerida por el mecanismo de transporte confiable. Los números de secuencia se usan para hacer coincidir los reconocimientos con los paquetes de datos. El último número de secuencia recibido del vecino queda registrado de modo que se puedan detectar los paquetes defectuosos. Una lista de transmisión se utiliza para colocar en cola a los paquetes y posiblemente retransmitirlos por vecino. Los temporizadores de ida y vuelta son conservados en la estructura de datos vecina para calcular un intervalo de retransmisión óptimo.
La Tabla de tipologías se completa mediante los módulos dependientes del protocolo y la máquina de estados finitos DUAL la pone en práctica. Contiene todos los destinos anunciados por los routers vecinos. Con cada entrada, está asociada la dirección de destino y una lista de vecinos que han anunciado el destino. Para cada vecino, se registra la métrica anunciada. Esta es la métrica que el vecino almacena en su tabla de ruteo. Si el vecino avisa este destino, debe estar utilizando la ruta para reenviar paquetes. Ésta es una regla importante que deben cumplir los protocolos del vector de distancia.
También está asociada al destino la medición que utiliza el router para llegar al destino. Ésta es la suma de la mejor métrica anunciada de todos los vecinos, más el costo de link al mejor vecino. Esta es la métrica que utiliza el router en la tabla de ruteo y anuncia a otros routers.
Una entrada de destino se mueve desde la tabla de topología hasta la tabla de ruteo cuando existe un sucesor posible. Todos los trayectos de costo mínimo para un destino forman un conjunto. A partir de esto, los vecinos que tienen una medición anunciada menor que la medición de tabla de ruteo actual son considerados sucesores factibles.
Sucesores factibles que un router visualiza como vecinos en sentido descendente con respecto al destino. Estos vecinos y las métricas asociadas se colocan en la tabla de reenvío.
Cuando un vecino cambia la métrica que ha estado anunciando, u ocurre un cambio en la topología de la red, tal vez deba reevaluarse el conjunto de sucesores posibles. No obstante, esto no se califica como un recálculo de la ruta.
Una entrada de la tabla de topología para un destino puede tener uno de dos estados. Se considera que una ruta se encuentra en estado pasivo cuando un router no efectúa un recálculo de ruta. Por el contrario, la ruta se encuentra en estado activo cuando un router está siendo objeto de un recálculo de ruta. Si siempre hay sucesores factibles, una ruta nunca tiene que ingresar a estado activo y evitar un recálculo de la ruta.
Cuando no hay sucesores factibles, la ruta entra en estado activo y vuelve a producirse un cálculo de la misma. Comienza un recálculo de ruta con un router enviando un paquete de consulta a todos los vecinos. Los routers vecinos pueden responder si tienen sucesores factibles para el destino u, opcionalmente, pueden devolver una consulta que indique que están realizando un recálculo de ruta. En el estado activo, un router no puede cambiar el vecino de salto siguiente que está utilizando para reenviar paquetes. Una vez que se reciben todas las respuestas para una consulta determinada, el destino puede realizar la transición al estado pasivo y seleccionar un nuevo sucesor.
Cuando se desactiva un link a un vecino que es el único sucesor posible, todas las rutas a través de ese vecino comienzan un nuevo cálculo de ruta e ingresan en el estado activo.
El EIGRP utiliza cinco tipos de paquetes:
Saludo/Acuse de recibo
Actualizaciones
Consultas
Respuestas
Solicitudes
Como se mencionó anteriormente, los saludos son de multidifusión para la detección/recuperación de vecinos. Esto no requiere de aceptación. Un saludo sin datos también se utiliza como acuse de recibo (ack). Los acuses de recibo siempre se envían utilizando una dirección de unidifusión y contienen un número de acuse de recibo diferente de cero.
Las actualizaciones se usan para comunicar la posibilidad de alcanzar los destinos. Cuando se detecta un vecino, se envían paquetes de actualización para que ese vecino pueda construir una tabla de topología. En este caso, los paquetes de actualización son unidifusión. En otros casos, como un cambio de costo de link, las actualizaciones son de multidifusión. Las actualizaciones siempre se transmiten de forma confiable.
Se envían consultas y respuestas cuando los destinos pasan al estado activo. Las consultas siempre son de multidifusión a menos que se envíen en respuesta a una solicitud recibida. En dicho caso, se envían en unidifusión al sucesor que ha originado la consulta. Las contestaciones son siempre enviadas en respuesta a consultas para indicar al originador que no necesita entrar en estado Activo porque tiene sucesores factibles. Las respuestas se envían en unidifusión al originador de la consulta. Ambas consultas y respuestas se transmiten de manera segura.
Los paquetes de pedido se utilizan para obtener información específica de uno o más vecinos. Dichos paquetes se utilizan en aplicaciones del servidor de ruta. Puede ser por multidifusión o unidifusión. Las solicitudes siempre se transmiten de forma no fiable.
EIGRP tiene la noción de rutas internas y externas. Rutas internas son aquellas que se originaron dentro de un sistema autónomo (AS) EIGRP. Por lo tanto, una red conectada en forma directa y configurada para ejecutar EIGRP se considera una ruta interna y se propaga junto con esta información a través del AS EIGRP. Las rutas externas son aquéllas que han sido detectadas por otro protocolo de routing o residen en la tabla de routing como rutas estáticas. Estas rutas son etiquetadas individualmente con la identidad de su origen.
Las rutas externas se etiquetan con la información siguiente:
El ID del router EIGRP que ha redistribuido la ruta.
El número de AS en el que reside el destino.
Un indicador de administrador configurable.
La ID de protocolo del protocolo externo.
La métrica del protocolo externo.
Indicadores de bit para ruteo predeterminado.
Como ejemplo, suponga que hay un AS con tres routers de borde. Un router de borde es aquél que ejecuta más de un protocolo de ruteo. El AS utiliza EIGRP como protocolo de routing. Supongamos que dos de los routers de borde, BR1 y BR2, utilizan el método de abrir primero el trayecto más corto (OSPF) y el otro, BR3, utiliza el protocolo de información de ruteo (RIP).
Las rutas aprendidas por uno de los routers de borde OSPF, BR1, pueden redistribuirse condicionalmente en EIGRP. Esto significa que el EIGRP que funciona en el BR1 anuncia las rutas OSPF dentro de su AS. Cuando lo hace, anuncia la ruta y la etiqueta como una ruta aprendida de OSPF con una métrica igual a la métrica de la tabla de routing de la ruta OSPF. El ID del router se establece en BR1. La ruta EIGRP se propaga a otros routers de borde. Supongamos que BR3, el router del borde RIP, también anuncia los mismos destinos que BR1. Por lo tanto, BR3 redistribuye las rutas RIP en EIGRO AS. BR2, entonces, tiene suficiente información para determinar el punto de entrada de AS para la ruta, el protocolo de ruteo original utilizado y la métrica. Además, el administrador de la red podría asignar valores de etiqueta a destinos específicos al redistribuir la ruta. BR2 puede utilizar esta información para hacer uso del router o volver a publicarlo en OSPF.
El uso el marcado de ruta EIGRP le puede brindar controles de políticas flexibles a un administrador de red y ayudar a personalizar el ruteo. El marcado de rutas es particularmente útil en AS de tránsito en los cuales el EIGRP suele interactuar con un protocolo de ruteo entre dominios que implementa más políticas generales. Esto se combina para lograr un ruteo muy escalable basado en la política.
EIGRP es compatible con los routers IGRP y puede interoperar con ellos. Se trata de un punto importante, ya que de esta manera los usuarios pueden sacar provecho de ambos protocolos. Las funciones de compatibilidad no requieren que los usuarios tengan un día de indicación para activar EIGRP. EIGRP se puede habilitar cuidadosamente en lugares estratégicos sin la interrupción en el rendimiento de IGRP.
Existe un mecanismo automático de redistribución que se utiliza para importar las rutas de IGRP a EIGRP y viceversa. Dado que las métricas de ambos protocolos se pueden traducir directamente, son fácilmente comparables, como si fueran rutas que se originaron en su propio AS. Además, Las rutas IGRP reciben el tratamiento de rutas externas en EIGRP de modo que las capacidades de etiquetado están disponibles para una sintonización personalizada.
Las rutas IGRP tienen precedencia sobre las rutas EIGRP como opción predeterminada. Esto se puede cambiar con un comando de configuración que no necesita que se reinicien los procesos de routing.
El diagrama de red que se muestra a continuación ilustra el modo en que DUAL converge. El ejemplo hace hincapié sólo en el destino N. Cada nodo muestra su costo a N (en saltos). Las flechas muestran el sucesor del nodo. Entonces, por ejemplo, C usa A para llegar a N y el costo es 2.
Si se produce un error en el link entre A y B, B envía una consulta informando a sus vecinos que ha perdido su sucesor factible. D recibe la consulta y determina si tiene algún otro sucesor posible. Si esto no sucede, se tiene que iniciar un cálculo de ruta e ingresar el estado activo. Sin embargo, en este caso, C es un sucesor factible porque su costo (2) es inferior al costo actual de D (3) al destino N. D puede cambiar a C como su sucesor. Tenga en cuenta que A y C no participaron porque no fueron afectadas por el cambio.
Hagamos que un cálculo de ruta tenga lugar. En este escenario, supongamos que el link entre A y C falla. C determina que perdió a su sucesor y que no tiene a otros posibles sucesores. D no se considera un sucesor factible porque su métrica anunciada (3) es mayor que el costo actual de C (2) para alcanzar el destino N. C debe realizar un cálculo de ruta para el destino N. C envía una consulta a su único vecino D. D responde porque su sucesor no ha cambiado. D no necesita realizar un cálculo de ruta. Cuando C recibe la respuesta, sabe que todos los vecinos han procesado la noticia sobre la falla a N. En este punto, C puede elegir su nuevo sucesor factible D con un costo de (4) para alcanzar el destino N. Tenga en cuenta que A y B no se vieron afectados por el cambio de topología y que D necesitaba simplemente responder a C.
Sí, EIGRP se configura igual que IGRP. Debe configurar un proceso de routing y en qué redes debe ejecutarse el protocolo. Se pueden utilizar los archivos de configuración existentes.
Sí, hay comandos de depuración independientes y dependientes del protocolo que informan lo que está haciendo el protocolo. Existe también un conjunto de comandos show que muestra el estado de la tabla de vecinos, el estado de la tabla de topología y las estadísticas de tráfico EIGRP.
Todas las características que ha utilizado en IGRP están disponibles en EIGRP. Es interesante señalar una función relativa a procesos de routing múltiples. También puede utilizar un proceso único que ejecute tanto IGRP como EIGRP. Puede utilizar procesos múltiples que ejecuten ambos. También puede utilizar un proceso que ejecute IGRP y otro que ejecute EIGRP. Puede combinarlos armónicamente. De esta manera, puede personalizar el routing y adaptarlo a un protocolo concreto, a medida que cambian sus necesidades.
El problema del uso del ancho de banda se ha solucionado mediante la implementación de actualizaciones parciales e incrementales. Por lo tanto, solo cuando se produce un cambio de topología, se envía la información de routing. Con respecto al uso del procesador, la tecnología de sucesor factible reduce en gran medida el uso total del procesador de un AS, ya que requiere solo los routers afectados por un cambio de topología para recalcular la ruta. El recálculo de la ruta solo se produce para las rutas afectadas. Solo se accede y se utilizan esas estructuras de datos. De esta manera, se reduce en gran medida el tiempo dedicado a la búsqueda en las estructuras de datos complejas.
Sí, es compatible. IP-EIGRP realiza la agrupación de rutas de la misma manera que IGRP. Es decir, las subredes de una red IP no se anuncian en otra red IP. Las rutas de la subred se resumen en una única agrupación de número de red. Además, IP-EIGRP permitirá la agregación en cualquier límite de bits en una dirección IP y se podrá configurar en la granularidad de la interfaz de red.
No, un único proceso EIGRP es análogo a un área de un protocolo de estado de enlace. No obstante, dentro del proceso, la información se puede filtrar y agrupar en cualquier límite de interfaz. Si se desea limitar la propagación de la información de routing, se pueden configurar varios procesos de routing para obtener una jerarquía. Dado que el propio DUAL limita la propagación de rutas, se suelen utilizar varios procesos de routing para definir límites organizacionales.