WIKI CNOC
OSPF (OPEN SHORTEST PATH FIRST)
- 🔌 Estado de Enlace (Link-State)
- ⚡ Convergencia Rápida
- 🔌 Estado de Enlace (Link-State)
- ⚡ Convergencia Rápida
- 💰 Métricas Basadas en Costos
- 🗺️ Diseño Jerárquico con Áreas
- 📐 Soporte para VLSM y CIDR
- 🔌 Estado de Enlace (Link-State)
- ⚡ Convergencia Rápida
- 💰 Métricas Basadas en Costos
- 🗺️ Diseño Jerárquico con Áreas
- 📐 Soporte para VLSM y CIDR
- 🔁 Interoperabilidad
- ⚙️ Funcionamiento de OSPF
🧭 Protocolo OSPF (Open Shortest Path First)
OSPF es un protocolo de enrutamiento dinámico de tipo estado de enlace que calcula rutas óptimas basadas en el costo de los enlaces. Usa el algoritmo SPF (Shortest Path First) y es ideal para redes medianas a grandes gracias a su convergencia rápida y arquitectura jerárquica.
🔌 Estado de Enlace (Link-State)
- OSPF mantiene una base de datos topológica (LSDB) compartida entre todos los routers en una misma área.
- Calcula rutas con el algoritmo de Dijkstra para determinar el camino más corto hacia cada red.
Ejemplo CLI para ver la LSDB en Huawei:
OSPF Process 1 with Router ID 192.168.1.1
LS Type: Router Links
Link State ID: 192.168.2.1
Adv Router: 192.168.1.1
LS Seq Num: 80000003
Checksum: 0x9A3F
Length: 48
⚡ Convergencia Rápida
- Actualiza la red mediante LSAs (Link-State Advertisements) ante cambios.
- Los routers actualizan su tabla de enrutamiento inmediatamente con SPF.
- Minimiza el downtime en la red.
Diagnóstico de vecinos OSPF en Huawei:
Neighbor(s) State
Neighbor ID Pri State Dead Time Address Interface
192.168.2.2 1 Full/DR 00:00:30 192.168.2.1 GE0/0/1
💰 Métricas Basadas en Costos
- Definición del Costo: OSPF asigna un valor a cada enlace con base en su ancho de banda. Menor costo = mejor ruta.
- Fórmula: Costo = 100,000,000 / Ancho de banda en bps.
- Enlaces de alta capacidad tienen menor costo, haciéndolos más preferidos.
Configuración de costo en Huawei:
[Huawei] interface GigabitEthernet0/0/1
[Huawei-GigabitEthernet0/0/1] ospf cost 10
🗺️ Diseño Jerárquico con Áreas
- OSPF divide la red en áreas para mejorar escalabilidad y eficiencia.
- Área 0 (backbone): Conecta todas las demás áreas.
- Stub / NSSA: Áreas que limitan rutas externas para reducir carga.
Configuración de áreas en Huawei:
[Huawei] ospf 1
[Huawei-ospf-1] area 0.0.0.0
[Huawei-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255
📐 Soporte para VLSM y CIDR
- VLSM: Permite usar distintas máscaras dentro de una red.
- CIDR: Facilita sumarización y mejor aprovechamiento de direcciones.
Configuración en Huawei:
[Huawei] ospf 1
[Huawei-ospf-1] area 0.0.0.0
[Huawei-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255
🔁 Interoperabilidad
- Estandarización: Cumple con
RFC 2328
. - Multivendor: Compatible con múltiples fabricantes.
- Con MPLS: Comúnmente usado como protocolo interno en redes MPLS.
Ejemplo de configuración en Huawei:
[Huawei] ospf 1
[Huawei-ospf-1] import-route static
[Huawei-ospf-1] import-route direct
⚙️ Funcionamiento de OSPF
🔍 1. Descubrimiento de Vecinos
- Propósito: Identificar y formar relaciones con routers vecinos.
- Mecanismo: Intercambio de mensajes
Hello
para verificar parámetros. - Resultado: Se establece la relación si los parámetros coinciden.
Comando de verificación:
🔄 2. Intercambio de Información
- Propósito: Sincronizar la base de datos LSDB.
- Paquetes involucrados: Hello, DBD, LSR, LSU, LSAck.
Comando de monitoreo:
🌲 3. Cálculo del Árbol SPF
- Propósito: Determinar la mejor ruta mediante el algoritmo Dijkstra.
- Mecanismo: Se construye el árbol SPF a partir de la LSDB.
Comando para ver la tabla calculada:
🔁 4. Actualización Incremental
- Propósito: Minimizar sobrecarga propagando solo los cambios.
- Mecanismo: Uso de LSUs cuando hay cambios de topología.
- Resultado: Red siempre actualizada sin retransmisión completa.
Comando Huawei:
✉️ Mensajes de OSPF
OSPF utiliza cinco tipos de mensajes clave para coordinar routers:
👋 1. Hello Packets
- Propósito: Detectar y mantener vecinos OSPF.
- Contenido: ID del área, intervalos Hello/Dead, lista de vecinos.
Ejemplo CLI Huawei:
Neighbor ID Pri State Dead Time Address Interface
192.168.2.2 1 Full/DR 00:00:30 192.168.2.1 GE0/0/1
📋 2. Database Description (DBD)
- Propósito: Enviar resumen de LSDB al vecino.
- Proceso: Compara y sincroniza estado de enlaces.
Ejemplo Debug:
OSPF: Neighbor 192.168.2.2 state changed from ExStart to Exchange
📥 3. Link State Request (LSR)
- Propósito: Solicitar información detallada sobre enlaces específicos.
- Proceso: Enviado cuando hay discrepancias en la LSDB.
- Contenido: Tipo de LSA solicitado, ID del enlace.
OSPF: Processing LSR for Link ID 192.168.3.1
📤 4. Link State Update (LSU)
- Propósito: Propagar información nueva o modificada de enlaces.
- Proceso: Envía LSAs para notificar a los vecinos sobre cambios.
- Contenido: LSA actualizados o nuevos.
OSPF: LSA Type: Router LSA, Link ID: 192.168.3.1, SeqNum: 0x80000002
✅ 5. Link State Acknowledgment (LSAck)
- Propósito: Confirmar la recepción de LSUs.
- Proceso: Se envía un acuse de recibo al vecino.
- Contenido: Confirmación de LSA recibido.
OSPF: Sending Link State Acknowledgment for Link ID 192.168.3.1
📊 Resumen de los Mensajes de OSPF
Mensaje | Propósito | Acción |
---|---|---|
Hello | Descubrir y mantener vecinos. | Lista vecinos y verifica conectividad. |
Database Description | Resumir la base de datos de enlaces. | Comparación de LSDB entre vecinos. |
Link State Request | Solicitar información detallada. | Solicita LSAs específicos. |
Link State Update | Propagar actualizaciones. | Envía LSAs modificados o nuevos. |
Link State Acknowledgment | Confirmar recepción de actualizaciones. | Reconoce LSAs recibidos correctamente. |
🗺️ Tipos de Áreas en OSPF con Ejemplos
📍 1. Área Normal
Descripción:
- Contiene routers internos y rutas internas.
- Conectada al área 0 (backbone).
- Permite rutas internas y externas.
Ejemplo de Configuración:
network 192.168.1.0 0.0.0.255 area 1
Explicación: El área 1
es una área normal que permite el intercambio completo de rutas.
🚫 2. Stub Area
Descripción:
- Bloquea rutas externas.
- Utiliza una ruta por defecto hacia redes externas.
Ejemplo de Configuración:
area 2 stub
network 192.168.2.0 0.0.0.255 area 2
Explicación: El área 2
se configura como Stub para optimizar el tamaño de la tabla de enrutamiento.
🔒 3. Totally Stubby Area
Descripción:
- Bloquea rutas externas e internas de otras áreas.
- Sólo permite una ruta por defecto desde el backbone.
Ejemplo de Configuración:
area 3 stub no-summary
network 192.168.3.0 0.0.0.255 area 3
Explicación: El área 3
recibe sólo una ruta por defecto del área 0.
🌐 4. NSSA (Not-So-Stubby Area)
Descripción:
- Permite redistribuir rutas externas dentro del área.
- No propaga esas rutas externas hacia el backbone como rutas externas tradicionales.
Ejemplo de Configuración:
area 4 nssa
network 192.168.4.0 0.0.0.255 area 4
Explicación: El área 4
redistribuye rutas externas sin perder las ventajas de un área stub.
🧩 5. Backbone Area (Área 0)
Descripción:
- Es el núcleo central de OSPF.
- Todas las demás áreas deben conectarse al Área 0 para intercambiar rutas.
Ejemplo de Configuración:
network 10.0.0.0 0.0.0.255 area 0
Explicación: El backbone Área 0
es esencial para interconectar todas las demás áreas en una red OSPF.
📋 Resumen de Áreas con Casos de Uso
Tipo de Área | Descripción | Caso de Uso |
---|---|---|
Área Normal | Acepta rutas internas y externas. | Redes grandes con comunicación interna y externa. |
Stub Area | Bloquea rutas externas, usa ruta por defecto. | Optimizar recursos en redes con tráfico limitado. |
Totally Stubby Area | Acepta solo una ruta por defecto. | Redes pequeñas con poco tráfico. |
NSSA | Redistribuye rutas externas dentro del área. | Conexiones hacia redes externas sin propagación global. |
Backbone Area (Área 0) | Conecta todas las demás áreas y distribuye rutas. | Esencial en cualquier implementación OSPF. |
📦 2. Database Description (DBD)
- Propósito: Intercambiar un resumen de las LSDB entre routers vecinos.
- Proceso: Se indican LSAs conocidos y se solicitan detalles si hay diferencias.
- Contenido Clave: Resumen de LSAs y sincronización de LSDB.
Ejemplo de Debug CLI:
OSPF: Neighbor 192.168.2.2 state changed from ExStart to Exchange
📥 3. Link State Request (LSR)
- Propósito: Solicitar información detallada de un LSA específico.
- Proceso: El router detecta diferencias y solicita los datos faltantes.
- Contenido Clave: Tipo de LSA e ID del enlace.
Ejemplo de Debug CLI:
OSPF: Processing LSR for Link ID 192.168.3.1
📤 4. Link State Update (LSU)
- Propósito: Notificar cambios en la red mediante envío de LSAs.
- Proceso: Los routers propagan LSUs a sus vecinos.
- Contenido Clave: LSAs nuevos o modificados.
Ejemplo de Debug CLI:
OSPF: LSA Type: Router LSA, Link ID: 192.168.3.1, SeqNum: 0x80000002
✅ 5. Link State Acknowledgment (LSAck)
- Propósito: Confirmar la recepción de LSUs.
- Proceso: Un router responde con un LSAck para indicar que ha recibido y procesado las actualizaciones enviadas.
- Contenido Clave: Confirmación del LSA recibido.
Ejemplo de Debug CLI:
OSPF: Sending Link State Acknowledgment for Link ID 192.168.3.1
📋 Resumen de los Mensajes de OSPF
Mensaje | Propósito | Acción |
---|---|---|
Hello | Descubrir y mantener vecinos. | Lista vecinos y verifica conectividad. |
Database Description | Resumir la base de datos de enlaces. | Comparación de LSDB entre vecinos. |
Link State Request | Solicitar información detallada. | Solicita LSAs específicos. |
Link State Update | Propagar actualizaciones. | Envía LSAs modificados o nuevos. |
Link State Acknowledgment | Confirmar recepción de actualizaciones. | Reconoce LSAs recibidos correctamente. |
📶 Estados de Adyacencia en Huawei OSPF
🔻 Estado: Down
- Descripción: No hay comunicación con el vecino OSPF. No se han enviado ni recibido paquetes Hello.
Comando:
Salida de Ejemplo:
Neighbor(s) State
Neighbor ID Pri State Dead Time Address Interface
192.168.2.2 1 Down 00:00:00 192.168.2.1 GE0/0/1
Explicación: El estado "Down" indica que aún no hay comunicación entre el router local y el vecino.
⚠️ Estado: Init
- Descripción: Se ha recibido un paquete Hello del vecino, pero no hay relación bidireccional.
Comando:
Salida de Ejemplo:
Neighbor(s) State
Neighbor ID Pri State Dead Time Address Interface
192.168.2.2 1 Init 00:00:30 192.168.2.1 GE0/0/1
Explicación: En el estado "Init", el router ha recibido el paquete Hello, pero el vecino no ha reconocido al router local.
🔁 Estado: Two-Way
- Descripción: Relación bidireccional establecida. Ambos routers han intercambiado paquetes Hello.
Comando:
Salida de Ejemplo:
Neighbor(s) State
Neighbor ID Pri State Dead Time Address Interface
192.168.2.2 1 2-Way 00:00:30 192.168.2.1 GE0/0/1
Explicación: En este estado, los routers eligen un DR (Designated Router) y un BDR (Backup Designated Router).
📤 Estado: ExStart
- Descripción: Inicia la negociación para sincronizar las bases de datos. Se elige un maestro y un esclavo.
Comando:
Salida de Ejemplo:
OSPF: Negotiating Master/Slave with neighbor 192.168.2.2
Explicación: El router negocia roles para decidir quién enviará primero los detalles de la base de datos.
🔄 Estado: Exchange
- Descripción: Los routers intercambian descripciones de sus bases de datos de estado de enlace (LSDB).
Comando:
Salida de Ejemplo:
OSPF: Sending Database Description packet to neighbor 192.168.2.2
Explicación: En este estado, los routers verifican si necesitan más información sobre los enlaces.
📥 Estado: Loading
- Descripción: Los routers solicitan y reciben información adicional sobre enlaces que no estaban en la base de datos.
Comando:
Salida de Ejemplo:
OSPF: Sending Link State Request packet to neighbor 192.168.2.2
Explicación: Los routers solicitan detalles específicos sobre las rutas y enlaces desconocidos.
✅ Estado: Full
- Descripción: La sincronización de la base de datos está completa, y los routers han establecido una adyacencia total.
Comando:
Salida de Ejemplo:
Neighbor(s) State
Neighbor ID Pri State Dead Time Address Interface
192.168.2.2 1 Full/DR 00:00:30 192.168.2.1 GE0/0/1
Explicación: En este estado, ambos routers tienen la misma información de la red y pueden enrutar paquetes de manera eficiente.
📊 Resumen de Estados en Huawei
Estado | Descripción | Comando | Salida de Ejemplo |
---|---|---|---|
Down | Sin comunicación. | display ospf peer | 192.168.2.2 Down 00:00:00 |
Init | Paquete Hello recibido. | display ospf peer | 192.168.2.2 Init 00:00:30 |
Two-Way | Comunicación bidireccional. | display ospf peer | 192.168.2.2 2-Way 00:00:30 |
ExStart | Inicio de sincronización. | debug ospf adjacency | OSPF: Neighbor ... state changed from 2-Way to ExStart |
Exchange | Intercambio de descripciones de base de datos. | debug ospf adjacency | OSPF: Neighbor ... state changed from ExStart to Exchange |
Loading | Solicitud de información adicional. | debug ospf packet | OSPF: Sending Link State Request packet |
Full | Sincronización completa; adyacencia establecida. | display ospf peer | 192.168.2.2 Full/DR 00:00:30 |
🔒 Autenticación OSPF
OSPF puede usar autenticación para validar actualizaciones entre vecinos.
🔐 Configuración de Autenticación Simple
ip ospf authentication
ip ospf authentication-key MY_PASSWORD
🔐 Configuración de Autenticación MD5
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 MY_MD5_PASSWORD
🧩 Tipos de OSPF y Ejemplos Simples
OSPF (Open Shortest Path First) admite varios tipos de redes y áreas para adaptarse a diferentes configuraciones de red. Aquí se describen los tipos más comunes con ejemplos sencillos.
🌐 1. OSPF de Área Normal (Backbone y No-Backbone)
Descripción:
- Las áreas normales son las más comunes.
- El área 0 es el backbone, y todas las demás áreas deben conectarse a este.
Ejemplo:
- Área 0 (Backbone): Conecta sucursales principales.
- Área 1: Contiene redes locales.
Configuración:
network 192.168.1.0 0.0.0.255 area 0
network 10.0.0.0 0.0.0.255 area 1
🏡 2. OSPF Stub Area (Área de Extremo)
Descripción:
- Bloquea rutas externas (redistribuidas) para reducir el tamaño de la tabla de enrutamiento.
- Sólo permite rutas internas y una ruta por defecto.
Ejemplo:
- Red de una sucursal que solo necesita comunicarse con el área 0.
Configuración:
area 1 stub
network 192.168.2.0 0.0.0.255 area 1
🚪 3. OSPF Totally Stubby Area (Área Totalmente Stub)
Descripción:
- No permite rutas externas ni inter-área. Solo acepta rutas por defecto.
- Ideal para redes pequeñas con recursos limitados.
Ejemplo: Pequeño sitio remoto que solo necesita acceso a Internet.
Configuración:
area 2 stub no-summary
network 192.168.3.0 0.0.0.255 area 2
🔁 4. OSPF NSSA (Not-So-Stubby Area)
Descripción:
- Similar a Stub, pero permite redistribuir rutas externas dentro del área.
- Las rutas externas se convierten en rutas tipo NSSA (Tipo 7) y se traducen en Tipo 5 en el área 0.
Ejemplo: Sucursal que necesita conectar dispositivos externos a la red principal.
Configuración:
area 3 nssa
network 192.168.4.0 0.0.0.255 area 3
🧱 5. Backbone Area (Área 0)
Descripción:
- Es el núcleo de la red OSPF.
- Conecta todas las demás áreas.
Ejemplo: Conecta oficinas principales y servidores centrales.
Configuración:
network 172.16.0.0 0.0.255.255 area 0
⚙️ Configuración Avanzada de OSPF
Aquí tienes un manual completo que incluye OSPF, MPLS, explicaciones detalladas de las configuraciones proporcionadas, y configuraciones adaptadas con nombres ficticios y datos de ejemplo. También se detalla la función de cada comando.
🌐 OSPF y MPLS
Son tecnologías complementarias en redes empresariales avanzadas. Juntas, permiten un enrutamiento eficiente y segmentación de tráfico para cumplir con los requisitos de redes modernas.
🔗 1. Rol de OSPF en MPLS
- Propagación de rutas: OSPF distribuye información de enrutamiento en toda la red.
- Convergencia rápida: Permite que MPLS actualice sus rutas rápidamente en caso de fallos.
- Base para LDP (Label Distribution Protocol): OSPF establece rutas IP que MPLS utiliza para asignar etiquetas.
🔐 2. MPLS y OSPF en Redes VPN
- MPLS usa etiquetas para enrutar tráfico más rápido y aislar clientes.
- OSPF proporciona conectividad entre sitios al propagar rutas dentro de las instancias de VPN.
🎯 3. Beneficios Combinados
- Escalabilidad: MPLS segmenta redes grandes mediante VRFs y OSPF asegura conectividad interna.
- Redundancia: OSPF ofrece rutas de respaldo para enlaces MPLS.
- QoS: MPLS prioriza tráfico crítico, mientras OSPF mantiene rutas óptimas.
🛠️ Configuración de OSPF en Redes MPLS
📡 1. Configuración del Proveedor de Servicios (PE)
🔧 Configuración BGP
router-id 192.168.1.1
ipv4-family vpnv4
policy vpn-target
nexthop recursive-lookup delay 1
ipv4-family vpn-instance VPN_CLIENTE_A
preference 20 200 200
import-route direct
import-route static
import-route ospf 1 route-policy RP_VPN_CLIENTE_A
Explicación:
bgp 65000
: Activa el protocolo BGP con ASN 65000.router-id 192.168.1.1
: Define el identificador del router para BGP.ipv4-family vpnv4
: Habilita la familia de direcciones VPNv4.policy vpn-target
: Aplica políticas de VPN.ipv4-family vpn-instance VPN_CLIENTE_A
: Configura BGP para la instancia de cliente.import-route ospf 1
: Importa rutas de OSPF al proceso BGP.
📦 Configuración de la VPN y Políticas
description CLIENTE_A
ipv4-family
route-distinguisher 65000:100
export route-policy VPN_CLIENTE_A
apply-label per-instance
vpn-target 65000:100 export-extcommunity
vpn-target 65000:200 import-extcommunity
Explicación:
ip vpn-instance
: Crea una instancia VPN llamadaVPN_CLIENTE_A
.route-distinguisher
: Asigna un identificador único para diferenciar rutas (RD).vpn-target
: Define comunidades extendidas para importar/exportar rutas.
🛠️ Configuración OSPF en el PE
import-route direct
import-route static
import-route bgp
peer 192.168.2.2
peer 192.168.2.3
area 0.0.0.5
network 192.168.2.0 0.0.0.255
nssa default-route-advertise no-import-route no-summary
Explicación:
ospf 1
: Activa OSPF con ID 1.router-id
: Identifica el router en OSPF.import-route
: Importa rutas estáticas, directas y de BGP.peer
: Configura vecinos OSPF.area 0.0.0.5
: Define un área OSPF y asocia redes.
🏠 2. Configuración del CPE (Cliente)
📘 Configuración OSPF
import-route direct route-policy RP_CONNECTED
peer 10.1.1.2
area 0.0.0.5
network 10.1.1.0 0.0.0.255
nssa
Explicación:
ospf 1
: Activa OSPF con ID 1.import-route direct
: Importa rutas directas según la políticaRP_CONNECTED
.peer
: Configura el vecino en el área NSSA.nssa
: Define un área NSSA que no importa rutas externas.
🔌 Configuración de Interfaces
description WAN_CLIENTE
ip address 10.1.1.2 255.255.255.0
qos car inbound cir 20480 pir 20480
ospf network-type p2mp
ospf timer dead 60
Explicación:
interface
: Configura la interfaz de acceso WAN.ip address
: Asigna una dirección IP a la interfaz.ospf network-type p2mp
: Define el tipo de red OSPF como punto a multipunto.ospf timer dead
: Configura el temporizador para detectar fallos.
✅ Conclusión
OSPF combinado con MPLS ofrece una solución escalable y eficiente para redes empresariales complejas. La configuración de PE y CPE incluye importación de rutas, políticas de enrutamiento y soporte para VRFs. Los comandos de diagnóstico aseguran una operación estable y permiten la solución rápida de problemas.
---