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

no edit summary
No edit summary
 
(57 intermediate revisions by the same user not shown)
Line 3: Line 3:
|credits=150h, 5 ECTS
|credits=150h, 5 ECTS
|module=AI: M.Inf.1130: Software-defined Networks (SDN); ITIS: 3.31
|module=AI: M.Inf.1130: Software-defined Networks (SDN); ITIS: 3.31
|lecturer=[http://user.informatik.uni-goettingen.de/~dkoll David Koll]
|lecturer=[http://user.informatik.uni-goettingen.de/~dkoll Dr. David Koll]
|ta=---
|ta=---
|time=March 16-20; 09.00-17.00
|time=March 16-20; 09.00-17.00
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==
{| {{Prettytable|width=}}
|-
|{{Hl2}} |'''Date'''
|{{Hl2}} |'''Morning Session'''
|{{Hl2}} |'''Type'''
|{{Hl2}} |'''Afternoon Session'''
|{{Hl2}} |'''Type'''
|-
| align="right" | 16.03.2015
| Software-defined Networking I
| Lecture
| Introduction to Python I (and exercises)
| Lecture / Practical
|-
| align="right" | 17.03.2015
| Software-defined Networking II
| Lecture
| Introduction to Python II (and exercises)
| Lecture / Practical
|-
| align="right" | 18.03.2015
| Current Research in SDN / Paper Reading
| Lecture
| Hands-On SDN I / Paper Reading
| Practical
|-
| align="right" | 19.03.2015
| Hands-On SDN II
| Practical
| Hands-On SDN III
| Practical
|-
| align="right" | 20.03.2015
| Practical Tutoring / Presentation Preparation
| Practical
| Presentations
| Seminar
|-
|}
==Exercises==
{| {{Prettytable|width=}}
|-
|{{Hl2}} |'''Number'''
|{{Hl2}} |'''Topic'''
|-
| Exercise 1
| Introduction
|-
| Exercise 2
| Python Basics
|-
| Exercise 3
| SDN Control Plane
|-
| Exercise 4
| An SDN Simulator in Python
|-
| Exercise 5
| Mininet Setup
|-
| Exercise 6
| Mininet Topologies
|-
| Exercise 7
| Mininet and SDN Controllers
|-
| Exercise 8
| Mininet and FlowVisor
|-
|}
==Due Dates for Exercises==
{| {{Prettytable|width=}}
|-
|{{Hl2}} |'''Date'''
|{{Hl2}} |'''Exercises Due'''
|-
| During Course
| Exercise 5 (Mininet Setup)
|-
| 10.04.2015
| Exercise 1 (Introduction), Exercise 2 (Python Basics)
|-
| 17.04.2015
| Exercise 3 (SDN II), Exercise 6 (Mininet Topologies)
|-
| 30.04.2015
| Exercise 4 (Python SDN Simulator), Exercise 7 (Mininet Controllers), Exercise 8 (FlowVisor)
|-
|}
==Paper Reading Groups==
*''' SDN Infrastructures'''
**''Group 1: Building a Software-defined Internet Exchange''
*** Gupta et al, "SDX: A Software-defined Internet Exchange" (ACM SIGCOMM 2014)
*** Stringer et al, "Cardigan: SDN Distributed Routing Fabric Going Live at an Internet Exchange"
**''Group 2: USING SDN in Wide Area Networks - Microsoft vs Google:''
*** Hong et al, "Achieving High Utilization with Software-Driven WAN" (ACM SIGCOMM 2013)
*** Jain et al, "B4: Experience with a Globally-deployed Software Defined WAN" (ACM SIGCOMM 2013)
*'''Separation of Control and Data Plane'''
**''Group 3: Performance of the Control Plane''
*** Wang et al, "Scotch: Elastically Scaling up SDN Control-Plane using vSwitch based Overlay" (ACM CoNEXT 2014)
*** Liu et al, "Ensuring Connectivity via Data Plane Mechanisms" (USENIX NSDI 2013)
**''Group 4: Hybrid Software-defined Networks''
*** Sivamaram et al, "No Silver Bullet: Extending SDN to the Data Plane" (ACM HotNets 2013)
*** Schiff et al, "Reclaiming the Brain: Useful OpenFlow Functions in the Data Plane" (ACM HotNets 2013)
*** Vissicchio et al, "Sweet Little Lies: Fake Topologies for Flexible Routing" (ACM HotNets 2013)
**''Group 5: Update Consistency''
*** Reitblatt et al, "Abstractions for Network Update" (ACM SIGCOMM 2012)
*** Mahajan et al, "On Consistent Updates in Software Defined Networks"  (ACM HotNets 2013)
*'''Controllers'''
**''Group 6: Distributed Controllers''
*** Schmid et al, "Exploiting Locality in Distributed SDN Control" (ACM HotSDN 2013)
*** Dixit et al, "Towards an Elastic Distributed SDN Controller" (ACM HotSDN 2013)
*** Berde et al, "ONOS: Towards an Open, Distributed SDN OS" (ACM HotSDN 2014)
*'''OpenFlow'''
**''Group 7: Measurement of OpenFlow''
*** Kuzniar et al, "A SOFT Way for OpenFlow Switch Interoperability Testing" (ACM CoNEXT 2012)
*** Canini et al, "A NICE Way to Test OpenFlow Applications" (USENIX NSDI 2012)
**''Group 8: Challenging OpenFlow''
*** Hu et al, "Explicit Path Control in Commodity Data Centers: Design and Applications", (USENIX NSDI 2015)
*'''Network Virtualization'''
**''Group 9: Virtualization in Datacenters''
*** Koponen et al, "Network Virtualization in Multi-tenant Datacenters" (USENIX NSDI 2014)
*** Ghorbani et al, "Towards Correct Network Virtualization" (ACM HotSDN 2014)
**''Group 10: Advances in Network-Slicing''
*** Shabibi et al, "OpenVirteX: Make Your Virtual SDNs Programmable (ACM HotSDN 2014)
*** Jin et al, "CoVisor: A Compositional Hypervisor for Software-Defined Networks (USENIX NSDI 2015)
==Requirements==
* Basic knowledge in computer networking 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]]