13 | | For more details, please follow this [wiki:HowTo/UsingAODV/AODVonORBIT link] |
| 13 | == AODV/OLSR on ORBIT == |
| 14 | |
| 15 | 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. |
| 16 | |
| 17 | The demo below shows how to run and AODV on a minimal Ad-hoc network of three nodes. |
| 18 | |
| 19 | === Initial installation === |
| 20 | 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. |
| 21 | |
| 22 | {{{ |
| 23 | imageNodes <node list> adhoc_0.1.ndz |
| 24 | }}} |
| 25 | |
| 26 | === Network creation - using Mackill === |
| 27 | 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. |
| 28 | To add a MAC address to mackill, |
| 29 | |
| 30 | {{{ |
| 31 | echo - <MAC address> > /proc/net/mackill |
| 32 | }}} |
| 33 | |
| 34 | To remove a node from this list, |
| 35 | |
| 36 | {{{ |
| 37 | echo + <MAC address> > /proc/net/mackill |
| 38 | }}} |
| 39 | |
| 40 | === Running AODV === |
| 41 | AODV can be run as a module on a node using, |
| 42 | |
| 43 | {{{ |
| 44 | aodvd -l -r <# of seconds> |
| 45 | }}} |
| 46 | |
| 47 | 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. |
| 48 | |
| 49 | === Running OLSR === |
| 50 | Easiest way of running OLSR is by executing: |
| 51 | {{{ |
| 52 | olsrd |
| 53 | }}} |
| 54 | |
| 55 | on the nodes. |
| 56 | === Network tests === |
| 57 | To use AODV to run experiments on ORBIT: |
| 58 | 1. Image nodes as per the topology required. |
| 59 | 2. Emulate the topology using mackill on each node to block packets from non-neighbouring nodes. |
| 60 | 3. Run AODV on each node. |
| 61 | 4. Use ping or iperf for experiments on the Ad-hoc network and to perform any measurements required. |
| 62 | |
| 63 | === Ongoing work === |
| 64 | 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. |
| 65 | |
| 66 | === Resources === |
| 67 | * http://core.it.uu.se/core/index.php/AODV-UU - AODV Uppasala University implementation |
| 68 | |
| 69 | * 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) |