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 that were conducted from 11-12 May, 2015 in Barcelona.

Note that the training was done with the ns-3.22 release; ns-3 has made several releases since then so some information archived here may be stale.

Video archive

Videos of the sessions are available at Vimeo


Slides are linked from these session descriptions.

Monday May 11

The goal of this session is a comprehensive overview of the simulator (what we can fit into a day). The instructors was Tom Henderson.

Tuesday May 12

This consisted of special topic tutorials taught by experts in each field.

  • (pdf) (pptx)(09:00-10:30) Large-scale, distributed simulations with ns-3 (instructor: Peter Barnes)
  • slides(11:00-12:30)An introduction to the Direct Code Execution (DCE) environment, enabling users to use real application and Linux networking code in ns-3 (instructor: Hajime Tazaki)
  • Lunch break
  • slides (14:00-16:00) A survey of the LTE models, including model architecture, propagation models, LTE Radio Protocol Stack and EPC model. (instructor: Nicola Baldo)
  • slides(16:30-18:00) A tutorial on vehicular communication simulations, including mobility, WiFi and WAVE models, and propagation. (instructor: Konstantinos Katsaros)


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 flash and DVD media at the training session. The ISO has prerequisite packages pre-installed and a recent copy of ns-3 source code.

You may want to use this ISO file with a virtual machine tool such as VMware or VirtualBox.

  • sha1 checksum of the ISO image: 47a1ca78803a0f31ad8c764b47fc244cf2a28f94
  • file size of the download: 4 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 virtual or real 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.

Additional files

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

  • DCE tutorial
    • The tutorial basically uses the same Live-CD, which is provided below, but also uses more code: if you want to try during the tutorial, you can prepare in advance, following the instruction below.
    • 1. additional git repositories
      • Because the size of this additional code is large and you may not able to download to the root directory of Live-CD image, so you need to configure an additional (virtual) disk image, which can be mounted to /mnt, then download the code to the additional partition.
git clone --depth=1 -b wns3-2015
git clone --depth=1
  • 2. an additional ns-3 script

Questions and Answers

Notes collected from the Monday training.

  • How to use the 'subdir' in scratch/ is not well documented
  • How to use bake to manage other library dependencies is not well documented
  • RealtimeSimulatorImpl for the program does not automatically stop anymore
  • Need better figure to document random variable stream/substream concepts.
  • RngRun documentation string needs fixing
  • What is the max run number? It is a uint64_t.