Welcome to the CSIR Meraka Institute's "COIN" Blog

Tuesday, June 22, 2004

Network Simulators

Why? to simulate mesh networks, VOIP, etc, to determine placement of Internet access gateways, suitability for rural community access given terrain features, distance between participants and the like.

Requirements: We need to choose a simulator that is customisable, well-known so that we can export or share models, easy to use, inexpensive, has a predeveloped library of protocols, propagation characteristics, etc, that could be tweaked for our requirements. Should be able to incorporate terrain models (I think)

Someone should investigate the following options and provide comment here...

Proprietary candidates:
- Opnet
- Comnet III

Open Source candidates:
- NS-2
- Ptolemy (Java based)
- OMNet++
- CSim++
- SimJava
- JavaSim. There is some confusion of packages here as Lund Institute of Technology (Sweden), Ohio State and University of Newcastle have all created something called JavaSim. Ohio State seem to have the most advanced package which they have since renamed to J-Sim.

There is a good listing of simulation languages, IDEs and simulators here

There is also a general purpose simulation language in Python called SimPy which appears to be rather interesting but without a lot of add-ons at this stage.

At this stage, Opnet, Ptolemy, SimJava and OMNet++ appear to be most interesting...


Sherrin Isaac said...

OPNET is widely held to be the state of the art in network simulation.

Here are some comments about Opnet from http://www.omnetpp.org/external/doc/html/usman.php and other places...

Detail level: (Does the simulation tool have the necessary power to express details in the model? In other words, can the user implement arbitrary new building blocks or he is confined to the predefined blocks implemented by the supplier?)

Available models: Has a large selection of ready-made protocol models

Defining Network Topology. (How does the simulation tool support defining the network topology? Is it possible to create some form of hierarchy (nesting) or only ``flat'' topologies are supported?)
OPNET follows a unique way: the network topology is stored in a proprietary binary file format which can be generated (and read) by the graphical editor and C programs linked against a special library.

Programming Model. (What is the programming model supported by the simulation environment?)
Finite State machine

Debugging and Tracing Support. (What debugging or tracing facilities does the simulation tool offer?)
OPNET has a very good support for command-line debugging and provides both off-line and client-server style animation.

Source availability: The source for simulation kernel is not available (although the ready-made protocol models come with sources)

A few reasons for choosing OPNET over NS-2... (from http://www.opnet.com/services/university/opnt_over_ns2.html)

FREE - OPNET software (with model source code) is available for FREE to the academic research and teaching community.

Professional Product Support - OPNET offers free professional training at OPNET headquarters, lab manuals accompanying best-selling 3rd party textbooks and an optional maintenance program which includes technical support, published documentation and best practice methodologies at a special academic price.

Large User Community - OPNET software is used by more than 600 universities in over 85 countries as well as major fortune-500 companies, service providers, and government organizations worldwide.

Higher Simulation Performance - OPNET's discrete event engine for network simulations is the fastest and most scalable commercially available solution.

More Flexible Model Development - Design the most precise and flexible simulations with over 400 documented API functions.

More Simulation Technologies - OPNET offers discrete event (both fully parallel and serial), flow- based, hybrid sim, and co-simulation technologies.

Easier/Quicker Model Creation - OPNET provides automated model generation capability from live data, more detailed model libraries, and the most capable model development GUI in the industry (does not affect simulation runtime performance).

More thoughts on OPNET vs NS (from testimonials ...also from http://www.opnet.com/services/university/opnt_over_ns2.html)
1-In NS, there is a lack of user interface
2-NS is more difficult to learn
3-NS is less generic and less configurable than OPNET
4-There is a clearer animation with OPNET
5-OPNET has more system functions
6-The assistance (help) of Opnet is done better. “

Sherrin Isaac said...

ns2, perhaps the most widely used network simulator, has been extended to include some basic facilities to simulate sensor networks. Ns-2 is part of the collaborative VINT project involving USC/ISI, Xerox PARC, LBNL, and UC Berkeley. Ns-2 began as a variant of the REAL network simulator in 1989, and has evolved substantially over the past few years.

It provides substantial support for simulation of TCP, routing, and multicast protocols, but due to the special node structure in ns-2, it is non-trivial, and sometimes difficult, to include other protocols/algorithms or accommodate other network architectures in ns-2. In addition, the not-so-structured software architecture and the mixture of compiled and interpreted classes make it difficult to understand and validate ns-2 codes

However, one of the problems of ns2 is its object-oriented design that introduces much unnecessary interdependency between modules. Such interdependency sometimes makes the addition of new protocol models extremely difficult, only mastered by those who have intimate familiarity with the simulator. Being difficult to extend is not a major problem for simulators targeted at traditional networks, for there the set of popular protocols is relatively small. For example, Ethernet is widely used for wired LAN, IEEE 802.11 for wireless LAN, TCP for reliable transmission over unreliable media. For sensor networks, however, the situation is quite different. There are no such dominant protocols or algorithms and there will unlikely be any, because a sensor network is often tailored for a particular application with specific features, and it is unlikely that a single algorithm can always be the optimal one under various circumstances.

Many other publicly available network simulators, such as JavaSim, SSFNet, Glomosim and its descendant Qualnet, attempted to address problems that were left unsolved by ns2. Among them, JavaSim developers realized the drawback of object-oriented design and tried to attack this problem by building a component-oriented architecture. However, they chose Java as the simulation language, inevitably sacrificing the efficiency of the simulation. SSFNet and Glomosim designers were more concerned about parallel simulation, with the latter more focused on wireless networks. They are not superior to ns2 in terms of design and extensibility.

Sherrin Isaac said...

OMNeT++ is targeted at roughly the same segment of network simulation as OPNET.

What protocol models are readily available for the simulation tool? On this point, non-commercial simulation tools cannot compete with some commercial ones (especially OPNET) which have a large selection of ready-made protocol models. OMNeT++ is no exception.
Perhaps the most serious shortcoming of OMNeT++ is the lack of available protocol models, but this is mostly due to the fact that it is a relatively new simulation tool.

job opportunitya said...

I took pleasure in the site and I will go back!
Surfing online for blogs like this one is worth my
time. Sensational blog.
In an efford of finding the right info, check for my plastic surgery seattle blog site.

My VoIp Solutions said...

I just came across your blog and wanted to drop you a note telling you how impressed I was with the information you have posted here.
I also have a web site & blog about flyfone voip so I know what I'm talking about when I say your site is top-notch! Keep up the great work!