Specialization Software-defined Networking (Winter 2015/2016)

Imbox content.png Note: Since 25th March is Easter Friday, the course and final presentations that are scheduled for 25th March will be shifted to a date in the last two weeks of April. We can decide on the exact day on the 21st March, on the first day of the course.


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


Details

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

Schedule

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 Firewall Group Discussion III Exercise VI: Kinetic-pox loadbalancer
24.03.2016 Exercise VII: kinetic, pyretic debugging Exercise VIII: Service Chaining I Group Discussion IV Exercise IX: Service Chaining II
xx.xx.2016 (Since 25th March is Easter Friday, see note above) "Preparation for final presentation" "Preparation for final presentation" Final presentations I Final presentation II

Requirements

  • 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

Lectures

Group Discussion

GD I

Link to all papers [1]

GD II

  • We will discuss the remaining papers from yesterday's set.

Link to all papers [2]

GD III

GD IV

Full Papers

Miscellaneous Papers - I

   a) CacheFlow
   b) Safe and Flexible Controller upgrades in SDN

Miscellaneous Papers - II

   c) Improving SDN with InSPired Swithes
   d) RAVEL

Middlebox Optimization/Load balancers - I

   a) Simplifying SDN optimization using SOL
   c) CoMB: Design and Implementation of consolidated Middlebox architecture

Middlebox Optimization/Load balancers - II

   b) Paving the way for NFV: Simplifying middlebox modifications Using StateAlyzr
   d) XoMB: Extensible Open Middleboxes with comodity servers

SDN and Fault Tolerance:

   a) LegoSDN: Isolating and tolerating SDN application failures with LegoSDN
   b) Hula: scalable load balancing using programmable data planes. (NSDI 2016)

Distributed Load Balancers:

   a) PRESTO
   b) Mahout

Controller based Flow Scheduling and Load Balancers:

   b) Kandoo
   c) Maglev: A Fast and Reliable Software Network Load balancer (NSDI 16)
 VNF Migration Frameworks:
    a) SplitMerge
    b) OpenNF

Exercises


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.

21 March

  • Get the Image from Mayutan/Sameer/peers

Exercise I: Data Centers

Exercise_DC

Exercise II: Load balancers

Exercise_LB

22 March

Exercise III: Firewall

Exercise_Firewall

Exercise IV: Pyretic Firewall

Exercise_Pyretic_Firewall

23 March

Exercise V: Kinetic like firewall using pox

Exercise_Kinetic_Pox_Firewall


Exercise VI: Pyretic Debugging

Exercise_Pyretic_Debugging

24 March

Exercise VII: Basic ONOS

Basic ONOS

Exercise VIII: ONOS SDN IP

ONOS SDN IP



Additional Exercises