IK2220 Software Defined Networking (SDN) and Network Functions Virtualization (NFV) 7.5 credits

Mjukvarubaserad nätverksteknik (SDN) och virtualisering av nätverksfunktioner (NFV)

  • Education cycle

    Second cycle
  • Main field of study

    Electrical Engineering
  • Grading scale

    A, B, C, D, E, FX, F

Course offerings

Spring 19 for programme students

Spring 20 TCOMM TINNM for programme students

Intended learning outcomes

The aim of the course is to give the students a deep understanding of two important, emerging network technologies: Software Defined Networking (SDN) and Network Functions Virtualization (NFV).

After have accomplished the course the student should be able to:

  • describe the key benefits of SDN, in particular those benefits brought about by the separation of data and control planes
  • describe the SDN data plane
  • explain in detail the operation of the SDN control plane
  • configure an SDN-friendly network emulator
  • program a sample SDN for a given task
  • explain network virtualization
  • describe techniques used for verification and debugging of SDNs
  • describe Network Functions Virtualization components and how they work together
  • describe the role and functionality of middleboxes in networks and how they are managed
  • configure an example service using SDN and NFV
  • describe techniques to enable applications to control the underlying network using SDN
  • give examples of and describe current research problems within SDN and NFV.

Course main content

Software Defined Networking (SDN) and Network Functions Virtualization (NFV) are at the core of the dramatic transformation of today’s networks. SDN makes it possible to quickly deploy exciting and highly relevant new protocols, without requiring extensive hardware changes. Additionally, SDN makes it possible to implement complex functionality in the SDN controllers, thus reducing the cost of the network elements (i.e., switches and routers). The introduction of SDN is expected enable the Internet to scale to higher and higher data rates, while existing approaches to realizing higher data rates leads to excessive costs and power consumption. NFV aims to decrease the costs for network operators. NFV utilizes open source software running on commodity, off-the-shelf hardware rather than highly specialized, vertically integrated solutions produced by a small number of vendors. The combination of SDN and NFV makes it possible to quickly deploy new services for large numbers of users in both wired and wireless networks.


The course consists of 4 hours of lectures and 16 hours of discussion of research papers. The teacher(s) will present all the basic material and then assign carefully selected research papers to be presented by the students in class. Each student will be required to read and write a paper summary (evaluation) of each of the assigned papers before presenting the paper and participating in a discussion of the paper during class. The course will also include assignments in the form of small projects.


Students who attend this course are required to have passed IK2215 (Advanced Internetworking) or have equivalent knowledge in Internetworking and Computer Communications.

Good programming knowledge (C++, Java, or Python but preferably all).


Research articles


  • PRO1 - Project Assignments, 2.5, grading scale: A, B, C, D, E, FX, F
  • SEM1 - Paper Summaries, 2.5, grading scale: A, B, C, D, E, FX, F
  • TEN1 - Written Exam, 2.5, grading scale: A, B, C, D, E, FX, F

The course is divided into the following three parts:

Written exam (A-F)

Paper summaries (evaluations) (A-F)

Project assignments (A-F)

The final grade is based on the combination of the result of the above three components and all three parts must be successfully passed order to receive a passing final grade.

To receive a grade of “E”, the student should be able to describe and explain the relevant design principles for protocols, methods, and devices for both SDN and NFV, as well as be able to apply these protocols and methods to real networks.

To receive a higher grade, the student should also be able to critically evaluate and assess different approaches, as well as be able to compare and explain advantages and disadvantages of various system and network designs.

Offered by



Dejan Kostic (dmk@kth.se)


Dejan Kostic <dmk@kth.se>


Course syllabus valid from: Spring 2019.
Examination information valid from: Spring 2019.