This patch adds support for the Dynamic MANET On Demand (DYMO) routing protocol, as of draft-ietf-manet-dymo-10, to the OMNeT++ 3.4b2 / INET 20061020 simulation environment, as well as the OMNeT++ 4.0rc2 / INET Framework simulation environment.
(Note that there is now also a second way to simulate DYMO in OMNeT++: by means of a wrapper by Alfonso Ariza Quintana for the DYMO-UM ns-2 modules. In the INETMANET Framework, the DYMO-FAU modules can be found as DYMOFAU.ned)
DYMO is a new reactive (on-demand) routing protocol, which is currently developed in the scope of the Internet Engineering Task Force's MANET working group. DYMO builds upon experience with previous approaches to reactive routing, especially with the routing protocol AODV. It aims at a somewhat simpler design, helping to lower the nodes' system requirements and simplifying the protocol's implementation. DYMO retains proven mechanisms of previously explored routing protocols like the use of sequence numbers to enforce loop freedom. At the same time, DYMO provides enhanced features, such as covering possible MANET-Internet gatewaying scenarios and implementing path accumulation.
The implementation is available in two different variants:
Both variants share the same implementation of DYMO, which has the following characteristics: We outfitted our model of DYMO with the capability to queue payload messages received from the application layer, should no usable route be known at the time the data is received. Our model will in this case repeatedly try to establish a route as specified, then dequeue the messages for delivery to the destination or for destruction if no route could be found. Regarding route maintenance we chose the simplest of the proposed models for our implementation. Established routes are not actively monitored, but just time out if they are not actively used.
Our DYMO model has the following configuration parameters:
| parameter | example value |
|---|---|
| RESPONSIBLE_ADDRESSES_PREFIX | 32 |
| DYMO_INTERFACES | wlan0, eth0 |
| AUTOASSIGN_ADDRESS_BASE | 10.0.0.0 |
| MIN_HOPLIMIT | 5 |
| MAX_HOPLIMIT | 10 |
| ROUTE_AGE_MIN_TIMEOUT | 1 (NET_TRAVERSAL_TIME) |
| ROUTE_AGE_MAX_TIMEOUT | 60 |
| ROUTE_NEW_TIMEOUT | 5 (ROUTE_TIMEOUT) |
| ROUTE_USED_TIMEOUT | 5 (ROUTE_TIMEOUT) |
| ROUTE_DELETE_TIMEOUT | 10 (2x ROUTE_TIMEOUT) |
| RREQ_RATE_LIMIT | 10 |
| RREQ_BURST_LIMIT | 3 |
| RREQ_WAIT_TIME | 2 (2x NET_TRAVERSAL_TIME) |
| RREQ_TRIES | 3 |
An in-depth discussion of the "DYMOnet" variant's design, its implementation characteristics, as well as an extensive performance evaluation of DYMO (draft version 06) can be found in the technical report listed under "Publications" below.
To install the DYMO application layer or network layer modules as part of an INET framework module set, download and unpack either of the following complete, patched source trees:
The new modules "DYMO" or "DYMOnet__DYMO" will be located in directories "src/applications/dymo" and "src/networklayer/dymo", dependent on which variant you downloaded.
Also included is a short simulation sample, located in "examples/dymo" or "examples/dymonet", which uses DYMO on five wireless hosts, an access point and a static host to create an Internet gatewaying scenario.
This is our latest implementation of the DYMO routing protocol. Note that it was not tested as thoroughly as our implementation basing on draft version 06.
If you are interested in following the development, you can also...
To install the DYMO modules as part of an INET framework 20061020 module set, download and unpack the provided patch file, then extract a fresh version of the source tree and apply the patch (e.g. by running "patch -p1 < INET-20061020-sommer_dymo06.diff" in the root directory of the source tree, i.e. the directory where the "makemakefiles" file is located). After the patch is applied, the modified source tree can be built just like the regular one. The new modules "DYMO" and "DYMOnet__DYMO" will be located in directories "FAU/Network/DYMO" and "FAU/Network/DYMOnet", respectively, and can be used independently from each other.
The accompaining .zip file contains a short simulation sample that uses DYMO on five wireless hosts, an access point and a static host to create an Internet gatewaying scenario.
This is our latest implementation of the DYMO routing protocol. Note that it was not tested as thoroughly as our implementation basing on draft version 06.
This is the DYMO version we conducted the aforementioned evaluations with.