OSPF floods topology rather than routes. Every router in an area holds an identical database describing the same graph, and each independently runs a shortest path calculation against it, which is why two routers in one area that disagree have a database problem rather than a routing problem.
That distinction determines how it is troubleshot. The question is almost never which path was chosen, it is whether the inputs to the calculation are the same on both devices.
The link state advertisements
| Type | Name | Originated by | Flooded within |
|---|---|---|---|
| 1 | Router | Every router | One area |
| 2 | Network | The designated router | One area |
| 3 | Summary | Area border router | Other areas |
| 4 | ASBR summary | Area border router | Other areas |
| 5 | External | Autonomous system boundary router | The whole domain |
| 7 | NSSA external | Boundary router inside an NSSA | That area only |
Types one and two describe topology, so they are never forwarded between areas. Types three and four describe reachability rather than topology, which is the mechanism that makes an area boundary a summarisation point and keeps the shortest path calculation bounded.
Type seven exists because a not so stubby area refuses type five while still needing to originate externals. The border router translates seven into five on the way out, and the translator is the router in the area with the highest router identifier unless it is set explicitly.
Area types and what each blocks
| Area type | Blocks | Replaces with |
|---|---|---|
| Standard | Nothing | Not applicable |
| Stub | Types 4 and 5 | Default route |
| Totally stubby | Types 3, 4 and 5 | Default route |
| NSSA | Types 4 and 5 | Type 7 locally, default route |
| Totally NSSA | Types 3, 4 and 5 | Type 7 locally, default route |
Every router in an area must agree on its type, because the flag is carried in the hello and a mismatch prevents the adjacency from forming. This is one of the more common causes of an adjacency that reaches two way and stops.
Adjacency states, and where they stick
| Stuck at | Almost always |
|---|---|
| Down or Init | One way hello, filtered multicast, or authentication mismatch |
| Two way | Expected on broadcast media between non designated routers |
| ExStart | MTU mismatch across the link |
| Exchange or Loading | Packet loss, or MTU on a path rather than the interface |
Two way between two ordinary routers on a broadcast segment is correct rather than broken, since only the designated and backup designated routers form full adjacencies with everyone. Reading it as a fault is a common misdiagnosis.
ExStart deserves its own note. The database description packet carries the sending interface MTU, and a receiver whose own MTU is smaller rejects it, so the two sides never progress. Both devices report the neighbour as present, which makes it look like a protocol problem rather than a layer two one.
Designated routers, and the tie break that surprises people
On multi access media, forming an adjacency between every pair would produce a mesh growing with the square of the router count. The designated router terminates all adjacencies and originates the type two advertisement describing the segment, reducing that to a star.
Election is by priority, then by highest router identifier, and it is not pre-emptive. A router with a higher priority added to a working segment does not take over, which means the designated router is frequently whichever device booted first rather than the one that was designed for the role.
The consequence for design is to set priority to zero on devices that must never hold the role, rather than relying on priority alone to select the one that should.
Cost, and the reference that has not aged
Interface cost is a reference bandwidth divided by interface bandwidth, with a default reference of one hundred megabits per second. Every interface at or above that speed therefore receives a cost of one.
On a modern network this means a ten gigabit link and a one gigabit link are indistinguishable to the calculation, and traffic is load shared across both as though they were equal. Raising the reference bandwidth restores the differentiation, and it must be raised identically on every router in the domain, because the cost is carried in the advertisement rather than negotiated.
Convergence, and where the delay actually is
Total convergence is detection, plus origination, plus flooding, plus calculation, plus installation. Only the first and last are usually worth tuning.
Detection by hello and dead interval is slow, and lowering the timers increases control plane load while still measuring in seconds. Bidirectional forwarding detection replaces it with sub second failure detection at a fraction of the cost, and it is the single most effective change available.
Throttling controls the other end. Both advertisement origination and the shortest path calculation are rate limited with an initial delay and an exponential increase, which prevents a flapping link from consuming the control plane. Tightening the initial delay improves the first response, and removing the back off entirely converts an unstable link into a domain wide problem.
Design constraints worth respecting
Every area must touch the backbone, and where it cannot, a virtual link tunnels through a transit area. Virtual links work and are a repair rather than a design, since they make the backbone depend on the stability of the area they cross.
Summarisation is only possible at an area or autonomous system boundary, because the topology advertisements cannot be altered without breaking the calculation. This is the practical reason addressing has to be planned around the area layout rather than the other way around.
Area sizing is bounded by database size and calculation cost rather than by router count, so a hundred routers with simple topology is comfortable while thirty with dense meshing is not.
Note: a duplicate router identifier produces symptoms that look like everything else. Adjacencies flap, advertisements are repeatedly replaced, and the database never settles. It is worth ruling out first, because every other diagnosis fits the evidence equally well.