UM-OLSR Documentation
0.8.7
- Author:
- Francisco J. Ros
- Date:
- 11 March, 2005
This software implements base specification of OLSR protocol for NS2 network simulator. It has been developed at the University of Murcia (Spain) by Francisco J. Ros, and it is released under the GNU General Public License.
There are available patches for the latest releases of NS2, namely for versions 2.27 and 2.28. Tests have been performed on a Debian GNU/Linux system, but the code should work on all platforms supported by NS2.
Here is a summary of software's main features:
-
Compliant with core-OLSR (but the use of multiple interfaces which is currently not supported by NS2) as it is documented in RFC 3626.
-
Support for MAC layer feedback as described in RFC 3626.
-
Source code follows NS2 coding style.
-
Highly configurable from TCL scripts, i.e., without the need of recompiling the whole simulator. You can:
-
Activate/deactivate debug mode.
-
Change the interval at which every message type is sent (on a per-node basis).
-
Change a node's willingness for forwarding data packets on behalf of other nodes (on a per-node basis).
-
Print whatever data structure managed by a node at a certain time (on a per-node basis).
In this section we are supposing that you have installed a version of NS (2.27/2.28) which is properly running. Let's call $NS_ROOT the upper directory where NS is installed. For instance, if you download and install ns-allinone-2.28.tar.gz in your home directory, then $NS_ROOT is ~/ns-allinone-2.28. Besides let's call $VERSION to the version of your installed NS software.
There are two options for installing UM-OLSR, either applying a patch or copying each source file to the appropiate place:
-
Applying patches
-
Download UM-OLSR patch for NS 2.27 or 2.28 version. Let's call $PATCH to the downloaded file.
-
# cp $PATCH $NS_ROOT && cd $NS_ROOT
-
# patch -p0 < $PATCH
-
# cd ns-$VERSION
-
# make
-
Copying files
-
Download UM-OLSR code for NS 2.27 or 2.28 version. Let's call $FILE to the downloaded file.
-
# tar zxvf $FILE
-
Under the recently created directory are several files which must be copied to the corresponding places in $NS_ROOT/ns-$VERSION.
-
# cd $NS_ROOT/ns-$VERSION
-
# make
UM-OLSR allows NS2 users to use OLSR protocol like any other MANET routing protocol available in the official release.
This example explores main features of UM-OLSR and shows how to perform simulations with this routing protocol. If you can't understand the content of the file, then you should start reading NS Manual or any of the available tutorials for beginners (see NS web page). The simulation consists of a simple TCL script which defines five mobile nodes (with no motion) and an UDP connection between two of them.
UM-OLSR supports all trace formats defined in NS2, i.e, old, new and tagged trace formats. In all cases it is shown the same information when an OLSR packet is sent, received, dropped or forwarded:
-
Number of messages this packet contains.
-
Packet sequence number.
-
For each message is also shown:
-
Message type ("HELLO", "TC" or "UNKNOWN").
-
Originator address.
-
Hop count.
-
Message sequence number.
If you need a more detailed description of trace format, see CMUTrace::format_olsr() function in $NS_ROOT/ns-$VERSION/trace/cmu-trace.cc or the result of the above mentioned example.
Generated on Fri Mar 11 11:49:26 2005 for UM-OLSR by
1.4.1