OSPF, Conceptos y practica

 

OSPF (Open Shortest Path First)

Es un protocolo de enrutamiento dinámico y de estado de enlace (link-state). En lugar de que un administrador configure rutas estáticas una por una, los routers intercambian información sobre sus conexiones (enlaces) y construyen un mapa completo de la red. Cada router calcula la ruta más corta hacia cada destino usando el algoritmo de Dijkstra.

En una frase: OSPF permite que los routers "descubran" automáticamente cómo llegar a todas las redes conectadas.

  

¿Cómo funciona OSPF?

 
El funcionamiento de OSPF se basa en que cada router construya un mapa completo de la red. Para lograrlo, sigue estos pasos clave: 

 

  •  Descubrimiento de vecinos: Los routers envían paquetes Hello a través de sus interfaces para identificar otros routers OSPF cercanos y establecer adyacencias. 
  •  Intercambio de información (LSAs): Una vez establecida la conexión, los routers intercambian anuncios de estado de enlace (LSA - Link State Advertisements). Estos mensajes contienen información sobre sus propias interfaces, redes conectadas y el "costo" de sus enlaces.
  •  Construcción de la base de datos (LSDB): Todos los routers dentro de una misma área recopilan estos LSAs en una base de datos idéntica llamada LSDB (Link State Database), que actúa como un mapa detallado de la topología de la red.
  •  Cálculo de la ruta más corta: Cada router ejecuta el algoritmo de Dijkstra (Shortest Path First - SPF) sobre su LSDB. Este algoritmo calcula el camino con el menor "costo" (basado generalmente en el ancho de banda) hacia cada destino.
  •  Actualización de la tabla de ruteo: Las mejores rutas calculadas se instalan en la tabla de enrutamiento del router para dirigir el tráfico real

 

 Mensajes y Comunicación (Paquetes)


OSPF utiliza cinco tipos de paquetes para comunicarse con otros routers: 

  •     Hello: Descubre vecinos y mantiene las relaciones de vecindad.
  •     DBD (Database Description): Describe el contenido de la base de datos de estado de enlace para sincronizarla.
  •     LSR (Link State Request): Solicita información específica sobre un enlace que el router no tiene.
  •     LSU (Link State Update): Envía la información detallada (LSAs) solicitada o cambios en la red.
  •     LSAck (Link State Acknowledgment): Confirma la recepción de los paquetes para asegurar que la información llegó.  

 

  Estructura y Jerarquía


  •     Área: Segmento lógico de la red. El Área 0 (Backbone) es el núcleo al que todas las demás áreas deben conectarse.
  •     Router ID (RID): Un identificador único (parecido a una IP) para cada router en el dominio OSPF.
  •     LSA (Link State Advertisement): El "anuncio" que contiene el estado de los enlaces; es la pieza de información básica que se comparte.
  •     LSDB (Link State Database): La tabla que almacena todos los LSAs recibidos, formando un mapa completo de la red.  

 

  Roles de Routers


  •     DR (Designated Router): El router principal encargado de gestionar las actualizaciones en redes multiacceso (como Ethernet) para evitar tráfico excesivo.
  •     BDR (Backup Designated Router): El router de reserva que asume el rol del DR si este falla.
  •     ABR (Area Border Router): Un router que conecta dos o más áreas (ej. conecta el Área 1 con el Área 0).
  •     ASBR (Autonomous System Boundary Router): Un router que conecta la red OSPF con otros sistemas o protocolos externos.  

 

   Proceso de Operación


  •     Adyacencia: El estado en el que dos routers han intercambiado información y están totalmente sincronizados.
  •     Algoritmo SPF (Dijkstra): El cálculo matemático que realiza cada router sobre la LSDB para encontrar el camino más corto a cada destino.
  •     Métrica (Costo): Valor basado en el ancho de banda. OSPF siempre preferirá el camino con el menor costo acumulado. 

 

InterfazVelocidadCosto por Defecto
T11.5 Mbps64
Ethernet10 Mbps10
FastEthernet100 Mbps1
Gigabit1 Gbps1
10 Gigabit10 Gbps1

Menor es Mejor

OSPF suma los costos de todas las interfaces de salida en la ruta hacia el destino. El router comparará los totales:

    Camino A: Costo total = 10 (Ganador)

    Camino B: Costo total = 100 (Perdedor) 

 

Cómo "manipular" el tráfico

Si quieres que el router deje de usar una interfaz específica (por ejemplo, porque es un enlace de respaldo lento o saturado), tienes dos opciones:

  •     Para que NO la use: Súbele el costo a esa interfaz (ej. metric 1000). Los routers verán que ese camino es muy "caro" y buscarán otro más barato.


  •     Para que SÍ la use: Bájale el costo (ej. metric 1). Esto la hará la ruta preferida sobre todas las demás.  

 

El escenario de empate (ECMP)

  •  Si dos caminos tienen exactamente el mismo costo total, Juniper hará algo llamado ECMP (Equal-Cost Multi-Path).


  •  El router repartirá el tráfico entre ambos enlaces para aprovechar el ancho de banda.


  • Si no quieres que esto pase, debes sumarle aunque sea 1 de costo a uno de los dos enlaces para que deje de haber empate. 

 

¿Qué pasa si solo configuras un lado?

Este es un error común. OSPF calcula el costo basándose en la dirección del tráfico.

  • Si le subes el costo a la interfaz en el Router A, el tráfico que sale de A hacia B será más caro.

  • Pero el tráfico que viene de regreso (de B hacia A) seguirá usando el costo por defecto de la interfaz de salida del Router B.


 Si quieres que un enlace sea "caro" en ambos sentidos, debes entrar a ambos routers y subirle la métrica en las dos puntas del cable. 

 

Los 7 Estados de Adyacencia 

Antes de que dos routers OSPF compartan rutas, pasan por estos estados:

  •     Down: No se ha recibido nada.   
  •     Init: Recibiste un Hello, pero el otro router aún no sabe de ti.
  •     Two-Way: ¡Conexión bidireccional! (Aquí se eligen al DR y BDR).
  •     ExStart: Deciden quién envía la información primero (Maestro/Esclavo).
  •     Exchange: Intercambian los paquetes DBD (el resumen de sus mapas).
  •     Loading: Si falta algo, piden los detalles con LSR y reciben LSU.
  •     Full: ¡Sincronización total! Las bases de datos son idénticas. 

 

 Topología básica entre 2 routers: 

 

En esta topologia los routers estan conectados por la interface GE-0/0/0: 

 

 

 

 Routers: R1 y R2.

Conexión: El puerto ge-0/0/0 de R1 se conecta al puerto ge-0/0/0 de R2.

Red de enlace: 192.168.12.0/30.

    R1 tendrá la IP 192.168.12.1/30.

    R2 tendrá la IP 192.168.12.2/30.

Router-ID:

    R1 usará el ID 1.1.1.1.

    R2 usará el ID 2.2.2.2.

Área OSPF: Usaremos el área backbone 0 (representada como 0.0.0.0 en JunOS).

 

Configuraciones:

Router 1 

set interfaces ge-0/0/0 unit 0 family inet address 192.168.12.1/30 

set routing-options router-id 1.1.1.1 

set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 

set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 interface-type p2p 

commit

Router 2

 set interfaces ge-0/0/0 unit 0 family inet address 192.168.12.2/30

set routing-options router-id 2.2.2.2

set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 

set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 interface-type p2p  

 commit

 

Verificación:

 

show ospf neighbor 

 

 

 

Como lo dice la teoría el STATE al estar en Full significa que la adyacenia fue un éxito. 

 

 show ospf database


 

 Comandos de configuración:

AcciónComando
Habilitar Interfazset protocols ospf area <id> interface <int>
Configurar como Punto a Puntoset protocols ospf area <id> interface <int> interface-type p2p
Hacer Interfaz Pasivaset protocols ospf area <id> interface <int> passive
Definir Métrica (Costo)set protocols ospf area <id> interface <int> metric <valor>
Prioridad para DR/BDRset protocols ospf area <id> interface <int> priority <valor>
Autenticación MD5set protocols ospf area <id> interface <int> authentication md5 <key-id> key <pass>
Ajustar Hello Intervalset protocols ospf area <id> interface <int> hello-interval <seg>
Ajustar Dead Intervalset protocols ospf area <id> interface <int> dead-interval <seg>

 

 Comandos de Chequeo:

CategoríaComandoPropósito Principal
Vecindadshow ospf neighborVerifica el estado de las adyacencias (State: Full, 2Way, etc.).
Vecindadshow ospf neighbor detailMuestra el tiempo de vida (Dead Timer) y las opciones negociadas.
Base de Datosshow ospf databaseLista el resumen de todos los LSA en la LSDB.
Base de Datosshow ospf database extensiveMuestra los detalles internos de cada LSA (prefijos, métricas).
Base de Datosshow ospf database summaryMuestra un conteo total de tipos de LSA por área.
Interfacesshow ospf interfaceVerifica qué interfaces participan, su área y su rol (DR/BDR).
Interfacesshow ospf interface detailMuestra intervalos de Hello, Dead e ID de interfaces.
Rutasshow ospf routeMuestra las rutas calculadas por el algoritmo SPF.
Estadísticasshow ospf statisticsRegistra paquetes enviados/recibidos y errores (ej. Mismatch de MTU).
Estadísticasshow ospf io statisticsMuestra errores a nivel de entrada/salida de paquetes.
Monitoreomonitor traffic interface <int> matching ospfCaptura en tiempo real los paquetes OSPF (Hello, DBD, LSU).
Mantenimientoclear ospf neighbor <id>Reinicia una adyacencia específica con un vecino.
Mantenimientoclear ospf databaseFuerza la inundación y sincronización de la base de datos.
Mantenimientoclear ospf statisticsResetea los contadores de errores y paquetes a cero.

  

 Comandos Avanzados en interfaces:

AcciónComando
BFD (Detección de Fallos)set protocols ospf area <id> interface <int> bfd-liveness-detection minimum-interval <ms>
Retraso de Retransmisiónset protocols ospf area <id> interface <int> retransmit-interval <seg>
Retraso de Tránsitoset protocols ospf area <id> interface <int> transit-delay <seg>
Límite de Inundaciónset protocols ospf area <id> interface <int> flood-reduction
MTU Ignoreset protocols ospf area <id> interface <int> mtu-ignore
Poll Intervalset protocols ospf area <id> interface <int> poll-interval <seg> (Para redes NBMA).

  

Comandos a nivel de Área (No solo de interfaz)

Además de configurar interfaces, el área en sí misma tiene comandos que definen cómo se comporta el router (si es un ABR o ASBR):

 

AcciónComando
BFD (Detección de Fallos)set protocols ospf area <id> interface <int> bfd-liveness-detection minimum-interval <ms>
Retraso de Retransmisiónset protocols ospf area <id> interface <int> retransmit-interval <seg>
Retraso de Tránsitoset protocols ospf area <id> interface <int> transit-delay <seg>
Límite de Inundaciónset protocols ospf area <id> interface <int> flood-reduction
MTU Ignoreset protocols ospf area <id> interface <int> mtu-ignore
Poll Intervalset protocols ospf area <id> interface <int> poll-interval <seg> (Para redes NBMA).

  

Comandos Globales de OSPF (Fuera de las áreas)

Estos afectan a todo el proceso OSPF del router:

 

AcciónComando
Ancho de Banda de Referenciaset protocols ospf reference-bandwidth <bps> (Para calcular el costo automáticamente).
Exportar Rutas (Redistribución)set protocols ospf export <nombre-de-política>
Importar Rutasset protocols ospf import <nombre-de-política>
Graceful Restartset protocols ospf graceful-restart (Mantiene el tráfico mientras el plano de control se reinicia).
External Preferenceset protocols ospf external-preference <valor> (Cambia la distancia administrativa para rutas tipo 5).

  

No hay comentarios:

Publicar un comentario

  ¡Bienvenido/a Si estás aquí, es porque las redes, los cables, los routers y las configuraciones ya no son un misterio… o quizá justo lo ...