[ns] ns-2 FAQ
Mon, 4 Dec 2000 15:57:39 -0800
The Network Simulator ns-2: Frequently Asked Questions
(This FAQ is also on the web at
* _Where do I get ns?_
From the ns web site at http://www.isi.edu/nsnam/ns/ns.html and
the download page http://www.isi.edu/nsnam/ns/ns-tests.html.
* _What platforms does ns run on and what kind of hardware do I
Please see "where to start" on the building ns web page:
* _What should I do if I have trouble downloading/extracting ns?_
This question is answered in detail at
* _What should I do if I you encounter problems building ns?_
1. the README that comes in the distribution (very brief),
2. the "installation problems, bug fixes and help" web page
3. the archives of the ns-users mailing list
4. post a question to the mailing list (see below).
* _Where can I find documentation for ns?_
All documentation is linked from the main ns web page
http://www.isi.edu/nsnam/ns/. Documentation includes a tutorial
(originally from Marc Greis) and a reference manual (ns notes and
* _Words, words, words... that documentation is nice, but where are
some sample scripts I can start from?_
Many sample scripts can be found in the ns distribution in
~ns-2/tcl/ex and ~ns-2/tcl/test.
* _What protocols does ns support?_
A lot! Almost all variants of TCP, several forms of multicast,
several ad hoc routing protocols and propagation models, and other
stuff. See the documentation (described above) for details, or
download ns and look.
* _How do I know that ns correctly implements these protocols?_
Ns has validation tests that cover many protocols, see
http://www.isi.edu/nsnam/ns/ns-tests.html. However, ultimately
users are responsible for verifying that ns is accurate for their
purposes---since we cannot foresee all the ways ns may be used, we
cannot test all cases with all inputs.
* _Are there any contributed/additional protocols not in the main
Yes, please see the contributed code web page
http://www.isi.edu/nsnam/ns/ns-contributed.html. The mailing list
archives can also be helpful (see below).
* _How should I get started doing something (like implementing a new
protocol or trying an experiment)?_
We recommend that you look through the tutorial (see
documentation, above), then start with an example program that is
most similar to yours (in the tutorial, or in tcl/ex or tcl/test
in the distribution), and then start changing things.
* _What should I do if the ns executable has its modification time
in the future when I re-start my machine after shutdown?_
We recommend that you talk to your local sysadmin since this
indicates a clock difference between the file server and the
client (this has nothing to do with ns).
* _What should I do to complie ns to reflect my changes if I've
modified some .cc or .h files?_
go to ns directory and run "make" or "make depend; make"
* _What if I have a question that's not answered here?_
If you've checked the installation problems and bug fixes web page
(http://www.isi.edu/nsnam/ns/ns-problems.html) and there's no
answer to your question, you may want to post a question to the
ns-user's mailing list.
First, you should check the archive of the list at
http://www.isi.edu/nsnam/ns/ns-lists.html. Your question may
already be answered there.
If not, you may wish to post to the list. First you should
subscribe. Subscription instructions are at
When posting bug reports to the list, please _always_ include
information including at least:
+ what version of ns you're using,
+ what operating system you're running on (not just Linux or
Solaris, but RedHat version 7.0 or Solaris 2.4),
+ what specific behavior you see (if ns doesn't compile, what's
the specific error; if TCP does something strange, what
exactly did it do [send a pointer to a packet trace]),
+ what behavior you expected to see (if ns doesn't compile this
is obvious, but if TCP does something strange, why is it
strange, where is the TCP spec violated?),
+ pointers to your script detailed output files,
+ a statement that "yes, I've read the FAQ, ns-problems page,
and manual and I couldn't find the answer there" (or a
statement about why you didn't do that yet :-)
A reminder about mailing list etiquette:
+ Please check the web pages and list archives before posting
+ Please keep the body of your post to simple ASCII, not HTML.
+ Before posting a question like "did people see my post" or
"the list seems down", please check the archives (you can
answer this question more accurately by checking yourself
rather than asking).
+ Please don't post subscribe/unsubscribe requests directly to
the list, send them to firstname.lastname@example.org (see the web page
mentioned above for details).