OSPF (Open Shortest Path First) es el protocolo de enrutamiento dinámico más utilizado en las redes de empresa. Los routers que lo ejecutan se descubren entre sí, intercambian información sobre sus enlaces y calculan por su cuenta el mejor camino hacia cada red. Si un enlace falla, las rutas se recalculan sin intervención del administrador. En este artículo se explica cómo funciona y cómo se configura, con un ejemplo completo.
Qué es OSPF
OSPF es un protocolo de estado de enlace, estándar y abierto (RFC 2328 para IPv4), por lo que funciona entre equipos de fabricantes distintos. A diferencia de los protocolos de vector de distancia como RIP, cada router conoce la topología completa de su área y calcula las rutas con el algoritmo SPF de Dijkstra. Para IPv6 existe OSPFv3. Su distancia administrativa es 110.
- Convergencia rápida: detecta los cambios y recalcula en pocos segundos.
- Escalable: se divide en áreas para limitar el tamaño de las bases de datos.
- Sin bucles dentro de un área, porque todos los routers comparten la misma visión.
- Métrica basada en el ancho de banda de los enlaces.
Cómo funciona, paso a paso
- Descubrimiento de vecinos: los routers envían paquetes Hello por sus interfaces OSPF, a la dirección multicast 224.0.0.5.
- Adyacencias: si los parámetros coinciden, los vecinos intercambian sus bases de datos y llegan al estado Full.
- Base de datos de estado de enlace (LSDB): cada router anuncia sus enlaces con mensajes LSA, que se propagan por el área. Al final, todos los routers del área tienen la misma LSDB.
- Cálculo SPF: cada router calcula el árbol de caminos más cortos con él mismo como raíz.
- Tabla de rutas: los mejores caminos se instalan en la tabla de enrutamiento.
Los paquetes OSPF viajan directamente sobre IP, con el número de protocolo 89, y son de cinco tipos: Hello, descripción de la base de datos (DBD), petición de estado de enlace (LSR), actualización (LSU) y confirmación (LSAck).
El router ID
Cada router OSPF se identifica con un router ID de 32 bits, con formato de dirección IPv4, que debe ser único. Si no se configura, el router elige la dirección IP más alta de sus interfaces de loopback y, si no hay, la más alta de sus interfaces activas. Lo recomendable es configurarlo a mano, para que no cambie si se modifica una dirección.
El costo y el ancho de banda de referencia
OSPF elige el camino de menor costo total, que es la suma de los costos de las interfaces de salida. El costo de cada interfaz se calcula como el ancho de banda de referencia dividido entre el de la interfaz. Por defecto, la referencia es de 100 Mbps en Cisco y en Huawei, de modo que una interfaz de 1 Gbps y una de 10 Gbps tienen el mismo costo que una de 100 Mbps. Para distinguirlas hay que aumentar la referencia en todos los routers (por ejemplo, a 10 Gbps), o fijar el costo a mano en las interfaces.
| Velocidad | Costo con referencia de 100 Mbps (por defecto) | Costo con referencia de 10 Gbps |
|---|---|---|
| 10 Mbps | 10 | 1000 |
| 100 Mbps | 1 | 100 |
| 1 Gbps | 1 | 10 |
| 10 Gbps | 1 | 1 |
Vecinos y adyacencias
Dos routers solo forman una adyacencia si coinciden varios parámetros. Los estados por los que pasa una relación entre vecinos son:
Los parámetros que deben coincidir son el área, la máscara de la red (en redes multiacceso), los temporizadores hello y dead (10 y 40 segundos por defecto en Ethernet), el tipo de área y la autenticación. Además, el router ID debe ser único y la MTU de ambos extremos, igual.
DR y BDR en redes multiacceso
En una red Ethernet con varios routers, no tendría sentido que todos se hicieran adyacentes entre sí. Por eso se elige un router designado (DR) y un router designado de respaldo (BDR): los demás (DROther) solo intercambian información completa con ellos, a través de la dirección 224.0.0.6. Gana la elección el router con mayor prioridad (1 por defecto; 0 significa que nunca será DR) y, si hay empate, el de mayor router ID. La elección no es expulsiva: un router con mejor prioridad que se conecte después no sustituye al DR actual.
En un enlace Ethernet entre solo dos routers no hace falta esa elección. Se evita configurando la interfaz como red punto a punto.
Áreas y tipos de router
Para que OSPF escale, la red se divide en áreas. El área 0 es el backbone, y todas las demás áreas deben conectarse a ella. Los routers se clasifican según su papel:
- Router interno: todas sus interfaces están en la misma área.
- ABR (Area Border Router): conecta varias áreas y resume la información entre ellas.
- ASBR (Autonomous System Boundary Router): introduce rutas externas, de otro protocolo, de rutas estáticas o de BGP.
La información se transporta en distintos tipos de LSA:
| Tipo | Nombre | Lo genera | Alcance |
|---|---|---|---|
| 1 | Router | Cada router | Dentro del área |
| 2 | Network | El DR | Dentro del área |
| 3 | Summary | ABR | Entre áreas |
| 4 | ASBR summary | ABR | Entre áreas; indica dónde está el ASBR |
| 5 | External | ASBR | Todo el dominio, salvo áreas stub |
| 7 | NSSA external | ASBR de un NSSA | Dentro del NSSA |
Y las áreas pueden ser de varios tipos, según lo que reciban:
| Tipo de área | Qué recibe | Para qué sirve |
|---|---|---|
| Normal | Todas las rutas | Área estándar |
| Stub | Rutas internas y una ruta por defecto; sin LSA 5 | Reducir tablas en sedes pequeñas |
| Totally stubby (Cisco) | Solo una ruta por defecto | Sedes con una única salida |
| NSSA | Como un stub, pero permite rutas externas con LSA 7 | Sedes que conectan con otra red externa |
Cómo configurarlo
Con la topología de ejemplo: R1 tiene la red 192.168.10.0/24 y dos enlaces, hacia R2 (10.0.12.0/30) y hacia R3 (10.0.13.0/30). Todo el dominio va en el área 0. El comando network usa una máscara wildcard, la inversa de la máscara de subred, que se explica en el artículo de Subnetting. La interfaz hacia la LAN se declara pasiva para anunciar la red sin enviar Hello a los usuarios.
| Plataforma | Configuración de R1 (ejemplo) |
|---|---|
| Cisco IOS | router ospf 1router-id 1.1.1.1auto-cost reference-bandwidth 10000passive-interface GigabitEthernet0/0network 192.168.10.0 0.0.0.255 area 0network 10.0.12.0 0.0.0.3 area 0network 10.0.13.0 0.0.0.3 area 0 |
| Huawei VRP | ospf 1 router-id 1.1.1.1bandwidth-reference 10000silent-interface GigabitEthernet0/0/1area 0network 192.168.10.0 0.0.0.255network 10.0.12.0 0.0.0.3network 10.0.13.0 0.0.0.3 |
| MikroTik RouterOS 7 | /routing ospf instance add name=ospf1 version=2 router-id=1.1.1.1/routing ospf area add name=backbone area-id=0.0.0.0 instance=ospf1/routing ospf interface-template add area=backbone networks=192.168.10.0/24 passive/routing ospf interface-template add area=backbone networks=10.0.12.0/30/routing ospf interface-template add area=backbone networks=10.0.13.0/30 |
Con ajustes habituales por interfaz:
| Objetivo | Cisco IOS | Huawei VRP |
|---|---|---|
| Cambiar el costo de una interfaz | ip ospf cost 50 |
ospf cost 50 |
| Evitar la elección de DR en un enlace punto a punto | ip ospf network point-to-point |
ospf network-type p2p |
| Impedir ser DR | ip ospf priority 0 |
ospf dr-priority 0 |
| Anunciar una ruta por defecto | default-information originate |
default-route-advertise |
En MikroTik, la sintaxis cambió entre RouterOS 6 y 7: la tabla corresponde a la versión 7. En todos los routers, usa el mismo ancho de banda de referencia.
Cómo verificar
| Plataforma | Comandos de verificación |
|---|---|
| Cisco IOS | show ip ospf neighbor, show ip ospf interface brief, show ip route ospf, show ip ospf database y show ip protocols |
| Huawei VRP | display ospf peer, display ospf interface, display ospf routing y display ospf lsdb |
| MikroTik RouterOS | /routing ospf neighbor print y /ip route print |
Comprueba que todos los vecinos están en estado Full (o 2-Way entre DROther), que las redes remotas aparecen en la tabla con el código O y que el costo coincide con el esperado. En Cisco, una ruta OSPF aparece como O 192.168.30.0/24 [110/21] via 10.0.12.2: 110 es la distancia administrativa y 21 el costo total.
Diagnóstico de problemas
| Síntoma | Causa probable | Qué comprobar |
|---|---|---|
| No aparece ningún vecino | Área, máscara, hello o dead distintos; autenticación distinta; interfaz pasiva | La configuración de las dos interfaces y que no esté en modo pasivo |
| Vecino atascado en Init | El Hello llega en un sentido pero no en el otro | ACL o filtros, y la conectividad de capa 2 |
| Vecino atascado en 2-Way | Es normal entre DROther en una red multiacceso | Que cada uno llegue a Full con el DR y el BDR |
| Vecino atascado en ExStart o Exchange | MTU distinta entre los dos extremos | La MTU de las interfaces |
| La red no aparece en la tabla | El comando network no incluye la interfaz, o está en otra área | La máscara wildcard y el área del comando network |
| El camino elegido no es el esperado | Ancho de banda de referencia distinto entre routers, o costes manuales | El costo de cada enlace en todos los routers |
| Vecinos que caen y suben | Router ID duplicado o enlace inestable | Que cada router tenga un ID único |
Seguridad
Un router no autorizado que hable OSPF puede inyectar rutas falsas en toda la red. Para evitarlo, se activa la autenticación en las interfaces (mejor con HMAC-SHA que con MD5, cuando el equipo lo permita), se declaran pasivas las interfaces hacia los usuarios y se filtra OSPF en los puertos de acceso. Para las interfaces conectadas a usuarios, ver el artículo de Seguridad de puertos.
Errores frecuentes
- No unificar el ancho de banda de referencia y obtener costos incoherentes.
- Olvidar el modo pasivo en las interfaces hacia usuarios.
- Escribir mal la wildcard del comando
networky dejar interfaces fuera. - Duplicar el router ID, por ejemplo al clonar la configuración de un equipo.
- Crear áreas que no se conectan al área 0.
- Dejar la elección de DR al azar en lugar de fijar las prioridades en redes con varios routers.
- Mezclar la configuración de interfaz y el comando
networksin tener claro cuál se aplica.
Preguntas frecuentes
¿Cuándo usar OSPF y cuándo rutas estáticas?
Las estáticas bastan en redes pequeñas o con una única salida. OSPF compensa cuando hay varios routers o caminos redundantes, porque se adapta solo a los cambios. Lo habitual es combinarlos: OSPF dentro de la red y una ruta estática por defecto hacia Internet, anunciada con default-information originate.
¿Qué diferencia hay entre OSPF y RIP?
RIP es de vector de distancia, usa los saltos como métrica y converge despacio. OSPF es de estado de enlace, usa el costo y converge mucho más rápido, por lo que escala mejor.
¿Hace falta OSPFv3 para IPv6?
Sí: OSPFv2 solo transporta rutas IPv4. OSPFv3 funciona de forma muy parecida y soporta IPv6. Se explica el direccionamiento en el artículo de IPv6.
Siguientes pasos
- Enrutamiento estático: rutas manuales, por defecto y de respaldo.
- Enrutamiento en redes: los conceptos comunes a todos los protocolos.
- Enrutamiento en VLAN: cómo se comunican las VLAN entre sí con un router o un switch de capa 3.
- Subnetting: las máscaras y wildcards que usa OSPF.
Los contenidos tienen carácter técnico e informativo. Un cambio en el enrutamiento puede interrumpir el servicio: planifícalo, pruébalo en un entorno controlado y guarda una copia de la configuración antes de modificarla.