Using ns and nam in Education

We are working to make ns-2 easier to use for networking education.  We are targeting several audiences:

  • ADVANCED UNDERGRADUATES should be able to use ns to compare network protocols.  Our nam editor (released Sep. 2001) makes it possible to compare simple things without knowing Tcl.
  • GRADUATE STUDENTS will do more advanced comparisons with Tcl and C++ programming.  (Simple "message passing" C++ and Tcl modules are under development to make this easier.)
  • PROFESSORS can use ns and nam to animate networking principles in class. Our library of scripts includes existing demos, we welcome more!
  • RESEARCHERS can use ns to investigate new networking concepts (as always).

the Network Simulator (ns)

the Network Animator (nam)

the nam Graphical Editor

Ns is a public domain simulator boasting a rich set of Internet Protocols, including terrestrial, wireless and satellite networks.  ns is the most popular choice of simulator used in research papers appearing in select conferences like Sigcomm. ns is constantly maintained and updated by its large user base and a small group of developers at ISI.

Visit the ns home page

Ns together with its companion, nam, form a very powerful set of tools for teaching networking concepts. ns contains all the IP protocols typically covered in undergraduate and most graduate courses, and many experimental protocols contributed by its ever-expanding users base. With nam, these protocols can visualized as animations (see some screen shots below).

Visit the nam home page

This is the latest (Sept. 2001) addition to nam. With the nam editor, you no longer have to type TCL code to create animations. You can create your network topology and simulate various protocols and traffic sources by dragging the mouse.

Visit the nam home page

What can you do with these tools?



  • Terrestrial, satellite and wireless networks with various routing algorithms (DV, LS, PIM-DM, PIM-SM, AODV, DSR).
  •  Traffic sources like web, ftp, telnet, cbr, stochastic traffic.
  •  Failures, including deterministic, probabilistic loss, link failure, etc.
  •  Various queuing disciplines (drop-tail, RED, FQ, SFQ, DRR, etc.) and QoS (e.g., IntServ and Diffserv).
  • Packet flow, queue build up and packet drops.
  • Protocol behavior: TCP slow start, self-clocking, congestion control, fast retransmit and recovery.
  • Node movement in wireless networks.
  • Annotations to highlight important events.
  • Protocol state (e.g., TCP cwnd).

  • Repository of Animations

    A repository of pre-packaged animations makes it easy to incorporate these tools in your class. The repository contains mostly contributed modules from other people who are already using ns and nam in the classroom. If you create your own modules, please don't forget to upload them to the repository so that other people can use them.
    Take a tour of the repository

    Sample Homework Assignments Using Ns

    We have several sample homework assignments using ns and nam, and viewgraphs that we've used to introduce ns and network simulation to class.  These materials are password protected and available to professors teaching courses.  If you are a professor who would like to see them, please send your name and a URL to your web page [email protected].

    Take a tour of the sample assignments (password required)

    Textbook Resources

    We've added pages that tie nam animations and lessons into widely used networking textbooks.  See pages for:

    The ns-edu mailing list

    To join the list, please visit the list's information pageYou may also follow previous discussions on that page. .

    Nam Screen Shots

    Using nam with Powerpoint

    See how others use ns and nam

    Educational use of ns is supported in part by NSF via the CONSER project at USC/ISI.


    Last update: Tue Oct  9 23:17:00 PDT 2001
    Mail any comments, suggestions to Xuan Chen