In this course, you will learn about software defined networking and how it is changing the way communications networks are managed, maintained, and secured.
This week, I'll introduce an overview of the course and then dive into the history and evolution of SDNs.
What's included
11 videos4 readings2 assignments
Show info about module content
11 videos•Total 162 minutes
Introduction to SDN (Summer 2015): What's New•4 minutes
Overview Part 1•5 minutes
Overview Part 2•8 minutes
Central Control•6 minutes
Active Networks•12 minutes
Network Virtualization•13 minutes
From FORCES to Ethane: Control Plane Evolution•9 minutes
The Road to SDN•7 minutes
Martin Casado Interview•28 minutes
Nick McKeown Interview•68 minutes
Tutorial: Setup Vagrant/Mininet Course VM Setup•2 minutes
4 readings•Total 40 minutes
Syllabus•10 minutes
Scoring and Logistics•10 minutes
Week One•10 minutes
Set up Your Own Virtual Network: A Virtual Box/Mininet Environment for SDN•10 minutes
2 assignments•Total 60 minutes
Pre-Assesment Quiz•30 minutes
Quiz 1: History and Evolution of SDN•30 minutes
Week Two
Module 2•5 hours to complete
Module details
In this module, you will learn about the motivation and history behind the separation of the control and data plane, as well as the challenges and opportunities that this architectural paradigm offers.
What's included
8 videos2 readings3 assignments
Show info about module content
8 videos•Total 178 minutes
Mininet Topologies and Mininet Python API•17 minutes
Control/Data Separation•6 minutes
Opportunities in Various Domains•13 minutes
Challenges in Separating the Data and Control Planes•13 minutes
Routing Control Platform•11 minutes
The 4D Network Architecture•10 minutes
David Clark Interview•61 minutes
Teemu Koponen Interview•46 minutes
2 readings•Total 20 minutes
Week Two•10 minutes
Mininet Quiz Instructions•10 minutes
3 assignments•Total 90 minutes
Quiz 2: Mininet Setup•30 minutes
Quiz 2.1: Control and Data Separation•30 minutes
Quiz 2.2: Routing Control Platform and 4D•30 minutes
Week Three
Module 3•3 hours to complete
Module details
In this lesson, you will gain experience with OpenFlow/SDN control, gain some exposure to different SDN controllers, learn about the tradeoffs of using different SDN controllers, and gain some experience of using SDN to customize control-plane behavior.
What's included
8 videos1 reading1 assignment
Show info about module content
8 videos•Total 133 minutes
The Control Plane•16 minutes
Overview of SDN Controllers•7 minutes
Customizing SDN Control (Part 1: Switching)•16 minutes
Customizing SDN Control (Part 2: Firewalls)•10 minutes
Commercial-Grade Controllers: ODL•9 minutes
Commercial-Grade Controllers: Ryu•6 minutes
Jennifer Rexford Interview•32 minutes
Guido Appenzeller Interview•36 minutes
1 reading•Total 10 minutes
Week Three•10 minutes
1 assignment•Total 30 minutes
Quiz 3: The Control Plane•30 minutes
Week Four
Module 4•5 hours to complete
Module details
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.
What's included
11 videos1 reading3 assignments
Show info about module content
11 videos•Total 197 minutes
Virtualization•14 minutes
Applications of Virtual Networking•11 minutes
Network Virtualization with Mininet•10 minutes
Slicing Network Control•8 minutes
Virtualization in Multi-Tenant Datacenters•8 minutes
Network Functions Virtualization•6 minutes
Docker and Containerization•5 minutes
Networking in Docker•5 minutes
Brent Salisbury Interview•41 minutes
Larry Peterson Interview•43 minutes
Rob Sherwood Interview•47 minutes
1 reading•Total 10 minutes
Week Four•10 minutes
3 assignments•Total 90 minutes
Quiz 4.1: Virtual Networking•30 minutes
Quiz 4.2: Data-Center Virtualization•30 minutes
Quiz 4.3: NFV and Docker•30 minutes
Week Five
Module 5•4 hours to complete
Module details
This module is relatively independent from some of the other modules, as programmable data planes involve new types of technology. Still, you should by now have a very good understanding of SDN-based control and virtualization. OpenFlow's design was somewhat of an accident of the hardware support that was available at the time. More recently, people are exploring how programmable hardware can help us design a control protocol with the benefit of being able to change the data plane.
In this part of the course, you'll learn about programming languages and controllers that make this programmability possible. We will focus on one language in particular, Pyretic, which is from the Frenetic family of languages. We will also look at a runtime and northbound API called Resonance, which allows network programmers to write policies that respond to changing network conditions (e.g., security events, shifts in peak vs. off-peak time, traffic fluctuations or link failures).
What's included
7 videos1 reading1 assignment
Show info about module content
7 videos•Total 139 minutes
Motivation for "Northbound APIs" and SDN Programming Languages•9 minutes
Frenetic: A Programming Language for SDNs•10 minutes
Composing SDN Policies•9 minutes
Pyretic: A Language for Composing SDN Policies•7 minutes
Kinetic: Event-Based SDN Control•9 minutes
Nate Foster Interview•50 minutes
Josh Reich Interview•45 minutes
1 reading•Total 10 minutes
Week Six•10 minutes
1 assignment•Total 30 minutes
Quiz 6: Programming SDNs•30 minutes
Week Seven
Module 7•4 hours to complete
Module details
In this module, we will apply that knowledge to explore how SDN can be used to solve problems in various networking domains. We'll start by looking at data-center networking, where SDN has arguably gained the strongest foothold (to date). We'll then explore applications of SDN to interdomain routing, where new applications and deployments are emerging. Finally, we'll explore the application of SDN in home networks, which has seen some preliminary work, deployments, and ideas.
What's included
8 videos1 reading1 assignment
Show info about module content
8 videos•Total 185 minutes
Data Centers•10 minutes
Internet Exchange Points•9 minutes
Wide-Area Backbone Networks•6 minutes
Home Networks•8 minutes
Bryan Larish Interview•30 minutes
Bob Lantz Interview•40 minutes
Umesh Krishnaswamy Interview•45 minutes
Amin Vahdat Interview•37 minutes
1 reading•Total 10 minutes
Week Seven•10 minutes
1 assignment•Total 30 minutes
Quiz 7: SDN Use Cases•30 minutes
Week Eight
Module 8•4 hours to complete
Module details
In this module, we'll be looking at another control framework built using Pyretic called "Kinetic". Kinetic is a domain-specific language embedded in Pyretic that allows programmers and network operators to automatically verify the correctness properties of the control program. Your previous experience with Pox and Pyretic should provide you with very useful experience and perspective for comparing the three ways of programming a controller. In the assignment, we ask you to compare Kinetic to either Pox or Pyretic, so the experience you gained from those assignments should prove very useful.
What's included
9 videos1 reading1 assignment
Show info about module content
9 videos•Total 215 minutes
Configuration Verification•9 minutes
Data Plane Verification•13 minutes
Control Plane Verification•10 minutes
Brighten Godfrey Interview•43 minutes
Shriram Krishnamurthy Interview•44 minutes
Wireless•7 minutes
Open Problems and Next Steps•9 minutes
Madhu Venugopal Interview•40 minutes
Russ Clark Interview•41 minutes
1 reading•Total 10 minutes
Week Eight•10 minutes
1 assignment•Total 30 minutes
Quiz 8.1: Verification•30 minutes
Instructor
Instructor ratings
Instructor ratings
We asked all learners to give feedback on our instructors based on the quality of their teaching style.
One of the world's premier academic and research institutions, the University of Chicago has driven new ways of thinking since our 1890 founding. Today, UChicago is an intellectual destination that draws inspired scholars to our Hyde Park and international campuses, keeping UChicago at the nexus of ideas that challenge and change the world.
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."
Learner reviews
4.5
292 reviews
5 stars
71.91%
4 stars
17.46%
3 stars
6.50%
2 stars
1.02%
1 star
3.08%
Showing 3 of 292
K
KT
5·
Reviewed on Oct 8, 2019
Standardized syllabus and this course is highly recommended for Networking Professionals. Requesting to add more ETSI NFV content. Thank you,
M
MA
4·
Reviewed on Apr 13, 2021
Thank you all, those who take part in preparing and delivering this course. The course is very helpful to understand SDN and its benefits and limitation.
R
RS
4·
Reviewed on May 31, 2020
This course has refocused my path in the Networking industry. The information is high quality and the interviews give you a lot of orientation. The course should be more interactive.
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I purchase the Certificate?
When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.