The Network Simulator ns-2: Frequently Asked Questions
Note: This FAQ is now available at the project wiki: http://nsnam.isi.edu/nsnam/index.php/Ns_Users_FAQ _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 details._ * _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 need?_ Please see "where to start" on the building ns web page: http://www.isi.edu/nsnam/ns/ns-build.html#start. * _What should I do if I have trouble downloading/extracting ns?_ This question is answered in detail at http://www.isi.edu/nsnam/ns/ns-problems.html#downloading. * _What should I do if I encounter problems building ns?_ Check: 1. the README that comes in the distribution (very brief), 2. the "installation problems, bug fixes and help" web page http://www.isi.edu/nsnam/ns/ns-problems.html, 3. the archives of the ns-users mailing list http://www.isi.edu/nsnam/ns/ns-lists.html, 4. post a bug report (see below) http://www.isi.edu/cgi-bin/nsnam/reportbug.cgi. * _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 environment + Put the path to your tcl library into your TCL_LIBRARY environment * _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 documentation). * _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 distribution?_ 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 list?_ To subscribe or unsubscribe, see http://www.isi.edu/nsnam/ns/ns-lists.html. The list archive is at http://www.isi.edu/nsnam/ns/ns-lists.html. * _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 http://www.isi.edu/cgi-bin/nsnam/reportbug.cgi. 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 these): + 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. http://www.catb.org/~esr/faqs/smart-questions.html _ 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 wrong?_ A reminder about mailing list etiquette: + Please check the web pages and list archives before posting your question. + 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 URL) + 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). _________________________________________________________________