OSPF Neighbor States – Complete Guide with Examples
✅ Overview of OSPF Neighbor FSM (Finite State Machine)
The OSPF Neighbor Finite State Machine (FSM) defines the step-by-step process that two OSPF routers go through to form an adjacency.
- Build neighbor relationships
- Synchronize routing information
- Prevent routing loops
✅ Purpose of OSPF Neighbor States
- Ensure reliable and ordered exchange of link-state information.
- Control the formation of adjacencies only where necessary (e.g., with DR/BDR).
- Provide a structured mechanism to detect and recover from neighbor issues.
✅ OSPF Adjacency Process Flow
- Routers send Hello packets to discover neighbors.
- Routers go through seven neighbor states.
- Full adjacency is formed only with DR/BDR (on multi-access networks) or all neighbors (on point-to-point links).
✅ OSPF Neighbor States (in Order)
| Order | State |
| 1 | Down |
| 2 | Init |
| 3 | 2-Way |
| 4 | ExStart |
| 5 | Exchange |
| 6 | Loading |
| 7 | Full |
✅ Meaning and Role of Each State
- Down: No Hello packets received. Initial state.
- Init: Hello received, but our RID not listed yet.
- 2-Way: Bi-directional Hello exchange; DR/BDR elected here.
- ExStart: Master/slave negotiation for DB exchange.
- Exchange: DBD packets sent/received.
- Loading: Missing LSAs requested and sent.
- Full: LSDBs fully synchronized.
✅ OSPF Packet Types and Their Role in States
| Packet Type | Purpose | Used In State |
| Hello | Discover and maintain neighbors | Down, Init, 2-Way |
| DBD | Describe contents of LSDB | ExStart, Exchange |
| LSR | Request specific LSAs | Loading |
| LSU | Send requested LSAs | Loading |
| LSAck | Acknowledge LSUs | Loading |
✅ Neighbor State Transitions
| From State | To State | Trigger |
| Down | Init | Received Hello |
| Init | 2-Way | Neighbor sees our Router ID |
| 2-Way | ExStart | DR/BDR election or P2P |
| ExStart | Exchange | DBD exchange |
| Exchange | Loading | Missing LSAs detected |
| Loading | Full | All LSAs received |
✅ Timers (Hello/Dead)
Default Hello Interval: 10s, Dead Interval: 40s
Mismatch prevents adjacency.
✅ DR/BDR Influence
- DROTHERs form FULL state only with DR/BDR
- DROTHER ↔ DROTHER = 2-Way
✅ Troubleshooting Stuck States
| State | Issue Cause |
| Init | Unidirectional Hello (timers or L2) |
| ExStart | MTU mismatch, duplicate RIDs, DR/BDR mismatch |
| Loading | LSA corruption, authentication mismatch |
✅ Useful Commands
show ip ospf neighbor
show ip ospf interface
debug ip ospf adj
debug ip ospf hello
show interface <int> | include MTU
✅ Summary Table of OSPF Neighbor States
| State | Description | Common Packet Type |
| Down | No Hello received | — |
| Init | Hello received, we not seen yet | Hello |
| 2-Way | Bi-directional Hello | Hello |
| ExStart | Master/slave negotiation | DBD |
| Exchange | Exchange of LSA headers | DBD |
| Loading | Requesting LSAs | LSR, LSU, LSAck |
| Full | Synchronized LSDB | — |
OSPF Neighbor States Quiz
← Back to Home