[ns] ns-2 FAQ
tomhend at u.washington.edu
Fri Feb 1 08:48:46 PST 2008
The Network Simulator ns-2: Frequently Asked Questions
Note: This FAQ is now available at the project wiki:
_The mailing is is now subscriber only---please see the FAQ entry on
"How do I post to the mailing list? Why was my post rejected?" for
* _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 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 bug report (see below)
* _What do I do after I successfully build ns?_
+ Put the path to your ns executable into your PATH environment
+ Put the path to your otcl into your LD_LIBRARY_PATH
+ Put the path to your tcl library into your TCL_LIBRARY
* _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,
wired networking, several ad hoc routing protocols and propagation
models (but not cellular phones), data diffusion, satellite, 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 to compile 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"
* _How do I subscribe to the ns-users mailing list? How do I search
old list archives? I can't take any more---how do I get off this
To subscribe or unsubscribe, see
http://www.isi.edu/nsnam/ns/ns-lists.html. The list archive is at
* _How do I post to the mailing list? Why was my post rejected?_
As of June 2004 the ns-users lists allow posts from _subscriber
only_. If you're not a subscriber, your posts to the list will be
rejected. (This is unfortunately necessary to dispose efficiently
of spam; manual filtering is too expensive.) We realize that the
list is high traffic, so if you wish to post to the list without
receiving messages on it, please subscribe and select the _no-mail_
option for your subscription.
For details about the mailing list including mailing-list specific
FAQ (for example, what if you're subscribed but still can't post),
please see http://www.isi.edu/nsnam/ns/ns-lists.html.
* _Did my post appear on the mailing list? (Or, why didn't my post
appear on the mailing list?)_
See the http://www.isi.edu/nsnam/ns/ns-lists.html web page for
help debugging mailing list problems.
* _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 file a bug report or 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 can post a bug report using the web form at
If your question is NOT about ns implementation bugs, you may wish
to post to the list. First you should subscribe. Subscription
instructions are at http://www.isi.edu/nsnam/ns/ns-lists.html.
_Please note that mail sent to the list is publicly distributed
and archived. _If you have concerns about your message being made
public (spam harvesting of your address), please consider that
_before_ posting. We cannot remove messages from reciepient's
mailboxes or the public archive after they're posted.
When posting bug reports, please _always_ include information
including at least (the bug report form includes spaces for
+ 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---send us the
output of "uname -a"),
+ 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 :-)
Soo-Hyun Choi observed from posts to the list: _Sometimes, I see
this list is filled with the questions with: 1) asked many times
before 2) hardly understandable what this guy is asking 3) too
easy to find an answer over a few clicks over the Internet 4)
soliciting to do their homework in a simple way by asking in this
list 5) easily seekable an answer by contributing a couple of
hours of reading the ns-manual 6) etc, etc. _
_As many of us in this list are doing an advanced degree, it would
be suggested to read the following article in order to raise a
useful/meaningful question in a smart way.
This is _very_ good advice, since asking the Right Question is
very likely to get a good/helpful answer, while asking a question
poorly. For example, think about how you would answer these two
questions: _"Ns doesn't work for me, it crashes. Help."_ as
compared to _"I get a segmentation fault when running test script
test-suite-webcache on Mandrake 10 Linux. The backtrace is on my
web page at www.someu.edu/~someone. It looks like it passes in the
on-line test suites, but it fails for me. Am I doing something
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.
+ Please do _not_ send large attachments (if what you have is
bigger than a few kilobytes, put it on a web page and send a
+ 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, use the lists' information page. (see the web page
mentioned above for details).
More information about the Ns-users