Routing Protocols
Although hundreds of routing protocols have been specified for ad-hoc networks only few are available as implementations. The DES-Testbed wants to provide a large number of routing daemons for everyday experiments.
The following routing protocols are either currently available for DES-Mesh, will be made available after porting them to current kernel versions, or are under review if a port is viable at all. This table only lists implementations available for Linux; we do not consider implementations for simulation environments or other OS.
For documentation about an implementation you are refered to the official website (column "Implementation"). Further documentation is linked if no official documentation is available or if it provides additional information. The RFC column links to the newest RFC or draft of the protocol. The implementations do not have to be compliant to these RFC!!!
The following states are used for classification:
everything seem to run without problems
runs but further tests are required; some problems might remain
is currently ported as upstream is out of date
upstream source code not available (anymore) or to old so that a reimplementation is easier than porting
under review; we are investigating whether the implementation can be ported or is in a working state
upstream software is currently being packaged as Debian package
| Protocol | RFC | Implementation | Version | Documentation | Notes |
Kernel Module |
Userspace Daemon |
State |
|---|---|---|---|---|---|---|---|---|
| AODV | 3561 | AODV in Click | ??? | Master Thesis | Implemented with Click | x | x | under review |
| AODV | 3561 | AODV-UU | 0.9.5 | Ported by Cofta | x | x | works but poor performance with low throughput due to poor next hop selection |
|
| AODV | 3561 | AODV-UIUC | 0.5 | Based on Ad-hoc Support Library (ASL) | x | x | under review, ASL has been ported |
|
| AODV | 3561 | HUT AODV for IPv6 | 0.20 | IPv6 variant | ? | ? | dead link to software |
|
| AODV | 3561 | Kernel AODV NIST | 2.2.2 | x | under review, probably to old |
|||
| AODV | 3561 | MAODV | 0.7.2 | Multicast AODV based on AODV-UU | x | x | under review, probably to old |
|
| AODV | 3561 | UoB-JAdhoc | 0.22 | Implementation in Java | x | under review, probably to many dependencies |
||
| ARA | DES-ARA | 0.1 | Implented with DES-SERT by Schmidt | x | works |
|||
| ARAN | ARAN | 0.3.2 | Based on Ad-hoc Support Library (ASL) | x | x | under review, ASL has been ported |
||
| AWDS | AWDS | 8.12 | Based on libgea, available as Debian package | x | did not discover neighbors |
|||
| Babel | Draft | Babel | 0.93 | Readme, Manual | Debianized by Cofta | x | works, good performance |
|
| B.A.T.M.A.N. | batmand | 0.3 | How-To, Readme | Debian package, Layer 3 version | x | works, does not find routes to all mesh routers |
||
| B.A.T.M.A.N. | batman-adv | 0.1 | Readme | Debian package, Layer 2.5 version1 | x | works |
||
| BGP | 4271 | bgpd | Implemented for Quagga, Version 4+ | x | works |
|||
| DSDV | Simple DSDV in Click | ??? | Implemented with Click | x | under review |
|||
| DSDV | UIUC A-DSDV | 20041023 | Adaptive DSDV | x | under review |
|||
| DSDV | UIUC DSDV | 20041023 | x | under review |
||||
| DSR | 4728 | Click DSR Router | ??? | Implemented with Click | x | under review |
||
| DSR | 4728 | DSR-UU | 0.2 | Ported by Cofta | x | works somehow but implementations does not find routes to all mesh router; poor choice of routes results in abysmal throughput; possible race condition hinders configuration of interface |
||
| DSR | 4728 | picoNet | 20021111 | only compatible with Draft 05 | x | to old, reimplementation is easier |
||
| Dymo | Draft | DYMO-AU | 0.1.2 | Implemented in Lua | x | under review |
||
| Dymo | Draft | Dymoum | 0.3 | Ported by Cofta | x | x | works, further tests required, better performance than AODV-UU it is based on |
|
| Dymo | Draft | EK-DYMO | 0.1 | ? | ? | Source not available, binary not available anymore |
||
| Dymo | Draft | NIST-DYMO | 0.5 | Ported by Cofta | x | under review |
||
| Gossip | DES-Gossip | 0.1 | Implented with DES-SERT by Schmidt | x | works, not for production use just a demo, creates broadcast storms |
|||
| Gossip | DES-Gossip-Adv | 0.1 | Implented with DES-SERT by Blywis | x | works, includes loop protection and supports TTL |
|||
| LUNAR | Draft | LUNARng | 20050721 | Technical Report | x | under review |
||
| Mobilemesh | Mobilemesh | 1.0 | Documentation Section, How-To | Debian package (only available in etch?!) | x | works, further tests required |
||
| OLSR | 3626 | CRC OLSR | v2 | x | under review |
|||
| OLSR | 3626 | NRL OLSR | 7.8.1 | Seems to be incompatible with UniK OLSR, based on Protolib | x | works |
||
| OLSR | 3626 | UniK OLSR / olsrd | 0.5.6 | Collection of Documentation | Debian package | x | works |
|
| OLSR | 3626 | INRIA OOLSR |
0.99.15 |
Implemented in C++ | x | under review |
||
| OLSR | Draft |
NOA-OLSR | 0.91 | No Overhead Autoconfiguration OLSR, based on INRIA OOLSR | x | under review |
||
| OLSR | 3626 | pyOLSR | 0.0.2 | Implemented in Python | x | works, further tests required |
||
| OLSR | 3626 | Qolyester | 20090302 | QoS OLSR implemented in C++ | x | under review |
||
| OLSR | 3626 | SMOLSR-MOLSR | 0.3 | (Simple) Multicast OLSR, based on INRIA OOLSR | x | under review |
||
| OSPF | ospfd | Implemented for Quagga, Version 2&3 | x | works |
||||
| PBM | SPBM | 0.2 | Paper, Paper | Ported by Blywis | x | works, further tests required, crashes on rmmod |
||
| RIP | ripd | Implemented for Quagga, Version 1&2 and RIPng | x | works |
||||
| ZRP | Draft 04 | ZRP | 0.2.2 | x | x | not porting, reimplementation seems easier |
1 B.A.T.M.A.N. is also available as proof-of-concept layer 2.5 implementation in user space
- 1969 reads
- Printer-friendly version