CONCEPT Cited by 1 source
Link-state routing protocol¶
What it is¶
A link-state routing protocol is a class of network routing protocols (OSPF, IS-IS) where each router is the source of truth for its own links and is responsible for quickly flooding any change in those links to every other router so each can independently compute its forwarding table from a converged global view.
Contrast with distance-vector protocols (RIP, EIGRP) where routers exchange only their own routing-table summaries with neighbours and converge over more hops, and with path-vector protocols (BGP) where routers exchange full AS-paths.
Key properties¶
- Every router knows the full topology, not just its neighbours' views.
- Flooding delivers any local change globally — sub-second convergence inside an OSPF area.
- Each router computes its own forwarding state from the topology database (Dijkstra's SPF in OSPF).
- Source-of-truth is distributed to the edge — no central controller; each router owns what it knows best.
Why it matches state-distribution systems¶
Fly.io's canonical insight (see sources/2025-10-22-flyio-corrosion):
"A protocol like OSPF has the same operating model and many of the same constraints we do. OSPF is a 'link-state routing protocol', which, conveniently for us, means that routers are sources of truth for their own links and responsible for quickly communicating changes to every other router, so the network can make forwarding decisions."
Map the shape across domains:
| OSPF | Corrosion (Fly.io) |
|---|---|
| Router | Worker |
| Links + metrics | Fly Machines running on worker |
| Flooding | QUIC broadcast + SWIM membership |
| Topology database | SQLite DB replica on each node |
| SPF / routing table computation | SQL query on the local SQLite |
Crucially, the operating model does not require distributed consensus — each router can disagree briefly while flooding converges, and the forwarding plane still works. This is the design point that makes consensus-free state distribution viable.
Fly.io has it easier than OSPF¶
OSPF's flooding algorithm has to solve connectivity between routers as part of the protocol. Fly.io already runs a globally, fully-connected WireGuard mesh between workers, so that part is free: "All we need to do is gossip efficiently."
Seen in¶
- sources/2025-10-22-flyio-corrosion — canonical primary source. Fly.io picks OSPF as their mental model for Corrosion over Raft-family consensus protocols.
Related¶
- concepts/gossip-protocol — the mechanism Corrosion uses to achieve OSPF-like flooding.
- concepts/rib-fib-routing — the RIB/FIB split that link-state protocols naturally produce.
- systems/corrosion-swim — Fly.io's production link-state-inspired state-distribution system.
- concepts/no-distributed-consensus — the design choice OSPF illustrates and Corrosion inherits.