From Nsnam
Jump to: navigation, search

Main Page - Current Development - Developer FAQ - Tools - Related Projects - Project Ideas - Summer Projects

Installation - Troubleshooting - User FAQ - HOWTOs - Samples - Models - Education - Contributed Code - Papers

This is the wiki page for the ns-3 training sessions being conducted from 18-19 March, 2015 in Ballston VA.


The contact is Tom Henderson; email Tom if you have any questions.


Wednesday March 18

The goal of this session (1pm-5pm) is a comprehensive overview of the simulator (what we can fit into half a day). The instructors will be Tom Henderson and Ken Renard.

Thursday March 19

This day is planned to run from 9am-12pm and from 1pm-4pm.


Nothing is strictly required, but working through the ns-3 tutorial should be helpful, if you haven't already.

You do not need to install anything to attend the training, but the below instructions are provided for those who may want to follow along.

Installation of ns-3 to your local system

Please see the Installation page on our wiki for per-system package requirements if you want to install ns-3, and follow instructions at this tutorial link on how to download ns-3.

Note that the minimal requirements for working from the command line are a recent C++ compiler (g++ or clang), and a Python (version 2) installation. The additional packages enable additional optional simulation features but can be skipped until needed.

Trying ns-3 on a Live ISO image

A 32-bit Ubuntu 14.04 Live DVD (ISO) is posted for download at this link and will also be available on DVD media at the training session. The ISO has prerequisite packages pre-installed and a recent copy of ns-3 source code.

  • sha1 checksum of the ISO image: d77b2cb512543b80d1c62607c9a9a2f3d2108570
  • file size of the download: 3.6 GB
  • username: ns-3
  • password: ns-3
  • recommended virtual machine resources (if you install to a VM): 40 GB HDD, 3 GB memory

This is a Live ISO image that can be booted repeatedly without saving state, or can be installed to a drive. The Systemback utility was used to create the image, and can be used to install the system as well. To install, select the green icon in the panel to bring up the below dialog box, fill in the account information (for the system to be created) and then hit Next and follow the instructions.


Please read the README in the top level directory. Note there is a small error in the README; I didn't actually install CORE in this image (but it can be installed from the source code found in training/core/ directory).

Additional files

Links to any additional example files produced for the training (outside of the ns-3 release) will be posted here.

Questions and Answers

It turns out that ns-3 has Ubuntu packages, pointed out by an attendee (in Ubuntu 14.04, for ns-3.17, almost 2 years old... better to use newer code).

Here are some other questions and answers.

  • Is there an M/M/1 queue model for ns-3?
  • Is ns-3 C++--11 compliant?
    • We're not accepting code using new C++-11 features into the core of ns-3 yet, since it may break on systems with older compilers. However, ns-3 should build on newer compilers regardless of whether the 'CPPFLAGS=-std=c++11' is passed to waf.
  • Does a converter exist to convert pcap into the XML read by netanim?
    • No, although it might be a useful capability.
  • How can I get PyViz to install for OS X?
    • Updated instructions are provided on the PyViz wiki page. In short, for whatever Python installation is being used, one must install the Python pygtk, pygoocanvas, and pygraphviz Python packages.
  • Can I inspect simulation state in PyViz, when stopped?
    • Yes, you can install 'ipython' package and get a "Shell" button on pyviz
  • How does Direct Code Execution (DCE) handle applications that write output or log files?
    • DCE (automatically) creates 'chroot-ed' directory per node; for node index 'X', it creates 'files-X' directory. DCE prepends a chrooted path to the pathname specified by open(2) called by an application. e.g., open("/tmp/abc.txt") on DCE application will result in open("files-4/tmp/abc.txt") on the host operating system.