Introduction to Software-defined Networking (Winter 2015/2016): Difference between revisions

From NET Wiki
Jump to navigation Jump to search
Line 100: Line 100:


==Requirements==
==Requirements==
* '''Please make sure that you fulfill the below requirements.'''
* Basic knowledge in computer networking (e.g., successfull completion of the course "Computer Networks") and object oriented programming is required.
* Basic knowledge in computer networking (e.g., successfull completion of the course "Computer Networks") and object oriented programming is required.
* Knowledge of the Python programming language. Students can pursue some online learning courses to get to know Python syntax. (See, for instance, [https://www.codecademy.com/en/tracks/python here]) There will only be a short recap on Python during the class.
* Knowledge of the Python programming language. Students can pursue some online learning courses to get to know Python syntax (see, for instance, [https://www.codecademy.com/en/tracks/python here]). There will only be a short recap on Python during the class.
* Basic UNIX/Linux knowledge. You need to know what a man page is, how to install packages in Linux, and how to use a terminal.
* Basic UNIX/Linux knowledge. You need to know what a man page is, how to install packages in Linux, and how to use a terminal.



Revision as of 15:22, 23 October 2015

Details

Imbox content.png Note:

Please register for the course. 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


Imbox content.png Note:

Please bring a laptop to class. In case that you do not have one, please notify Sameer or David well ahead of the course. Please have Python 2.7 installed and running on your machine.


Workload/ECTS Credits: 150h, 5 ECTS
Module: AI: M.Inf.1130: Software-defined Networks (SDN); ITIS: 3.31
Lecturer: Dr. David Koll
Teaching assistant: Sameer Kulkarni, MSc
Time: 15th to 19th February 2016 (temporary, subject to change)
Place: TBA
UniVZ [1]


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. In this course, we will discuss the basics of SDN.

The course is organized as a block course as follows: Initially, two lectures introducing the main motivation, concepts and state-of-the-art of SDN will be given. Afterwards, we will have a short peak into the most recent research from both industry and academia, which is going to define the future of SDN. In this session, students will select one paper of interest that they will present towards the end of the course. The course then continues with an introduction to Mininet [2], and students are expected to perform some basic experiments on creating and using a virtual network based on Mininet. After the experimentations, students will present the paper they selected earlier.

For all parts of the course, exercises will be provided, in which students must obtain at least 50% of the total points 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.

The course Advanced Software-defined Networking (M. Inf.1230) will follow a similar structure to provide a more profound knowledge of SDN.

Schedule (tentative)

Type 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 -
Theory 15.02.2016 Lecture I: Introduction to SDN Exercise I Lecture II: OpenFlow and its Applications Exercise II and Quiz I
Theory 16.02.2016 Lecture III: Network Virtualization via SDN Exercise III Lecture IV: SDN Controllers Exercise IV & Quiz II
Theory / Practical 17.02.2016 Lecture V: Research in SDN Exercise V Tutorial I: Python: Recap Exercise VI and Quiz III
Practical 18.02.2016 Tutorial II: Mininet: Basics Exercise VII Tutorial III: Mininet: OpenFlow & Network Topologies Exercise VIII and Quiz IV
Practical 19.02.2016 Tutorial IV: Mininet: SDN Controllers Exercise IX Tutorial V: Mininet: Network Virtualization Exercise X and Quiz V
Seminar March 2016 Final Presentations Final Presentations

Requirements

  • Please make sure that you fulfill the below requirements.
  • Basic knowledge in computer networking (e.g., successfull completion of the course "Computer Networks") and object oriented programming is required.
  • Knowledge of the Python programming language. Students can pursue some online learning courses to get to know Python syntax (see, for instance, here). There will only be a short recap on Python during the class.
  • Basic UNIX/Linux knowledge. You need to know what a man page is, how to install packages in Linux, and how to use a terminal.

Grading

  • Each participant is required to actively attend the course and earn 50% of the points of the exercises.
  • There will be a short quiz at the end of each day of the course.
  • Students will be required to do a short presentation after the end of the course (Date to be announced, ~March 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%)
    • A review of a SDN research paper (25%)
    • Two graded quizzes (25%)
    • Two graded exercises (25%)
  • No exam

Reading List

If you are interested in reading into some material before the course starts, NEC maintains a somewhat up-to-date reading list.