Software Defined Networking
Coursera
Course Summary
In this course, you will learn about software defined networking and how it is changing the way communications networks are managed, maintained, and secured.
-
+
Course Description
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 SDNModule 2: Control and data plane separationModule 3: Control PlaneModule 4: Network VirtualizationModule 5: Data PlaneModule 6: Programming SDNsModules 7: Verification and DebuggingModule 8: Use Cases and Looking Forward
-
+
Recommended Background
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.
-
+
Course Format
The course will consist of a series of video lectures, each about 10 minutes in length.Assignments for the course are lab-based programming assignments, many of which build off of the Mininet software developed at Stanford University, which can run SDNs in emulated environments on networks of virtual machines.
-
+
Suggested Reading
There are some useful videos available online; these might be a good starting point for many people:
-
Prof. Nick McKeown, Stanford
"How SDN will Shape Networking"
-
Prof. Scott Shenker, Berkeley:
"An attempt to motivate and clarify Software-Defined Networking (SDN)"
(watch the first 35 minutes or so)
You may find the 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.
-
Prof. Nick McKeown, Stanford