Ultimately, all of the functionality now in ns version 1 will be merged into ns version 2, and at that point only ns version 2 will be developed further. At that point there will also be full backward compatibility, in that Tcl scripts developed for ns version 1 will be able to run directly on ns version 2.
The ns simulation description language is an extension of
the Tool Command Language,
Tcl. A simulation is defined by a Tcl program. Using the ns command,
a network topology is defined, traffic sources and sinks are
configured, statistics are collected, and the simulation is invoked.
By building upon a general-purpose language, arbitrary actions
can be programmed into the configuration.
To build ns from source to enable debugging, simply run:
./configure --enable-debug.
If you have to make changes in order to compile ns, please send in your patches. Likewise, if you encounter bugs or unexpected behavior, please contact ns@ee.lbl.gov (this list includes only the developers and is not distributed beyond our site). Finally, if you implement ns extensions that others can benefit from, please (if possible) send them in for inclusion in a future release.
You might run the following command as a quick test to verify that ns built correctly:
% ./ns test-suite.tcl tahoe1You should see some debugging output, then an xgraph window will pop-up with a sequence plot of the connection (xgraph and awk must be in your path for this script to work properly). See test-suite.tcl and example.tcl for more examples. A note describing the test suite is in ftp://ftp.ee.lbl.gov/papers/simtests.ps.Z. If you make changes to the simulator, you might want to make sure you haven't introduced bugs by running Matt Mathis' (mathis@psc.edu) test-all script, which is included in the distribution.
The (still rough) man page ns.1 is the only other source of documentation at this time. The most recent version of the man page is included in the ns distribution with the source code. More documentation is planned for a later time.
Funding for this work was provided by the Office of Energy Research, Mathematical, Information, and Computational Sciences Division, of the U.S. Department of Energy under Contract No. DE-AC03-76SF00098, and an AT&T Graduate Fellowship. Equipment grants and support were provided by Sun Microsystems, Digital Equipment Corporation, and Silicon Graphics Inc.
Steve McCanne
(mccanne@ee.lbl.gov)
Sally Floyd
(floyd@ee.lbl.gov)
Kevin Fall
(kfall@ee.lbl.gov)