Introduction to Software-defined Networking (Winter 2015/2016)
Details
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 |
Note:
Seats for this class have now been limited. All students that have registered for the course until January 4th 2016 will be able to participate. All other students, please take a look here for open seats. If there are no further seats available, you can still subscribe to the mailing list. In that case, you will be placed on a waiting list. |
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: | 14th to 18th March 2016 |
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 | 14.03.2016 | Lecture I: Introduction to SDN | Exercise I | Lecture II: OpenFlow and its Applications | Exercise II and Quiz I |
Theory | 15.03.2016 | Lecture III: Network Virtualization via SDN | Exercise III | Lecture IV: SDN Controllers | Exercise IV & Quiz II |
Theory / Practical | 16.03.2016 | Lecture V: Security in SDN | Exercise V | Tutorial I: Python: Recap | Exercise VI and Quiz III |
Practical | 17.03.2016 | Tutorial II: Mininet: Basics | Exercise VII | Tutorial III: Mininet: OpenFlow & Network Topologies | Exercise VIII and Quiz IV |
Practical | 18.03.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. 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 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.
Paper Readings (tentative)
- Group 1: SDN Predecessors
- 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:
- 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
- Group 3: SDN Infrastructures - WAN II:
- SDX: A Software Defined Internet Exchange, Arpit Gupta et al., Sigcomm 2014
- Virtualizing the Access Network via Open APIs, Vijay Sivaraman, Hassan Habibi Gharakheili, Dennis Ong, John Matthews, Craig Russell, CoNEXT 2013
- Group 4: Network Updates
- 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 5: Distributed Control Plane
- ONOS: Towards An Open Distributed SDN OS, Pankaj Berde, Matteo Gerola, Jonathan Hart, Yuta Higuchi, Masayoshi Kobayashi, Toshio Koide, Bob Lantz, Brian O'Connor, Pavlin Radoslavov, William Snow, Guru Parulukar, HotSDN 2014
- Onix: A Distributed Control Platform for Large-scale Production Networks, Teemu Koponen et al, OSDI 2010
- Group 6: Control Plane vs Data Plane
- 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 7: Hybrid Networks
- 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 8: OpenFlow
- 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 9: Network Policies and Virtualization
- Can the Production Network Be the Testbed?, Rob Sherwood, Glen Gibb, Kok-Kiong Yap, Guido Appenzeller, Martìn Casado, Nick McKeown, Guru Parulkar, OSDI 2010
- CoVisor: A Compositional Hypervisor for Software-Defined Networks, Xin Jin, Jennifer Gossels, Jennifer Rexford, David Walker, NSDI 2015
- Group 10: Policy Verification:
- 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 11: SDN Security
- FRESCO: Modular Composable Security Services for Software-Defined Networks, Seungwon Shin, Phil Porras, Vinod Yagneswaran, Martin Fong, Guofei Gu, Mabry Tyson, NDSS 2013
- SPHINX: Detecting security attacks in software-defined networks. Dhawan, Mohan, et al., NDSS 2015
- Group 12: SDN-based Measurement
- 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 13: Wireless SDN
- SoftRAN: Software Defined Radio Access Network, Aditya Gudipati, Daniel Perry, Li Erran Li, Sachin Katti, HotSDN 2013
- OpenRadio: A Programmable Wireless Dataplane, Manu Bansal, Jeffrey Mehlman, Sachin Katti, Philip Levis, HotSDN 2012
- Towards Programmable Enterprise WLANs with Odin, Lalith Suresh, Julius Schulz-Zander, Ruben Merz, Anja Feldmann, Teresa Vazao, HotSDN 2012