- ns (simulator)
-
"ns-2" redirects here. For the fictional robot from the works of Isaac Asimov, see NS-2 (literary character).For other uses of "NS", see NS (disambiguation).
ns-3 Initial release June 30, 2008[1] Stable release 3.12.1[2] / September 2, 2011[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
- Callback-driven events
- Attribute system that manages default and per-object simulation values
- Helpers that allow using simpler API when configuring simulations
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.[citation needed]
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
- ^ http://mailman.isi.edu/pipermail/ns-developers/2008-June/004277.html
- ^ a b c d e "The ns-3 network simulator". http://www.nsnam.org/. Retrieved September 6, 2011.
- ^ "Rice Monarch Project Extensions to ns-2". http://www.monarch.cs.rice.edu/cmu-ns.html. Retrieved March 31, 2011.
- ^ http://mailman.isi.edu/pipermail/ns-developers/2005-February/001609.html
- ^ http://mailman.isi.edu/pipermail/ns-developers/2006-July/002316.html
- ^ "ns-3". July 2, 2011. http://nsnam.isi.edu/nsnam/index.php/Ns-3. Retrieved March 31, 2011.
External links
Categories:- Computer networking
- Computer network analysis
- Simulation software
- Telecommunications engineering
Wikimedia Foundation. 2010.