This is the wiki page for the ns-3 training sessions held on 17-18 June, 2019 in Florence. For a list of all past training sessions, see Training.
Video recordings of all sessions are available at Vimeo
Monday training was divided into four sessions that covered the basics of ns-3, setting the stage for some more detailed coverage of specific models in the following day.
Session 1: TCP
Survey the available TCP models for ns-3 and walk through an example program that examines TCP performance over a link with variable bandwidth, delay, and packet error rate.
See below for previous ns-3 training video on DCE by a DCE maintainer.
Session 2: Wi-Fi (S. Deronne)
Session 3: LTE (Z. Ali)
Zoraze Ali will lead an introduction of the LTE module by walking through the execution and trace output of several LTE example programs (see handout below).
Handout: LTE hands-on tutorial
Session 4: Sensor networks (T. Pecorella and D. Magrin)
Tommaso Pecorella and Davide Magrin introduced the sensor network-related models available for ns-3.
- LR WPAN (status, extensions)
- 6LoWPAN (status, extensions)
- RPL (status, planning)
- IPv6 for IoT
- LoRaWAN https://github.com/signetlabdei/lorawan
More detailed information is available in this document, but in summary, to obtain and build the training code:
1) Make sure you have 'git', 'mercurial', 'python', and a C++ compiler installed (g++ or clang++)
2) Download and build as follows:
$ git clone -b training https://gitlab.com/tomhenderson/ns-3-allinone.git $ cd ns-3-allinone $ ./download.py -b training $ ./build.py -- --enable-examples --enable-tests $ cd ns-3-dev
The arguments passed to ./build.py (--enable-examples --enable-tests) are separated by two dash characters '--'; this ensures that those options are passed on to the Waf build system.
After the above, you should have a working ns-3 installation (debug build) that is in sync with a very recent changeset of ns-3-dev. You can check it by running some of the tutorial programs:
$ ./waf --run first
To update the code at a future date, you can perform a 'git pull' while in ns-3-dev.
Other utilities needed
We will be using gnuplot and matplotlib in some scripts.
We have shown other extension in the course of presenting the material. Please see the Installation page for information about extra packages that are needed for installing dependencies for PyViz, tcpdump, netanim, and DCE.
Supplementary training videos
Please see the older training videos from 2016 and earlier linked from this page.