You are on page 1of 2

Software Defined Networking and Network Functions Virtualization Course

Syllabus
Topic
Introduction and Course Overview
SDN Origins and Evolution - Logically
Centralized Control, Programmable Networks
Data and Control Plane Basics, Evolution and
Separation - Overview
Interactions of Control and Data Plane,
Challenges and Opportunities

Readings
Unit I - Introduction
Ethane, 4D, RCP, OpenFlow,
OpenVSwitch, RMT

DIFANE, Fabric, Kandoo


Unit II - SDN Abstractions
Openflow, Ethane
ONIX, ODL, ONOS
ElasticController, Fresco
SwitchDesign, P4, Difane

Practicals/Notes
Python Tutorial 1 and 2
Mininet and VirtualBox Tutorial
Form Project Teams
Assignment 1 Deadline
Mininet Programming
Mininet Custom Topology
Project Proposal Deadline

SDN API, SDN Control Plane Overview


Examples of SDN Controllers
Customizing the Control Plane Scaling,
Switching and Firewalls
Pox, Floodlight
SDN Data Plane Software Stack, Scaling
Data Planes, making Hardware
Click, Comb, DPDK, Netmap,
Click in Mininet
Programmable, Data Plane Verification
HSA,Veriflow, NICE, ClickOS,
Testing and Debugging
NetVM
NFV Data Plane and Control Plane
SIMPLE
Middle boxes and Hosts
ClickOS, OpenMB, NativeClick
Virtual Networking
Assignment 2 Deadline
What is network virtualization?
VINI, FlowVisor, Nicira, LIME
Applications of network virtualization
Mininet Python API
Virtual networking in Mininet
Unit III - Programming SDN's, Network Functions Virtualization (NFV)
Programming SDNs: Northbound APIs
Motivation for Northbound APIs
Frenetic, Pyretic, Maple
Pyretic Applications
Testing and Verification, Security, Fault
Tolerance
Advanced SDN Programming
Assignment 3 Deadline
Composing SDNs
Pyretic and PyResonance
Resonance: Event-Driven Control
Applications
NFV Virtualization and Data Plane I/O,
NFV at ETSI, Non-ETSI NFV Work,
Service Engineered Path, Service Locations and
Embrane/LineRate
Chaining, Platform Virtualization
Unit IV - SDN Applications and Use Cases
Use Cases:
Data Centers Orchestration, VM Migration
and Elasticity, Pitfalls and SDN Solutions
Internet Exchange Points
Data Center Interconnect (DCI),
Project Review
Backbone Networks (e.g., Google) Network
Amazon EC2, Thrift, I2RS
Programmability, Protocol Buffers
Home Networks
Transport Networks
Radio, Migration, WAN Engineering
(GoogleWAN, MicrosoftWAN), Wireless
OPENRadio, GNURadio, LIME,
Project
Storage, Transport, Cellular and other Wireless
Nicira, FlowVisor, B4, IRSCP
Networks
OpenFlow++, SwitchBlade, NetFPGA
Project
Unit V - Practical System Challenges, SDN's Future and Perspectives
Migrating from Existing Network Platforms
Fabric, XIA, CCN
Project
and other Challenges
Carrier Networks and Cloud, Future Internet
AIP, SCION
Project
Architectures
Project Presentations

Apart from the textbooks, Additional Reading Materials will be made available before each class.
Textbook:
1. SDN - Software Defined Networks by Thomas D. Nadeau & Ken Gray, O'Reilly, 2013.
2. Software Defined Networks: A Comprehensive Approach by Paul Goransson and Chuck Black,
Morgan Kaufmann Publications, 2014.
References:

Prof. Nick McKeown, Stanford "How SDN will Shape Networking" YouTube Video
Prof. Scott Shenker, Berkeley: "An attempt to motivate and clarify Software-Defined Networking
(SDN)" - YouTube Video
Basic description of OpenFlow - http://www.openflow.org/documents/openflow-wp-latest.pdf
Open Networking Foundation: For recent OpenFlow specifications, etc.
Mininet: Environment that allows you to emulate OpenFlow networks on a laptop
http://yuba.stanford.edu/foswiki/bin/view/OpenFlow/Mininet
Software Defined Networking Lecture Videos (Nick Feamster, Georgia Tech University) Playlist www.youtube.com/playlist?list=PLpherdrLyny-OTgZzlLTcbMIDtLdNuXcT
List of OpenFlow Software Projects - http://yuba.stanford.edu/~casado/of-sw.html

Reading List:

Cristian Lumezanu's SDN reading list - http://www.nec-labs.com/~lume/sdn-reading-list.html