Specialization Software-defined Networking (Winter 2015/2016)
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.
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
- Lecture I: Enhancing Data Plane I slides-Islides-II
- Special Lecture: How to Read (research) Papers slides-ILink_to_original_paper
- Lecture II: Northbound API slides-I slides-II
- Lecture III: Enhancing Data Plane II Managing Middleboxes: Flowtags
- Lecture IV: ONOS
Group Discussion
GD I
Link to all papers [1]
GD II
GD III
GD IV
Full Papers
- NFV & security
- Miscellaneous Papers - I
- Miscellaneous Papers - II
- Middlebox Optimization/Load balancers - I
- Middlebox Optimization/Load balancers - II
- SDN and Fault Tolerance:
Exercises
- Pox/Openflow Tutorial
- What to Submit: source code along with screenshots for those who are not exempted
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
- Best not to use the command prompt within the VM, but to use terminals created by ssh (e.g. via Putty)
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 (Part A): 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: 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