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

From NET Wiki
Jump to navigation Jump to search
 
(63 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Details ==
== Details ==
{{Announcement|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 }}
{{Announcement|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.}}


{{CourseDetails
{{CourseDetails
Line 13: Line 6:
|lecturer=[http://user.informatik.uni-goettingen.de/~dkoll Dr. David Koll]
|lecturer=[http://user.informatik.uni-goettingen.de/~dkoll Dr. David Koll]
|ta=Sameer Kulkarni, MSc
|ta=Sameer Kulkarni, MSc
|time=15th to 19th February 2016 (temporary, subject to change)
|time=14th to 18th March 2016, 9-17
|place=TBA
|place=IFI 2.101
|univz=[https://univz.uni-goettingen.de/qisserver/rds?state=verpublish&status=init&vmfile=no&publishid=166971&moduleCall=webInfo&publishConfFile=webInfo&publishSubDir=veranstaltung]
|univz=[https://univz.uni-goettingen.de/qisserver/rds?state=verpublish&status=init&vmfile=no&publishid=166971&moduleCall=webInfo&publishConfFile=webInfo&publishSubDir=veranstaltung]
}}
}}
Line 23: Line 16:
In this course, we will discuss the basics of SDN.
In this course, we will discuss the basics of SDN.


The course is organized as a block course as follows:
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 (see grading requirements below) of this course. Depending on the number of attendees, several parts of the work will be conducted in teams of students.
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 [http://mininet.org/], 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.
The course Advanced Software-defined Networking (M. Inf.1230) will follow a similar structure to provide a more profound knowledge of SDN.


==Schedule (tentative)==
==Schedule==


{| {{Prettytable|width=}}
{| {{Prettytable|width=}}
Line 52: Line 36:
| 11:00 - 12:30  
| 11:00 - 12:30  
| 14:00 - 15:30  
| 14:00 - 15:30  
| 15:30 -  
| 15:30 - 17.00
|-
|-
|-
|-
|'' Theory''
|'' Theory''
| align="right" |''' 15.02.2016'''
| align="right" |''' 14.03.2016'''
| Lecture I: Introduction to SDN
| [[Media:SDN_WS2015_1.pdf | Lecture I: Introduction to SDN]]
| Exercise I
|  [[Media:SDN_WS2015_ex_1.pdf | Exercise I]]
| Lecture II: OpenFlow and its Applications
| [[Media:SDN_WS2015_2.pdf | Lecture II: OpenFlow and its Applications]]
| Exercise II and Quiz I
| [[Media:SDN_WS2015_ex_2.pdf | Exercise II]]
|-
|-
| ''Theory''
| ''Theory''
| align="right" | '''16.02.2016'''
| align="right" | '''15.03.2016'''
| Lecture III: Network Virtualization via SDN
| [[Media:SDN_WS2015_3-b.pdf | Lecture III: Network Virtualization via SDN]]
| Exercise III
| [[Media:SDN_WS2015_ex_3.pdf | Exercise III]] and Quiz I
| Lecture IV: SDN Controllers
| [[Media:SDN_WS2015_4.pdf | Lecture IV: SDN Controllers & Paper Reading Allocation]]
| Exercise IV & Quiz II
|| [[Media:SDN_WS2015_ex_4.pdf | Exercise IV]]
|-
|-
| ''Theory / Practical''
| ''Theory / Practical''
| align="right" | '''17.02.2016'''
| align="right" | '''16.03.2016'''
| Lecture V: Research in SDN
| [[Media:SDN_WS2015_5.pdf | Lecture V: Security in SDN]]
| Exercise V
| [[Media:SDN_WS2015_ex_5.pdf | Exercise V]]  and Quiz II
| Tutorial I: Python: Recap
| [[Media:SDN_WS2015_6.pdf | Tutorial I: Python: Recap]]
| Exercise VI and Quiz III
| [[Media:SDN_WS2015_ex_6.pdf | Exercise VI]]
|-
|-
| ''Practical''
| ''Practical''
| align="right" |''' 18.02.2016'''
| align="right" |''' 17.03.2016'''
| Tutorial II: Mininet: Basics
| [[Media:SDN_WS2015_7.pdf | Tutorial II: Mininet: Basics, OpenFlow and Network Topologies]]
| Exercise VII
| [[Media:SDN_WS2015_Ex7.pdf | Exercise VII]] & [[Media:SDN_WS2015_ex_8.pdf |  Exercise VIII]]
| Tutorial III: Mininet: OpenFlow & Network Topologies
| [[Media:SDN_WS2015_8.pdf | Tutorial III: SDN Controllers]]
| Exercise VIII and Quiz IV
| [[Media:SDN_WS2015_Ex9.pdf | Exercise IX]]
|-
|-
|'' Practical''
|'' Practical''
| align="right" | '''19.02.2016'''
| align="right" | '''18.03.2016'''
| Tutorial IV: Mininet: SDN Controllers
| [[Media:SDN_WS2015_9.pdf | Tutorial IV: Mininet: Network Virtualization & Course Recap / Feedback]]
| Exercise IX
| [[Media:SDN_WS2015_Ex10.pdf | Exercise X]]
| Tutorial V: Mininet: Network Virtualization
| Supervised Exercise Time
| Exercise X and Quiz V
| Supervised Exercise Time
|-
|-
| ''Seminar''
| ''Seminar''
| align="right" | '''March 2016'''
| align="right" | '''22.04.2016'''
| Final Presentations
| Final Presentations
| Final Presentations
| Final Presentations
|  
|  
| Final Presentations
|-
| ''Seminar''
| align="right" | '''30.04.2016'''
| Final Submissions due
|  [[Media:SDN_WS2015_review.pdf | Review Form PDF]] | [http://user.informatik.uni-goettingen.de/~dkoll/WS1516/Exercises/review.docx Review Form Docx]
|
|  
|  
|-
|-
Line 100: Line 91:


==Requirements==
==Requirements==
* Basic knowledge in computer networking (e.g., successfull completion of the course "Computer Networks") and object oriented programming is required.
* '''Please make sure that you fulfill the below requirements:'''
* 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 knowledge in computer networking (e.g., successfull completion of the course "Computer Networks") and object oriented programming is required.
* Each participant is required to actively attend the course and earn 50% of the points of the exercises.
** 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.
* There will be a quiz at the end of each day of the course.
** Basic UNIX/Linux knowledge. For instance, you need to know what a man page is, how to install packages in Linux, and how to use a terminal.
* Students will be required to do a short presentation after the end of the course (Date to be announced).
* Written report at the end of the course.
* No exam.


==Grading==
==Grading==
* Each participant is required to actively attend the course (80%+ attendance) and earn 50% of the points of the exercises.
* There will two short quizzes during the course.
* Students will be required to do a presentation after the end of the course (April 22 2016).
* Grading will be based on a written report to be submitted by each student, which includes:
* Grading will be based on a written report to be submitted by each student, which includes:
** Slides used for presentation in the seminar (25%)
** Slides used for presentation in the seminar (25%)
Line 119: Line 110:
If you are interested in reading into some material before the course starts, NEC maintains [http://www.nec-labs.com/~lume/sdn-reading-list.html a somewhat up-to-date reading list].
If you are interested in reading into some material before the course starts, NEC maintains [http://www.nec-labs.com/~lume/sdn-reading-list.html a somewhat up-to-date reading list].


==Paper Readings ==
* Group 1: SDN Predecessors (Giovanna P, Luis R.)
** SANE: A Protection Architecture for Enterprise Networks, Martìn Casado, Tal Garfinkel, Aditya Akella, Michael J. Freedman, Dan Boneh, Nick McKeown, Scott Shenker, Usenix Security 2006
** Tesseract: A 4D Network Control Plane, Hong Yan, David A. Maltz, T.S. Eugene Ng, Hemant Gogineni, Hui Zhang, Zheng Cai, NSDI 2007
* Group 2: SDN Infrastructures - WAN I: (Mohammed S.B., Alireza A.)
** Achieving High Utilization with Software-Driven WAN, Chi-Yao Hong, Srikanth Kandula, Ratul Mahajan, Ming Zhang, Vijay Gill, Mohan Nanduri, Roger Wattenhofer, Sigcomm 2013
** B4: Experience with a Globally-Deployed Software Defined WAN, Sushant Jain et al., Sigcomm 2013
** SDX: A Software Defined Internet Exchange, Arpit Gupta et al., Sigcomm 2014
* Group 3: Network Updates (Anime L.)
** zUpdate: Updating Data Center Networks with Zero Loss, Hongqiang Harry Liu, Xin Wu, Ming Zhang, Lihua Yuan, Roger Wattenhofer, David A. Maltz, Sigcomm 2013
** Dynamic Scheduling of Network Updates, Xin Jin, Hongqiang Harry Liu, Rohan Gandhi, Srikanth Kandula, Ratul Mahajan, Ming Zhang, Jennifer Rexford, Roger Wattenhofer, Sigcomm 2014
* Group 4: Control Plane vs Data Plane (Bhabajed K, Vijay S., Beatrice K.)
** No Silver Bullet: Extending SDN to the Data Plane, Anirudh Sivaraman, Keith Weinstein, Suvinay Subramanian, Hari Balakrishnan, HotNets 2013
** Reclaiming the Brain: Useful OpenFlow Functions in the Data Plane, Liron Schiff, Michael Borokhovich, Stefan Schmid, HotNets 2014
** Application-aware Data Plane Processing in SDN, Hesham Mekky, Fang Hao, Sarit Mukherjee, Zhi-Li Zhang, T.V. Lakshman, HotSDN 2014
* Group 5: Hybrid Networks (Nrithya M., Nidhi C.)
** Panopticon: Reaping the Benefits of Partial SDN Deployment in Enterprise Networks, Dan Levin, Marco Canini, Stefan Schmid, Fabian Schaffert, Anja Feldmann, USENIX ATC 2014
** HybNET: Network Manager for A Hybrid Network Infrastructure, Hui Lu, Nipun Arora, Hui Zhang, Cristian Lumezanu, Junghwan Rhee, Guofei Jiang, Middleware (industrial track) 2013
* Group 6: OpenFlow (Priyadhashiri R., Lijun Y.)
** A NICE Way to Test OpenFlow Applications, Marco Canini, Daniele Venzano, Peter Perešini, Dejan Kostić, Jennifer Rexford, NSDI 2012
** A SOFT Way for OpenFlow Interoperability Testing, Maciej Kuźniar, Peter Perešíni, Marco Canini, Daniele Venzano, Dejan Kostić, CoNEXT 2012
* Group 7: Policy Verification: (Mohsen H.)
** Header Space Analysis: Static Checking for Networks, Peyman Kazemian, George Varghese, Nick McKeown, NSDI 2012
** Real Time Network Policy Checking using Header Space Analysis, Peyman Kazemian, Michael Chang, Hongyi Zeng, George Varghese, Nick McKeown, Scott Whyte, NSDI 2013
* Group 8: SDN Security (Kevin F., Dieter L., Ferdinand B.)
** FRESCO: Modular Composable Security Services for Software-Defined Networks, Seungwon Shin, Phil Porras, Vinod Yagneswaran, Martin Fong, Guofei Gu, Mabry Tyson, NDSS 2013
** SDN Rootkits: Subverting Network Operating Systems of Software-Defined Networks, Röpke, Christian, and Thorsten Holz. Research in Attacks, Intrusions, and Defenses 2015.
* Group 9: SDN-based Measurement (Georgios K., Benjamin L., Felix K.)
** FlowSense: Monitoring Network Utilization with Zero Measurement Cost, Curtis Yu, Cristian Lumezanu, Vishal Singh, Yueping Zhang, Guofei Jiang, Harsha V. Madhyastha, PAM 2013
** Software-defined Latency Monitoring in Data Center Networks, Curtis Yu, Cristian Lumezanu, Abhishek Sharma, Qiang Xu, Guofei Jiang, Harsha V. Madhyastha, PAM 2015
* Group 10: OpenFlow Efficiency: (Amirreza F., Pouya S.)
** DevoFlow: Scaling Flow Management for High-performance Networks, Andrew R. Curtis, Jeffrey C. Mogul, Jean Tourrilhes, Praveen Yalagandula, Puneet Sharma, Sujata Banerjee, Sigcomm 2011
** Scalable Flow-based Networking with DIFANE, Minlan Yu, Jennifer Rexford, Michael J. Freedman, Jia Wang, Sigcomm 2010
* Group 11: Distributed or Centralized Control? (AHM Shaparon)
**Central Control Over Distributed Routing, Stefano Vissicchio (UCLouvain), Olivier Tilmans (UCLouvain), Laurent Vanbever (ETH Zürich), Jennifer Rexford (Princeton University), SIGCOMM 2015
**The (Surprising) Computational Power of the SDN Data Plane, C. Newport et al, INFOCOM 2015
[[Category:Courses]]
[[Category:Courses]]

Latest revision as of 13:29, 4 April 2016

Details

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: 14th to 18th March 2016, 9-17
Place: IFI 2.101
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.

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 (see grading requirements below) of this course. Depending on the number of attendees, several parts of the work 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

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 - 17.00
Theory 14.03.2016 Lecture I: Introduction to SDN Exercise I Lecture II: OpenFlow and its Applications Exercise II
Theory 15.03.2016 Lecture III: Network Virtualization via SDN Exercise III and Quiz I Lecture IV: SDN Controllers & Paper Reading Allocation Exercise IV
Theory / Practical 16.03.2016 Lecture V: Security in SDN Exercise V and Quiz II Tutorial I: Python: Recap Exercise VI
Practical 17.03.2016 Tutorial II: Mininet: Basics, OpenFlow and Network Topologies Exercise VII & Exercise VIII Tutorial III: SDN Controllers Exercise IX
Practical 18.03.2016 Tutorial IV: Mininet: Network Virtualization & Course Recap / Feedback Exercise X Supervised Exercise Time Supervised Exercise Time
Seminar 22.04.2016 Final Presentations Final Presentations Final Presentations
Seminar 30.04.2016 Final Submissions due Review Form PDF | Review Form Docx

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. For instance, 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 (80%+ attendance) and earn 50% of the points of the exercises.
  • There will two short quizzes during the course.
  • Students will be required to do a presentation after the end of the course (April 22 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.

Paper Readings

  • Group 1: SDN Predecessors (Giovanna P, Luis R.)
    • SANE: A Protection Architecture for Enterprise Networks, Martìn Casado, Tal Garfinkel, Aditya Akella, Michael J. Freedman, Dan Boneh, Nick McKeown, Scott Shenker, Usenix Security 2006
    • Tesseract: A 4D Network Control Plane, Hong Yan, David A. Maltz, T.S. Eugene Ng, Hemant Gogineni, Hui Zhang, Zheng Cai, NSDI 2007
  • Group 2: SDN Infrastructures - WAN I: (Mohammed S.B., Alireza A.)
    • Achieving High Utilization with Software-Driven WAN, Chi-Yao Hong, Srikanth Kandula, Ratul Mahajan, Ming Zhang, Vijay Gill, Mohan Nanduri, Roger Wattenhofer, Sigcomm 2013
    • B4: Experience with a Globally-Deployed Software Defined WAN, Sushant Jain et al., Sigcomm 2013
    • SDX: A Software Defined Internet Exchange, Arpit Gupta et al., Sigcomm 2014
  • Group 3: Network Updates (Anime L.)
    • zUpdate: Updating Data Center Networks with Zero Loss, Hongqiang Harry Liu, Xin Wu, Ming Zhang, Lihua Yuan, Roger Wattenhofer, David A. Maltz, Sigcomm 2013
    • Dynamic Scheduling of Network Updates, Xin Jin, Hongqiang Harry Liu, Rohan Gandhi, Srikanth Kandula, Ratul Mahajan, Ming Zhang, Jennifer Rexford, Roger Wattenhofer, Sigcomm 2014
  • Group 4: Control Plane vs Data Plane (Bhabajed K, Vijay S., Beatrice K.)
    • No Silver Bullet: Extending SDN to the Data Plane, Anirudh Sivaraman, Keith Weinstein, Suvinay Subramanian, Hari Balakrishnan, HotNets 2013
    • Reclaiming the Brain: Useful OpenFlow Functions in the Data Plane, Liron Schiff, Michael Borokhovich, Stefan Schmid, HotNets 2014
    • Application-aware Data Plane Processing in SDN, Hesham Mekky, Fang Hao, Sarit Mukherjee, Zhi-Li Zhang, T.V. Lakshman, HotSDN 2014
  • Group 5: Hybrid Networks (Nrithya M., Nidhi C.)
    • Panopticon: Reaping the Benefits of Partial SDN Deployment in Enterprise Networks, Dan Levin, Marco Canini, Stefan Schmid, Fabian Schaffert, Anja Feldmann, USENIX ATC 2014
    • HybNET: Network Manager for A Hybrid Network Infrastructure, Hui Lu, Nipun Arora, Hui Zhang, Cristian Lumezanu, Junghwan Rhee, Guofei Jiang, Middleware (industrial track) 2013
  • Group 6: OpenFlow (Priyadhashiri R., Lijun Y.)
    • A NICE Way to Test OpenFlow Applications, Marco Canini, Daniele Venzano, Peter Perešini, Dejan Kostić, Jennifer Rexford, NSDI 2012
    • A SOFT Way for OpenFlow Interoperability Testing, Maciej Kuźniar, Peter Perešíni, Marco Canini, Daniele Venzano, Dejan Kostić, CoNEXT 2012
  • Group 7: Policy Verification: (Mohsen H.)
    • Header Space Analysis: Static Checking for Networks, Peyman Kazemian, George Varghese, Nick McKeown, NSDI 2012
    • Real Time Network Policy Checking using Header Space Analysis, Peyman Kazemian, Michael Chang, Hongyi Zeng, George Varghese, Nick McKeown, Scott Whyte, NSDI 2013
  • Group 8: SDN Security (Kevin F., Dieter L., Ferdinand B.)
    • FRESCO: Modular Composable Security Services for Software-Defined Networks, Seungwon Shin, Phil Porras, Vinod Yagneswaran, Martin Fong, Guofei Gu, Mabry Tyson, NDSS 2013
    • SDN Rootkits: Subverting Network Operating Systems of Software-Defined Networks, Röpke, Christian, and Thorsten Holz. Research in Attacks, Intrusions, and Defenses 2015.
  • Group 9: SDN-based Measurement (Georgios K., Benjamin L., Felix K.)
    • FlowSense: Monitoring Network Utilization with Zero Measurement Cost, Curtis Yu, Cristian Lumezanu, Vishal Singh, Yueping Zhang, Guofei Jiang, Harsha V. Madhyastha, PAM 2013
    • Software-defined Latency Monitoring in Data Center Networks, Curtis Yu, Cristian Lumezanu, Abhishek Sharma, Qiang Xu, Guofei Jiang, Harsha V. Madhyastha, PAM 2015
  • Group 10: OpenFlow Efficiency: (Amirreza F., Pouya S.)
    • DevoFlow: Scaling Flow Management for High-performance Networks, Andrew R. Curtis, Jeffrey C. Mogul, Jean Tourrilhes, Praveen Yalagandula, Puneet Sharma, Sujata Banerjee, Sigcomm 2011
    • Scalable Flow-based Networking with DIFANE, Minlan Yu, Jennifer Rexford, Michael J. Freedman, Jia Wang, Sigcomm 2010
  • Group 11: Distributed or Centralized Control? (AHM Shaparon)
    • Central Control Over Distributed Routing, Stefano Vissicchio (UCLouvain), Olivier Tilmans (UCLouvain), Laurent Vanbever (ETH Zürich), Jennifer Rexford (Princeton University), SIGCOMM 2015
    • The (Surprising) Computational Power of the SDN Data Plane, C. Newport et al, INFOCOM 2015