Open Shortest Path First (OSPF) es un protocolo de enrutamiento jerárquico de pasarela interior (IGP) fundamental en las redes modernas. Su diseño se basa en el algoritmo de Dijkstra de estado de enlace (Link State Advertisement, LSA), permitiendo calcular eficientemente la ruta óptima entre nodos dentro de un sistema autónomo. A diferencia de protocolos más antiguos como RIP, OSPF fue diseñado desde sus inicios para soportar características avanzadas como Variable Length Subnet Masking (VLSM) y Classless Inter-Domain Routing (CIDR), lo que lo convierte en una opción robusta y escalable para redes empresariales de todos los tamaños.

OSPF utiliza una métrica denominada "costo", que se calcula teniendo en cuenta diversos parámetros como el ancho de banda y la posible congestión de los enlaces. Esta métrica permite a los routers tomar decisiones de enrutamiento más informadas, priorizando rutas que no solo son las más cortas en términos de saltos, sino también las más eficientes en cuanto a rendimiento. Además, OSPF construye una base de datos de estado de enlace (Link-State Database, LSDB) idéntica en todos los routers dentro de una misma área, lo que garantiza una visión consistente de la topología de red.
La seguridad es una consideración importante en OSPF. Puede operar de forma segura utilizando autenticación MD5 para verificar la legitimidad de los paquetes antes de aceptar nuevas rutas o actualizar la información de estado de enlace. Esto es crucial para prevenir ataques maliciosos que podrían intentar manipular la topología de la red.
Si bien IS-IS es otro protocolo de estado de enlace popular, especialmente entre los proveedores de servicios, OSPF es el IGP más comúnmente desplegado en redes empresariales grandes. Su evolución ha dado lugar a nuevas versiones, como OSPFv3, que soporta IPv6, y extensiones para multidifusión (MOSPF), aunque estas últimas no han alcanzado una adopción generalizada. OSPF también es capaz de "etiquetar" rutas y propagarlas a través de otras rutas, una característica que puede ser útil en escenarios de red complejos.
Segmentación de Redes con Áreas OSPF
Una de las características más potentes de OSPF es su capacidad para segmentar un sistema autónomo en regiones más pequeñas, conocidas como "áreas". Esta segmentación permite una gestión más eficiente de la red, reduce la carga de procesamiento en los routers y minimiza el tamaño de las tablas de enrutamiento. Existe un área especial, el "área backbone" (normalmente el área 0), que actúa como el núcleo central de la red, a la que todas las demás áreas deben conectarse. Las rutas entre diferentes áreas siempre fluyen a través del backbone, asegurando una conectividad centralizada. Si una conexión directa con el backbone no es factible, se pueden establecer "enlaces virtuales" entre redes para facilitar la comunicación.

Dentro de cada área, los routers mantienen información topológica idéntica en su LSDB. Esto significa que los cambios en una parte de la red dentro de un área no necesariamente afectan a toda la red, y gran parte del tráfico puede ser "empaquetado" y gestionado dentro de su propia área. Esta modularidad es clave para la escalabilidad de OSPF en redes grandes y complejas.
Formación de Adyacencias y Elección de DR/BDR
Los routers OSPF dentro de un mismo dominio de multidifusión o en los extremos de un enlace punto a punto forman "enlaces" o adyacencias cuando se descubren mutuamente. En segmentos de red de tipo broadcast, como Ethernet, los routers participan en un proceso de elección para designar un Router Designado (DR) y un Router Designado de Respaldo (BDR). Estos roles son cruciales para optimizar la comunicación.
El DR actúa como un punto central de intercambio de información de estado de enlace para todos los routers conectados al mismo segmento de red. El BDR actúa como una copia de seguridad, asumiendo el rol de DR si este falla. Esta elección reduce significativamente el tráfico de red, ya que los routers solo necesitan intercambiar información de estado de enlace con el DR y el BDR, en lugar de hacerlo con cada router individualmente. OSPF puede utilizar tanto direcciones de multidifusión (multicast) como de unidifusión (unicast) para enviar paquetes de saludo y actualizaciones de estado de enlace. Las direcciones de multidifusión comúnmente utilizadas son 224.0.0.5 y 224.0.0.6. A diferencia de protocolos como RIP o BGP, OSPF no utiliza TCP ni UDP; en su lugar, se encapsula directamente sobre el protocolo IP, utilizando el número de protocolo "89".
El Proceso de Formación de Adyacencias OSPF
La formación de una adyacencia OSPF entre dos routers es un proceso multifacético que implica varios estados.
- Down (Abajo): El estado inicial. No se ha recibido ningún paquete de saludo del vecino.
- Init (Inicial): El router ha recibido un paquete de saludo de un vecino, pero los parámetros de los paquetes de saludo (como el intervalo de saludo y el intervalo muerto) no coinciden, o el vecino no ha sido incluido en la lista de vecinos.
- Two-way (Bidireccional): Los routers han intercambiado paquetes de saludo y han confirmado que pueden comunicarse mutuamente. En redes de acceso múltiple, en este punto se inicia el proceso de elección de DR/BDR.
- Exstart (Inicio de Intercambio): Uno de los routers (generalmente el que tiene la prioridad más alta o el ID de router más alto) se convierte en el maestro y el otro en el esclavo. Comienza la negociación para el intercambio de la base de datos.
- Exchange (Intercambio): Los routers intercambian paquetes de descripción de base de datos (DBD), que contienen un resumen de sus bases de datos de estado de enlace (LSDB). Cada router compara la información recibida con su propia LSDB para identificar qué enlaces de estado de enlace (LSAs) faltan o están desactualizados.
- Loading (Carga): Los routers envían paquetes de solicitud de estado de enlace (LSR) para solicitar los LSAs completos que les faltan o que necesitan actualizar.
- Full (Completo): Los routers han intercambiado toda la información necesaria y sus LSDB están sincronizadas. Han construido sus tablas de topología y ahora pueden ejecutar el algoritmo SPF para determinar las mejores rutas.
😱OSPF Overview, 👀visión general del protocolo de Estado de Enlace OSPF. 🕵Full IPv4 Routing Course
Paquetes OSPF Clave
Durante este proceso, se utilizan varios tipos de paquetes OSPF:
- Hello (Saludo): Utilizados para descubrir vecinos y mantener la adyacencia. Contienen información como el ID del área, el temporizador de saludo, la prioridad del router y el ID del router. Para que dos routers formen una adyacencia, los intervalos de saludo y muerto en sus paquetes de saludo deben coincidir.
- DBD (Database Description): Contienen una lista abreviada de la LSDB de un router emisor. Los routers receptores los utilizan para comparar con su LSDB local y determinar si necesitan solicitar información adicional.
- LSR (Link State Request): Solicitan LSAs específicos de un router vecino.
- LSU (Link State Update): Contienen los LSAs completos que se envían a los vecinos para actualizar sus LSDB. Se envían cuando se detecta un cambio en la topología o de forma periódica (cada 30 minutos por defecto).
- LSack (Link State Acknowledgment): Confirman la recepción de un LSU.
La Tabla de Topología y el Algoritmo SPF
La tabla de topología OSPF, también conocida como la Base de Datos de Estado de Enlace (LSDB), es una representación completa de la topología de la red dentro de un área OSPF. Cada router dentro de un área OSPF tiene una LSDB idéntica. Esta base de datos es el resultado de la ejecución del algoritmo SPF (Shortest Path First) por parte de cada router.

El algoritmo SPF toma la información de la LSDB y construye un árbol SPF único para cada router. Este árbol representa la ruta más corta desde ese router a todos los demás destinos en la red. La tabla de enrutamiento final de un router se deriva de este árbol SPF y contiene las rutas de menor costo a todas las redes conocidas. A diferencia de EIGRP, OSPF no utiliza el concepto de "rutas sucesoras factibles" en su tabla de topología; su enfoque se centra en calcular la ruta óptima única basada en el costo. Los administradores de red pueden visualizar el contenido de la LSDB utilizando el comando show ip ospf database.
Identificación de Routers: El Router ID
Cada router OSPF dentro de un dominio OSPF debe tener una ID de Router única. Esta ID es un número de 32 bits que se presenta en formato de dirección IP y se utiliza para identificar de forma única al router. Hay un orden de preferencia para la asignación del Router ID:
- Router ID configurado manualmente: El administrador puede configurar explícitamente un Router ID utilizando el comando
router-id <dirección-ip>. Esta es la opción preferida, ya que proporciona un control total sobre la identificación del router. - Dirección IP de una interfaz Loopback: Si no se configura un Router ID manualmente, OSPF elegirá la dirección IP más alta de cualquier interfaz de loopback configurada en el router. Las interfaces de loopback son ideales para este propósito, ya que son estables y no dependen de la conectividad física.
- Dirección IP de una interfaz activa: Si no hay interfaces de loopback configuradas, OSPF utilizará la dirección IP más alta de cualquiera de sus interfaces físicas activas.
Es importante destacar que el Router ID no está directamente relacionado con los cálculos del algoritmo SPF ni con la transición del estado del vecino a "Full". Su propósito principal es la identificación única dentro del proceso OSPF y para facilitar la participación en la elección del DR/BDR.
Temporizadores OSPF: Manteniendo la Conectividad
Los temporizadores juegan un papel crucial en el funcionamiento de OSPF, especialmente en el mantenimiento de las adyacencias de vecinos. Los dos temporizadores principales son el temporizador de saludo (Hello Timer) y el temporizador muerto (Dead Timer).
- Temporizador de Saludo (Hello Timer): Determina la frecuencia con la que un router envía paquetes de saludo a sus vecinos. El valor predeterminado para enlaces punto a punto es de 10 segundos, mientras que para redes de acceso múltiple como Ethernet es de 30 segundos.
- Temporizador Muerto (Dead Timer): Define el período de tiempo que un router esperará sin recibir un paquete de saludo de un vecino antes de declararlo inalcanzable y eliminar la adyacencia. El valor predeterminado del temporizador muerto es cuatro veces el valor del temporizador de saludo. Por ejemplo, si el temporizador de saludo es de 10 segundos, el temporizador muerto será de 40 segundos.

Es fundamental que los temporizadores de saludo y muerto coincidan entre dos routers para que puedan formar una adyacencia. Si estos temporizadores difieren, los routers no podrán establecer una adyacencia, lo que impedirá el intercambio de información de enrutamiento. Un administrador de red puede configurar manualmente estos temporizadores en una interfaz utilizando los comandos ip ospf hello-interval y ip ospf dead-interval.
Cálculo de Costos en OSPF
El costo de un enlace en OSPF se calcula utilizando la siguiente fórmula:
Costo = Ancho de Banda de Referencia / Ancho de Banda de la Interfaz
Donde el Ancho de Banda de Referencia es típicamente de 100 Mbps (100,000,000 bps). OSPF utiliza números enteros para representar el costo. Por lo tanto, para cualquier enlace con un ancho de banda de 100 Mbps o superior, el costo resultante será de 1. Esto significa que los enlaces más rápidos se consideran más deseables y, por lo tanto, tendrán un costo menor.
Por ejemplo, para un enlace serial con un ancho de banda de 1.544 Mbps (T1):
Costo = 100,000,000 bps / 1,544,000 bps ≈ 64.76
Dado que OSPF utiliza enteros, este costo se redondearía a 65.
Para un enlace Ethernet de 1 Gbps (1,000,000,000 bps):
Costo = 100,000,000 bps / 1,000,000,000 bps = 0.1
Este costo se redondearía a 1.
Los administradores de red pueden ajustar el ancho de banda de referencia o el costo de interfaces individuales para influir en las decisiones de enrutamiento de OSPF, priorizando ciertos enlaces sobre otros, incluso si estos últimos tienen un mayor ancho de banda.
Elección de DR y BDR en Redes Multi-Acceso
En redes que soportan múltiples dispositivos conectados a un mismo segmento, como las redes Ethernet, la elección de un DR y un BDR es esencial para la eficiencia de OSPF. Los routers participan en un proceso de elección basado en los siguientes criterios, en orden de precedencia:
- Prioridad del Router: Los routers con una prioridad más alta (valor de 1 a 255) tienen más posibilidades de ser elegidos como DR o BDR. Un valor de prioridad de 0 significa que el router nunca será elegido como DR o BDR. La prioridad predeterminada para la mayoría de los routers Cisco es 1.
- ID del Router: Si varios routers tienen la misma prioridad más alta, el router con la ID de router numéricamente más alta será elegido como DR.
- Dirección IP de la Interfaz: Si las prioridades y las IDs de router son idénticas (lo cual es poco común en implementaciones reales), se utilizará la dirección IP más alta de una interfaz activa (preferiblemente una interfaz de loopback) para desempatar.
Es importante recordar que en enlaces punto a punto, no se requiere la elección de DR/BDR, ya que solo hay dos routers y, por lo tanto, una adyacencia directa.
Configuración Básica de OSPF
La configuración de OSPF implica varios pasos clave:
- Habilitar el proceso OSPF: Esto se hace utilizando el comando
router ospf <process-id>, donde<process-id>es un número localmente significativo (generalmente entre 1 y 65535). - Definir las redes a anunciar: Utilizando el comando
network <network-address> <wildcard-mask> area <area-id>, se especifican las redes conectadas directamente que el router debe anunciar en OSPF. La máscara comodín (wildcard-mask) es lo opuesto a la máscara de subred y se utiliza para indicar qué bits de la dirección de red deben coincidir. Elarea-idespecifica el área OSPF a la que pertenece la red. - Configurar el Router ID (opcional pero recomendado):
router-id <router-id-ip-address>.
Por ejemplo, para configurar OSPF en un router con ID de proceso 1 y anunciar la red 192.168.1.0/24 en el área 0, se usarían los siguientes comandos:
router ospf 1network 192.168.1.0 0.0.0.255 area 0La verificación de la configuración y el estado de OSPF se realiza con comandos como show ip ospf neighbor, show ip route ospf, show ip protocols y show ip ospf interface.
Comandos Clave para la Verificación de OSPF
show ip protocols: Muestra información sobre los protocolos de enrutamiento que se ejecutan en el router, incluyendo OSPF, su ID de router, redes anunciadas, vecinos, temporizadores y distancia administrativa predeterminada.show ip ospf neighbor: Enumera los vecinos OSPF con los que el router ha establecido una adyacencia, mostrando su ID de router, prioridad, estado y el tiempo hasta el próximo paquete de saludo.show ip route ospf: Muestra las rutas que el router ha aprendido a través de OSPF en su tabla de enrutamiento.show ip ospf database: Muestra el contenido de la Base de Datos de Estado de Enlace (LSDB) del router.show ip ospf interface [tipo de interfaz] [número de interfaz]: Proporciona detalles específicos sobre la operación de OSPF en una interfaz determinada, incluyendo los temporizadores de saludo y muerto configurados.
Rutas Predeterminadas en Entornos OSPF
En un entorno corporativo que utiliza OSPF, es común configurar una ruta predeterminada estática en el router que se conecta directamente a Internet (el "edge router" o "gateway"). Este router, a menudo denominado R0-A en diagramas de red, se convierte en el punto de salida hacia redes externas. Luego, esta ruta predeterminada se puede redistribuir dentro del dominio OSPF para que otros routers en la red interna puedan alcanzar destinos fuera de su sistema autónomo.

Consideraciones Adicionales
- OSPFv3 y IPv6: OSPFv3 es la versión de OSPF diseñada para soportar IPv6. Utiliza una estructura de paquetes similar a OSPFv2 pero opera sobre IPv6 y tiene diferencias en la forma en que maneja las adyacencias y la información de enrutamiento. Para habilitar OSPFv3 en una interfaz, se utiliza el comando
ipv6 ospf <process-id> area <area-id>. - Rutas no anunciadas: Si una red LAN no se anuncia explícitamente en la configuración de OSPF de un router, esa red remota no será alcanzable a través de OSPF. Es crucial asegurarse de que todas las redes necesarias estén incluidas en las declaraciones de red OSPF.
- Conectividad de Capa 1, 2 y 3: Si bien comandos como
show ip interface briefypingson útiles para verificar la conectividad en las capas físicas, de enlace de datos y de red, no determinan directamente si se ha establecido una relación OSPF o EIGRP. El comandoshow ip protocolses más adecuado para verificar los parámetros de los protocolos de enrutamiento.
Comprender a fondo el funcionamiento de OSPF, desde la formación de adyacencias hasta el cálculo de rutas y la gestión de áreas, es fundamental para diseñar, implementar y solucionar problemas en redes de cualquier tamaño. La correcta aplicación de sus características permite construir redes eficientes, escalables y resilientes.