Paquetes de OSPF
OSPF utiliza su propio protocolo, al igual que EIGRP, y no usa un protocolo de transporte como TCP o UDP. Si observaras el paquete IP en Wireshark, podrías ver que OSPF tiene el ID de protocolo 89 para todos sus paquetes
Los paquetes que se visualizan en la creación de una Adyacencia son los siguientes:
- Hello
- Database Description (DBD)
- Link-State Request (LSR)
- Link-State Update (LSU)
- Link-Steate Acknowledgment (LSAck)
¿Cuál es el propósito de cada uno de estos paquetes?
Hello
- Se usan para descubrir y mantener vecinos OSPF.
- Se envían periódicamente a la dirección multicast 224.0.0.5 (routers OSPF).
- Contienen información clave como ID del router, temporizadores y tipo de red.
Database Description
- Se intercambian cuando dos routers están en el estado Exchange.
- Contienen un resumen de los LSAs que cada router tiene en su base de datos.
- Permiten comparar qué información ya tienen y qué necesitan solicitar.
Link state Request (LSR)
- Se usa cuando un router detecta que le falta información de la base de datos.
- Pide LSAs específicos al vecino para completar su base de datos de estado de enlace (LSDB)
Link-State Update (LSU)
- Contiene LSAs nuevos o actualizados.
- Se envían en respuesta a un LSR o cuando hay cambios en la red
Link-State Acknowledgment (LSAck)
- Se usa para confirmar que un LSU ha sido recibido correctamente.
Veamos como luce el proceso paso a paso con la siguiente topología.
Comencemos analizando el paquete numero 20, en cuanto configuramos OSPF en R1, comenzará a enviar paquetes Hello. R1 no tiene conocimiento de otros routers OSPF en este momento, por lo que está en el estado «DOWN». El paquete Hello se enviará a la dirección multicast 224.0.0.5. (Todos los Routers).


R2 recibe el paquete Hello y añadirá una entrada para R1 en la tabla de vecinos OSPF. Ahora estamos en el estado de «INIT«.

En el paquete 21 vemos la respuesta del Router 2 , R2 tiene que responder a R1 con un paquete Hello. Este paquete no se envía mediante multicast, sino por unicast, R1 verá su propio router-id en el campo Active Neighbor» de este paquete Hello. Aquí comienza el primer estado llamado 2-Way


Voy a hacer una pausa aquí. Si el enlace que estamos utilizando es una red multi-acceso, OSPF tiene que elegir un DR (Router Designado) y un BDR (Router de Respaldo Designado). Esto debe ocurrir antes de que podamos continuar con el resto del proceso.
Recuerda que la elección del DR/BDR sucede justo después del estado «two-way»
Nuestra siguiente parada es el estado exstart. Nuestros routers están listos para sincronizar sus LSDB (Bases de Datos de Estado de Enlace). En este paso, tenemos que seleccionar un rol de maestro y esclavo. El router con el ID de router más alto se convertirá en el maestro. R2 tiene el ID de router más alto y se convertirá en el maestro.

Prestemos atención a los paquetes 30 y 31. El paquete 30 c0rreponde a DBD de R2 y se observa que el campo «Master» se encuentra la palabra Yes.

Y en el campo 31 observamos el paquete DBD de R1 en donde el campo «Master» se encuentra la palabra No.

En el estado exchange, nuestros routers están enviando un DBD (Database Description) con un resumen de la LSDB (Base de Datos de Estado de Enlace). De esta manera, los routers pueden identificar qué redes no conocen o qué información les falta en su propia LSDB en comparación con la de su vecino.
El DBD contiene una lista de los identificadores de los enlaces (Link-State Advertisements, LSAs) que el router está dispuesto a compartir. Los routers comparan estos resúmenes y determinan qué información necesitan intercambiar para actualizar sus tablas de enrutamiento y bases de datos de estado de enlace.
Si un router ve que le falta alguna entrada en el DBD de su vecino, enviará un LSR (Link-State Request) para solicitar más detalles. Así es como se asegura de que ambos routers tengan la misma visión de la topología de la red.

Cuando los routers reciben el DBD (Database Description), realizan un par de acciones importantes:
- Enviar un acuse de recibo mediante el paquete LSAck para confirmar la recepción del DBD.
- Comparar la información en el DBD con la que ya tienen en su propia LSDB:
- Si el vecino tiene información nueva o más reciente, el router enviará un LSR (Link State Request) para solicitar esta información adicional.
- Cuando los routers comienzan a enviar LSR para solicitar detalles adicionales, estamos en el estado de Loading.
- El otro router responderá con un LSU (Link State Update) que contiene la información solicitada.

En este ejemplo, como es la primera vez que se crea la adyacencia lo primero que sucederá es que ambos equipos enviaran un LSR para solicitar toda la información de las LSA. Observa el paquete 31, donde R1 envia un LSR a R2 y también anuncia los tipos de LSA que puede enviar. En el paquete 35 se observa la respuesta de R2 enviado un LSU a R1.

El mismo procedimiento ocurre en sentido contrario, ahora vemos en el paquete 36 que R2 envia un LSR a R1 para solicitar la información de todos los LSA que este contiene y en el paquete 37 vemos una respuesta de R1 con su LSU

Veamos el proceso directamente en el router, por medio del comando «debug ip ospf ad» podremos ver los estados del proceso de adyacencia.
Reset ALL OSPF processes? [no]: y
R1#
*Feb 3 16:30:35.963: OSPF-1 ADJ Lo0: Interface going Down
*Feb 3 16:30:35.964: OSPF-1 ADJ Lo0: 0.0.0.1 address 1.1.1.1 is dead, state DOWN
*Feb 3 16:30:35.965: OSPF-1 ADJ Gi0/0: Interface going Down
*Feb 3 16:30:35.965: OSPF-1 ADJ Gi0/0: 0.0.0.2 address 40.40.40.2 is dead, state DOWN
*Feb 3 16:30:35.966: %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.2 on GigabitEthernet0/0 from FULL to DOWN, Neighbor Down: Interface down or detached
*Feb 3 16:30:35.968: OSPF-1 ADJ Gi0/0: Nbr 0.0.0.2: Clean-up dbase exchange
*Feb 3 16:30:35.969: OSPF-1 ADJ Gi0/0: Neighbor change event
*Feb 3 16:30:35.970: OSPF-1 ADJ Gi0/0: DR/BDR election
*Feb 3 16:30:35.970: OSPF-1 ADJ Gi0/0: Elect BDR 0.0.0.1
*Feb 3 16:30:35.971: OSPF-1 ADJ Gi0/0: Elect DR 0.0.0.1
*Feb 3 16:30:35.972: OSPF-1 ADJ Gi0/0: Elect BDR 0.0.0.0
*Feb 3 16:30:35.972: OSPF-1 ADJ Gi0/0: Elect DR 0.0.0.1
*Feb 3 16:30:35.973: OSPF-1 ADJ Gi0/0: DR: 0.0.0.1 (Id)
*Feb 3 16:30:35.974: OSPF-1 ADJ Gi0/0: BDR: none
*Feb 3 16:30:35.974: OSPF-1 ADJ Gi0/0: Remember old DR 0.0.0.2 (id)
*Feb 3 16:30:35.975: OSPF-1 ADJ Gi0/0: 0.0.0.1 address 40.40.40.1 is dead, state DOWN
*Feb 3 16:30:35.976: OSPF-1 ADJ Gi0/0: Neighbor change event
*Feb 3 16:30:35.977: OSPF-1 ADJ Gi0/0: DR/BDR election
*Feb 3 16:30:35.977: OSPF-1 ADJ Gi0/0: Elect BDR 0.0.0.0
*Feb 3 16:30:35.978: OSPF-1 ADJ Gi0/0: Elect DR 0.0.0.0
*Feb 3 16:30:35.979: OSPF-1 ADJ Gi0/0: Elect BDR 0.0.0.0
*Feb 3 16:30:35.979: OSPF-1 ADJ Gi0/0: Elect DR 0.0.0.0
*Feb 3 16:30:35.980: OSPF-1 ADJ Gi0/0: DR: none
*Feb 3 16:30:35.981: OSPF-1 ADJ Gi0/0: BDR: none
*Feb 3 16:30:35.981: OSPF-1 ADJ Gi0/0: Flush network LSA immediately
*Feb 3 16:30:35.982: OSPF-1 ADJ Gi0/0: Remember old DR 0.0.0.1 (id)
*Feb 3 16:30:35.997: OSPF-1 ADJ Lo0: Interface going Up
*Feb 3 16:30:35.998: OSPF-1 ADJ Gi0/0: Interface going Up
*Feb 3 16:30:36.023: OSPF-1 ADJ Gi0/0: 2 Way Communication to 0.0.0.2, state 2WAY
*Feb 3 16:30:36.024: OSPF-1 ADJ Gi0/0: Backup seen event before WAIT timer
*Feb 3 16:30:36.025: OSPF-1 ADJ Gi0/0: DR/BDR election
*Feb 3 16:30:36.025: OSPF-1 ADJ Gi0/0: Elect BDR 0.0.0.1
*Feb 3 16:30:36.026: OSPF-1 ADJ Gi0/0: Elect DR 0.0.0.2
*Feb 3 16:30:36.027: OSPF-1 ADJ Gi0/0: Elect BDR 0.0.0.1
*Feb 3 16:30:36.027: OSPF-1 ADJ Gi0/0: Elect DR 0.0.0.2
*Feb 3 16:30:36.028: OSPF-1 ADJ Gi0/0: DR: 0.0.0.2 (Id)
*Feb 3 16:30:36.029: OSPF-1 ADJ Gi0/0: BDR: 0.0.0.1 (Id)
*Feb 3 16:30:36.030: OSPF-1 ADJ Gi0/0: Nbr 0.0.0.2: Prepare dbase exchange
*Feb 3 16:30:36.031: OSPF-1 ADJ Gi0/0: Send DBD to 0.0.0.2 seq 0x5B6 opt 0x52 flag 0x7 len 32
*Feb 3 16:30:36.048: OSPF-1 ADJ Gi0/0: Rcv DBD from 0.0.0.2 seq 0x1B35 opt 0x52 flag 0x7 len 32 mtu 1500 state EXSTART
*Feb 3 16:30:36.049: OSPF-1 ADJ Gi0/0: NBR Negotiation Done. We are the SLAVE
*Feb 3 16:30:36.050: OSPF-1 ADJ Gi0/0: Nbr 0.0.0.2: Summary list built, size 0
*Feb 3 16:30:36.051: OSPF-1 ADJ Gi0/0: Send DBD to 0.0.0.2 seq 0x1B35 opt 0x52 flag 0x0 len 32
*Feb 3 16:30:36.065: OSPF-1 ADJ Gi0/0: Rcv DBD from 0.0.0.2 seq 0x1B36 opt 0x52 flag 0x1 len 132 mtu 1500 state EXCHANGE
*Feb 3 16:30:36.067: OSPF-1 ADJ Gi0/0: Exchange Done with 0.0.0.2
*Feb 3 16:30:36.069: OSPF-1 ADJ Gi0/0: Send LS REQ to 0.0.0.2 length 84
*Feb 3 16:30:36.069: OSPF-1 ADJ Gi0/0: Send DBD to 0.0.0.2 seq 0x1B36 opt 0x52 flag 0x0 len 32
*Feb 3 16:30:36.094: OSPF-1 ADJ Gi0/0: Rcv LS UPD from Nbr ID 0.0.0.2 length 192 LSA count 5
*Feb 3 16:30:36.100: OSPF-1 ADJ Gi0/0: Synchronized with 0.0.0.2, state FULL
*Feb 3 16:30:36.100: %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.2 on GigabitEthernet0/0 from LOADING to FULL, Loading Done
*Feb 3 16:30:37.344: OSPF-1 ADJ Gi0/0: Neighbor change event
*Feb 3 16:30:37.345: OSPF-1 ADJ Gi0/0: DR/BDR election
*Feb 3 16:30:37.346: OSPF-1 ADJ Gi0/0: Elect BDR 0.0.0.1
*Feb 3 16:30:37.347: OSPF-1 ADJ Gi0/0: Elect DR 0.0.0.2
*Feb 3 16:30:37.347: OSPF-1 ADJ Gi0/0: DR: 0.0.0.2 (Id)
*Feb 3 16:30:37.348: OSPF-1 ADJ Gi0/0: BDR: 0.0.0.1 (Id)
R1#
*Feb 3 16:31:16.068: OSPF-1 ADJ Gi0/0: Nbr 0.0.0.2: Clean-up dbase exchange
- Recuerda lo siguiente:
- Down: No se han detectado vecinos OSPF en este momento.
- Init: Se ha recibido un paquete Hello.
- Two-Way: Se encontró el propio ID del router en el paquete Hello recibido.
- ExStart: Se determinan los roles de maestro y esclavo.
- Exchange: Se envían paquetes de descripción de base de datos (DBD).
- Loading: Se intercambian paquetes LSR (solicitud de estado de enlace) y LSU (actualización de estado de enlace).
- Full: Los routers OSPF ahora tienen una adyacencia completa.


Deja un comentario