The NRL OLSR Routing Protocol Implementation
NRL has implemented a link-state routing protocol oriented for mobile ad hoc networks (MANETs). It is largely based on the Optimized Link State Routing (OLSR) protocol specification (RFC 3626), however the NRL code base has several additional options and features, including:
- Support for IPv6
- Operational in Windows, MacOS, Linux, and various embedded PDA systems such as Zaurus and PocketPC
- Full link state topology can be distributed including non-MPR cross links
- A "willingness" attribute for localized MPR activation
- Support for several MPR selection protocols (Classical flooding, NS-MPR, S-MPR, MPR-CDS, and E-CDS)
- Neighbor link quality assessed by a smoothed hysteresis function
- Many run-time parameters available including: HELLO interval, link state update interval, timeout factors, link quality assessment parameters, MPR willingness, and message TOS
- Configurable debugging verboseness
- Experimental features such as fuzzy-sighted routing and support for Simplified Multicast Forwarding
NRL has implemented OLSR using the Protolib programming toolkit, which allows for cross-platform support including building code into different network simulation environments (e.g. NS-2, OPNET). Protolib abstraction even provides for potential use of code in protocol stacks alternative to Internet Protocol (IP) if needed.
NRL has developed several network testing and visualization tools which have been extensively used to analyze OLSR performance in a variety of live-network, emulation, and simulation scenarios.
All NRL-OLSR downloads are available at http://downloads.pf.itd.nrl.navy.mil/olsr/.
For installation within NS-2, please see the NRL Extensions for NS-2. For installation instructions on all other platforms, please see the readme files included with the distribution.
If you are interested in more information about OLSR, please contact email@example.com. There is also an NRL OLSR Users mailing list. This mailing list is monitored by the NRL OLSR developer(s).