Thursday, June 17, 2010

BitTorrent Module for OMNET++ Simulation


BitTorrent is a peer-to-peer file sharing protocol used for distributing large amounts of data. BitTorrent is one of the most common protocols for transferring large files, and it has been estimated that it accounts for roughly 27-55% of all Internet traffic. In order to simulate BitTorrent protocol over OMNET++, you want to try out the BitTorrent module from Mobile Multimedia Laboratory which is part of the Telecommunications Services Group of the Dept. of Computer Science of the Athens University of Economics and Business.

BitTorrent for OMNeT++ provides a set of modules that implement a full featured and extensible realization of the BitTorrent protocol for the OMNeT++ simulation platform. The primary goal of our implementation is to establish a realistic simulation environment that will incorporate important protocol stack features ranging from the application logic to the underlying network topology.

Overview
Our implementation of BitTorrent includes both the Peer-Wire and Tracker protocols, as described in BitTorrent Protocol Specification v1.0. The specification has been implemented in its entirety excluding the "Anti-snubbing" feature due to its ambiguous definition in the specification and the multiplicity of alternate takes in available implementations. The corresponding modules are based on the underlying INET framework.

Furthermore, we have paid special attention to the underlying network topology as well as the deployment process. To this end we took advantage of the rich set of scenario deployment features provided by the OverSim Framework. Namely, we extended the BRITE topology generator export tool to enable full support of the very popular Georgia Tech Internet Topology Model (GT-ITM) topologies within OverSim's IPv4Uunderlay model, including support for routing policy weights. Furthermore, our extended topology model also provides support for Autonomous System (AS) numbers (i.e. AS numbers are available to network entities). This feature is expected to assist research targeting locality properties of BitTorrent. Finally, IPv4Uunderlay model has been extended to also support assymetric access links.


Download
You can download the current version of the BitTorrent modules by using the link below. For installation instructions and further information please refer to the README file in the source code archive.

[bittorrent-1.1.tar.gz - 71 KB]

Monday, May 10, 2010

Chsim: Wireless channel simulator for OMNeT++



Chsim is an OMNet++ [1] simulation which generates channel state values (1/attenuation) in dB for a single wireless cell. This cell includes one base station and N terminals, each terminal can have M unidirectional links to the base station. For each of these links channel state values can be generated in the time and frequency domain. These values can be written to a file or processed in own simulation modules.

Support, Mailing list

For this free, open source project no official support is provided. But please do not mind to contact the community via the mailing list. The mailing list archives can be found here.

Model assumptions

The simulator includes several mobility and channel models. The channel models consider time- and frequency selective fading using Clarke's model [4] assuming an isotropic antenna gain pattern. Furthermore, path loss and shadowing are included using standard modeling assumptions [2]. Mobility is simulated independently per terminal using the random way-point or the Manhattan grid model [3]. The simulator supports easy selection or deactivation of models or model components.

Simulator structure

The simulator consists of the following modules:

  • TriggerGen: triggers channel state generation, used for timing control
    MobileStation: Calculation of mobility and channel model for M links, source for channel state values

  • BaseStation: Controls the message flow

  • FileWriter: Outputs channel state values to a file
    This modular structure enables the easy usage of chsim in own simulations, e.g. by exchanging TriggerGen and FileWriter with own modules, in order to process the generated values on the fly.


Download source code archive

Oversim - OMNET++ P2P Simulator


OverSim is an open-source overlay and peer-to-peer network simulation framework for the OMNeT++/OMNEST simulation environment. The simulator contains several models for structured (e.g. Chord, Kademlia, Pastry) and unstructured (e.g. GIA) P2P systems and overlay protocols.

OverSim is developed at the Institute of Telematics (research group Prof. Zitterbart), Universität Karlsruhe (TH) within the scope of the ScaleNet project funded by the German Federal Ministry of Education and Research. The simulator is actively developed and open to contributions.

Good Starting Points

OverSimGuide -- Starting point for the OverSim documentation.
OverSimFeatures -- Already available and planned OverSim features.
OverSimDownload -- Download OverSim on this page.
MailingList -- Join the mailinglist for user and developer discussions.
OverSimPublications -- Publications related to OverSim
OverSimTeam -- The core developers of OverSim.
P2PNS/P2PSIP -- A distributed name service for P2PSIP built with OverSim

Sunday, April 11, 2010

numbat - New Ubiquitous Mobility Basic Analysis Tools


numbat is New Ubiquitous Mobility Basic Analysis Tools based on OMNET++ Simulator. The goal of this project is to implement Mobile WiMax, IPv6 autoconfiguration (with focus on DHCPv6) and some of the mobility related mechanisms in the Omnet++ environment.

Overall, this project has achieved its goal so far and most of the available codes are available for download and they are fully functional. Although currently Numbat is mainly used under Linux, it is possible to compile and use it under Windows.

As of April 2009, Numbat 4.0 is able to be compiled without any problems under Linux and Windows. All compilation issues were resolved. Compilation is quite simple: download latest 20100411 snapshot (or better use SVN), extract it and run ./rebuild-makefiles command. Then type make. After compilation is complete, you'll get binary that has the same name as the directory you extracted Numbat to. Note: in Windows, make sure that you issue all commands from mingwenv.cmd shell.

This project is fully capable of simulating mobile WiMAX stations with advanced IPv6 stack on top of it. Here's a list of features that are supported in the WiMAX layer


  • based on IEEE 802.16-2005 (aka 802.16e)
  • Simple radio/PHY layer - unicast (SS to BS) and multicast (BS to SS) transmissions
  • OFDMA transmission (including CDMA codes, radio frame slots/symbols)
  • Bandwidth management: BWR, CDMA codes for ranging and BWR transmission)
  • Supported traffic classes: Best Effort (BE) and Unsolicited Grant Service (UGS)
  • Control plane: Network entry(RNG-REQ, RNG-RSP, SBC-REQ, SBC-RSP, PKM-REQ, PKM-RSP, REG-REQ, REG-RSP messages)
  • Control plane: Service flow creation/mgmt (DSA-REQ, DSA-RSP, DSA-ACK)
  • Control plane: Scanning (SCN-REQ, SCN-RSP)
  • Control plane: Handover (BSHO-REQ, MSHO-RSP, HO-IND)
  • Several traffic models: fixed, handover after timeout, distance based handover
  • Simple event signalling, so you don't have to understand whole stack operation to get some notification (similar to MIH 802.21-style events, but easier)
  • Several optimization allowed by 802.16-2005 standard are configurable (you can enable or disable them)
  • multiple SSes support (optimizations can be enabled on a per SS basis)
  • Connection management and queuing
  • multiple BSes support
  • Handover between BSes can be simulated easily
  • Event based FSM (Finite State Machine) implementation. For each state, there are functions: onEnter(), onEvent() and onExit(). States can be transitive or stationary. Also there's a well defined list of inputs for each FSM.