| 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) |