AnnualTraining2019
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 held on 17-18 June, 2019 in Florence. For a list of all past training sessions, see Training.
Videos
Video recordings of all sessions are available at Vimeo
Agenda
Monday
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.
Queue experiment: exercise,solution
Tuesday
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.
Bake/DCE slides:
See below for previous ns-3 training video on DCE by a DCE maintainer.
Session 2: Wi-Fi (S. Deronne)
Slides: pdf
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).
Slides: pdf
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
Slides:
Software
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.