SDN Courses
- Coursera, Princeton
- Columbia, Fall 2013
- Princeton, Fall 2013
- Gatech, FAll 2014, Software Defined Networking Lab
- CMU, Fall 2014: Software-Defined Networking (SDN) and Network Functions Virtualization (NFV)
- Duke, Fall ‘14
- USC, Spring’14
- HP course
- LISA15
- stonybrook, Fall13
- TU-DARMSTADT, Winter Term 2015/2016
- proposed course at Temple
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).
- Module 1: History and evolution of SDN
- Module 2: Control and data plane separation
- Module 3: Control Plane
- Module 4: Network Virtualization
- Module 5: Data Plane
- Module 6: Programming SDNs
- Modules 7: Verification and Debugging
- Module 8: Use Cases and Looking Forward
- 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
- OpenFlow: Basic description of OpenFlow
- Open Networking Foundation: For recent OpenFlow specifications, etc.
- Mininet: Environment that allows you to emulate OpenFlow networks on a laptop.
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.
- API between Control Plane and Data Plane
- OpenFlow, Broadcom and Intel Chipsets
- Controller Design
- ONIX, POX and Floodlight, Frenetic and Nettle
- SDN Abstraction
- Protocol Independent Forwarding, Composition and Trace Tree,
Verification, Network Update
- SDN Application
- Traffic Engineering: Google B4, Microsoft SWAN, SDX; Wireless
Networks: SoftCell, SoftRAN, OpenRadio, OpenRF
- SDN Virtualization
- FlowVisor, Open vSwitch, NFV
- SDN Endhosts, Middleboxes, Debugging, fault tolerance and Security
- SDN Control of Endhosts and Middleboxes, SDN Debugging, fault
tolerance and Security
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:
- COS-597E, Princeton University, Fall 2013
- CSE690-01, Stony Brook University, Fall 2013
- Coursera Software Defined Networking by Dr. Nick Feamster
- SDN reading list
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
- Background
- Background and History
- Data Plane Basics
- Control Plane Basics
- Apps
- NFV Advanced topics
- Languages, testing, and verification
- Security
- Misc
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 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
- Module 0: Course Introduction
- Module 1: Software-defined Networking
- Module 2: SDN Case Studies
- Module 3: HP VAN SDN Controller Overview
- Module 4: HP Network Protector SDN Application
- Module 5: HP Network Visualizer SDN Application
- Module 6: OpenFlow Deep Dive
- Module 7: REST API
- Module 8: High Availability
LISA15
https://www.usenix.org/conference/lisa15/training-program/session/software-defined-networking-principles-and-practice
Topics include:
- History and evolution of SDN
- Control and data plane separation
- Control Plane and Modern Controllers (Ryu, ONOS)
- Network Virtualization (Docker)
- Data Plane (P4)
- Programming SDNs (Frenetic)
- Verification and Debugging
- Use Cases and Looking Forward (SDX, security, etc.)
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
- a historical retrospect of SDN: background and the overall
architecture
- SDN data plane: OpenFlow and Open vSwitch
- SDN controller and network operating system: onix, ONOS, NOX, POX
- SDN programming interface: various programming abstractions and
domain-specific languages
- use cases: network virtualization, security and fault tolerant,
widearea and interdomain
- advanced topics and looking forward: SDN and network function
virtualization (NFV), SDN and formal verification and synthesis,
database-defined networking
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.