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.
| Interfaz | Velocidad | Costo por Defecto |
| T1 | 1.5 Mbps | 64 |
| Ethernet | 10 Mbps | 10 |
| FastEthernet | 100 Mbps | 1 |
| Gigabit | 1 Gbps | 1 |
| 10 Gigabit | 10 Gbps | 1 |
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ón | Comando |
| Habilitar Interfaz | set protocols ospf area <id> interface <int> |
| Configurar como Punto a Punto | set protocols ospf area <id> interface <int> interface-type p2p |
| Hacer Interfaz Pasiva | set protocols ospf area <id> interface <int> passive |
| Definir Métrica (Costo) | set protocols ospf area <id> interface <int> metric <valor> |
| Prioridad para DR/BDR | set protocols ospf area <id> interface <int> priority <valor> |
| Autenticación MD5 | set protocols ospf area <id> interface <int> authentication md5 <key-id> key <pass> |
| Ajustar Hello Interval | set protocols ospf area <id> interface <int> hello-interval <seg> |
| Ajustar Dead Interval | set protocols ospf area <id> interface <int> dead-interval <seg> |
Comandos de Chequeo:
| Categoría | Comando | Propósito Principal |
| Vecindad | show ospf neighbor | Verifica el estado de las adyacencias (State: Full, 2Way, etc.). |
| Vecindad | show ospf neighbor detail | Muestra el tiempo de vida (Dead Timer) y las opciones negociadas. |
| Base de Datos | show ospf database | Lista el resumen de todos los LSA en la LSDB. |
| Base de Datos | show ospf database extensive | Muestra los detalles internos de cada LSA (prefijos, métricas). |
| Base de Datos | show ospf database summary | Muestra un conteo total de tipos de LSA por área. |
| Interfaces | show ospf interface | Verifica qué interfaces participan, su área y su rol (DR/BDR). |
| Interfaces | show ospf interface detail | Muestra intervalos de Hello, Dead e ID de interfaces. |
| Rutas | show ospf route | Muestra las rutas calculadas por el algoritmo SPF. |
| Estadísticas | show ospf statistics | Registra paquetes enviados/recibidos y errores (ej. Mismatch de MTU). |
| Estadísticas | show ospf io statistics | Muestra errores a nivel de entrada/salida de paquetes. |
| Monitoreo | monitor traffic interface <int> matching ospf | Captura en tiempo real los paquetes OSPF (Hello, DBD, LSU). |
| Mantenimiento | clear ospf neighbor <id> | Reinicia una adyacencia específica con un vecino. |
| Mantenimiento | clear ospf database | Fuerza la inundación y sincronización de la base de datos. |
| Mantenimiento | clear ospf statistics | Resetea los contadores de errores y paquetes a cero. |
Comandos Avanzados en interfaces:
| Acción | Comando |
| BFD (Detección de Fallos) | set protocols ospf area <id> interface <int> bfd-liveness-detection minimum-interval <ms> |
| Retraso de Retransmisión | set protocols ospf area <id> interface <int> retransmit-interval <seg> |
| Retraso de Tránsito | set protocols ospf area <id> interface <int> transit-delay <seg> |
| Límite de Inundación | set protocols ospf area <id> interface <int> flood-reduction |
| MTU Ignore | set protocols ospf area <id> interface <int> mtu-ignore |
| Poll Interval | set 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ón | Comando |
| BFD (Detección de Fallos) | set protocols ospf area <id> interface <int> bfd-liveness-detection minimum-interval <ms> |
| Retraso de Retransmisión | set protocols ospf area <id> interface <int> retransmit-interval <seg> |
| Retraso de Tránsito | set protocols ospf area <id> interface <int> transit-delay <seg> |
| Límite de Inundación | set protocols ospf area <id> interface <int> flood-reduction |
| MTU Ignore | set protocols ospf area <id> interface <int> mtu-ignore |
| Poll Interval | set 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ón | Comando |
| Ancho de Banda de Referencia | set protocols ospf reference-bandwidth <bps> (Para calcular el costo automáticamente). |
| Exportar Rutas (Redistribución) | set protocols ospf export <nombre-de-política> |
| Importar Rutas | set protocols ospf import <nombre-de-política> |
| Graceful Restart | set protocols ospf graceful-restart (Mantiene el tráfico mientras el plano de control se reinicia). |
| External Preference | set protocols ospf external-preference <valor> (Cambia la distancia administrativa para rutas tipo 5). |
No hay comentarios:
Publicar un comentario