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.
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.
- (pdf) (pptx) ns-3 survey and overview tutorial, software organization, documentation, build system
- (pdf) (pptx) ns-3 software core, running of simulations, construction of a basic network simulation, construction of a new protocol model, and development practices using ns-3. Extracting and visualizing data from ns-3 simulations, including the flow monitor,network animator NetAnim, Python-based visualizer, and the ns-3 tracing system.
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
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.
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 https://github.com/direct-code-execution/net-next-sim -b wns3-2015 git clone --depth=1 https://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git
- 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 sample-simulator.cc 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.