Nam: Network Animator


The network animator ``nam'' began in 1990 as a simple tool for animating packet trace data. This trace data is typically derived as output from a network simulator like ns or from real network measurements, e.g., using tcpdump. Steven McCanne wrote the original version as a member of the Network Research Group at the Lawrence Berkeley National Laboratory, and has occasionally improved the design as he's needed it in his research. Marylou Orayani improved it further and used it for her Master's research over summer 1995 and into spring 1996. The nam development effort was an ongoing collaboration with the VINT project. Currently, it is being developed at ISI by the SAMAN and Conser projects

See a nam screen shot and information about research done using nam.

Current Release

Current nam release (v1.11) is now available. A daily snapshot is also available. Information on generating traces in the nam format can be found in the ns man page included in the ns distribution. In case, an old version of nam (v0.8) is available. This version is available for VINT collaborators, CS 268 students, and other researchers who are working closely with our project.

Instructions for building:

  • Fetch the most recent release source code.
  • Fetch the current versions of TclCL and OTcl:
  • Make sure a recent version of Tcl/Tk is installed on your system.
    Or grab the versions available from ns's build page.
  • If you want nam to play compressed files (*.gz), you should get zlib.
  • Build nam:
    For Unix:

    • cd into the ns directory
    • run ./configure
    • run make

    Note: If you build nam with -static and some libraries (e.g., libdl or some X libraries) are only available as shared libraries and your linker complains about missing symbols, you may want to manually add -Xlinker -Bdynamic before those shared libraries in the LIB macro in Makefile.

    1.9 and later on Windows

    • Visual C++ is no longer supported (and may not work)
    • It is now possible (and highly suggested) to build nam in the Cygwin environment. Note that this will require you to run nam in an X11 server.
    • Install cygwin and use the Unix build instructions.
    • For more information, see these instructions for running nam (and ns) under Cygwin

    Building old versions (pre-1.9) for Windows 95/98/NT: (Microsoft Visual C++ is required)

    Note: A nam 1.0a11a binary for windows (32-bit) has been made available for download, because building it yourself is tricky.

    nam currently won't run on Windows unless it is built statically (otherwise it crashes in TCL83.DLL) but Tcl/Tk doesn't support static builds in current versions.

    • Run vcvars32.bat in $YOUR_VC_PATH/bin to setup pathnames for your VC executables.
    • cd into the nam directory
    • Important Look at the pathnames for VC++ in conf/ If they do not match what's in your system, correct them. Also look at other pathnames in that file, e.g., for Tcl/TK and OTcl, set them to the correct one.
    • run nmake /f
    • WARNING This could be tricky. Don't do this unless you really want a static build! In order to build static linked version of nam, get the Berkeley's version of tcl80 and tk80. Edit their to uncomment macro STATIC_LIB. Do the same thing in nam's conf/makefile.conf.
  • Verify that it built correctly and runs:
    • cd into ex/ directory, run nam with trace files there.

Known Installation Problems, Bugs and Fixes

Please post all problems or questions to ns-users.

Last Updated: July 3, 2002
Maintained by
Tim Buchheim