Introducción a OSPF

A continuación veremos qué es OSPF y cómo funciona OSPF en Cisco. Vale aclarar que veremos el protocolo OSPFv2 que es el protocolo de enrutamiento para IPv4.

Qué es OSPF

OSPF (Open Shortest Path First ó en español, El Camino Más Corto Primero) es un protocolo de enrutamiento dinámico interior (IGP – Internal Gateway Protocol -). Usa un algoritmo de tipo Estado de Enlace.

En esencia un protocolo de enrutamiento lo que hace es:

  1. Aprende información de enrutamiento sobre las subredes IP de los routeres vecinos.
  2. Anuncia información de enrutamiento sobre subredes IP a los routeres vecinos.
  3. Si existe más de una ruta posible para llegar a una subred, elije la mejor ruta en base a una métrica.
  4. Si la tipología de la red cambia, por ejemplo si un enlace falla, reacciona anunciando que algunas rutas han fallado y elige la nueva mejor ruta. (Este proceso se denomina convergencia).

Nota: Es recomendable leer esta Parte VI del curso desde el principio ya que se tocan temas relacionados al protocolo OSPF como Vector Distancia y Estado de Enlace o las Métricas y la Distancia Administrativa.

Cómo Funciona OSPF

Los protocolos de estado de enlace (Link State) crean rutas IP con un par de pasos importantes.

Primero, todos los routeres juntos construyen la información sobre la red: routeres, enlaces, direcciones IP, información de estado, etc.

Luego los routeres inundan la red de información, así que todos los routeres conocen la misma información. En ese punto, cada router puede calcular las rutas a todas las subredes, pero desde la perspectiva de cada router.

OSPF organiza la información de la tipología de red utilizando lo que se llaman LSA y la base de datos de estado de enlace (LSDB). Cada LSA es una estructura de datos con alguna información específica sobre la tipología de red; el LSDB es simplemente la una base de datos con la colección de todos los LSA conocidos por un router.

Base de datos de LSA (LSDB)
Base de datos de LSA (LSDB)

La siguiente imagen muestra la idea general del proceso de inundación (flooding), con R8 creando e inundando sus LSAs.

Inundación de mensajes LSA en usando un protocolo de enrutamiento de Estado de Enlace
Inundación de mensajes LSA en usando un protocolo de enrutamiento de Estado de Enlace

Encontrar la Mejor Ruta en OSPF

La información contenida en la base de datos LSDB no indica explícitamente la mejor ruta de cada router para llegar a un destino. Para saber esto tienen que hacer algunas matemáticas.

Todos los protocolos de estado de enlace utilizan un tipo de algoritmo matemático, llamado
Algoritmo de la Dijkstra Shortest Path First (SPF), para procesar la LSDB. Ese algoritmo analiza
(con matemáticas) la LSDB y construye las rutas que el router local debe añadir a la tabla de rutas.

Ésto fue visto en mayor profundidad en la sección Estado de Enlace del capítulo anterior 19.1: Vector Distancia y Estado de Enlace.

Conocer a los Vecinos y Aprender su Identificación de Router

Los routeres OSPF necesitan establecer una relación de vecindad antes de intercambiar actualizaciones de enrutamiento. Los vecinos de OSPF son descubiertos dinámicamente enviando paquetes de mensaje «Hello» a cada interfaz habilitada para OSPF en un router.

Los mensajes «hello» a su vez enumeran el ID de cada router (RID), que sirve como identificador único de cada router OSPF.

Los RID de OSPF son números de 32 bits. Por defecto IOS elige una de las direcciones IPv4 de la interfaz del router para crear el identificador OSPF RID, también se puede configurar directamente.

Los routeres OSPF pueden convertirse en vecinos si están conectados a la misma subred.

Para descubrir otros routeres que hablen OSPF, un router envía paquetes Hello de multicast a cada interfaz y espera recibir paquetes Hello de otros routeres OSPF conectados a esas interfaces.

La siguiente imagen muestra el concepto:

Intercambio de paquetes Hello en OSPF
Intercambio de paquetes Hello en OSPF

Los routeres R1 y R2 envían mensajes Hello al enlace. Continúan enviando Hellos a un intervalo regular basado en la configuración de su temporizador. Los mensajes de Hello por sí mismos tienen las siguientes características:

  • El mensaje Hello sigue el encabezado del paquete IP, con el protocolo IP tipo 89.
  • Los paquetes de Hello se envían a la dirección IP multicast 224.0.0.5, una dirección IP multicast destinada para todos los routeres que hablan OSPF.
  • Los routeres OSPF escuchan los paquetes enviados a la dirección IP multicast 224.0.0.5, en parte con la esperanza de recibir los paquetes de Hello y aprender sobre los nuevos vecinos.

Estado 2-way ó de 2 vías – Lo que sucede en la figura anterior es lo siguiente:

  • El router recibió un Hello del vecino, con el RID de ese router listado como visto por el vecino.
  • El router ha comprobado todos los parámetros del Hello recibido desde el vecino sin problemas. El router está dispuesto a convertirse en un vecino OSPF.
  • Si ambos routeres alcanzan un estado 2-way entre sí, significa que ambos routeres cumplen todos requisitos de configuración de OSPF para convertirse en vecinos. Efectivamente, en ese punto, son vecinos y listos para intercambiar sus LSDB entre ellos.

Estados de Vecinos de OSPF

Antes de establecer una relación vecina, los routeres OSPF deben pasar por varios cambios de estado. Estos estados se explican a continuación:

  1. Estado de inicio (Init): un router ha recibido un mensaje Hello del otro router OSFP
  2. Estado 2-Way: el vecino recibió el mensaje Hello y respondió con un mensaje Hello propio.
  3. Estado Exstart: comienzo del intercambio LSDB entre ambos routeres. Los routeres comienzan a intercambiar información sobre el estado del enlace.
  4. Estado de Exchange: se intercambian los paquetes DBD (Database Descriptor). Los DBD contienen encabezados de LSA. Los routeres utilizarán esta información para ver qué LSA deben intercambiarse.
  5. Estado de Carga (Loading): un vecino envía LSRs (Link State Requests, en español Solicitudes de Estado de Enlace) para cada red que no conoce. El otro vecino responde con las LSU (Link State Updates, en español Actualizaciones de Estado de Enlace) que contienen información sobre las redes solicitadas. Después de haber recibido toda la información solicitada, otro vecino pasa por el mismo proceso
  6. Estado Completo (Full): ambos routeres tienen la base de datos sincronizada y son completamente adyacentes entre sí.

A continuación seguiré profundizando en OSPF, veremos el intercambio de LSBDs entre routeres vecinos.

Calculando la Mejor Ruta en OSPF

Para saber qué rutas agregar a la tabla de enrutamiento, cada router debe hacer algunos cálculos matemáticos usando el algoritmo SPF para elegir las mejores rutas desde la perspectiva de ese router.

Si existe más de una ruta, el router compara las métricas y elige la mejor ruta, es decir la métrica más baja y la agrega a la tabla de enrutamiento.

Con una simple suma se puede calcular la métrica para cada ruta, prediciendo cuál elegirá usando SPF:

La siguiente imagen muestra un ejemplo con tres posibles rutas para R1 llegue a la Subred X (172.16.3.0/24).

Calculo (Costo) de la Mejor Ruta en OSPF
Calculo (Costo) de la Mejor Ruta en OSPF

Nota: OSPF considera el costo de la interfaz de salida (solamente) para cada router. Éste no considera el costo de las interfaces de ingreso.

RutaLocalización en la imagenCosto acumulado
R1–R7–R8Izquierda10 + 180 + 10 = 200
R1–R5–R6–R8Medio20 + 30 + 40 + 10 = 100
R1–R2–R3–R4–R8Derecha30 + 60 + 20 + 5 + 10 = 125
La ruta del medio (R1-R5-R3-

Deja un comentario