Overview

When the world shut down because of the Coronavirus, the Internet was one technology that kept it humming. We migrated seamlessly from working and studying from our offices and classrooms to conducting those activities from our homes. Few would have predicted the ease with which the Internet accommodated this massive shift. But we didn’t need a global pandemic to tell us how important computer networks are to modern society. Even without it, the number of devices connected to the network has been growing exponentially and is expected to cross 40B by 2025. That is, there will be roughly 5 network-connected devices per person on this planet.

This class will cover the design principles and foundational techniques that underlie large computer networks in general and the Internet in particular. We will discuss how these principles enabled the Internet to withstand a massive shift to the online world and also how some of the most vexing issues around the Internet (e.g., security) can be traced to them.

The class will also cover how computer networks are evolving and learn about the latest technological developments across layers of the networking stack, from hardware to planetary-scale control systems to new applications.

Organization

The class is organized around

The project will account for 55% of your grade; the quizzes will account for 20%; participation in online discussion will account for 20%; and in-class participation will account for 5%.

There is no required textbook for the class. If you find that you are missing some background material for a paper, consider reading Peterson and Davie or consult the instructor.

Administrivia

Class MW 3:00-4:20 PM PT

All lectures will be conducted via Zoom. Meeting links are on your Canvas calendar.

Instructor Ratul Mahajan [ratul @ cs.washington.edu]

Office hours on Fridays at 3:30 pm

Class mailing list cse561a_wi21@uw.edu

Updated nightly from the official registration list, and uses your UW (not CSE) email address.

You may share anonymous feedback on this course via this tool

Schedule

Finish all readings and post a comment on the discussion board before noon on the day of the class. Read the main papers in detail and skim the "shallow reads."

Date

Reading

Lecturer, slides

Assignments due

Jan 4 Introduction
  • Course overview and logistics.
Slides
Jan 6 Internet design philosophy

Shallow reads

Slides
Jan 11

Name and object lookup

Slides
Jan 13

Routing

Shallow reads

Slides
Jan 18 MLK day - No Class
Jan 20

Traffic engineering

Shallow reads

Slides Project pre-proposal
Jan 25

Network-supported resource sharing

Shallow reads

Slides
Jan 27

Cellular networks

Kurtis Heimerl (UW)

Slides

Feb 1

SDN and virtualization

Shallow reads

Bruce Davie

Slides

Project proposal
Feb 3

Programmable switches

Shallow reads

Changhoon Kim (Intel)

Slides

Quiz 1

Feb 8

Optical switching

Shallow reads

George Porter (UCSD)

Slides

Feb 10

Network diagnosis

Shallow reads

Minlan Yu (Harvard)

Slides

Feb 15

Presidents day - No class

Feb 17

IoT applications

Ranveer Chandra (Microsoft)

Slides

Project milestone #1
Feb 22

Internet-wide congestion control

Shallow reads

Neal Cardwell (Google)
Feb 24

ML systems

Mohammad Alizadeh (MIT)

Slides

Mar 1

Network verification

Shallow reads

Slides
Mar 3

Data center congestion control

Shallow reads

Jitu Padhye (Microsoft)

Slides

Project milestone #2
Mar 8

Named data networking

Shallow views

Lixia Zhang (UCLA)
Mar 10

Topology design

Shallow reads

Radhika Niranjan Mysore (VMware)

Slides

Quiz 2

Mar 18

Finals week

Project final