ns (simulator)

ns-3
Initial release June 30, 2008 (2008-06-30)[1]
Stable release 3.13[2] / December 24, 2011; 53 days ago (2011-12-24)[2]
Written in C++ (core) Python (bindings)[2]
Platform Unix, Mac OS X, Microsoft Windows via Cygwin
Type Network simulator
License GNU General Public License[2]
Website [1]

ns (from network simulator) is a name for series of discrete event network simulators, specifically ns-1, ns-2 and ns-3. These simulators are used in the simulation of routing protocols, among others, and are heavily used in ad-hoc networking research, and support popular network protocols, offering simulation results for wired and wireless networks alike.

Contents

Design

ns-3 is built using C++ and Python and scripting is available with either language. Split over 30 modules, features of ns-3 include

Workflow for ns

It include four steps:

History

ns began development in 1989 as a variant of the REAL network simulator and it is currently maintained by volunteers. Long-running contributions have also come from Sun Microsystems and the UCB Daedelus and Carnegie Mellon Monarch projects[3]

ns-2

ns-2 was built in C++ and provides a simulation interface through OTcl, an object-oriented dialect of Tcl. The user describes a network topology by writing OTcl scripts, and then the main ns-2 program simulates that topology with specified parameters. It runs on Linux, FreeBSD, Solaris, Mac OS X and on Windows using Cygwin. It is licensed for use under version 2 of the GNU General Public License.

ns-3

On February 22, 2005 Tom Henderson made a post on ns-developers mailing list saying We intend to have some discussions on how some of ns-2 might be either refactored or forked as part of a future development effort (in parallel, for now, with maintenance of the existing code tree).[4]

In the process of discussing the necessary changes, it was found out that maintaining backward compatibility with ns-2 was generally not worth the effort, since most useful ns-2 models were already implemented in forks of ns-2 that were generally incompatible with each other. It was decided that new simulator will be written from scratch, using C++ programming language.

Mathieu Lacage started developing yans (Yet Another Network Simulator) back in 2004, which was later used as a base for ns-3. Development of ns-3, initially sponsored by the NSF, INRIA, and Georgia Tech, began on July 1, 2006,..[5][6] The first release, ns-3.1 was made in June 2008, and afterwards the project continued making quarterly software releases.

ns-3 made its eleventh release (ns-3.11) in the first quarter of 2011.[2]

Criticism

ns-2 is often criticized because modeling is a very complex and time-consuming task, since it has no GUI and one needs to learn scripting language, queuing theory and modeling techniques. Of late, there have been complaints that results are not consistent (probably because of continuous changes in the code base) and that certain protocols are replete with bugs.

ns-3 is often criticized for its lack of support for some protocols which were supported in ns-2.

Educational use

It's expected that ns-3 it will eventually replace ns-2 in most universities that are currently using ns-2.

See also

References

External links