Coursera - Software Defined Networking
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.
This course will cover 8 modules over the 6 week period.
Module 1: History and evolution of SDN
Module 2: Control and data plane separation
Module 3: Virtual networking
Modules 4 & 5 : SDN Nuts and Bolts
Module 6: Programming SDNs
Modules 7: Use Cases
Module 8: Looking Forward
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.
The course will consist of a series of video lectures, each about 10 minutes in length.
Assignments for the course will be lab-based programming assignments, likely building off of the Mininet software developed at Stanford University, which can run SDNs in emulated environments on networks of virtual machines.