Course Content :
The course begins with the premise of why Software Defined Networks have been introduced by academia and industry. The same treatment is carried out for NFV. We then understand SDN architecture specific first to the control plane and then the data plane.
In our pursuit for control plane for SDN, we examine the OpenFlow standard, traversing OF1.1 through to OF1.5 and compare the OF standards to legacy network. We then examine other SDN controllers such as open daylight (ODL) and Contrail that have been commercialized. We will also examine Mahout and Hedera controller architecture and derive ways to dimension controllers. Our focus moves on to the data plane, and we introduce the concept of white boxes or bare metal switches. In this regard we understand packet flow classification techniques at the forwarding plane and how tables in SDNs are built. We evaluate hash functions in the context of SDN tables and how table size can be minimized. Subsequently we consider the ONOS operating system in conjunction with the OPNV developments. NFV approaches are discussed in detail. We understand the role of both SDN and NFV in provider networks and where one ends and the other one picks up. Our specific approach would be to understand the impact of SDN in networks that deploy NFV and those that are pure migrations from traditional equipment to SDNs.
We will examine the ForCES (Forwarding and Control Element Separation) study group in the IETF and its contributions to SDNs.
The course tapers into Open vSwitch implementation and considers various approaches.
The course has a hand-on component which requires students to play with SDN controllers as well as implement a mini-module in NFV.

Project: An NFV project that can be implemented as :
(a) NFV interaction with an SDN controller.
(b) NFV module in a standalone setup
(c) NFV module interacting with an SDN whitebox
Mini Project: instantiate an SDN controller and compute quality of service readings.