Work related to OMNeT++

I wrote this article originally back in 2005. It was originally available at http://www.georglutz.de/wiki/OmnetPlusPlus.  The information you find below might be rather outdated now and I don’t plan to work on it further, but I put it in the blog for archival purposes on this particular date – Georg in June 2011.

OMNeT++ is the Objective Modular Network Testbed in C++. It is primarily targeted at the simulation of communication networks and other parallel/distributed systems. For more information look at http://www.omnetpp.org .

Mobility Framework

Mobility Framework (http://mobility-fw.sourceforge.net) is a simulation model for/based on OMNeT++. The Mobility Framework provides abstractions needed to develop network protocols for non-stationary wireless nodes.

Random Waypoint Mobility

During my diploma thesis “Effizientes Modell für Funkverbindungen in 4G-Netzen für OMNeT++” (Efficient model for radio links in 4G networks for OMNeT++) at Institut für Telematik, Universität Karlsruhe (http://www.tm.uka.de) I have compared my own simulation model with Mobility Framework. In order to be able to do so I had do implement random waypoint mobility in the mobility framework.

You can download it here: MfwRandomWP.tar.gz. It has been tested with mobility framework 1.0a4. I think and hope it will be included in later versions.

Patches / Bugfixes

There were a number of problems with version 1.0a4 . I have collected the modifications I used in the following file : mfw-patches.tar.gz

IPv6Suite

IPv6Suite is an open source OMNeT++ model suite for accurate simulation of IPv6 protocols and networks, see http://ctieware.eng.monash.edu.au/twiki/bin/view/Simulation/IPv6Suite .

In my diploma thesis I used version 20050309. I had to write some modifications and bugfixes. You can download the modifications here: ipv6suite-0.92_20050309_patch.txt.gz

The modifications are:

  • Small modification to run IPv6Suite under OMNet++ 3.0
  • Limit outputBuffer to prevent memory exhaustion under heavy load
  • Added myNodeList to record association in WirelessAccessPoint. This is used internaly in my model.
  • Added WEAScanReceiveMode::handleAck. See mails from Steve Woon on omnepp-l in the thread http://www.omnetpp.org/listarchive/msg04511.php
  • Adjusted datarate BASE_SPEED from 11*1024*1024 Bits/s to 11*1000*1000 Bit/s (802.11b standard)
  • Added PLCP header for 802.11b (192 Bits, 1MBit/s) which is not present at all in version 20050309 .
  • Delete beaconBody in WirelessEtherAScanReceiveMode.h. This caused a memory exhaustion under heavy load.