Skip to content

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

Last updated · 200 distilled / 1,178 read