A structured lesson workspace with readable content, hands-on examples, and a clean path to completion.
Three neighbors, all in FULL state — the goal. Two are on a broadcast network (Gi0/0) with DR and BDR roles; one is on a point-to-point link (Gi0/1) with no DR role. FULL means the LSDBs are synchronized between the routers.
The state progression is deterministic. Down means no Hello received. Init means we got a Hello but it didn't include our own Router ID — the peer hasn't heard us yet. 2-Way means bidirectional communication is confirmed. ExStart through Loading is database exchange. Full is when they're synchronized.
On broadcast networks, routers stay at 2-Way if they're not DR or BDR — that's expected and healthy. Only the DR and BDR go to Full with all neighbors. On point-to-point, there's no DR/BDR, so all neighbors progress to Full.
Every Hello carries parameters that must match between the two routers. If Area ID, Hello interval, Dead interval, network mask (on broadcast), or authentication doesn't match — the adjacency never forms. This is the #1 cause of neighbor failures, and it's always a config mismatch.
| Parameter | Must match? |
|---|---|
| Area ID | Yes |
| Hello interval | Yes |
| Dead interval | Yes |
| Subnet mask (broadcast) | Yes |
| Authentication type and key | Yes |
| MTU | Yes for ExStart, else stuck |
| Stub area flag | Yes |
| Router priority | No — used for DR election only |
Stuck in ExStart/Exchange almost always means MTU mismatch. The two routers can't agree on who's master and can't exchange database descriptors. Check `show interfaces` on both ends for MTU — one might be 1500 and the other 1400 due to a tunnel or jumbo frame config.
Finish the lesson once you have worked through the material. This awards ★ 35 XP.