Analyze OSPF Packet Types and States [Complete Guide]

OSPF packet analysis provides a clear view of the protocol’s interaction mechanisms by examining the structure of messages, helping to fully grasp the communication process.

Verifying theoretical knowledge through OSPF packet analysis deepens understanding and fosters the ability to independently examine networking data, enhancing self-learning skills.

This article focuses on OSPF packet analysis. Those unfamiliar with the theoretical background are encouraged to review the basics before diving into packet-level details.

OSPF Packets

5 OSPF Packet Types

HELLO Message

OSPF Packet Analysis

DBD message

LSR Message

LSU message

LSACK message

7 OSPF Packet States

DOWN

No OSPF-related messages are exchanged, and the neighbor status is empty.

INIT State and Router-ID Verification in OSPF Packet Analysis

Check router-id

1) Capture the packet and check the ROUTER-ID in the message

2) Check the router-id of the neighbor relationship on the device

Manually modify router-id

1) Configuration Commands

ospf 1 router-id 1.1.1.1

reset OSPF process

2) Capture the packet and check the ROUTER-ID in the message

3) Check the router-id that takes effect after the neighbor modification on the device

INIT → two-way conditions

The hello message received from the neighboring device contains its router-id (Active Neighbor in the message)

The router-id of 1.1.1.1 in the HELLO packet sent by R2

TWO-WAY State: DR and BDR Roles in OSPF Packet Analysis

DR and BDR in HELLO message

DR and BDR have not been elected yet, HELLO message capture

Priority is not adjusted, default is 1

Adjust the interface priority to 10

Adjusting the OSPF DR Priority

1) Configuration Commands

int g0/0/0

OSPF dr-priority 10

2) The priority of packet capture is 10

Effects of Setting DR Priority to Zero in OSPF Packet Analysis

1) Configuration Commands

Adjust R2’s DR priority to 0

int g0/0/0

OSPF dr-priority 0

2) Capture the packet and view it

R2 was originally the DR, but now it does not participate in the DR election. R1 becomes the DR, and there is no BDR.

EXSTART State: DBD Message Negotiation in OSPF Packet Analysis

MS bit in DBD message

1) The master-slave DBD has not yet been negotiated

The first DBD message MS is always 1

The first DBD message on R1

The first DBD message on R2

2) Negotiated DBD

After the negotiation is completed, there must be a device that sends MS=0;

R1 MS is 0, then R1 is a slave device

R2 MS is 1, this is when R2 is the primary device

Sequence Number in DBD Message

R2 sends seq 281

R1 confirmed seq 281

EXCHANGE State: OSPF Packet Analysis of M Bit in DBD Messages

The M bit in the DBD message

M=1, indicating that the DBD message has not been sent yet

M=0, indicating that the DBD message has been sent.

LOADING

R1 sends LSR to request link information of 172.16.12.2

R2 responds to the request

The LSA in the LSU responds to the peer’s request. The LSA sequence number is 0x80000003.

LSACK, confirming that the LSA sequence number is 0x80000004 (+1)

FULL

Messages in a stable state

10S HELLO stable state

After about 1800 seconds, LSU LSACK is flooded again.

After another 1800 seconds, LSU LSACK is flooded again

Conclusion

Learning may seem dull at first, but OSPF packet analysis adds a practical dimension that makes it intriguing. By combining theoretical knowledge with packet-level investigation, you can uncover the inner workings of networking protocols, turning learning into a more engaging and insightful experience.