Below is a preliminary schedule for the class. Assignment dates and topics covered are subject to change.

Week Date Topic Presenter/Assignment

September 3

Course Overview and Precursors of SDN

Design and implementation of a Routing Control Platform by Matthew Caesar, Donald Caldwell, Nick Feamster, Jennifer Rexford, Aman Shaikh, and Jacobus van der Merwe, Networked Systems Design and Implementation (NSDI), May 2005

A clean slate 4D approach to network control and management by Albert Greenberg, Gisli Hjalmtysson, David A. Maltz, Andy Meyers, Jennifer Rexford, Geoffrey Xie, Hong Yan, Jibin Zhan, and Hui Zhang, ACM SIGCOMM Computer Communications Review, October 2005

Presenter: Li Erran Li

Watch Scott Shenker's ONS'11 talk

Watch Nick McKeown's ONS'11 talk

Watch Nick Feamster's interview with David Clark


September 10

SDN Basics: API, Controllers and Tools

OpenFlow: enabling innovation in campus networks by Nick McKeown, Tom Anderson, Hari Balakrishnan, Guru Parulkar, Larry Peterson, Jennifer Rexford, Scott Shenker, and Jonathan Turner, ACM SIGCOMM Computer Communications Review, March 2008

NOX: towards an operating system for networks by Natasha Gude, Teemu Koponen, Justin Pettit, Ben Pfaff, Martin Casado, Nick McKeown, and Scott Shenker, ACM SIGCOMM Computer Communications Review, July 2008

On controller performance in software-defined networks by Amin Tootoonchian, Sergey Gorbunov, Yashar Ganjali, Martin Casado, and Rob Sherwood, USENIX Hot-ICE, April 2012

Floodlight website

OpenFlow 1.3 specification

OpenFlow management and configuration protocol

Presenter: Li Erran Li

First programming assignment

OpenFlow website and Mininet website

Please take OpenFlow tutorial

Cbench: controller benmark tool


September 17

SDN Scalability

Onix: a distributed control platform for large-scale production networks by Teemu Koponen, Martin Casado, Natasha Gude, Jeremy Stribling, Leon Poutievski, Min Zhu, Rajiv Ramanathan, Yuichiro Iwata, Hiroaki Inoue, Takayuki Hama and Scott Shenker, USENIX conference on Operating systems design and implementation (OSDI), 2010

Kandoo: a framework for efficient and scalable offloading of control applications by Soheil Hassas Yeganeh and Yashar Ganjali, HotSDN, August 2012

Extending SDN to Large-Scale Networks by James McCauley, Aurojit Panda, Martin Casado, Teemu Koponen, Scott Shenker, Open Networking Summit 2013

Scalable flow-based networking with DIFANE by Minlan Yu, Jennifer Rexford, Michael J. Freedman, and Jia Wang, ACM SIGCOMM, August 2010

DevoFlow: scaling flow management for high-performance networks by Andrew R. Curtis, Jeffrey C. Mogul, Jean Tourrilhes, Praveen Yalagandula, Puneet Sharma, Sujata Banerjee, ACM SIGCOMM, August 2011

Presenter: Li Erran Li

Form Final Project Teams

Watch ONIX OSDI'10 talk

Read ONOS slides


September 24

SDN Abstraction: Programming Language

Frenetic: A network programming language by Nate Foster, Rob Harrison, Michael J. Freedman, Christopher Monsanto, Jennifer Rexford, Alec Story, and David Walker, ACM International Conference on Functional Programming (IFIP), September 2011

Composing Software-Defined Networks, by Christopher Monsanto, Joshua Reich, Nate Foster, Jennifer Rexford, and David Walker, Networked Systems Design and Implementation (NSDI), April 2013

Maple: Simplifying SDN Programming Using Algorithmic Policies by Andreas Voellmy, Junchang Wang, Y. Richard Yang, Bryan Ford, and Paul Hudak, ACM SIGCOMM, August 2013

Presenter: Li Erran Li

Second Programming Assignment

Please take Frenetic tutorial

Frenetic website and Nettle web site

Watch Joshua Reich's NSDI'13 talk


October 1

SDN Abstraction: Verification of Network Invariant and Controller Correctness (Josh's slides on Pyretic)

Real Time Network Policy Checking Using Header Space Analysis by Peyman Kazemian, Michael Chang, and Hongyi Zeng, George Varghese, Nick McKeown, Scott Whyte, NSDI 2013

VeriFlow: Verifying Network-Wide Invariants in Real Time by Ahmed Khurshid, Xuan Zou, Wenxuan Zhou, Matthew Caesar, and P. Brighten Godfrey, NSDI 2013

Machine-Verified Network Controllers by Arjun Guha, Mark Reitblatt, and Nate Foster, ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) 2013

Presenters: Joshua Reich from Princeton University on Pyretic

Li Erran Li on SDN verification

Watch Nick McKeown's ONS'12 talk on testing

Watch Peyman Kazemian's NSDI'13 talk

Watch Ahmed Khurshid's NSDI'13 talk


October 8

SDN Abstraction: Network Update

Abstractions for network update by Mark Reitblatt, Nate Foster, Jennifer Rexford, Cole Schlesinger, and David Walker, ACM SIGCOMM, August 2012

OF.CPP: consistent packet processing for openflow by Peter Peresini, Maciej Kuzniar, Nedeljko Vasic, Marco Canini, and Dejan Kostiu, ACM HotSDN, August 2013

zUpdate: updating data center networks with zero loss by Hongqiang Harry Liu, Xin Wu, Ming Zhang, Lihua Yuan, Roger Wattenhofer, and David Maltz, ACM SIGCOMM, August 2013

CAP for Networks by Aurojit Panda, Colin Scott, Ali Ghodsi, Teemu Koponen, Scott Shenker, ACM HotSDN, August 2013

Presenter: Li Erran Li

Project Description Due (2-4 Pages)


October 15

Programmable Data Plane

Forwarding Metamorphosis: Fast Programmable Match-Action Processing in Hardware for SDN by Pat Bosshart, Glen Gibb, Hun-Seok Kim, George Varghese, Nick McKeown, Martin Izzard, Ferndando Mujica, and Mark Horowitz, ACM SIGCOMM 2013

SwitchBlade: a platform for rapid deployment of network protocols on programmable hardware by Muhammad Bilal Anwer, Murtaza Motiwala, Mukarram bin Tariq, and Nick Feamster, ACM SIGCOMM, August 2010

The click modular router by Eddie Kohler, Robert Morris, Benjie Chen, John Jannotti, and M. Frans Kaashoek, ACM Transaction on Computer Systems (TOCS), August 2000

Presenter: Li Erran Li


October 22

SDN Virtualization

Can the production network be the testbed? by Rob Sherwood, Glen Gibb, Kok-Kiong Yap, Guido Appenzeller, Martin Casado, Nick McKeown, and Guru Parulkar, USENIX conference on Operating systems design and implementation, OSDI 2010

Extending Networking into the Virtualization Layer by Ben Pfaff, Justin Pettit, Keith Amidon, Martin Casado, Teemu Koponen, and Scott Shenker, ACM HotNets, October 2009

Networking in the Era of Virtualization by Nicira, 2012

Network Functions Virtualisation, by network operators, SDN and OpenFlow World Congress, Darmstadt-Germany, October 2012

Live Migration of an Entire Network (and its Hosts) by Eric Keller, Soudeh Ghorbani, Matt Caesar, Jennifer Rexford, ACM HotNets, October 2012

Presenter: Li Erran Li

Watch Nick Feamster's interview with Martin Casado


October 29

Part I: SDN Traffic Management

Part II: Midterm Exam

B4: Experience with a Globally-Deployed Software Defined WAN by Sushant Jain, Alok Kumar, Subhasree Mandal, Joon Ong, Leon Poutievski, Arjun Singh, Subbaiah Venkata, Jim Wanderer, Junlan Zhou, Min Zhu, Jonathan Zolla, Urs Holzle, Stephen Stuart and Amin Vahdat, ACM SIGCOMM 2013

Achieving High Utilization with Software-Driven WAN by Chi-Yao Hong, Srikanth Kandula, Ratul Mahajan, Ming Zhang, Vijay Gill, Mohan Nanduri, and Roger Wattenhofer, ACM SIGCOMM 2013

SDX: A Software Defined Internet Exchange by Nick Feamster, Jennifer Rexford, Scott Shenker, Dave Levin, Russ Clarky, Josh Bailey, Open Networking Summit, April 2013

Programmable Host-Network Traffic Management by Peng Sun, Minlan Yu, Michael J. Freedman, Jennifer Rexford, David Walker, 2013

Dynamic connectivity management with an intelligent route service control point by J. Van der Merwe, ACM SIGCOMM workshop on Internet network management, August 2006

Presenter: Li Erran Li


November 12

SDN Middleboxes

SIMPLE-fying Middlebox Policy Enforcement Using SDN by Zafar Ayyub Qazi, Cheng-Chun Tu, Luis Chiang, Rui Miao, Vyas Sekar, and Minlan Yu, ACM SIGCOMM 2013

Toward software-defined middlebox networking by Aaron Gember, Prathmesh Prabhu, Zainab Ghadiyali, and Aditya Akella, ACM HotNets, October 2012

FlowTags: Enforcing Network-Wide Policies in the Presence of Dynamic Middlebox Actions by Seyed Kaveh Fayazbakhsh, Vyas Sekar, Minlan Yu, Jeffrey C Mogul, ACM HotSDN, August 2013

xOMB: extensible open middleboxes with commodity servers by James W. Anderson, Ryan Braud, Rishi Kapoor, George Porter, and Amin Vahdat, ACM/IEEE symposium on Architectures for networking and communications systems (ANCS), 2012

Split/merge: system support for elastic execution in virtual middleboxes by Shriram Rajagopalan, Dan Williams, Hani Jamjoom, and Andrew Warfield, USENIX NSDI 2013

Design and implementation of a consolidated middlebox architecture by Vyas Sekar, Norbert Egi, Sylvia Ratnasamy, Michael K. Reiter, and Guangyu Shi, USENIX NSDI 2012

Presenter: Seyed Kaveh Fayazbakhsh from Stony Brook University


November 19

SDN Wireless Networks

SoftCell: Taking Control of Cellular Core Networks by Xin Jin, Li Erran Li, Laurent Vanbever, and Jennifer Rexford, ACM CoNext, 2013.

Software Defined Radio Access Networks by Aditya Gudipati, Daniel James Perry, Li Erran Li, Sachin Katti, ACM SIGCOMM HotSDN Workshop, 2013.

Towards soft defined cellular networks by Li Erran Li, Morley Mao, Jennifer Rexford, Euro SDN workshop 2012

Bringing cross-layer MIMO to today's wireless LANs by Swarun Kumar, Diego Cifuentes, Shyamnath Gollakota, and Dina Katabi, ACM SIGCOMM, August 2013

OpenRadio: a programmable wireless dataplane by Manu Bansal, Jeffrey Mehlman, Sachin Katti, and Philip Levis, ACM HotSDN, August 2012

Presenter: Li Erran Li


November 26

SDN Debugging, Fault Tolerance and Security

Where is the Debugger for my Software-Defined Network? by Nikhil Handigol, Brandon Heller, Vimalkumar Jeyakumar, David Mazières, and Nick McKeown, ACM HotSDN, 2012

A NICE way to test openflow applications by Marco Canini, Daniele Venzano, Peter Peresini, Dejan Kostic, and Jennifer Rexford, USENIX NSDI 2012

FatTire: declarative fault tolerance for software-defined networks by Mark Reitblatt, Marco Canini, Arjun Guha, and Nate Foster, ACM HotSDN, August 2013

FRESCO: Modular Composable Security Services for Software-Defined Networks by Seugwon Shin, Phillip Porras, Vinod Yegneswaran, Martin Fong, Guofei Gu, Mabry Tyson, NDSS 2012

A security enforcement kernel for OpenFlow networks by Philip Porras, Seungwon Shin, Vinod Yegneswaran, Martin Fong, Mabry Tyson, and Guofei Gu, ACM HotSDN, August 2012

AVANT-GUARD: Scalable and Vigilant Switch Flow Management in Software-Defined Networks by Seungwon Shin, Vinod Yegneswaran, Phillip Porras and Guofei Gu, ACM CCS, November 2013

Presenter: Li Erran Li


December 3

Part I: SDN End Hosts and Storage

Part II: Project Demo

Wanted: Systems Abstractions for SDN by Sapan Bhatia, Andy Bavier, Larry Peterson, HotOS, 2013

IOFlow: A Software-Defined Storage Architecture by Eno Thereska, Hitesh Ballani, Greg O'Shea, Thomas Karagiannis, Ant Rowstron, Tom Talpey, and Timothy Zhu, ACM SOSP, November 2013

Presentation and demonstration of your team's project

Presenters: Li Erran Li


December 10

Project Demo (Continue From Last Week)

Presentation and demonstration of your team's project

Final Project Report Due on December 14 (7-12 pages)


Please feel free to e-mail your questions at