24-01-2013, 12:05 PM
Linux Optimized Link State Routing Protocol (OLSR) IPv6 HOWTO
1Linux Optimized Link State.pdf (Size: 165.53 KB / Downloads: 16)
Introduction
This document describes the software and procedures to set up and use Optimized Link State Routing
Protocol (OLSR) with IPv6 for Linux.
Why Ad−Hoc network?
An English translation of ad−hoc is "For a particular purpose (improvised, made up in an instant)" (source:
Wikipedia). An Ad−hoc network, or "spontaneous network", is especially useful when dealing with wireless
devices in which some of the devices are part of the network only for the duration of a communications
session and the need for a dynamic network topology is eminent. A "Mobile Ad hoc Network" is usually
called a MANET.
What is a MANET?
" A MANET consists of mobile platforms (e.g., a router with multiple hosts and wireless communications
devices)−−herein simply referred to as 'nodes'−−which are free to move about arbitrarily. The nodes may be
located in or on airplanes, ships, trucks, cars, perhaps even on people or very small devices, and there may be
multiple hosts per router. A MANET is an autonomous system of mobile nodes. The system may operate in
isolation, or may have gateways to and interface with a fixed network." −−− RFC2501: Mobile Ad hoc
Networking (MANET), section 3 (page 3).
What is Optimized Link State Routing (OLSR)?
"OLSR is a proactive routing protocol for mobile ad hoc networks. The protocol inherits the stability of a link
state algorithm and has the advantage of having routes immediately available when needed due to its proactive
nature. OLSR is an optimization over the classical link state protocol, tailored for mobile ad hoc networks."
"OLSR is designed to work in a completely distributed manner and does not depend on any central entity. The
protocol does NOT REQUIRE reliable transmission of control messages: each node sends control messages
periodically, and can therefore sustain a reasonable loss of some such messages. Such losses occur frequently
in radio networks due to collisions or other transmission problems." −−− RFC3626: OLSR, section 1.3 (page
8)
How does OLSR work?
"The Optimized Link State Routing Protocol (OLSR) is developed for mobile ad hoc networks. It operates as
a table driven, proactive protocol, i.e., exchanges topology information with other nodes of the network
regularly. Each node selects a set of its neighbor nodes as 'multi−point relays' (MPR). In OLSR, only nodes,
selected as such MPRs, are responsible for forwarding control traffic, intended for diffusion into the entire
network. MPRs provide an efficient mechanism for flooding control traffic by reducing the number of
transmissions required." −−− RFC3626: OLSR, section 1 (page 4)
OLSR for Linux
There are several OLSR implementation for Linux, but not all of them support IPv6. You should know how to
enable and use IPv6 on Linux. Peter Bieringer has written an excellent Linux IPv6 HOWTO.
There is one OLSR implementation that is becoming the "standard" and most widely used. It goes by the
descriptive name "OLSRd" (old Unik−OLSR).
OLSRd is an implementation based on the INRA C code, but has been almost completely rewritten, so there is
not much left of the original INRA code (that mean it almost GPL). OLSRd also is under very rapid
development, and if you report in a bug, it is usually fixed in a matter of hours.
OLSRd fully comply to the OLSR RFC, support for plugins, and it has an optional GUI interface (to see
what's going on). The implementation also has a informative "up−to−date" web−page with links to mailing
lists and papers.