CSEP 561: PMP Network Systems, Spring 2017

Overview

Instructor: Arvind Krishnamurthy
Office hours: by appointment (send email)

TA: Yuchen Jin (yuchenj AT cs DOT washington DOT edu), Ming Liu (mgliu AT cs DOT washington DOT edu)
Office hours: by appointment (send email)

Lectures: Mondays, 6:30pm-9:20pm.

This course is on how to design (good) computer network protocols. While it is relatively easy to learn how a specific network protocol works, it is surprisingly hard to design a good network protocol. The Internet is a great example - one can learn most of the aspects of how the Internet protocols work in a relatively short period of time, but that won't help you (much) in designing a new protocol. The Internet is successful for reasons that are mostly hidden in its design, embodying specific, debatable tradeoffs in balancing robustness, interoperability, scale, evolution, flexibility, operator incentives and security. And while you might think that we don't need any new protocols beyond the Internet, a quick look inside the Internet shows that it is still evolving rapidly, along with mobile phone networks, wireless and home networks, RFID and sensor networks, and so on; the need for understanding how to design better protocols has never been greater. This course will introduce the different, known design techniques. It will ask you to demonstrate an understanding by synthesizing them and exploring tradeoffs in problems, class discussion, and by discussing research papers.

Prerequisities: the basic prerequisite is to have taken an undergraduate operating systems course (CSE 451 or equivalent) or an undergraduate networks course (CSE 461 or equivalent). If you haven't taken an undergrad OS or networks course, please come talk to Arvind.

Readings: The required readings are all research papers. There is no textbook for the class, but feel free to get one of the following textbooks if you would like to pick up some of the basic networking knowledge.

Paper reports: After reading the research paper for the week, you are required to submit your response to one of the questions for the paper before 6pm on the day of class in which the paper will come up. Use the course dropbox to submit your response. Please keep your entries short: they can be anything that provides insight into the question being asked, e.g., providing a direct answer, pointing out related issues, etc. We will automatically grant one mulligan during the quarter, if you neglect to post.

Assignment: Individual assignments. More details coming soon.

Exam: No exams.

Administrivia

Discussion Board

Here's the link to the class discussion board:
https://catalyst.uw.edu/gopost/board/arvindk/43907/
and the link to the assignment/reading dropbox:
https://catalyst.uw.edu/collectit/dropbox/arvindk/40085

Paper schedule

Here is the schedule of paper readings for the course. This will likely be tweaked as the quarter progresses. Note that you're required to read assigned papers, but the optional additional papers are just that: purely optional, for your interest, if you choose to go deeper on your own.

Date

Reading

Notes

Mar 27 Introduction notes
Apr 3 TCP notes
Apr 10

TCP Congestion control

notes
Apr 17 Link layer, routing notes
Apr 24 Inter-domain Routing notes
May 1 Datacenters notes
May 8 Software defined networking notes
May 15 DNS/Web notes
May 22 Fairness and Security notes

Assignments

You are encouraged to work in pairs for the three class assignments. If you prefer to work individually (due to work constraints etc.), then we do have an option for you -- do assignments 1 and 2 alone. (Assignment 1 will be due on April 26 if you choose to go at it alone.)

You can accrue a total of five late days across the assignments without any penalty and without having to inform us of it. This should provide you with sufficient flexibility in dealing with work deadlines, etc.

We will be using a framework called Mininet, which was designed by researchers at Stanford. The assignments are also adapted from courses at Stanford, MIT, and Princeton. As is the case with any research artifact/tool, there are likely to be bugs or insufficient documentation regarding the system/assignment framework. Please post on the discussion board and one of your classmates or the instruction team would respond to it.

Reading questions