Skip to main content
Till KTH:s startsida Till KTH:s startsida

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

Choose semester and course offering

Choose semester and course offering to see current information and more about the course, such as course syllabus, study period, and application information.


For course offering

Spring 2024 TCOMM TINNM programme students

Application code


Headings with content from the Course syllabus IK2220 (Spring 2024–) are denoted with an asterisk ( )

Content and learning outcomes

Course contents

Software Defined Networking (SDN). SDN control plane. Programming large SDNs. Examples of SDN Deployments. Debugging and verifying SDNs. Role of middleboxes in the dataplane. Network Functions Virtualization (NFV). Efficient use of all available hardware for NFV dataplane processing. Load balancing for NFV. Programmable control and dataplane for machine learning applications.

Intended learning outcomes

After passing the course, the student should be able to

  • describe the key benefits of Software Defined Networking (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
  • describe the role control and dataplane can have for machine learning training and inference

in order to gain a deep understanding of Software Defined Networking (SDN) and Network Functions Virtualization (NFV).

Literature and preparations

Specific prerequisites

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).

Recommended prerequisites

No information inserted


No information inserted


No information inserted

Examination and completion

If the course is discontinued, students may request to be examined during the following two academic years.

Grading scale

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


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

Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

The examiner may apply another examination format when re-examining individual students.

Opportunity to complete the requirements via supplementary examination

No information inserted

Opportunity to raise an approved grade via renewed examination

No information inserted


Ethical approach

  • All members of a group are responsible for the group's work.
  • In any assessment, every student shall honestly disclose any help received and sources used.
  • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.

Further information

Course room in Canvas

Registered students find further information about the implementation of the course in the course room in Canvas. A link to the course room can be found under the tab Studies in the Personal menu at the start of the course.

Offered by

Main field of study

Computer Science and Engineering, Electrical Engineering

Education cycle

Second cycle

Add-on studies

No information inserted


Dejan Kostic (

Supplementary information

In this course, the EECS code of honor applies, see: