Simulators for Wireless Sensor Networks (OMNeT++)
-
Upload
pradeep-kumar-ts -
Category
Education
-
view
5.978 -
download
5
description
Transcript of Simulators for Wireless Sensor Networks (OMNeT++)
SIMULATORS FOR WIRELESS SENSOR NETWORK
T S Pradeep Kumar VIT Chennai
http://www.nsnam.com http://www.pradeepkumar.org
OVERVIEW• Introduction
• Simulators for WSN
• Introduction to OMNeT++
• Terminology
• Simulation Frameworks of OMNeT++
• Requirements of OMNeT++
INTRODUCTION TO SIMULATORS
• Real Networks
• Gives exact results and comes to conclusion quickly.
• Sometimes impossible
• May be costlier
• Simulating the networks
• Go deeper in to the problem (insight)
• use programming to represent devices (for almost all the network elements has a software or programming model)
• Most of the network simulators are open source and Free.
• Need to make assumptions (all nodes are heterogenous)
SIMULATORS FOR WSN• Network Simulator 2 (with Mannasim Framework)
• OMNeT++ (INET, MiXim and Castalia Framework)
• TOSSIM (Tiny OS Simulator works on the OS part of Simulator)
• Avrora (A simulator to test Mica Motes before they are fused with the codes in the hardware). A little bit old (the recent version is from 2008).
• OPNET (A Commercial Software)
NS2 (NETWORK SIMULATOR 2)
• It uses two languages C++ and OTcl
• It has never been designed specifically to cover WSN. Mannasim is a third party framework that supports the Simulation of WSN with just 12 C++ classes and a Script generator tool.
• Huge amount of resources, source codes, forums available for researchers.
• http://www.nsnam.com
TOSSIM
• It is a Tiny OS Simulator
• It Uses a Code called nesC (network embedded system C)
• also uses Python to create scenario files
OPNET
• It is a commercial Software
• Uses C++
• It uses Zigbee technology for WSN
COMPARISON OF SIMULATORS
Name Type Language Used
Visualisation (Animation or tracing
Energy Models Extensions
NS2 generic C++, OTcl yes yes Mannasim
OMNeT++ generic C++, NED yes yes Mixim, Castalia
OPNET generic C yes yes Commercial Software
TOSSIM specificnesC,
Python, C++
no no
INTRODUCTION TO OMNET++
• OMNeT++ - Objective Modular Network Testbed in C++.
• It is not a network simulator, but it provides a framework to create your own network simulations.
• In OMNeT++, a network is an object that defines network, hold modules, sub modules and compound modules.
!
TERMINOLOGY• Module Object - Sits inside the network object and is able to send messages to other
module objects. Eg. Router, standalone machine, webserver, etc or any other component that can able to make a communication across a network.
• Compound Module Object - made up of multiple module objects, Eg. the INET framework is a library that contains lots of prebuilt module and compound module objects.
• Channels - Channels are objects that are used to connect one module of the Compound Module object to the other. Channels allow these modules to send messages to each other and connect the gate of one module to the gate of another. This could be a StandardHost talking to another StandardHost via an Ethernet cable.
• NED - Network Description Language - used to create topology of networks. OMNeT allows to create the topology graphically or using NED.
SIMULATION FRAMEWORK• INET
• IP, IPv6, TCP, UDP, etc.
• Http Tools
• simulate web server, web browser by using standard host from INET
• EBitSim
• simulating bit torrents for almost simulating 1000 nodes.
• VoIPTool for INET
• VoIP simulation with the help of INET
• MiXim
• To simulate the wireless sensor networks with or without the help of INET
• Complete Simulation framework
WAY TO LEARN OMNET++• Starting to learn something
new is always complicated.
• Spend sometime in modifying the code available in the samples folder.
• The easiest way to learn OMNeT++ is to play around the codes given in the framework (INET or MiXim), work on, modify codes and learn.
REQUIREMENTS FOR OMNET++
• Mainly designed for Linux OS.
• Can be installed in Windows using Cygwin, MinGW (a linux lookalike terminal expands to Minimalist GNU for Windows)
• Some plugins or frameworks will work only under Linux (Eg. Castalia)
• Earlier versions of OMNeT++ need Visual Studio and nmake utility to install in Windows.
CONCLUSION• Pros
• Good documentation by OMNeT
• all the graphical tracing is inbuilt.
• coders are given chance to use either coding or designing the network
• Cons
• it is not so popular, so less support is there from the community
• a framework developed for a particular version of OMNeT may not be working with other versions.
• so many dependencies with other frameworks.
QUESTIONS?
INSTALLATION OF OMNET
INSTALLATION OF OMNET++• Some external tools like akarao, etc is supported only under linux
• Use of Linux is advisable
• Requirements of OMNeT in Windows
• Windows 7, 8 or 8.1
• Java Runtime is needed (Its not mandatory)
• Current version of OMNeT is 4.3
• Earlier versions may need Visual studio
STEPS TO INSTALL• Unzip or Untar the contents to either C:/ or D:/
• go the folder omnet-xxx/ and open the file (double click) mingwcmd.bat
• This will open a terminal looks similar like Linux Terminal (Most of the linux commands will work in this terminal)
• Type these two commands one by one for installation
• ./configure (this will set some PATH information and make dependencies)
• make (This will install the entire package, will take time based on the system’s resources)
• Once everything is successful, you can open the editor using “omnetpp” command
• omnetpp
• a window will open looks similar like Eclipse editor
THANK YOU