Optimized Link State Routing Protocol
![]() | This article needs attention from an expert in Computer networking. Please add a reason or a talk parameter to this template to explain the issue with the article. |
The Optimized Link State Routing protocol (OLSR) is a protocol to connect mobile ad-hoc networks, sometimes called wireless mesh networks. It is a link-state routing protocol that collects data about available networks and then calculates an optimized routing table.
The advantage of this approach is that connections are made quickly. The disadvantage is that communication to discover networks occurs continuously. Because programs implementing OLSR are typically large and complex, continuous calculation and memory burdens may be too heavy for small computers. However, this protocol is used successfully on the Freifunk firmware (based on OpenWrt) designed for operation on Linksys WRT54G access points.
Messages
OLSR makes use of "Hello" messages to find its one hop neighbours and its two hop neighbours through their responses. The sender can then select its multipoint relays (MPR) based on the one hop node which offer the best routes to the two hop nodes. Each node has also a MPR selector set which enumerates nodes that have selected it as an MPR node.
Hello
TC (Topology Control)
Other approaches
OLSR is one of several solutions to this problem. Another is AODV, a distance-vector routing protocol. Distance vector routing is simpler, requires less memory and calculation, but suffers from greater delay. Additionally, when a route is needed, communication is much heavier.
Other alternatives include Dynamic Source Routing, which substantially optimizes the network traffic, and Hazy Sighted Link State Routing Protocol, a careful mathematical optimization of proactive link-state features and reactive features. For other alternatives see the list of ad-hoc routing protocols. Another goal for further development is auto-ip configuration.
Implementations
- OLSR.ORG - Downloadable code for OLSR on GNU/Linux, Windows, OS X, FreeBSD and NetBSD systems. Features a great deal of documentation, including an informative survey of related work.
- 6WINDGate - Commercial embedded open-source routing modules providing OLSR integrated for Unicast Routing Protocols (OSPF, BGP, RIP).
See also
- B.A.T.M.A.N. - Slated to be an improved OLSR.
External links
- RFC 3626 - Official OLSR specification
- http://olsr.funkfeuer.at currently advancing the olsr.org implementation to improve scalability
- http://hipercom.inria.fr/olsr/ which includes this Flash Demo.
- http://freifunk.net/wiki/FreifunkFirmwareEnglish Freifunk Firmware (English language page) - a firmware based on OpenWRT that uses OLSR, designed to build mesh networks out of wireless access points, e.g. LinksysWRT54G's
- http://pyramid.metrix.net/ Pyramid Linux, an embedded distro for embedded x86 boards with OLSR, web interface, etc. Primarily used in Community Networks.