The University of Chicago

Software Defined Networking

Dr. Nick Feamster

Instructor: Dr. Nick Feamster

65,283 already enrolled

Included with Coursera Plus

Gain insight into a topic and learn the fundamentals.
4.6

(283 reviews)

32 hours to complete
3 weeks at 10 hours a week
Flexible schedule
Learn at your own pace
Gain insight into a topic and learn the fundamentals.
4.6

(283 reviews)

32 hours to complete
3 weeks at 10 hours a week
Flexible schedule
Learn at your own pace

Details to know

Shareable certificate

Add to your LinkedIn profile

Assessments

14 assignments

Taught in English

See how employees at top companies are mastering in-demand skills

Placeholder
Placeholder

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV

Share it on social media and in your performance review

Placeholder

There are 8 modules in this course

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

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

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

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

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.

What's included

10 videos1 reading2 assignments

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

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

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

Instructor

Instructor ratings
4.7 (84 ratings)
Dr. Nick Feamster
The University of Chicago
2 Courses68,409 learners

Offered by

Recommended if you're interested in Computer Security and Networks

Why people choose Coursera for their career

Felipe M.
Learner since 2018
"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.6

283 reviews

  • 5 stars

    72.79%

  • 4 stars

    16.96%

  • 3 stars

    6.36%

  • 2 stars

    1.06%

  • 1 star

    2.82%

Showing 3 of 283

NS
5

Reviewed on Feb 9, 2021

AA
5

Reviewed on Aug 28, 2020

CC
5

Reviewed on Sep 8, 2020

New to Computer Security and Networks? Start here.

Placeholder

Open new doors with Coursera Plus

Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription

Advance your career with an online degree

Earn a degree from world-class universities - 100% online

Join over 3,400 global companies that choose Coursera for Business

Upskill your employees to excel in the digital economy

Frequently asked questions