Introduction to Software-defined Networking (Winter 2015/2016): Difference between revisions
(58 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== Details == | == Details == | ||
{{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= | |time=14th to 18th March 2016, 9-17 | ||
|place= | |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. | ||
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. | |||
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. | |||
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 | ==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" |''' | | 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 | | [[Media:SDN_WS2015_ex_2.pdf | Exercise II]] | ||
|- | |- | ||
| ''Theory'' | | ''Theory'' | ||
| align="right" | ''' | | 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 | || [[Media:SDN_WS2015_ex_4.pdf | Exercise IV]] | ||
|- | |- | ||
| ''Theory / Practical'' | | ''Theory / Practical'' | ||
| align="right" | ''' | | align="right" | '''16.03.2016''' | ||
| Lecture V: | | [[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 | | [[Media:SDN_WS2015_ex_6.pdf | Exercise VI]] | ||
|- | |- | ||
| ''Practical'' | | ''Practical'' | ||
| align="right" |''' | | 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: | | [[Media:SDN_WS2015_8.pdf | Tutorial III: SDN Controllers]] | ||
| Exercise | | [[Media:SDN_WS2015_Ex9.pdf | Exercise IX]] | ||
|- | |- | ||
|'' Practical'' | |'' Practical'' | ||
| align="right" | ''' | | align="right" | '''18.03.2016''' | ||
| Tutorial IV: Mininet: | | [[Media:SDN_WS2015_9.pdf | Tutorial IV: Mininet: Network Virtualization & Course Recap / Feedback]] | ||
| Exercise | | [[Media:SDN_WS2015_Ex10.pdf | Exercise X]] | ||
| | | Supervised Exercise Time | ||
| Exercise | | Supervised Exercise Time | ||
|- | |- | ||
| ''Seminar'' | | ''Seminar'' | ||
| align="right" | ''' | | 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 103: | Line 94: | ||
** 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. | ** 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== | ==Grading== | ||
* Each participant is required to actively attend the course and earn 50% of the points of the exercises. | * Each participant is required to actively attend the course (80%+ attendance) and earn 50% of the points of the exercises. | ||
* There will | * There will two short quizzes during the course. | ||
* Students will be required to do a | * 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