This course covers Network Function Virtualization from the perspective of a systems engineer.
It first discusses the proliferation of middleboxes in enterprise networks and the necessity of
virtualizing these components just like software applications. It then details several
optimizations in operating systems to facilitate efficient networking on virtualized hardware
followed by design decisions in user-plane libraries for bypassing the kernel for efficient packet
processing. It then covers the challenges and solutions for building scalable systems for
providing networking services in datacenters, specifically the synergy between SDN and NFV to
achieve this. The course concludes with a discussion of real-world applications of NFV
technology in the cloud computing ecosystem.
Introduction to Network Functions
This module introduces the viewer to network functions: What is the origin of network functions? What is the role of middleboxes in realizing network functions? What are the network management issues with the proliferation of middleboxes? The introduction will walk the viewer through these topics and the move towards network functions as virtualized software services.
Developing Virtual Network Functions
This module takes an in-depth look at virtual network functions. In particular, the viewer is introduced to the issues in developing virtual network functions and the emerging technologies for aiding the performance-conscious development of virtual network functions.
System Architecture for NFV Ecosystem
An enterprise uses a number of network functions in the path of network packet processing which is the reason for the proliferation of middleboxes. This module discusses techniques for provisioning computational resources for multiple virtual network functions via Cloud technologies and orchestrating their deployment using SDN.
Deploying Virtualized Network Functions in Managed Cloud infrastructures
This module discusses techniques that enable offloading NFV workload to a managed Cloud (as opposed to on-premise clusters), as well as other developments in the telecommunications industry that makes offloading NFV workloads viable
Guest Lecture for an Industry Perspective
This project involves the implementation of a control plane for the orchestration of network function chains. The final system would allow NFV system administrators to register and launch NF chains belonging to multiple tenants on a shared physical infrastructure. Additionally, the control plane would provide interfaces for scaling existing NF chains in response to workload changes. The virtual infrastructure would be implemented using Docker, while network programming would be done using Ryu SDN controller.