zur Startseite

Fachpraktikum - Lab-course Computer Communication (SS14)

Lab-course Computer Communication: Software-defined Networking
Dozent Dr. rer. nat. Frank Dürr
Umfang4 SWS
Sprache Englisch
Studiengänge Infotech, Erasmus
Zielgruppe Master
TermineFridays, 13:00-14:30 in room 0.353


Software-defined networking (SDN) is a modern technology for the flexible configuration of communication networks consisting of switches that recently caught a lot of attention and support from academia and industry (e.g., Google, IBM, NEC, Cisco, VMWare).

The basic concept of SDN is the separation of control plane (network configuration) and data plane (forwarding). The control plane is implemented by a dedicated controller running on an external host. This controller implements the control logic like route calculation and topology discovery and configures the forwarding tables of switches accordingly; the switches are responsible for packet forwarding. The control logic is implemented in software using high-level programming languages like C, C++, Java, or Python and can be easily modified (software instead of firmware). Therefore, this concept combines flexibility and ease of implementation with high forwarding performance (line rate forwarding, low latency).

With OpenFlow, a first standard protocol for SDN is available that is implemented by hardware switches from several vendors already and software switches like Open vSwitch as typically used in data centers to connect virtual machines on hosts. Moreover, several open source controller implementations exist.

In this lab course, we will introduce the basic principles of SDN, and students will gain practical knowledge and experience in programming software-defined networks using realistic examples. In detail, this course covers the following aspects:

  • Introduction to the OpenFlow standard for the configuration of switches
  • SDN controller concepts and interfaces using the OpenDaylight controller (Java-based implementation; REST interface, OSGI module interface)
  • Topology discovery and statistics (counters)
  • Implementation of centralized static and dynamic routing protocols
  • Control plane distribution for increased availability and scalability
  • Testing and performance evaluation using software switches (Open vSwitch), hardware switches (Cisco), and network emulation (Mininet) 


  • The registration for this course opens on January 15th, 2014, 00:00am. We offer a limited number of places (“first come, first served”; further registrations are put on a waiting list). Registrations are managed using the ILIAS system.
  • First meeting: April 11th, 2014

Basic knowledge of computer networks, and Java or C++.