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

Jump to navigation Jump to search
No edit summary
 
Line 28: Line 28:
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==
Please bring along your laptop to all sessions!
{| {{Prettytable|width=}}
|-
|{{Hl2}} |'''Date'''
|{{Hl2}} |'''Morning Session'''
|{{Hl2}} |'''Type'''
|{{Hl2}} |'''Afternoon Session'''
|{{Hl2}} |'''Type'''
|-
| align="right" | 16.03.2015
| Software-defined Networking I
| Lecture ([[Media:Slides.pdf‎ |Slides]])
| Introduction to Python I (and exercises)
| Lecture ([[Media:Python.pdf‎ |Slides]]) / Practical
|-
| align="right" | 17.03.2015
| Software-defined Networking II
| Lecture ([[Media:SDN_II.pdf‎ |Slides]])
| Introduction to Python II (and exercises)
| Lecture ([[Media:Python.pdf‎ |Slides]]) / Practical
|-
| align="right" | 18.03.2015
| Current Research in SDN / Paper Reading
| Seminar (No Slides)
| Hands-On SDN I
| Practical  ([[Media:Mininet_I_b.pdf‎ |Slides]])
|-
| align="right" | 19.03.2015
| Hands-On SDN II
| Practical ([[Media:Mininet_II.pdf‎ |Slides]])
| Hands-On SDN III
| Practical ([[Media:Mininet_III_b.pdf‎ |Slides]])
|-
| align="right" | 20.03.2015
| Practical Tutoring / Presentation Preparation
| Practical
| Presentations
| Seminar
|-
|}
==Presentation Schedule==
*13.50 Georg & Alex (Group 9)
*14.10 Martin & Chris (Group 7)
*14.30 Thomas & Siddharta (Group 1)
*14.50 Pranay & Gurjinder (Group 2)
*15.10 Omar & Khawar (Group 3)
*15.10-15.20 Break
*15.20 Mehdi, Mehedi & Asif (Group 4)
*15.40 Guryash & Sabsayashi (Group 11)
*16.00 Sameer & Mahmoud (Group 5)
*16.20 Amit, Athiq & Supriya (Group 6)
*16.40 Rajib & Hadi (Group 8)
*17.00 Hari & Sheshagiri (Group 10)
==Exercises==
{| {{Prettytable|width=}}
|-
|{{Hl2}} |'''Number'''
|{{Hl2}} |'''Topic'''
|-
| Exercise 1
| Introduction ([[Media:SDN_Exercise_2015.pdf‎ |pdf]])
|-
| Exercise 2
| Python Basics ([[Media:SDN_Exercise_2_2015.pdf‎ |pdf]])
|-
| Exercise 3
| SDN Control Plane ([[Media:SDN_Exercise_3b_2015.pdf‎ |pdf]])
|-
| Exercise 4
| An SDN Simulator in Python ([[Media:SDN_Exercise_4_2015.pdf‎ |pdf]])
|-
| Exercise 5
| Mininet Setup ([[Media:SDN_Exercise_5_2015.pdf‎ |pdf]])
|-
| Exercise 6
| Mininet Topologies ([[Media:SDN_Exercise_6_2015_b.pdf‎ |pdf]])
|-
| Exercise 7
| Mininet and SDN Controllers ([[Media:SDN_Exercise_7.pdf‎ |pdf]])
|-
| Exercise 8
| Mininet and FlowVisor ([[Media:SDN_Exercise_8_b.pdf‎ |pdf]])
|-
|}
==Due Dates for Documents (E-Mail to David)==
{| {{Prettytable|width=}}
|-
|{{Hl2}} |'''Date'''
|{{Hl2}} |'''Exercises Due'''
|{{Hl2}} |'''Identifier'''
|-
| 10.04.2015
| Exercise 1 (Introduction), Exercise 2 (Python Basics)
| SDN-EX-104
|-
| 17.04.2015
| Exercise 3 (SDN II), Exercise 6 (Mininet Topologies)
| SDN-EX-174
|-
| 30.04.2015
| Final Report
| SDN-FR
|-
|}
'''NOTE:''' Please submit multiple files compressed in one ZIP archive by E-Mail to David. For text documents, submit in PDF format.
The subject line of your email should be the corresponding identifier from the table above followed by your name.
''Example:'' Alice wants to submit Exercises 3 and 6. She compresses all the files she created for the exercise into one ZIP archive and sends the archive to David before April 17.
She uses the subject line '''SDN-EX-174 Alice'''
'''NOTE:''' Your final report ([ftp://ftp.springer.de/pub/tex/latex/llncs/latex2e/llncs2e.zip LaTeX Template]) should include:
* Title sheet showing your name and matriculation number
* Exercise 4 (Python SDN Simulator), Exercise 7 (Mininet Controllers), Exercise 8 (FlowVisor)
Python code has to be submitted ready to be executed (i.e., in .py files and NOT IN DOCUMENT).
50% of the points in these exercises are mandatory to pass. Higher scores will improve your grade.
* One review form for each paper you were assigned during the course (Use one [http://user.informatik.uni-goettingen.de/~dkoll/files/sdn/review.docx review form] for each paper).
One review per participant is mandatory to pass. More good (!) reviews can help to improve your grade.
Do not submit reviews for papers outside of your assigned reading group (Exception: Group 8 (single paper group). You can also review the paper "Jin et al, "CoVisor: A Compositional Hypervisor for Software-Defined Networks (USENIX NSDI 2015)").
Make sure that you write your own review. Copy/Paste reviews from other participants of the course will not be accepted. The reviews are individual work.
* The slides you used for presenting your papers in class.
No need to improve the slides after presenting.
==Paper Reading Groups==
*''' SDN Infrastructures'''
**''Group 1: Building a Software-defined Internet Exchange'' (assigned to Thomas and Siddharta)
*** Gupta et al, "SDX: A Software-defined Internet Exchange" (ACM SIGCOMM 2014)  ([[Media:p1.pdf‎ |pdf]])
*** Stringer et al, "Cardigan: SDN Distributed Routing Fabric Going Live at an Internet Exchange"  ([[Media:p2.pdf‎ |pdf]])
**''Group 2: USING SDN in Wide Area Networks - Microsoft vs Google:'' (assigned to Pranay and Gurjinder)
*** Hong et al, "Achieving High Utilization with Software-Driven WAN" (ACM SIGCOMM 2013)  ([[Media:p3.pdf‎ |pdf]])
*** Jain et al, "B4: Experience with a Globally-deployed Software Defined WAN" (ACM SIGCOMM 2013)  ([[Media:p4.pdf‎ |pdf]])
*'''Separation of Control and Data Plane'''
**''Group 3: Performance of the Control Plane'' (assigned to Omar and Khawar)
*** Wang et al, "Scotch: Elastically Scaling up SDN Control-Plane using vSwitch based Overlay" (ACM CoNEXT 2014)  ([[Media:p5.pdf‎ |pdf]])
*** Liu et al, "Ensuring Connectivity via Data Plane Mechanisms" (USENIX NSDI 2013)  ([[Media:p6.pdf‎ |pdf]])
**''Group 4: Hybrid Software-defined Networks I'' (assigned to Mehedi, Asif and Mehdi)
*** Sivamaram et al, "No Silver Bullet: Extending SDN to the Data Plane" (ACM HotNets 2013)  ([[Media:p7.pdf‎ |pdf]])
*** Schiff et al, "Reclaiming the Brain: Useful OpenFlow Functions in the Data Plane" (ACM HotNets 2013)  ([[Media:p8.pdf‎ |pdf]])
*** Vissicchio et al, "Sweet Little Lies: Fake Topologies for Flexible Routing" (ACM HotNets 2013)  ([[Media:p9.pdf‎ |pdf]])
**''Group 11: Hybrid Software-defined Networks II'' (assigned to Guryash and Sabsayashi)
*** Levin et al. "Panopticon: Reaping the Benefits of Incremental SDN Deployment in Enterprise Networks" (USENIX ATC'14)  ([[Media:p22.pdf |pdf]])
*** Lu et al., "HybNET: Network Manager for a Hybrid Network Infrastructure" (ACM/USENIX Middleware'13) ([[Media:p23.pdf |pdf]])
**''Group 5: Update Consistency'' (assigned to Sameer and Mahmoud)
*** Reitblatt et al, "Abstractions for Network Update" (ACM SIGCOMM 2012)  ([[Media:p10.pdf‎ |pdf]])
*** Mahajan et al, "On Consistent Updates in Software Defined Networks"  (ACM HotNets 2013) ([[Media:p11.pdf‎ |pdf]])
*'''Controllers'''
**''Group 6: Distributed Controllers'' (assigned to Amit, Athiq and Supriya)
*** Schmid et al, "Exploiting Locality in Distributed SDN Control" (ACM HotSDN 2013) ([[Media:p12.pdf‎ |pdf]])
*** Dixit et al, "Towards an Elastic Distributed SDN Controller" (ACM HotSDN 2013) ([[Media:p13.pdf‎ |pdf]])
*** Berde et al, "ONOS: Towards an Open, Distributed SDN OS" (ACM HotSDN 2014) ([[Media:p14.pdf‎ |pdf]])
*'''OpenFlow'''
**''Group 7: Measurement of OpenFlow'' (assigned to Chris and Martin)
*** Kuzniar et al, "A SOFT Way for OpenFlow Switch Interoperability Testing" (ACM CoNEXT 2012)  ([[Media:p15.pdf‎ |pdf]])
*** Canini et al, "A NICE Way to Test OpenFlow Applications" (USENIX NSDI 2012) ([[Media:p16.pdf‎ |pdf]])
**''Group 8: Challenging OpenFlow'' (assigned to Rajib and Hadi)
*** Hu et al, "Explicit Path Control in Commodity Data Centers: Design and Applications", (USENIX NSDI 2015)  ([[Media:p17.pdf‎ |pdf]])
*'''Network Virtualization'''
**''Group 9: Virtualization in Datacenters'' (assigned to Georg and Alex)
*** Koponen et al, "Network Virtualization in Multi-tenant Datacenters" (USENIX NSDI 2014) ([[Media:p18.pdf‎ |pdf]])
*** Ghorbani et al, "Towards Correct Network Virtualization" (ACM HotSDN 2014) ([[Media:p19.pdf‎ |pdf]])
**''Group 10: Advances in Network-Slicing'' (assigned to Hari and Sheshagiri)
*** Shabibi et al, "OpenVirteX: Make Your Virtual SDNs Programmable (ACM HotSDN 2014) ([[Media:p20.pdf‎ |pdf]])
*** Jin et al, "CoVisor: A Compositional Hypervisor for Software-Defined Networks (USENIX NSDI 2015) ([[Media:p21.pdf‎ |pdf]])
==Requirements==
* Basic knowledge in computer networking (e.g., successfull completion of the course "Computer Networks") and object oriented programming is required.
* Students will benefit from knowledge in Python (however, the skills required for the course will be taught).
* 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.
==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].


[[Category:Courses]]
[[Category:Courses]]