Week 3 - Software Defined Networking
Week 3 - Software Defined Networking
Time: 5 hours
Requirements: Watch lesson videos, complete module assessment quiz and programming
assignment
Prior Knowledge
Understanding of SDN basics: What is SDN, what is control and data plane separation?
Some knowledge/background on virtual machines will be helpful (though not essential):
Virtual links: Encapsulation, tunneling, and layering
Virtual environments: Network namespaces, User-mode Linux, Xen, etc.
Learning Objectives:
Discover what network virtualization is and why it is used
Identify various ways of implementing virtual networks
Explain why Mininet is useful
Practice how Mininet works
Gain more experience using Mininet, setting up topologies, etc.
Interview
Interview with Teemu Koponen
Support Resources
Network Virtualization
Bavier, Andy, et al. "In VINI veritas: realistic and controlled network
experimentation." ACM SIGCOMM Computer Communication Review. Vol. 36. No. 4.
ACM, 2006.
Bruce Davie and Martin Casado, Tunneling for Network Virtualization, Network Heresy
Blog
Bruce Davie, Network Virtualization: Delivering the promise of SDN, Network Heresy Blog
Open vSwitch Homepage
Network Functions Virtualization White Paper
Nicira Network Virtualization White Paper
Mininet
Handigol, Nikhil, et al. "Reproducible network experiments using container-based
emulation." Proceedings of the 8th international conference on Emerging networking
experiments and technologies. ACM, 2012.
Module Wrap-Up
By the end of this module, you should have a good understanding of what network virtualization
is, what it is used for, and how it relates to software defined networking. Much of the motivation
for network virtualization came from the desire to let network researchers experiment with virtual
topologies in emulated environments (e.g., VINI), but the "killer application" for network
virtualization has thus far been in data centers, where data center network operators need the
ability to host multiple tenants on the same shared physical infrastructure and may also want to
reconfigure the network at will, as demands change.
You should also have a pretty good understanding of how network virtualization platforms can
work, using our study of Mininet by way of example. Other network virtualization environments
(e.g., Nicira's NVP, VINI) work in much the same way as Mininet, although there are many different
ways to virtualize nodes and links. In the next module, we will use network virtualization concepts
and Mininet to build some real SDNs and experiment with SDN control.