Date: Study of Network Simulator Tools
Date: Study of Network Simulator Tools
No: 1: Date :
Study of Network Simulator Tools.
Aim:
To study of different Network Simulation Tools for constructing and performance
testing in different network.
Introduction:
Simulation is a very important modern technology. It can be applied to different
science, engineering, or other application fields for different purposes. Computer assisted
simulation can model hypothetical and real-life objects or activities on a computer so that it
can be studied to see how the system function. Different variables can be used to predict the
behavior of the system. Computer simulation can be used to assist the modeling and analysis
in many natural systems. Typical application areas include physics, chemistry, biology, and
human-involved systems in economics, finance or even social science. Other important
applications are in the engineering such as civil engineering, structural engineering,
mechanical engineering, and computer engineering. Application of simulation technology
into networking area such as network traffic simulation.
OPNET 's software environment is called Modeler, which is specialized for network research
and development. It can be flexibly used to study communication networks, devices,
protocols, and applications. Because of the fact of being a commercial software provider,
OPNET offers relatively much powerful visual or graphical support for the users. The
graphical editor interface can be used to build network topology and entities from the
application layer to the physical layer. Object-oriented programming technique is used to
create the mapping from the graphical design to the implementation of the real systems. An
example of the graphical GUI of OPNET can be seen in Figure 1. We can see all the topology
configuration and simulation results can be presented very intuitively and visually. The
parameters can also be adjusted and the experiments can be repeated easily through easy
operation through the GUI.
Main features:
OPNET inherently has three main functions: modeling, simulating and analysis. For
modeling, it provides intuitive graphical environment to create all kinds of models of
protocols. For simulating, it uses three different advanced simulations technologies and can
be used to address a wide range of studies. For analysis, the simulation results and data can
be analyzed and displayed very easily. User friendly graphs, charts, statistics, and even
animation can be generated by OPNET for users ' convenience.
4. OMNeT++
OMNeT++ has generic and flexible architecture which makes it successful also in
other areas like the IT systems, queuing networks, hardware architectures, or even business
processes as well. It is similar with NS2 and NS3, OMNeT++ is also a public-source,
component-based network simulator with GUI support. Its primary application area is
communication networks. Like NS2 and NS3, OMNeT++ is also a discrete event simulator.
It is a component-based architecture. Components are also called modules and are
programmed in C++. The components are then assembled into larger components and models
by using a high-level language. Its function is similar to that of OTcl in NS2 and Python in
NS3. OMNeT++ also provides GUI support, and due to its modular architecture, the
simulation kernel can be embedded into all kinds of different user s' applications. Figure 5 is
an OMNeT++ GUI screenshot.
Main features:
Since OMNeT++ is designed to provide a component-based architecture, the models
or modules of OMNeT++ are assembled from reusable components. Modules are reusable
and can be combined in various ways which is one of the main features of OMNeT++.
5. Global Mobile Information System Simulator (Glo-MoSim)
It is a parallel discrete event simulation soft-ware[4] that simulates wireless and wired
network sys-tems. It is designed as a set of library modules, each of which simulates a
specific wireless communication pro-tocol in the protocol stack. It assumes that the network
is decomposed into a number of partitions and a single entity is defined to simulate a single
layer of the com-plete protocol stack for all the network nodes that be-long to the partition.
The parallel implementation of GloMoSim can be executed using variety of conservative
synchronization protocols, which include the null mes-sage and conditional event algorithm.
The library has been developed using PARSEC, a C based parallel simulation language. It
uses the Parsec compiler to com-pile the simulation protocols. It has been designed to be
extensible and comprehensible. GloMoSim aims to de-velop a modular simulation
environment for protocol stack that is capable of scaling up networks with thou-sands of
heterogeneous nodes. GloMoSim currently supports protocols for a purely wireless network.
Features:
GloMoSim is a library-based sequential and parallel simulator for wireless networks.
GloMoSim facilitates the ability to use in a parallel environment which distinguishes
it from most other wireless network simulators.
It allows the simulation Scalability to simulate net-works with a hundred and
thousand of nodes.
It supports various layers like Mobility, Radio Propagation, Radio Model, Packet
reception models, Data Link, Network (Routing), Transport and Ap-plication. i.e. (It
supports almost all the OSI layers with limited benefits).
GloMoSim supports direct satellite communication, multi-hop wireless
communication and most of the traditional internet protocols.
It facilitates to build a library of parallelized mod-els that can be used for the
evaluation of a varie-ty of wireless network protocols.
6. NetSim
NetSim is a stochastic discrete event network simula-tiontool used for network lab
experimentation and research. Its leading network simulation software for protocol modeling
and simulation, allowing us to ana-lyze computer networks with unmatched depth, power and
flexibility. NetSim comes with an in-built develop-ment environment, which serves as the
interface be- raries and simulation kernel. It
provides network performance metrics at various abstraction levels such as Network, sub-
network, Node and a detailed packet trace. It has unique features and functionality. NetSimis
available as Standard or Academic versions and is built on a com-mon design framework of
high level architecture and code. In a word, NetSim is truly a fantastic product that is not only
versatile, but also robust and provides those features that are hard to come with any
simulators.
Features:
NetSim modeling and simulation are supported for Aloha, Slotted Aloha, Token
Ring/Bus, Ethernet CSMA/CD, Fast and Gigabit Ethernet, WLAN - IEEE 802.11
a/b/g/n and e, X.25, Frame Relay, TCP, UDP, IPv4 and IPv6, Routing - RIP, OSPF,
BGP,MPLS, Wi-Max, MANET, GSM, CDMA, Wire-less Sensor Network, Zigbee,
Cognitive radio.
It simulates a wide variety of Cisco routers, including 2500 series, 2600 series, 2800
series, and 3600 series routers, as well as the Cisco Catalyst 1900 series, 2900 series,
and 3500 series switches.
Protocol libraries are available as open C code for user modification. This can help
avoid the time consuming process of programming, customization and configuration
commercial simulators to meet customer specific needs.
Along with the Boson Virtual P
proprietary Network Simulator, Router Simulator, and EROUTER soft-ware
technologies, to create individual packets. These packets are routed and switched
through the simulated network, allowing NetSim to build an appropriate virtual
routing table and simulate true networking. Other simulation products on the mar-ket
do not support this level of functionality.
It can be used to create a simulation of the topology of corporate network and help
practice trouble-shooting without using devices on the production network.
Result:
Aim:
To install the NS2 software and test it with simple example on Ubuntu Operating
System.
Download the all in one package for ns2 from internet. The package downloaded will
be named "ns-allinone-2.35.tar.gz". Copy it to the home folder. Then in a terminal use the
following two commands to extract the contents of the package:
1. Ns2 requires a few packages to be pre installed. It also requires the GCC- version
4.3 to work correctly. So install all of them by using the following command:
3. Once the installation is over, we have to make a change in the "ls.h" file. Use the
following steps to make the changes: Navigate to the folder "linkstate", use the
following command. Here it is assumed that the ns folder extracted is in the home
folder of your system.
cd ~/ns-allinone-2.35/ns-2.35/linkstate
4. Now open the file named "ls.h" and scroll to the 137th line. In that change the
word "error" to "this->error". The image below shows the line 137 (highlighted
in the image below) after making the changes to the ls.h file. To open the file use
the following command:
gedit ls.h
5. Save that file and close it.
6. Now there is one more step that has to be done. We have to tell the ns which
version of GCC will be used. To do so, go to your ns folder and type the following
command:
7. In the file, change Change CC= @CC@ to CC=gcc-4.4, as shown in the image
below:
Step 3: Installation
1. Now we are ready to install ns2. To do so we first require root privileges and then
we can run the install script. Use the following two commands:
cd ns-allinone-2.35
./install
2. After successful installation following message will be shown on the screen.
Ns-allinone package has been installed successfully.
Ns-allinone package has been installed successfully.
Here are the installation places:
tcl8.5.10: /home/sitams/ns-allinone-2.35/{bin,include,lib}
tk8.5.10: /home/sitams/ns-allinone-2.35/{bin,include,lib}
otcl: /home/sitams/ns-allinone-2.35/otcl-1.14
tclcl: /home/sitams/ns-allinone-2.35/tclcl-1.20
ns: /home/sitams/ns-allinone-2.35/ns-2.35/ns
nam: /home/sitams/ns-allinone-2.35/nam-1.15/nam
xgraph: /home/sitams/ns-allinone-2.35/xgraph-12.2
gt-itm: /home/sitams/ns-allinone-2.35/itm, edriver, sgb2alt, sgb2ns,
sgb2comns, sgb2hierns
----------------------------------------------------------------------------------
Please put /home/sitams/ns-allinone-2.35/bin:/home/sitams/ns-allinone-
2.35/tcl8.5.10/unix:/home/sitams/ns-allinone-2.35/tk8.5.10/unix
into your PATH environment; so that you'll be able to run
itm/tclsh/wish/xgraph.
IMPORTANT NOTICES:
After these steps, you can now run the ns validation suite with
cd ns-2.35; ./validate
2. Lines to be added:
# LD_LIBRARY_PATH
OTCL_LIB=/home/sitams/ns-allinone-2.35/otcl-1.14
NS2_LIB=/home/sitams/ns-allinone-2.35/lib
X11_LIB=/usr/X11R6/lib
USR_LOCAL_LIB=/usr/local/lib
export
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OTCL_LIB:$NS2_LIB:$X11_
LIB:$USR_LOCAL_LIB
# TCL_LIBRARY
TCL_LIB=/home/sitams/ns-allinone-2.35/tcl8.5.10/library
USR_LIB=/usr/lib
export TCL_LIBRARY=$TCL_LIB:$USR_LIB
# PATH
XGRAPH=/home/sitams/ns-allinone-2.35/bin:/home/sitams/ns-allinone-
2.35/tcl8.5.10/unix:/home/sitams/ns-allinone-2.35/tk8.5.10/unix
#the above two lines beginning from xgraph and ending with unix should come
on the same line
NS=/home/sitams/ns-allinone-2.35/ns-2.35/
NAM=/home/sitams/ns-allinone-2.35/nam-1.15/
PATH=$PATH:$XGRAPH:$NS:$NAM
3. Once the changes have been made, save the file and restart the system.
ns
2. System returns
%
Step 6: Testing ns2
Test the addition of two integer numbers.
% set a 10
10
% set b 20
20
% expr $a+$b
30
%
Result :
NS2 software has been successfully installed and tested with simple example on
Ubuntu Operating System.