| 1 | = AODV on ORBIT = |
| 2 | |
| 3 | 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. |
| 4 | |
| 5 | The demo below shows how to run and AODV on a minimal Ad-hoc network of three nodes. |
| 6 | |
| 7 | === Initial installation === |
| 8 | The nodes to be used in the network must be imaged with __tmp/node-7-7-2006-09-20-01-44-36.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. |
| 9 | |
| 10 | {{{ |
| 11 | imageNodes <node list> tmp/node-7-7-2006-09-20-01-44-36.ndz |
| 12 | }}} |
| 13 | |
| 14 | === Network creation - using Mackill === |
| 15 | 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. |
| 16 | To add a MAC address to mackill, |
| 17 | |
| 18 | {{{ |
| 19 | echo - <MAC address> > /proc/net/mackill |
| 20 | }}} |
| 21 | |
| 22 | To remove a node from this list, |
| 23 | |
| 24 | {{{ |
| 25 | echo + <MAC address> > /proc/net/mackill |
| 26 | }}} |
| 27 | |
| 28 | === Running AODV === |
| 29 | AODV can be run as a module on a node using, |
| 30 | |
| 31 | {{{ |
| 32 | aodvd -l -r <# of seconds> |
| 33 | }}} |
| 34 | |
| 35 | 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. |
| 36 | |
| 37 | === Network tests === |
| 38 | To use AODV to run experiments on ORBIT: |
| 39 | 1. Image nodes as per the topology required. |
| 40 | 2. Emulate the topology using mackill on each node to block packets from non-neighbouring nodes. |
| 41 | 3. Run AODV on each node. |
| 42 | 4. Use ping or iperf for experiments on the Ad-hoc network and to perform any measurements required. |
| 43 | |
| 44 | === Ongoing work === |
| 45 | 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. |
| 46 | |
| 47 | === Resources === |
| 48 | * http://core.it.uu.se/core/index.php/AODV-UU - AODV Uppasala University implementation |
| 49 | |
| 50 | * http://www.docs.uu.se/docs/research/projects/scanet/aodv/aodvuu.shtml - Mackill (scroll to the middle section - this is from the old AODV-UU site) |