The first thing that we ask when we found something is what it is?
So when we talk about Network Simulator 3 (ns3), the first thing that we want to know is:
What is Network Simulator 3?
See what we get from our popular Wikipedia about NS. Can be found here.
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.History
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).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. 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.
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.
So, Network Simulator 3 is a new simulator that was written from scratch. It was not really an evolution of NS-2. Unlike NS-2, everything in NS-3 designed for C++ with optional Python scripting for bindings.
This project started around mid 2006 and it still under heavy development.
The Official funder partner were:
- University of Washington (Tom Henderson, Craig Dowell)
- NRIA, Sophia Antipolis (Mathieu Lacage)
- Georgia Tech University (Atlanta)
- George Riley (main author of GTNetS)
- Raj Bhattacharjea
It's expected that ns-3 it will eventually replace ns-2 in most universities that are currently using ns-2.
Now we know litter bit about Ns-3. We can get more info about Ns-3 from its official website:
Its time for the next question: How to start using Ns-3?