OSPF: Dominando el Protocolo de Enrutamiento de Estado de Enlace
OSPF es un protocolo de enrutamiento de estado de enlace (link-state), lo que significa que cada router en la red crea y mantiene un “mapa de conectividad” completo de toda la topología.
1. ¿Cómo funciona un protocolo de estado de enlace?
A diferencia de los protocolos de vector distancia, los protocolos de estado de enlace operan de la siguiente manera:
- Publicidad de interfaces: Cada router anuncia información sobre sus interfaces (redes conectadas) a sus vecinos.
- Flooding de información: Estas publicidades se pasan a otros routers hasta que todos en la red desarrollan el mismo “mapa” o Base de Datos de Estado de Enlace (LSDB).
- Cálculo de rutas óptimas: Cada router utiliza este mapa de forma independiente para calcular las mejores rutas a cada destino.
Ventajas y Desventajas:
Más Recursos: Los protocolos de estado de enlace, como OSPF, utilizan más recursos de CPU y memoria en el router porque se comparte y se procesa más información para construir el LSDB.
Reacción Rápida: Sin embargo, son mucho más rápidos en reaccionar a los cambios en la red que los protocolos de vector distancia.
2. OSPF en Detalle: Las Bases
OSPF significa Open Shortest Path First y utiliza el algoritmo Shortest Path First (SPF), también conocido como el algoritmo de Dijkstra. ¡Recuerda ese nombre!
Versiones de OSPF:
-
OSPFv1 (1989): Versión antigua, ya no se usa.
-
OSPFv2 (1998): Utilizada para IPv4. (Esta es la que cubriremos principalmente).
-
OSPFv3 (2008): Utilizada para IPv6 (también puede usarse para IPv4, pero v2 es más común para IPv4).
Elementos Clave de OSPF
Los routers OSPF almacenan información sobre la red en LSAs (Link State Advertisements), que se organizan en una estructura llamada LSDB (Link State Database). Los routers “inundarán” (flood) los LSAs hasta que todos los routers en un área OSPF desarrollen el mismo mapa de la red (LSDB).
Para que OSPF funcione correctamente, hay tres pasos principales en el proceso de compartir LSAs y determinar la mejor ruta: primero es necesario establecer vecindades con otros routers conectados al mismo segmento, luego se intercambian LSAs con esos routers vecinos y con esa infomación se calculan las mejores rutas a cada destino e insertarlas en la tabla de enrutamiento.
3. Áreas OSPF: Escalabilidad en Redes Grandes
Una característica fundamental de OSPF es el uso de áreas para dividir la red, lo que es crucial para la escalabilidad.
Redes Pequeñas: Pueden ser de área única (single-area) sin efectos negativos en el rendimiento.
Redes Grandes: Un diseño de área única tendría efectos negativos: el algoritmo SPF tardaría más en calcular rutas y requeriría exponencialmente más potencia de procesamiento. Un LSDB más grande ocuparía más memoria. Cualquier pequeño cambio en la red causaría que cada router inundara LSAs y ejecutara el algoritmo SPF nuevamente.
Beneficio de las Áreas: Al dividir una red OSPF grande en varias áreas más pequeñas, se evitan estos efectos negativos.
Conceptos Clave de Áreas OSPF
–> Área: Un conjunto de routers y enlaces que comparten el mismo LSDB.
–> Área Backbone (área 0): Es el área a la que deben conectarse todas las demás áreas.
–> Routers Internos: Routers con todas las interfaces en la misma área.
–> Routers de Borde de Área (ABRs - Area Border Routers): Routers con interfaces en múltiples áreas.
–> Routers Backbone: Routers conectados al área backbone (área 0).
–> Ruta Intra-área: Una ruta a un destino dentro de la misma área OSPF.
–> Ruta Inter-área: Una ruta a un destino en un área OSPF diferente.
Reglas Importantes para las Áreas OSPF:
-
Las áreas OSPF deben ser contiguas.
-
Todas las áreas OSPF deben tener al menos un ABR conectado al área backbone.
-
Las interfaces OSPF en la misma subred deben estar en la misma área.
4. OSPF Cost
OSPF usa como métrica el cost, que se calcula automáticamente en función del ancho de banda de la interfaz.
Cost = Referencia de ancho de banda\Ancho de banda de la interfaz
El ancho de banda de referencia por defecto es 100 Mbps.
- Para redes modernas, se recomienda ajustar el ancho de banda de referencia con el comando:
R(config-router)# auto-cost reference-bandwidth <Mbps>
👉 Esto debe configurarse igual en todos los routers para evitar inconsistencias.
El costo total hacia un destino es la suma de los costos de las interfaces de salida en el camino.
También es posible:
-
Ajustar el costo manualmente en una interfaz:
R(config-if)# ip ospf cost <valor> -
Cambiar el valor de “bandwidth” de la interfaz (no modifica la velocidad real, solo la usada en el cálculo).
5. Estados de OSPF Neighbors
- Down – No hay comunicación.
- Init – Se recibe un Hello, pero aún no hay bidireccionalidad.
- 2-Way – Comunicación bidireccional establecida. Aquí se eligen DR/BDR en redes de tipo broadcast.
- Exstart – Se negocia quién será master/slave en el intercambio de bases de datos.
- Exchange – Intercambio de descripciones de la base de datos (DBD).
- Loading – Solicitud y envío de LSAs faltantes.
- Full – Sincronización completa de LSDB, routers son neighbors plenos.
👉 En el post OSPF Neighbors profundizo en las funciones de cada una de estas fases.
✔️ Requisitos para la Formación de Vecinos
Para que dos routers se conviertan en OSPF neighbors:
- Deben coincidir en el número de área.
- Las interfaces deben estar en la misma subred.
- El proceso OSPF debe estar activo (no shutdown).
- Los Router IDs deben ser únicos.
- Los Hello y Dead timers deben coincidir.
- Las configuraciones de autenticación deben ser iguales.
- El MTU debe coincidir.
- El tipo de red OSPF debe ser el mismo.
6. Tipos de LSA
De los 11 tipos de LSA, los más relevantes para el nivel CCNA son:
Tipo 1 (Router LSA): generado por cada router, incluye sus interfaces activas.
Tipo 2 (Network LSA): generado por el DR en redes multiacceso (ej: Ethernet).
Tipo 5 (AS-External LSA): generado por routers ASBR para anunciar rutas externas al dominio OSPF.
Se pueden visualizar con:
R1# show ip ospf database
4. Configuración Básica de OSPF
Ahora, veamos cómo configurar OSPF en un router Cisco.
Para iniciar OSPF en un router, usamos el comando router ospf
R1(config)#router ospf ?
<1-65535> Process ID
R1(config)#router ospf 1
💡Tip: El ID de proceso OSPF es localmente significativo. Routers con diferentes IDs de proceso pueden convertirse en vecinos OSPF.
Luego, para activar OSPF en las interfaces y asignarlas a un área, usamos el comando network:
R1(config-router)#network 10.0.12.0 0.0.0.3 area 0
–> ¿Qué hace el comando network?
-
Busca cualquier interfaz con una dirección IP contenida en el rango especificado por la dirección de red y la wildcard mask.
-
Activa OSPF en esa interfaz en el área especificada.
-
El router intentará entonces establecer adyacencias OSPF con otros routers vecinos activados por OSPF.
💡Tip CCNA: Para el CCNA, generalmente solo necesitarás configurar OSPF de área única (área 0).
✔️ Interfaz Pasiva (Passive-Interface)
El comando passive-interface es muy útil para controlar dónde se envían los mensajes de OSPF.
R1(config-router)#passive-interface g1/0
Le dice al router que deje de enviar mensajes OSPF “hello” por esa interfaz. Sin embargo, el router seguirá enviando LSAs informando a sus vecinos sobre la subred configurada en la interfaz.
💡Tip: Siempre debes usar este comando en interfaces que no tienen vecinos OSPF (por ejemplo, interfaces conectadas a una LAN de usuario final).
También puedes configurar todas las interfaces como pasivas por defecto y luego activar selectivamente solo las interfaces necesarias:
R1(config-router)#passive-interface default
R1(config-router)#no passive-interface g0/0
R1(config-router)#no passive-interface g1/0
✔️ Origen de la Información por Defecto (Default Information Originate)
Para anunciar una ruta por defecto en OSPF, usamos el comando default-information originate. Esto es crucial para que los routers dentro de la red OSPF puedan alcanzar destinos externos.
R1(config-router)#default-information originate
Con esto, el router R1 se convierte en un Autonomous System Boundary Router (ASBR), un router OSPF que conecta la red OSPF a una red externa (como Internet).
Para verificar, puedes usar show ip route y buscar una ruta O*E2 (OSPF External Type 2) con un gateway de último recurso.
✔️ ID del Router (Router ID)
El Router ID es un valor de 32 bits que identifica de forma única a un router en el dominio OSPF.
Orden de prioridad para seleccionar el Router ID:
-
Manual: Configurado manualmente con router-id A.B.C.D.
-
Más alta en una interfaz Loopback: La dirección IP más alta de una interfaz loopback activa.
-
Más alta en una interfaz física: La dirección IP más alta de una interfaz física activa.
Para configurar manualmente el Router ID:
R1(config-router)#router-id 1.1.1.1
💡 Importante: Para que un cambio en el router-id surta efecto, debes recargar el proceso OSPF o el router. No hagas esto en una red en producción sin una planificación cuidadosa.
R1(config-router)#clear ip ospf process
Reset ALL OSPF processes? [no]: yes
Para verificar el Router ID:
R1#show ip protocols
✔️ Tipos de Redes OSPF
Broadcast → Por defecto en Ethernet y FDDI. 👉 Mirar OSPF – Broadcast Network Type
Point-to-Point → Por defecto en PPP y HDLC. 👉 Mirar OSPF – Point-to-Point Network Type
Non-Broadcast → Por defecto en Frame Relay y X.25.
Se puede configurar el tipo de red con el comando:
R1(config-if)# ip ospf network {broadcast | non-broadcast | point-to-multipoint | point-to-point}
Para mirar un resumen de todos los comandos puedes consultar Configuración OSPF
- OSPF
- Protocolos De Enrutamiento
- Link-State
- CCNA
- Vecinos OSPF
- LSA
- Áreas OSPF
- Costo OSPF
- Configuración Cisco
- SPF Algorithm
- Routing