wiki:HowTo/UsingAODV/AODVonORBIT

AODV/OLSR on ORBIT

The aim of this effort is to run the AODV routing protocol for an Ad-hoc network of arbitrary topology on ORBIT. The topology of the Ad-hoc network can be provided by the experimenter or one can use from a set of available topologies.

The demo below shows how to run and AODV on a minimal Ad-hoc network of three nodes.

Initial installation

The nodes to be used in the network must be imaged with adhoc_0.1.ndz. This image has AODV-UU-0.9.1 installed. It also contains the mackill module. This module is used to emulate an Ad-hoc network by supressing packets from desired nodes. This image also contains the modified madwifi-0.9.2 driver with the BSSID problem solved.

imageNodes <node list> adhoc_0.1.ndz

Network creation - using Mackill

Mackill is a MAC filter wich is used to emulate Ad-hoc network topologies on ORBIT. The mackill module creates a mackill file in /proc/net on each node. The nodes which should not be heard are specified in this file. This is done by echoing the MAC addresses of such nodes into this file. To add a MAC address to mackill,

echo - <MAC address> > /proc/net/mackill

To remove a node from this list,

echo + <MAC address> > /proc/net/mackill

Running AODV

AODV can be run as a module on a node using,

aodvd -l -r <# of seconds>

The -l option enables logging of all events to /var/net/aodvd.log and -r enables logging of the routing tables to /var/net/aodvd.rtlog.

Running OLSR

Easiest way of running OLSR is by executing:

olsrd 

on the nodes.

Network tests

To use AODV to run experiments on ORBIT:

  1. Image nodes as per the topology required.
  2. Emulate the topology using mackill on each node to block packets from non-neighbouring nodes.
  3. Run AODV on each node.
  4. Use ping or iperf for experiments on the Ad-hoc network and to perform any measurements required.

Ongoing work

The ongoing effort to integrate AODV involves automation of mackill so that the experimenter can provide the network topology in a file and create it on ORBIT without having to manually modify /proc/net/mackill on each node.

Resources

Last modified 10 years ago Last modified on 09/19/07 13:26:27