Specialization Software-defined Networking (Winter 2015/2016)

From NET Wiki
Jump to navigationJump to search
Imbox content.png Note: We will have the final presentations on April 21: 8-12pm (in Room 2.101) and 16-18 (in Room 1.101) slot is additionally reserved

Imbox content.png Note:

In order to register, please subscribe to the mailing list "Sdn_course_16@gwdg.de" by subscribing at the following site (and write a message of the SDN course(s) that you plan to attend): https://listserv.gwdg.de/mailman/listinfo/sdn_course_16


Workload/ECTS Credits: 150h, 5 ECTS
Module: AI: M.Inf.1230: Specialization Software-defined Networks (SDN)); ITIS: 3.32
Lecturer: Dr. Mayutan Arumaithurai
Teaching assistant: Sameer Kulkarni
Time: March 21-25; 09.00-17.00
Place: IfI 2.101
UniVZ tba

Course Overview

Software-defined networking (SDN) has recently attracted both researchers in academia and big players in communication technologies, and is currently probably the 'hottest' topic in computer networking. This course is a continuation of the "Introduction to SDN" course and we will focus on gaining an advanced knowledge of SDN. The course is organized as a block course. Please see the following "Schedule" table for a detailed structure. The course will focus on reading and understanding recent papers in the SDN field to gain an in depth understanding of the current state of the art and potential research topics. We will also do a lot of exercises to familiarize ourselves with SDN tools.

For all parts of the course, exercises will be provided, in which students must obtain at least 50% of the total points and active participation in the group discussions to be admitted to the examination of this course. The exam is taken by submitting a report of 10-15 pages summarizing the lessons learned during the lectures and exercises as well as the research papers investigated (a LaTeX template will be provided). Depending on the number of attendees, several parts will be conducted in teams of students.

Link to UniVZ


Imbox content.png Note: We will have the final presentations on April 21: 8-12pm and 16-18 slot is additionally reserved
Date Morning Session I Morning Session II Afternoon Session I Afternoon Session II
Time 9:15 - 10:45 11:00 - 12:30 14:00 - 15:30 15:30 -
21`.03.2016 Lecture I: Enhancing Data Plane Exercise I: Data Center topology Group Discussion I Exercise II: Simple load balancer
22.03.2016 Lecture II: Northbound API Exercise III: Pox Firewall Group Discussion II Exercise IV: Pyretic Firewall
23.03.2016 Lecture III: Enhancing Data Plane - II Exercise V: Kinetic Firewalls Group Discussion III Exercise VI: pyretic debugging
24.03.2016 Lecture IV: ONOS Exercise VIII: ONOS tutorials Group Discussion IV Exercise IX: ONOS Applications

April 21: Schedule

Imbox content.png Note: Lets start at 8:30 instead of 8:00
  • 8:30-9:00: group presentation
  • 9:00-9:30: group presentation
  • 9:30-10:00: group presentation
  • 10:00-10:30: group presentation
  • 10:30-11:00: group presentation/Exercises/Q&A
  • 11:00-11:30: group presentation/Exercises/Q&A
  • 11:30-12:00: group presentation/Exercises/Q&A
  • 16:00-17:00: Exercises/Q&A
  • 17:00-17:30: Group presentation (Pouya & Mehdi)
  • 17:30-18:00: Exercises/Q&A


  • Basic knowledge in computer networking (e.g., successful completion of the course "Computer Networks") and object oriented programming is required.
  • Completion of the course "Introduction to SDN", exceptions can be obtained on a case by case basis.
  • Each participant is required to actively attend the course and earn 50% of the points of the exercise.
  • Written report at the end of the course. The report should include the following:
    • Exercises results + code
    • Short report on the group discussion papers
    • Report on the paper presented by team-X for the final presentation


Group Discussion





Papers for Final Presentations

  • Presentations will be from 8-12 on April 21.
  • Each group gets 20 minutes of presentation time and 10 minutes for Q&A. Georgios gets 10 minutes of presentation time and 5 minutes of Q&A.


General Hints

  • Use the following option to get more debug info while using pox
    • $ ./pox/pox.py log.level --DEBUG misc.of_tutorial
    • NOTE: There are two "-" (i.e. --) used for options in mininet/pox. In the wiki, sometimes the two lines

join up and show as one line.

    • Best not to use the command prompt within the VM, but to use terminals created by ssh (e.g. via Putty)
      • e.g. xterm h1 doesn't work
      • there were also issues while starting pyretic

21 March

  • Get the Image from Mayutan/Sameer/peers

Exercise I: Data Centers


Exercise II: Load balancers


22 March

Exercise III: Firewall


Exercise IV: Pyretic Firewall


23 March

Exercise V: Kinetic firewall

  • Note that -l in the instructions (e.g. infected -1) is not a numeric "1", but the small version of "L"
  • Kinetic Firewall Instructions, Starting_Code

Exercise VI (Part A): Pyretic Debugging


Exercise VI (Part B): Kinetic like firewall using pox


24 March

Exercise VII: Basic ONOS

Exercise VIII: ONOS Application

  • Try to create your own simple ONOS application (e.g. firewall, SFC, load balancer) looking at the tutorials given
    • Disclaimer: I am also working on this
  • You can also use this time to finish with the other exercises and do the above at home
  • I have posted some hints to help you creating your ONOS application. Go to here

Requirement and Due Date for Final Report (E-Mail to Mayutan)

Imbox content.png Note: The final report is due on April 30th.
  • Submit your final report (in .pdf format) as well as code (in .py format) as one zipped file with your name.
subject line of email: Submission of work for Specialization in SDN

Name of attachment: name.zip, e.g., if when I submit the final work, the file will be named: Mayutan.zip
NOTE: You also have the opportunity to show me the code on April 21, 16-18pm.

NOTE: Your final report (LaTeX Template) should include:

  • Title sheet showing your name and matriculation number
 For this, you can review the papers that your group presented (3 pages for each review)
  • Additionally, you can have one of the two:
    • 1) Programming part: Program a simple new application (e.g. like the gardenwall example or load balancing or SFC) in ONOS. It can be done in groups.
    • 2) 9 pages of reviews using the review form. These reviews should be of full papers that others have presented.
  • One review form (3 pages each) for each of the paper your group was assigned during the course for the final presentation (Use this review form).
Those who need to write an additional review of a paper presented during the final presentations: ().
These extra pages will be for those who don't ask questions or participate in discussions during 
others' presentations.  
Therefore, highly recommended that all of you make a first and second pass of the papers belonging 
to other groups. 

Make sure that you write your own review. Copy/Paste reviews from other participants of the course 
will not be accepted. The reviews are individual work.
  • screenshots to prove that the code is working for those who didn't show it to me during the lecture. Please refer to the Exercise Section above.
  • The slides (if any) you used for presenting your papers in class.
No need to improve the slides after presenting.


  • Each participant is required to actively attend the course (80%+ attendance) and earn 50% of the points of the exercises.
  • Students will be required to do a presentation after the end of the course (April 21 2016).
  • Grading will be based on a written report to be submitted by each student, which includes:
    • Slides used for presentation in the seminar (25%)
    • Mandatory review of SDN research papers (50%)
    • ONOS application/paper-review (25%)
  • No exam