Difference between revisions of "AnnualTraining2019"

From Nsnam
Jump to: navigation, search
(Software)
(post training videos)
 
(23 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{TOC}}
 
{{TOC}}
  
This is the wiki page for the ns-3 training sessions to be held on 17-18 June, 2019 in Florence.  For a list of all past training sessions, see [[Training]].
+
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]].
  
== Agenda ==
+
== Videos ==
  
Training will be held from 09:00-18:00.  Please plan to arrive 15-30 minutes beforehand so we may start at 09:00.  Catered lunch will be at 12:30, and coffee at 10:30 and 16:00.
+
Video recordings of all sessions are available at [https://vimeo.com/showcase/6202025 Vimeo]
  
Slides and labs will be posted here as they become available.
+
== Agenda ==
  
 
=== Monday ===
 
=== 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.
 +
 +
'''Session 1 slides:'''  [https://www.nsnam.org/tutorials/consortium19/training-session-1.pdf pdf],[https://www.nsnam.org/tutorials/consortium19/training-session-1.pptx pptx]
 +
 +
'''Session 2 slides:'''  [https://www.nsnam.org/tutorials/consortium19/training-session-2.pdf pdf],[https://www.nsnam.org/tutorials/consortium19/training-session-2.pptx pptx]
 +
 +
'''Session 3 slides:'''  [https://www.nsnam.org/tutorials/consortium19/training-session-3.pdf pdf],[https://www.nsnam.org/tutorials/consortium19/training-session-3.pptx pptx]
 +
 +
'''Queue experiment:'''  [https://www.nsnam.org/tutorials/consortium19/mm1-queue-training.pdf exercise],[https://www.nsnam.org/tutorials/consortium19/mm1-solution-training.pdf solution]
  
 
=== Tuesday ===
 
=== Tuesday ===
  
 
==== Session 1:  TCP ====
 
==== 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. 
 +
 +
'''TCP session slides:'''  [https://www.nsnam.org/tutorials/consortium19/training-session-tcp.pdf pdf],[https://www.nsnam.org/tutorials/consortium19/training-session-tcp.pptx pptx]
 +
 +
'''Bake/DCE slides:'''
 +
 +
See below for previous ns-3 training video on DCE by a DCE maintainer.
  
 
==== Session 2:  Wi-Fi (S. Deronne) ====
 
==== Session 2:  Wi-Fi (S. Deronne) ====
 +
 +
'''Slides:''' [https://www.nsnam.org/tutorials/consortium19/WNS3-training-2019-wifi.pdf pdf]
  
 
==== Session 3:  LTE (Z. Ali) ====
 
==== 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:'''  [https://www.nsnam.org/tutorials/consortium19/wns3-2019-lte-slides.pdf pdf]
 +
 +
'''Handout:'''  [https://www.nsnam.org/tutorials/consortium19/wns3-lte-training-2019.pdf LTE hands-on tutorial]
  
 
==== Session 4:  Sensor networks (T. Pecorella and D. Magrin) ====
 
==== 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)
 
* LR WPAN (status, extensions)
Line 27: Line 54:
 
* IPv6 for IoT
 
* IPv6 for IoT
 
* LoRaWAN https://github.com/signetlabdei/lorawan
 
* LoRaWAN https://github.com/signetlabdei/lorawan
 +
 +
'''Slides:'''
 +
* Tommaso's slides:  [https://www.nsnam.org/tutorials/consortium19/ns3-Training_IoT.pptx pptx]
 +
* Davide's slides:  [https://www.nsnam.org/tutorials/consortium19/wns3-lorawan.pdf pdf]
 +
* Davide's demo:  [https://www.nsnam.org/tutorials/consortium19/lorawandemo.pdf pdf]
  
 
== Software ==
 
== Software ==
  
To obtain the training code, please follow the following steps:
+
More detailed information is available in [https://www.nsnam.org/tutorials/consortium19/ns-3-training-software.pdf 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:
  
 
  <nowiki>
 
  <nowiki>
  $ git clone --branch training https://gitlab.com/tomhenderson/ns-3-allinone.git
+
  $ git clone -b training https://gitlab.com/tomhenderson/ns-3-allinone.git
 
  $ cd ns-3-allinone
 
  $ cd ns-3-allinone
  $ ./download.py -n training
+
  $ ./download.py -b training
 
  $ ./build.py -- --enable-examples --enable-tests
 
  $ ./build.py -- --enable-examples --enable-tests
 
  $ cd ns-3-dev</nowiki>
 
  $ cd ns-3-dev</nowiki>
  
At this point, 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:
+
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:
  
 
  <nowiki>
 
  <nowiki>
Line 46: Line 84:
 
To update the code at a future date, you can perform a 'git pull' while in ns-3-dev.
 
To update the code at a future date, you can perform a 'git pull' while in ns-3-dev.
  
== Registration ==
+
=== Other utilities needed ===
 
+
Registration must be made at this site:  https://washington.irisregistration.com/Form/NS-3
+
  
== Local Information ==
+
We will be using gnuplot and matplotlib in some scripts.
  
Local information is available on this page: https://www.nsnam.org/research/wns3/wns3-2019/local-information/
+
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 ==
 
== Supplementary training videos ==
  
Please see the older training videos linked from [https://www.nsnam.org/consortium/activities/training/ this page].
+
Please see the older training videos from 2016 and earlier linked from [https://www.nsnam.org/consortium/activities/training/ this page].
  
 
* 2016 session on large-scale, distributed simulations with ns-3 (instructor:  Peter Barnes);  ([http://www.nsnam.org/tutorials/consortium16/slides/WNS3-Distributed-Simulation-2016-06-14.pptx slides], [https://vimeo.com/album/4614897/video/219757455 video])
 
* 2016 session on large-scale, distributed simulations with ns-3 (instructor:  Peter Barnes);  ([http://www.nsnam.org/tutorials/consortium16/slides/WNS3-Distributed-Simulation-2016-06-14.pptx slides], [https://vimeo.com/album/4614897/video/219757455 video])
 
* 2014 ns-3 tracing tutorial from Walid Younes:  ([https://www.nsnam.org/tutorials/consortium14/ns-3-training-session-3.pdf slides], [https://vimeo.com/album/2966916/video/101650879 video])
 
* 2014 ns-3 tracing tutorial from Walid Younes:  ([https://www.nsnam.org/tutorials/consortium14/ns-3-training-session-3.pdf slides], [https://vimeo.com/album/2966916/video/101650879 video])
 +
* 2015 presentation on DCE (instructor:  Hajime Tazaki): ([http://www.slideshare.net/hajimetazaki/wns3-15dcetutorial slides], [https://vimeo.com/showcase/3480129/video/134204470 video])

Latest revision as of 04:07, 11 September 2019

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.

Session 1 slides: pdf,pptx

Session 2 slides: pdf,pptx

Session 3 slides: pdf,pptx

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.

TCP session slides: pdf,pptx

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.

Slides:

  • Tommaso's slides: pptx
  • Davide's slides: pdf
  • Davide's demo: pdf

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.

  • 2016 session on large-scale, distributed simulations with ns-3 (instructor: Peter Barnes); (slides, video)
  • 2014 ns-3 tracing tutorial from Walid Younes: (slides, video)
  • 2015 presentation on DCE (instructor: Hajime Tazaki): (slides, video)