You are here
Software Defined Networking: Principles and Practice
Thurgood Marshall North
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. This is in contrast to conventional networks, where 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. This allows network operators to create more sophisticated policies and makes network configurations easier to configure, manage, troubleshoot, and debug.
Network operators, software developers, graduate students, and other professionals who want to gain hands-on experience with SDN.
Knowledge about how to program modern SDN controllers for specific use cases, complete with examples. We'll provide a course virtual machine, so—obviously—that is for keeps!
- 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.)
Our Vagrant installation may be updated before October, but the current version is available at https://github.com/PrincetonUniversity/Coursera-SDN