Title

Software Defined Networking Theory and application

Code

SCPS506

Prerequisites

None

Co-requisites

None

Aim

The aim of this module is to give the students a solid foundation in Software defined networking theory and prepare them to develop relevant algorithms.

Content

Section A 
Overview; History and Evolution of SDN-Central Control, Programmable Networks;
History and Evolution of SDN, Network Virtualization; Control and Data Plane
Separation-Overview, Opportunities, Challenges. Virtual Networking- What is network virtualization? Applications of network virtualization, Virtual networking in Mininet, Mininet Python API. Control Plane- Overview, Examples of SDN Controllers.
Customizing the Control Plane- Switching, Firewalls. Data Planes: Software- Software Data Planes: Click, Scaling Software Data planes; Data Planes: Hardware-Making Hardware Programmable.

Section B 
Programming SDNs: Northbound APIs- Motivation for Northbound APIs, Frenetic,
Pyretic. Advanced SDN Programming- Composing SDNs, Resonance: Event-Driven Control, Use Cases-1- Data Centres, Internet Exchange Points; Use Cases-2- Backbone Networks, Home Networks, UZ test-bed.

Assessment

Two papers are to be written. Paper A for Section A and Paper B for Section B content. Small laboratory projects/assignments are required to gain required skills in both Sections A and B of the content.

DP Requirement

Completion of all assignment and class/mini projects.