PRO · Protocolo 3 · Red (Internet)

21.OSPF

Protocolo de enrutamiento dinámico de estado de enlace: cada router conoce el mapa completo de la red y calcula la mejor ruta con el algoritmo SPF.

¿Qué es?

OSPF (Open Shortest Path First, «primero la ruta más corta») es un protocolo de enrutamiento dinámico que usan los routers para aprender solos las rutas de una red y elegir la mejor para llegar a cada destino.

Imagina que cada router tiene una copia del mismo mapa de la red: sabe qué routers existen, cómo están conectados y qué tan «caro» es cada enlace. Con ese mapa, cada uno calcula por su cuenta el camino más corto hacia cada red. Si un enlace se cae, el mapa se actualiza en todos y recalculan en segundos.

En términos técnicos

  • Es un protocolo de estado de enlace (link-state) de tipo IGP: funciona dentro de una misma organización o sistema autónomo.
  • Es un estándar abierto del IETF: funciona entre equipos de distintos fabricantes. OSPFv2 es para IPv4 (RFC 2328) y OSPFv3 para IPv6 (RFC 5340).
  • Calcula las rutas con el algoritmo SPF de Dijkstra.
  • Usa como métrica el costo, que depende del ancho de banda del enlace: a mayor velocidad, menor costo.
  • Organiza la red en áreas. El área 0 (backbone) es obligatoria y todas las demás se conectan a ella.
  • En Cisco, sus rutas tienen una distancia administrativa de 110 y aparecen con la letra O en la tabla de enrutamiento.

¿Dónde lo vas a encontrar?

En redes empresariales y de campus con varios routers, en proveedores de Internet (dentro de su red) y en casi cualquier examen de certificación de redes. Es la alternativa estándar cuando el enrutamiento estático deja de ser práctico.

¿Cómo funciona?

OSPF trabaja en cuatro pasos que se repiten cada vez que la red cambia:

Paso Qué pasa Paquete OSPF
1. Descubrir vecinos Cada router envía mensajes Hello por sus interfaces para encontrar otros routers OSPF Hello
2. Intercambiar el mapa Los vecinos comparan y se envían la descripción de la red que conocen DBD, LSR, LSU, LSAck
3. Armar la base de datos Cada router guarda esa información (los LSA) en su LSDB; dentro de un área, todas las LSDB quedan iguales —
4. Calcular las rutas Con la LSDB, cada router corre SPF y pone las mejores rutas en su tabla de enrutamiento —

Los vecinos y sus estados

Dos routers se hacen vecinos solo si coinciden en área, red y máscara, temporizadores Hello/Dead y autenticación. La relación pasa por estos estados:

Down → Init → 2-Way → ExStart → Exchange → Loading → Full

En Full ya tienen la misma información y la vecindad está completa.

DR y BDR en redes Ethernet

Si en un mismo segmento hay varios routers, en lugar de que todos intercambien información con todos, se elige un DR (Designated Router) y un BDR (respaldo). Gana el de mayor prioridad (por defecto 1) y, si empatan, el de mayor Router ID. Un router con prioridad 0 nunca será DR.

El Router ID

Cada router OSPF se identifica con un Router ID (un número con forma de dirección IPv4). Se elige así:

  1. El que configures con router-id.
  2. Si no, la IP más alta de una interfaz loopback.
  3. Si no, la IP más alta de una interfaz física activa.

El costo

Cisco calcula el costo como ancho de banda de referencia ÷ ancho de banda de la interfaz. La referencia por defecto es 100 Mbps, por eso un enlace FastEthernet cuesta 1. La ruta con menor costo total es la elegida.

Configuración (Cisco IOS)

Ejemplo con dos routers en área 0: R1 tiene la LAN 192.168.10.0/24 y se conecta con R2 por el enlace 10.0.0.0/30.

Configuración con el comando network

R1(config)# router ospf 10
R1(config-router)# router-id 1.1.1.1
R1(config-router)# network 192.168.10.0 0.0.0.255 area 0
R1(config-router)# network 10.0.0.0 0.0.0.3 area 0
R1(config-router)# passive-interface GigabitEthernet0/0
R1(config-router)# auto-cost reference-bandwidth 1000
Comando Para qué sirve
router ospf 10 Activa OSPF. El 10 es el número de proceso: solo tiene sentido dentro de este router y no tiene que coincidir con el vecino
router-id 1.1.1.1 Fija el identificador del router (recomendado: así no cambia si cambian las IP)
network 192.168.10.0 0.0.0.255 area 0 Activa OSPF en las interfaces que estén en esa red y la anuncia en el área 0. Usa máscara wildcard, no máscara de subred
passive-interface g0/0 Anuncia la red de la LAN pero no envía Hello hacia ella (ahí no hay routers)
auto-cost reference-bandwidth 1000 Sube la referencia a 1 Gbps para que FastEthernet y GigabitEthernet no tengan el mismo costo

Alternativa: activarlo en la interfaz

En versiones recientes de IOS puedes activarlo directamente en cada interfaz:

R1(config)# interface GigabitEthernet0/1
R1(config-if)# ip ospf 10 area 0

Anunciar la salida a Internet

Si R1 tiene la ruta por defecto hacia Internet, puede anunciarla a los demás routers OSPF:

R1(config)# ip route 0.0.0.0 0.0.0.0 203.0.113.1
R1(config)# router ospf 10
R1(config-router)# default-information originate

Verificación y diagnóstico

Comandos para revisar que todo funcione

Comando Qué debes ver
show ip ospf neighbor Cada vecino en estado FULL (o 2WAY/DROTHER entre routers que no son DR ni BDR: es normal)
show ip route ospf Las redes aprendidas con la letra O y [110/costo]
show ip protocols El Router ID, las redes anunciadas y las interfaces pasivas
show ip ospf interface brief Qué interfaces participan, su área, costo y estado (DR, BDR, DROTHER, P2P)
show ip ospf database La LSDB: los LSA que conoce el router

Ejemplo de una vecindad correcta:

R1# show ip ospf neighbor
Neighbor ID     Pri   State           Dead Time   Address         Interface
2.2.2.2           1   FULL/DR         00:00:35    10.0.0.2        GigabitEthernet0/1

Si los routers no se hacen vecinos

Otras pruebas útiles: ping y traceroute hacia la red remota para comprobar que el tráfico sigue la ruta que calculó OSPF.

Para tomar en cuenta

  • El número de proceso es local. router ospf 1 en un router y router ospf 10 en otro sí se entienden. Lo que tiene que coincidir es el área.
  • Si cambias el Router ID, no se aplica hasta reiniciar el proceso: clear ip ospf process (interrumpe las vecindades unos segundos).
  • Interfaces pasivas en todas las LAN donde no haya otros routers: evitas tráfico innecesario y que alguien conecte un router no autorizado.
  • Un área basta para redes pequeñas y medianas. Las áreas múltiples sirven para redes grandes: reducen el tamaño de la LSDB y el trabajo de cálculo.
  • Autentica las vecindades en redes reales (MD5 o, mejor, SHA en IOS recientes) para que nadie inyecte rutas falsas.
  • OSPF frente a otros protocolos: RIP es más simple pero solo cuenta saltos y tarda en converger; EIGRP es avanzado pero nació propietario de Cisco. OSPF es el estándar abierto más usado en empresas.
  • En Packet Tracer funcionan la configuración con network y los comandos show de esta ficha; algunos debug y el método por interfaz dependen de la versión. Para practicar varias áreas o temas avanzados, GNS3 con imágenes libres como FRRouting o VyOS es una buena opción.

Material descargable

Aún no hay material descargable para este tema. Pronto habrá cuadernillos, manuales o laboratorios.

Referencias (RFC / estándar)

  • IETF. RFC 2328 — OSPF Version 2 (1998). El estándar de OSPF para IPv4. https://www.rfc-editor.org/rfc/rfc2328
  • IETF. RFC 5340 — OSPF for IPv6 (OSPFv3) (2008). https://www.rfc-editor.org/rfc/rfc5340
  • Cisco Systems. IP Routing: OSPF Configuration Guide (documentación oficial de Cisco IOS).
  • Cisco Networking Academy. CCNA: Enterprise Networking, Security, and Automation — módulos de OSPFv2 de área única.

© solutions_ · Redes informáticas · 21 OSPF