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 tahoe1
You should see some debugging output on stdout, 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, in this directory, is the only other source of documentation.
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)