Walk me through the OSPF neighbor states from Down to Full. What is exchanged at each step?
Show the answer
Say this first
Down, then Init when I hear the neighbor's hello, then 2-Way when I see my own router ID in its hello. On broadcast links the DR election happens here. ExStart picks master and slave with empty DBDs, Exchange swaps DBDs full of LSA headers, Loading requests and receives the missing LSAs, and Full means both databases match.
Go deeper
State by state
| State | What happened | Packets |
|---|---|---|
| Down | No hello heard within the dead interval | none received |
| Attempt | NBMA only: sending unicast hellos to a configured neighbor | Hello |
| Init | Received a hello, but my router ID is not in its neighbor list yet | Hello |
| 2-Way | My router ID is in its hello. Bidirectional. DR and BDR elected now | Hello |
| ExStart | Master and slave chosen, higher router ID is master, master sets the DD sequence | Empty DBDs with I, M and MS bits |
| Exchange | Each side describes its LSDB as a list of LSA headers | DBD, LSR can start |
| Loading | Requesting the LSAs that are missing or newer | LSR, LSU, LSAck |
| Full | Databases synchronized, adjacency complete | Hello, then LSU and LSAck for changes |
Two points interviewers probe
- 2-Way is the end state between two DROTHERs on a broadcast segment. They only go Full with the DR and BDR.
- MTU is checked in the DBD packets. A mismatch is the classic cause of a neighbor stuck in ExStart or Exchange.
They will ask next
Who becomes master in ExStart and why does it matter?
The router with the higher router ID. The master controls the DD sequence numbers and the slave acknowledges by echoing them. It has nothing to do with DR election.
What does a neighbor stuck in INIT tell you?
I hear them but they do not hear me. Hellos are one-way: an ACL or firewall dropping protocol 89 in one direction, a unidirectional link, or multicast being filtered.
What does "FULL/DROTHER" mean in show ip ospf neighbor?
The adjacency is Full and the neighbor's role on that segment is DROTHER. You only see that on the DR or BDR, because DROTHERs stay at 2WAY/DROTHER with each other.
Traps
- Saying 2-Way means the adjacency is broken. Between DROTHERs it is correct.
- Saying the DR election happens in ExStart. It happens after 2-Way, before ExStart.