The Simulation Software Overview

Print   

02 Nov 2017

Disclaimer:
This essay has been written and submitted by students and is not an example of our work. Please click this link to view samples of our professional work witten by our professional essay writers. Any opinions, findings, conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of EssayCompany.

As of current research practice, simulation is currently the most feasible approach to the quantitative analysis of wireless networks. Networking community is largely depend on simulation to study the nature and performance of protocols of wireless networks, simulations provide good means of wireless network research for those who are concerned about substantial cost of real time hardware setup with large number of nodes. There are many network simulators available for research. Wireless Networks simulators support wide range of features and varying models. These simulators have many advantages and shortcomings which makes them useful in different circumstances. Examples of these simulators are ns-2 [79], GloMoSim [80], OPNET [81], QualNet [82] and MATLAB [83]) are developed to cater diverse need of researchers of wireless Ad hoc network who wish to carry forward their research by means of simulations.

GloMoSim is a free simulation tool that depends on a discrete event mechanism. It has some good features such as modular design as well as the ability to scale up [84]. However, the protocol stack of GloMoSim is relatively simple and some well-known routing protocols such as TORA and OLSR are not included.

QualNet, which is commercial simulation tool, extends the GloMoSim in terms of protocol stacks and it provides a graphical user interface. It inherits the scalability of GloMoSim and thus is able to support large networks (e.g., 2500 nodes) [85].

OPNET (Optimized Network Engineering Tools) is a commercial simulator with a graphical user interface. It is well-organized in that many components such as mobility patterns, propagation models, MAC layer protocols and many routing protocols (e.g., AODV, DSDV) are already included.

NS-2 (Network Simulator version 2) is the most popular free simulation tool used in the field of mobile ad hoc networks [86]. It is equipped with lots of protocols and models. In addition, there is substantial technical support available in the open source community. NS-2 is split into the OTCL language and the C++ language. The former makes objects configuration easier while the latter closely mirrors the corresponding objects in OTCL efficiently.

MATLAB (MATrix LABoratory) creates a numerical computing environment that enables users to perform intensive tasks faster than traditional programming. It has some toolboxes for telecommunications, but these are limited in scope.

6.2 Comparative Study of Simulators

As there are so many simulators available wireless networks , decision on use of right kind of simulator is a difficult task. Therefore, I have searched to finding a wireless network simulator that provides a good balance between availability of ready to use models, scripting and language support, extendibility, graphical support, easiness of use, etc. The survey is based on a collection of a number of criteria including published results, interesting characteristics and features. As an outcome of this search, I broadly categorized network simulators as: "Widely Used" simulators and "Other" simulators. To help shed light on this issue, I have compared six "Widely Used" network simulation tools along with their associated strengths and weakness. Table 6.1. shows comparison of different network simulation tools.

Table 6.1. Comparison of different network simulation tools [87]

(a) MAC layer (b) Routing layer

Figure 6.1 Simulator Usage in MAC and Routing layers [87]

As it can be seen from figure 6.1 NS-2 is the most popular/used simulator among the "Widely Used" network simulator tools [87].

In an another study, a survey of simulation tools applied from 2000 to 2010, presented in the ACM International Symposium of Mobile Ad Hoc Networks and Computing, is shown in Figure 6.2 [86]. It is observed that 44% of those papers adopt NS-2. In addition to the flexibility as well as convenience, the open source property also contributes to the success of NS-2. The role for NS-2 is so important in the research community of mobile ad hoc networks that it has become the de-facto reference simulator [84]. Since only a small network (30 nodes) is simulated in this thesis, the problem of scalability for NS-2 can be ignored. Therefore NS-2 is used in this thesis.

Figure 6.2: Simulation Software Usage [86]

6.3 Features of NS2

NS-2 is the de facto standard for network simulation. Its behavior is highly trusted within the networking community. It is developed at ISI, California, and is supported by the DARPA and NSF. It is a joint venture of researchers at UC Berkeley, LBL, USC/ISI, and Xerox PARC.

Hence, after setting up the platform, NS-2 was set up on it which was used for all the analysis and simulation work apart from other tools used. NS-2 is a discrete event simulator which provides sup-port for simulation of TCP, routing as well as multicast protocols as compared to wired and wireless networks. It is the most popular network simulator used by researchers. The Network Simulator began as an another version of the REAL network simulator in year 1989 and has improved over the past years. In 1995, its development was supported by DARPA through the Virtual InterNet- work Testbed (VINT) project. Currently the devel- opment is carried out by Information Sciences Insti- tute in California and is supported through DARPA and NSF. With its emulation facility, NS-2 can be connected to a real network and capture live packets just like a common node. It can also inject packets into the live network. The simulator can generate personalized trace files by allowing users to select parameters to be traced, therefore saves CPU resource. Other features of the simulator include models for different network architectures including Wireless LAN, MANET and satellite, built-in traffic models with support for development of new ones, plugging of new pseudorandom number generators, and network state estimation. However, the simulator has a complex structure. This makes adding new components a hard task since it requires a good knowledge of the simulator. While composing a simulation scenario, one needs to construct a binding between OTcl and the actual C++ classes by writing a corresponding OTcl class for each one of C++ classes.

ns-2 is based on object oriented philosophy, written in C++, with an OTcl interpreter as a front-end. This means that most of the simulation scripts are created in Tcl. If the components have to be developed for NS-2, then both tcl and C++ have to be used. NS-2 is written in C++ and is based on two languages: C++ which is used to extend the simulator (i.e. to define protocol behaviors), and OTcl, an object-oriented extension of Tcl developed by David Wetherall as part of the VUsystem project at Massachusetts Institute of Technology, which is used for scenario configuration, manipulation of existing C++ objects, periodic or triggered actions, etc. Figure 6.3 shows structure of ns-2.

Figure 6.3: An Illustration of the Working of NS2[79]

ns-2 uses two languages because any network simulator, in general, has two different kinds of things it needs to do. In order to simulate the behavior the protocol to its finest details, a systems programming language is needed. The language must be capable to effectively manipulate individual bytes, headers of packets as well as implement algorithms that can crunch large data sets. For tasks in such simulators, their run time speed is very important as compared to time required to configure and reconfigure i.e. their turn-around time which involves activities like finding & fixing bugs, recompilation etc. Substantial part of network research comprises of multiple simulation runs either with marginally varying parameters or topologies or quickly exploration of many of scenarios one after other. In all these situations, time of iteration (successive runs after reconfiguration) is highly significant. However, configuration is required only at the beginning of each iteration, time required for these tasks is less significant.

Both these requirements are met by NS-2 in the form of use of two languages, C++ and OTcl. C++ is characterized by fast execution; however it requires comparatively more time to make changes in its script. These characteristics make it suitable for coding behavior of the protocol being implemented. While, OTcl much slower in its execution but very suitable for quick, extemporaneous and interactive script changes which makes it applicable for configuration of simulation scenarios in exhaustive research that involves runs after runs of simulations.

NS2 supports hierarchical structure of class in C++. Likewise, It support similar kind of hierarchy of class within OTcl interpreter. These hierarchies are so closely related to each other that user of NS2 finds one-to-one correspondence among class in hierarchy of interpreter (C++ class) and class in compiled hierarchy (OTcl class). While class TclObject resides at root of this hierarchy. Users of NS2 build new simulator objects by means of the interpreter. A close correspondence is established among objects of interpreter and corresponding objects in the complied hierarchy. The interpreted class hierarchy is automatically formulated through methods defined in the class TclClass. Objects instantiated by user are mirrored by means of methods of the class TclObject.

Other hierarchies in the C++ code and OTcl scripts also exist. For these hierarchies classes are not mirrored as mentioned earlier. NS-2 facilitates simulation of deterministic and/or probabilistic packet dropping of queues attached to network nodes. It also provides platform for deterministic and stochastic modeling of traffic distribution. It helps in defining disturbances and undesired alterations occurring in a network being simulated like interruptions in links, and node stoppage.

6.3.1 Setting up NS-2:

There are two methods of downloading and installing NS-2. The first one is to use the bits and pieces and install each one of this and the second one is to download and install one single package i.e. ‘all in one’ package. Although it is quite cumbersome to install each and every piece manually, but on the other hand, it gives more flexibility to the user as the user can select which piece is needed and to install that one only, whereas the ‘all in one’ package installs every component, irrespective of the fact that it is needed or not.

6.4 NAM (Network Animator)

NAM is an animation tool based on Tcl/TK and used in visualization of network simulation traces as well as real world traces. NAM is created as an animator capable of interpreting large animator data and versatile enough to be used in extended range of scenarios and topologies of networks. It is also designed to read and interpret commands of simple animation events from large files containing trace data. In order to process very large data sets of animation amount of information stored in memory is kept minimum. Event commands are stored in a file in memory and retrieved for execution as and when required.

A trace file is produced as first step of use of NAM. The trace file maintains network topology information such as number of nodes, links and packet traces. Usually, ns-2 generates the trace file. As ns-2 simulation goes on, trace file is generated which contains topology information, layout information and packet traces. Trace file thus generated by ns-2 is then used for animation by NAM. When NAM is launched, it will read trace file it will create topology, prepare layout Upon Startup and then initiate its time to 0 and waits for a command to be entered at the pop up window. Its user interface is versatile and provides different controls on many aspects of animation. The main window of NAM is shown in Figure 6.4.

6.5 GNUPLOT

Gnuplot is a highly suitable and portable command-line driven utility of graphing used for many user platforms like Linux, OS/2, MS Windows, OSX, VMS. Though its source code is protected by copyright it is freely available for users. It is created with an intention to be useful for scientists and students alike for visualization of mathematical functions and scientific data. However It can support many non-interactive applications like web scripting.

Figure 6.4 : The Main Window of NAM[79]

Gnuplot facilitates many types of two and three dimensional plots. For drawing It provides many geometrical constructs such as lines, points, boxes of various shapes , different types of contours, vector fields, surfaces all associated with texts. One can use Gnuplot to draw various types of specialized plots. It also supports various types of output formats like interactive screen terminals that accept inputs of mouse and hotkey. It can give direct output plotters with various types of pens as well as all types of conventional printers. Its output is available in many file formats like jpg, jpeg, LaTeX, pbm, pdf, png, svg etc. Gnu plot is flexible enough to easily accommodate a new output mode or file format. Interactive terminals built around aquaterm (OSX) and wxWidgets (multiple platforms) are it latest additions.

The command language of Gnuplot is case sensitive in other words it differentiate between functions written in lower case and those written in uppercase. However, abbreviation of command name is acceptable provided that they do not become ambiguous. One can write many commands on same line as long as they are separated by semicolons(;). Character strings need to be written included in single of double quotes.

The functions in Gnuplot are identical to their counterparts in the Unix math library. However, unless otherwise noted, there are exceptions like arguments of type integer, real and complex. Gnuplot does not have any font of its own. It depends on external font handling, and hence unfortunately, it’s details vary as the type of terminal changes.

Each Gnuplot terminal type makes available a complete set of distinct "line types". These line types may differ in color, thickness, dot/dash pattern, as well as particular combination of color and dot/dash. After setting the terminal type, It is possible to know the default line types for a particular terminal by issuing the test command.



rev

Our Service Portfolio

jb

Want To Place An Order Quickly?

Then shoot us a message on Whatsapp, WeChat or Gmail. We are available 24/7 to assist you.

whatsapp

Do not panic, you are at the right place

jb

Visit Our essay writting help page to get all the details and guidence on availing our assiatance service.

Get 20% Discount, Now
£19 £14/ Per Page
14 days delivery time

Our writting assistance service is undoubtedly one of the most affordable writting assistance services and we have highly qualified professionls to help you with your work. So what are you waiting for, click below to order now.

Get An Instant Quote

ORDER TODAY!

Our experts are ready to assist you, call us to get a free quote or order now to get succeed in your academics writing.

Get a Free Quote Order Now