ns (from network simulator) is a name for series of discrete event network simulators, specifically ns-1, ns-2 and ns-3. All of them are discrete-event computer network simulators, primarily used in research and teaching. ns-3 is free software, publicly available under the GNU GPLv2 license for research, development, and use.
In 1996-97, ns version 2 (ns-2) was initiated based on a refactoring by Steve McCanne.
Use of Tcl was replaced by MIT's Object Tcl (OTcl), an object-oriented dialect Tcl.
The core of ns-2 is also written in C++, but the C++ simulation objects are linked to shadow
objects in OTcl and variables can be linked between both language realms. Simulation scripts
are written in the OTcl language, an extension of the Tcl scripting language.
Presently, ns-2 consists of over 300,000 lines of source code, and there is probably a comparable amount of contributed code that is not integrated directly into the main distribution (many forks of ns-2 exist, both maintained and unmaintained). It runs on GNU/Linux, FreeBSD, Solaris, Mac OS X and Windows versions that support Cygwin. It is licensed for use under version 2 of the GNU General Public License.