EIGRP vs OSPF

      4 Comments on EIGRP vs OSPF

Hoy voy a tocar un tema polémico. No es extraño entrar en profundas discusiones técnicas con colegas y no llegar a ningún acuerdo. Una de las mas recurrentes es decidir cual de los dos IGP más potentes es mejor: ¿EIGRP u OSPF?. En este artículo expondré mi punto de vista, el cual por supuesto pueden rebatir en los comentarios 😉

Primero que todo definamos qué es ser un “mejor” protocolo. Desde mi punto de vista, un protocolo es mejor que otro si es capaz de:

  • Ser configurado y administrado más fácilmente
  • Reacciona rápido a los cambios topológicos
  • Ofrece flexibilidad para entornos complejos
  • Posee mecanismos de seguridad efectivos
  • Sea adaptable y escalable

Ambos protocolos parecieran tener todos estos elementos, pero veamos más a fondo algunas similitudes y diferencias.

La diferencia más destacable es, como ya sabemos, que OSPF es un estándar de la IETF mientras que EIGRP es un protocolo propietario de Cisco. Aunque hay intenciones por parte de ellos de cambiar esto último creo que se han visto un poco sobrepasados por otros proyectos pero tienen en standby la publicación de los drafts en el IETF, según me contó el mismo Donnie Savage, creador del protocolo EIGRP por Twitter hace algunos meses.

Screen Shot 2015-11-27 at 09.20.27

Por ahora, la primera diferencia es simple: Si se quiere implementar EIGRP, todos los routers deben ser Cisco. Punto. Si en la red existe equipamiento de multiples fabricantes, se debe implementar OSPF. Pero veamos más allá y vámonos a las diferencias técnicas. Omitiré el bochornoso caso de Huawei cuando pirateó descaradamente el protocolo EIGRP y lo llamó HVRP (Huawei Versatile Routing Platform).

Técnicamente EIGRP es un protocolo de vector distancia y OSPF es estado de enlace. ¿Que significa esto en términos simples? Los protocolos de VD solamente conocen hasta los vecinos directamente conectados, mientras que los de EL tienen información completa de la red.

Si vemos la siguiente topología desde la perspectiva de R1, al usar EIGRP este router solamente conocerá las IP de los vecinos R2 y R4 en los enlaces que lo conectan directamente, pero R1 desconoce absolutamente cualquier cosas más allá. Sabe que existe una red 10.x.x.x o 20.x.x.x en algún lugar más allá de esos routers, pero no tiene idea exactamente donde. Ni siquiera es capaz de diferenciar si una de esas IP está en una Loopback de R2 o en un enlace remoto a través de una WAN con una sucursal, salvo por la métrica.

dv1

Lo mismo pasa con los demás routers. En este caso R2 conoce solo a R1 y a R3, pero cualquier cosa más allá EIGRP lo desconoce. No tiene forma de saber cómo será la topología más allá de sus límites.

DV2

Con OSPF es diferente, ya que todos los routers conocen la topología completa, los enlaces que los unen y los estados de los mismos (up, down, etc.)

ospf1

Si revisamos la base de datos de OSPF (show ip ospf database) en cada uno de los routers, veremos que todos tienen exactamente la misma información dentro de la misma área. Así, R1 es perfectamente consciente de que existe un R2, R3, R4 y R5 y además sabe como se interconectan, cuales son sus subredes y mucha más información propia del protocolo de enrutamiento.

Esta diferencia fundamental implica necesariamente que OSPF sea un protocolo mucho más pesado y lento que EIGRP. Cuando ocurre un cambio en la topología, EIGRP solo informa a los vecinos, pero OSPF altera la base de datos de todos los routers y procede a recalcular nuevamente las rutas y a correr el protocolo SPF. Las actualizaciones de enrutamiento, por tanto, son mucho más grandes que en EIGRP.

Los ingenieros del IETF solucionaron en parte este problema dándole la posibilidad a OSPF de trabajar con múltiples áreas. Así, cuando hay un cambio topológico, ese cambio se propaga solamente dentro del área donde ha ocurrido, minimizando el traspaso de actualizaciones muy grandes a todos los routers del sistema autónomo.

ospf2

Esto hace que OSPF rápidamente se convierta en una pesadilla si el administrador no tiene experiencia o si simplemente no planificó su red desde un comienzo. Siempre digo que OSPF es un protocolo gruñón, porque al principio funciona muy bien pero a medida que va creciendo va a comenzar a reclamar y a cobrar sentimientos si no se diseñó correctamente desde un principio. En otras palabras, si su red no tiene un diseño IP correctamente pensado de manera jerárquica y la red ha ido creciendo con parches, sin planificación y más bien improvisando, OSPF le va a cobrar sentimientos porque no le gusta que lo traten así, y al final tendrá una red peor de lo que pensaba.

Comparemos  EIGRP y OSPF en base a su funcionamiento:

Características
 Protocolo  EIGRP  OSPF
 Tipo  Vector Distancia  Estado de Enlace
 Algoritmo  Diffusing Update Algorithm (DUAL)  Shortest Path First (SPF o Dijkstra)
 Distancia Administrativa  5 (Summary), 90 (Internal), 170 (External)  110
 Protocolo IP  88  89
 Soporte IPv6  Sí  Sí (OSPFv3)
 Dirección IP Multicast  224.0.0.10  224.0.0.5 (DR/BDR a DRothers, 224.0.0.6 (DRothers a DR/BDR)
 Métrica  Compuesta (Delay, Bandwidth, Load, Reliability, MTU)  Costo (Bandwidth)
 Autenticación  MD5  Texto plano, MD5
 Convergencia  Instantánea  Lenta
 Escalabilidad en redes de gran tamaño  Baja  Alta
 Interoperabilidad de fabricantes  No  Sí
 Complejidad de troubleshooting  Baja  Alta

Finalmente la decisión de adoptar EIGRP u OSPF en una infraestructura va a depender de múltiples factores, pero yo lo definiría así:

  • Si tengo presupuesto disponible y no tengo problemas en comprar equipamiento más caro: EIGRP
  • Si en mi red existen dispositivos de múltiples fabricantes: OSPF
  • Si lo importante es una red que converga rápido a los cambios: EIGRP
  • Si lo importante es controlar una infraestructura muy grande, aún cuando requiera mayor planificación y diseño: OSPF

Podríamos dedicar un libro completo a este debate, pero este artículo tiene por objetivo solamente evidenciar las diferencias y similitudes entre los dos IGP más comunes y algunos tips para decidirse por uno u otro dependiendo del entorno. Después de todo, la tarea principal del ingeniero en redes es diseñar redes escalables, seguras, flexibles, adaptables, convergentes, resilientes y redundantes; y con ambos protocolos se puede lograr esto, aunque tal vez OSPF requiera más trabajo para asegurar rápida convergencia y optimización de actualizaciones de enrutamiento, EIGRP demanda mayor habilidad para implementarse en redes de gran tamaño ya que carece del concepto de áreas, pero se puede suplir creando límites de redistribución de EIGRP a EIGRP entre distintos sistemas autónomos. Y ustedes, ¿Qué opinan?

  • Ivan L. Lugo

    implemente ospf en base a manuales en una red con equipos de la marca Mikrotik, pero en realidad me deja preocupado un pasaje de tu articulo donde mencionas el buen diseño de la red, que se debe de considerar? gracias de antemano.

    • Hola Iván,
      OSPF es un protocolo muy complejo de administrar en redes grandes. Por lo mismo, hay que considerar un buen diseño para su correcto funcionamiento. Dentro de las cosas más importantes de un buen diseño en OSPF están:
      – Asignación de direccionamiento IP jerárquico correcto (en palabras simples, no tener subredes desparramadas por todos lados sino llevar un orden de los bloques classful de la red)
      – Creación de múltiples áreas cuando sea necesario
      – Creación de áreas tipo Stub o Totally Stub donde sea posible
      – Tratar de no implementar NSSAs o Totally NSSAs donde sea posible (que no sea parte del diseño intencional la idea de tener una NSSA)
      – Evitar los virtual-links

      Esos son algunas de las recomendaciones generales. Más información puedes encontrar en los libros de enrutamiento (Implementing IP Routing) de Cisco en ciscopress.com

      Saludos
      Paulo Colomés

  • Aljobin Cumpa Luis

    ¿En que escenario es factible realizar una configutacion de OSPF Point-to-Point? Y cuales serian sus ventajas o desventajas.

  • Luis Alfaro

    Muy interesante lo que indicas, me ha servido de mucho para ver las diferencias que podemos tener entre optar por Eigrp y Ospf.