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.
IK2220 Software Defined Networking (SDN) and Network Functions Virtualization (NFV) 7.5 credits

Information per course offering
Course offerings are missing for current or upcoming semesters.
Course syllabus as PDF
Please note: all information from the Course syllabus is available on this page in an accessible format.
Course syllabus IK2220 (Spring 2024–)Content and learning outcomes
Course contents
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).
Literature
Examination and completion
If the course is discontinued, students may request to be examined during the following two academic years.
Grading scale
Examination
- 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.
Examiner
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
Offered by
Main field of study
Education cycle
Supplementary information
In this course, the EECS code of honor applies, see: http://www.kth.se/en/eecs/utbildning/hederskodex.