SDN Courses

Coursera, Princeton

Software Defined Networking
https://www.coursera.org/course/sdn1
Categories
Systems & Security
Software Engineering
About the Course
This course introduces software defined networking, an emerging paradigm in computer networking that allows a logically centralized software program to control the behavior of an entire network.

Separating a network’s control logic from the underlying physical routers and switches that forward traffic allows network operators to write high-level control programs that specify the behavior of an entire network, in contrast to conventional networks, whereby network operators must codify functionality in terms of low-level device configuration.

Logically centralized network control makes it possible for operators to specify more complex tasks that involve integrating many disjoint network functions (e.g., security, resource control, prioritization) into a single control framework, allowing network operators to create more sophisticated policies, and making network configurations easier to configure, manage, troubleshoot, and debug.

Course Syllabus — This course will cover 8 modules (one per week).

prerequisite
Students should have taken at least an undergraduate-level networking course and have programming experience in Python. Experience with virtual machines and other virtual networking environments may also be useful.

There are some useful videos available online; these might be a good starting point for many people:

additional reading useful for introductory material

Columbia, Fall 2013

http://www.cs.columbia.edu/~lierranli/coms6998-8SDNFall2013/

Course Description
Software defined networking has been rapidly changing the networking industry and academic research in networking. Many incumbent companies such as Cisco, IBM, Broadcom, Intel have SDN products. Several startups such as Nicira, Contrail have been baught. SDN solutions have been deployed in Google WAN and enterprises. It is poised to change the carrier networks. SDN has also become a hot topic in networking research. HotSDN workshop co-located with ACM SIGCOMM is the best attended workshop. In this course, you will learn the fundamentals of SDN technology and the perspective from different players. The course will cover the following list of topics.

The course will be research and project oriented. Students will read a number of recent research papers on seminal topics in the area. A course project will be required. There will be two programming assignments and a midterm. Students will be evaluated by midterm, programming assignments and final project.

Online Resources:

Princeton, Fall 2013

https://www.cs.princeton.edu/courses/archive/fall13/cos597E/

Overview
Managing computer networks is unnecessarily complicated and error-prone, due to heterogeneous devices with proprietary configuration interfaces. Software Defined Networking (SDN) is poised to change all this by offering a clean, open interface between networking devices and the software controlling them. We explore SDN through classic and recent papers, and a final project. Course covers diverse perspectives from distributed systems and programming languages, to formal verification and algorithms, to identify abstractions that lower the barrier for innovating inside the network.
Prerequisite
General networking background (COS 461 or equivalent), or permission of the instructor. For an overview of the material in COS 461, see the slides from previous offerings of the course. The course assumes a general knowledge of Python.
syllabus
https://www.cs.princeton.edu/courses/archive/fall13/cos597E/syllabus.html
  • Introduction
  • SDN Abstractions
  • SDN Applications
  • SDN Systems Challenges
  • Enhancing the Data Plane
  • Course End-Game

Gatech, FAll 2014, Software Defined Networking Lab

This course introduces software defined networking, an emerging paradigm in computer networking that allows a logically centralized software program to control the behavior of an entire network.

CMU, Fall 2014: Software-Defined Networking (SDN) and Network Functions Virtualization (NFV)

http://users.ece.cmu.edu/~vsekar/Teaching/Fall14/18859K/

Instructor
Vyas Sekar
Course Overview
This class will cover recent advances in communications — software-defined networking (SDN) and network functions virtualization. Networks have traditionally been perceived to be slow moving and ossified entities where the pace of innovation is slow due to long protocol standardization efforts, difficulty in upgrading network equipment, and the ability for operators to offer new custom services to clients. However, there are two recent trends in networking research that are promising a new revolution in networking: Software-Defined Networking (SDN) and Network Functions Virtualization (NFV). In a nutshell, SDN simplifies network management by providing a clean, open interface between networking devices (data plane) and the software controlling them (control plane). NFV offers a complementary angle by by bringing the benefits of now commodity IT virtualisation technology to enable faster “data plane” innovation and the ability to roll out new network services. While the principles underlying SDN/NFV have been around in networked systems for a while, it is only recently that these ideas are fully beginning to take root and are being considered as serious alternatives by some of the prominent industry players. This class will provide both an overview of these two emerging topics with the relevant context for the evolution of these ideas and the key technology enablers and use cases that have been driving these efforts. We will cover a range of perspectives from operating systems, distributed systems, programming languages, to formal verification and algorithms, to identify abstractions that enable these novel network innovations. The class will be primarily based on reading seminal and recent papers on these topics and a hands on research project.

Syllabus

Duke, Fall ‘14

https://www.cs.duke.edu/courses/fall14/compsci590.4/index.html

Overview, Syllabus, Structure Welcome to CPS 590: Software Defined Networking (SDN). SDN represents a new paradigm to networking that decouples the control-plane from the data-plane and allows for innovation in the control-plane to happen independently of the data-plane. Broadly speaking, we will survey a handful of recent and classic approaches to designing programmable networks. The ultimate goal of this course is to develop sound approaches for architecting, verifying, securing and debugging various aspects of programmable networks.

The course load: (1) We will cover roughly 25 papers in all and focus more on in-class “brain-storming”. This will range from critiquing the idea in the paper and the evaluation, as well as applications of the ideas to other problem domains, and directions for future research in the general area. You can expect reading these papers to range from an hour to 2.5 hours depending on the size, with most papers requiring abour 2 to 2.5 hours. (2) There will be reviews due before every class and submitted through e-mail. (3) There will be a wide range of programming intensive course projects.

Readings
The course will be paper reading-based.
reading list
  • Overview, Architecture, Introduction
  • Measurement, testing and debugging
  • SDN Programming
  • Network virtualization
  • Traffic Management
  • Scalability
  • Middlebox management
Project
While readings will cover the “theory” behind software defined-networking systems, a set of 3-4 hands-on assignments, coupled with a significant A course project, spanning 5-7 wks, will help students explore the “practical” side. See a tentative outline of planned assignments

USC, Spring’14

http://www-bcf.usc.edu/~minlanyu/teach/csci694b-spring14/

Overview
Software Defined Networking (SDN) transforms network design by introducing a clean, open interface between networking devices and the software controlling them. We explore SDN through classic and recent papers, and a final project.

syllabus

  • Overview
    • SDN origins
  • SDN Basics
    • Data Plane Basics, Network Virtualization, Controller and Programming Language, Interactions of control plane and data plane
  • SDN extensions
    • Measurement, Middleboxes and Hosts
  • Trouble shooting and security
    • Debugging, Verification and Consistency, Data Center
  • Use Cases
    • Security and Fault Tolerant, Widearea and Interdomain, Wireless Storage Incremental Deploymen

Statement for Students with Disabilities

Statement on Academic Integrity

HP course

http://www8.hp.com/h20195/v2/GetPDF.aspx/c04754472.pdf

Course Overview
The course provides an overview of SDN concepts, architecture, and network design elements, as well as how SDN-enabled applications can dynamically control network behavior and make deploying new solutions more efficient and less time consuming.
Course description
You will learn how SDN is used in networking environments and how SDN separates the control and data plane using OpenFlow as the open standard transport mechanism. SDN “use cases” are utilized to demonstrate how SDN can be used in real-world situations to solve network challenges, and demonstrate the implications that SDN will have on the current and future network designs. You will learn how to implement the HPE VAN SDN Controller into an existing network by installing, configuring and licensing the HPE VAN SDN Controller. During the course you will be installing, configuring and testing the HPE Network Protector along with the HPE Visualizer SDN Application in the hands-on labs.

Course Modules

LISA15

https://www.usenix.org/conference/lisa15/training-program/session/software-defined-networking-principles-and-practice

Topics include:

stonybrook, Fall13

http://www3.cs.stonybrook.edu/~vyas/teaching/CSE_690-01/Fall13/

This class is a research-oriented class examining recent advances in the area of software-defined networking (SDN). Topics of interest will include topics that have been gaining attention in industry and the research community in the context of SDN: programmable network management, middleboxes, network verification and debugging, and applications of SDN to WANs and data center networks.

TU-DARMSTADT, Winter Term 2015/2016

http://www.ps.tu-darmstadt.de/teaching/sdn/

“Software Defined Networking” is a course for M.Sc. and diploma students of Electrical Engineering and B.Sc. and M.Sc. students of Computer Science (and related study programs). It is held as a combination of a lecture (TUCaN-no. 18-hh-2050-vl) and exercises (TUCaN-no. 18-hh-2050-ue).

Course Description
The course deals with cutting edge topics in the area of software defined networking (SDN)
  • SDN Architecture (Application, Control, Infrastructure Layer)
  • SDN Interfaces (North/South-bound vs. East/West-bound interface)
  • SDN Applications and Use Cases (e.g. Multicasting)
  • Network Virtualization and Slicing (e.g. FlowVisor)
  • Network Function Virtualization (NFV) and Network Service Chaining
  • SDN Security
  • Network Operating Systems and Languages
  • OpenFlow Controller (e.g. NOX, Beacon, etc.)
  • Hardware Switches (e.g. NEC IP8800, Pronto) vs. Software Switches (e.g. NetFPGA, OpenVSwitch)
  • SDN in Wireless Networks (e.g. OpenWRT)

Students will get a deep insight into Software Defined Networking and its applications.

proposed course at Temple

title
Software Defined Networking
brief description
Communication networks are playing an increasingly important role, yet the traditional approach is complicated and fragile, which is further compounded by the distributed and ossified network components. Among many efforts to address this problem, software-defined networking (SDN) is an emerging paradigm that advocates centralized control with open components. SDN has gained much attention in academia, and has been widely adopted and deployed in major industry players. In short, SDN has the potential to revolutionize today’s networks, and to shape the next-generation networks. In this course, we will explore SDN through classic and recent papers and an optional course project.

The instructor will cover diverse aspects of SDN, including

Students will read a number of recent research papers and submit summaries (in the form of conference paper review) before each class. A final course project (optional) and/or paper presentation will be required. Students will be evaluated by paper reviews, in-class participation, final paper presentation and/or course project.

prerequisite
Students should have taken an undergraduate-level networking course or the equivalent. For students who opt for the programming project, programming experience in Python is needed, knowledge of virtual machines and other virtual networking environments will also be useful.