2026-05-31
RFC: RFC 3626
Published: 2003
Authors: T. Clausen, P. Jacquet (editors), with contributions from C. Adjih, A. Laouiti, P. Minet, P. Muhlethaler, A. Qayyum, L. Viennot
OLSR solves a problem that conventional link-state routing (OSPF, IS-IS) handles badly: routing in a network where every node is a router, links appear and vanish as people walk around, and the medium itself is shared. It is one of the founding protocols of the Mobile Ad-hoc Networking (MANET) family, born from INRIA's Hipercom project in the late 1990s.
The core problem. Classical link-state routing assumes you can flood Link State Advertisements cheaply across stable point-to-point links. In a wireless mesh, every transmission is a broadcast that every neighbor must decode, and naive flooding causes the so-called broadcast storm: N nodes rebroadcasting create O(N²) redundant transmissions and collisions. Reactive protocols like AODV avoided this by only finding routes on demand, but paid a latency penalty on every new flow. OLSR takes the proactive path but makes flooding cheap.
The key invention: MultiPoint Relays (MPRs). Each node picks a minimal subset of its one-hop neighbors such that every two-hop neighbor is reachable through at least one of them. Only MPRs rebroadcast control traffic; everyone else stays silent. Only MPRs advertise link-state information, and they only advertise links to the nodes that selected them. This compresses both the flooding mechanism and the link-state database. In dense networks the savings are dramatic, often an order of magnitude in control overhead.
Mechanics. Two periodic messages do all the work:
HELLO ā sent every 2 seconds (default), carries a node's list of neighbors with link status (symmetric, asymmetric, MPR). HELLOs are never forwarded; they only discover the local two-hop neighborhood, which is enough for each node to compute its MPR set.TC (Topology Control) ā sent every 5 seconds by MPRs, advertises the set of neighbors that selected this node as their MPR. TCs are flooded via the MPR mechanism. From accumulated TCs every node builds a partial topology graph and runs shortest-path on it.OLSR is unapologetically chatty compared to reactive protocols, but routes are always ready: there is no first-packet latency, which matters for short flows like DNS lookups, ICMP, or VoIP signaling.
Why it still matters. OLSR became the de-facto routing protocol of community wireless mesh networks: Freifunk in Germany, Funkfeuer in Austria, Athens Wireless, and parts of guifi.net in Catalonia all ran (and many still run) OLSR or its successor. The popular olsrd implementation by Andreas Tonnesen made it dead simple to drop on an OpenWrt router and have a city-scale mesh self-organize overnight. OLSRv2 (RFC 7181, 2014) modernized the packet format and pulled the common bits into the generic MANET packet/message framework (RFCs 5444, 5497, 6130), but the MPR idea is unchanged.
Lasting influence. If you have ever worked with Thread, Zigbee mesh, Bluetooth Mesh, or 802.11s, you are downstream of the MPR insight: not every node needs to relay, and the ones that do should be chosen by topology, not by accident. Even modern data-center protocols like BGP's add-path and SR's Topology-Independent LFA echo OLSR's premise that link-state distribution and forwarding selection are separable problems.
