CS-490.31 - Software Defined Networks (Spring 2013)

 

Instructor: Xenofontas Dimitropoulos, ETH Zurich (Visitor)

 

Teaching Assistant: Stelios Frantzeskakis

Instructor Email: fontas [at] tik.ee.ethz.ch

Teaching Assistant Email: sfrantz [at] csd.uoc.gr

Lectures: Mond 1:00pm - 4:00pm H.208

Mailing List: subscribe to hy490-31-list

Other: Please see Below


COURSE DESCRIPTION

Computer networks consist of a control plane and a data plane. The interface between the control and the data plane is presently closed, located within the internals of proprietary routers and switches. SDN is a new rapidly emerging computer network architecture that is based on the key ideas of the separation of the control from the data plane and of the introduction of an open interface between them. The control plane is logically moved to a remote server and operates on top of a Network Operating System (NOS). By opening up the interface between the control and the data plane, it becomes much easier to deploy new mechanisms that control how packets are routed. Innovative packet routing schemes, e.g., tailored for data center networks, can be simply deployed as applications that run on top of the NOS without requiring changes to routers and switches. Therefore, networks become much more programmable than today. The SDN architecture has emerged in the last 2-3 years and it has attracted significant interest from the industry. It is already supported by a number of vendors, including Cisco and Juniper, and it is presently used in the data center network of Google.

The course will cover the following topics:

  1. Introduction to SDN. Historical perspective and basic concepts. The OpenFlow protocol.
  2. SDN applications in data center, transit, and enterprise networks.
  3. Network virtualization.
  4. Hands-on experience with programming SDN networks.

Prerequisites: CS-335, Experience with the python programming language.

Grading: 100% based on a programming project, which will demonstrate an exciting SDN application. The project will include a 15-minute class presentation summarizing intermediate results and a final report. See the link to the demos in the links section of the website for inspiration on possible projects and the schedule section of the website for project milestones. Projects can also exploit the OFELIA OpenFlow testbed.

Hands On: The lectures will include a hands on session in which students will program SDN networks with the help of the instructor. For this reason, students are requested to bring their laptops to the class and to execute beforehand the parts 1 to 4 of the OpenFlow Tutorial, which describe how to install the required software.