Enhanced Interior Gateway Routing Protocol (EIGRP), es un protocolo vector distancia que fue lanzado por Cisco en 1992, con el fin de reemplazar su antiguo protocolo IGRP (obsoleto en la versión de IOS 12.3).

En un principio, y por muchos años, EIGRP fue un protocolo propietario de Cisco, pero en el año 2013, Cisco lanza un draft en la IETF para que este se vuelva un protocolo multi-vendor (cabe destacar, que Cisco aún mantiene el control de EIGRP, y  no ha liberado ciertas características avanzadas).

Muchos especifican que es un protocolo híbrido (vector distancia y estado enlace), pero por su comportamiento básico de como aprende sobre las redes, se puede determinar que es un protocolo vector distancia, porque sabe sobre la red, en base a lo que sus vecinos directamente conectados le enseñan.

La gran diferencia que existe entre EIGRP con otros protocolos vector distancia (como RIP), es que toma características de los protocolos estado enlace para mejorar su funcionamiento, y por lo mismo se denomina a EIGRP como un protocolo vector distancia avanzado.

Dentro de sus características se encuentran las siguientes:

  • Soporte de múltiples protocolos de capa de red
  • Es considerado como protocolo classless
  • Soporta VLSM/CIDR, sumarización y redes discontinua
  • Establece adyacencias con los vecinos
  • Updates limitados
  • Posee un protocolo de transporte confiable
  • Utiliza tablas de vecinos y topológicas
  • Convergencia rápida gracias a su algoritmo DUAL
  • Balanceo de carga de mismo costo y, además, de costo desigual
  • Autenticación

Como se mencionó, EIGRP soporta múltiples protocolos de capa de red (IPv4, IPv6, IPX, AppleTalk), y esto lo hace gracias a PDM (Protocol-Dependent Module).

Estos módulos dependientes del protocolo, son los encargados de las tareas específicas de los protocolos de esta capa (L3). Las tareas de los PDM son:

  • Mantener las tablas de vecinos y de topología
  • Construir y traducir paquetes específicos del protocolo para DUAL
  • Conectar a DUAL con la tabla de enrutamiento definida para el protocolo
  • Calcular la métrica y pasar esa información a DUAL
  • Implementar listas de filtrado y de acceso
  • Realiza la redistribución hacia otros protocolos
  • Redistribuir las rutas de protocolos

Con PDM, se generan tablas de vecinos, topología y de enrutamiento independiente para cada protocolo, como se observa en la siguiente imagen:

Como EIGRP fue diseñado para soportar protocolo que trabajan en TCP/IP y protocolos que no pertenecen a este stack, como lo son IPX y AppleTalk, no utiliza un protocolo de transporte como TCP o UDP, si no, que este utiliza el protocolo RTP (Reliable Transport Protocol).

RTP trabaja como UDP y TCP a la vez ¿por qué?, porque EIGRP utiliza RTP para enviar mensajes (como los Hello), los cuales no se necesita una confirmación de que estos llegaron a su destino (no orientado a la conexión como UDP), pero a diferencia, los paquetes update si necesitan una confirmación de que estos mensajes llegaron a destino (orientado a la conexión como TCP).

En IP, el protocol number para EIGRP es el 88, el cual puede utilizarse para permitir el protocolo cuando se realizan filtros.

Junto con esto, RTP permite enviar los paquetes de EIGRP como unicast, o como multicast:

  • Multicast IPv4: 224.0.0.10
  • Multicast IPv6: FF02::A