CSEP 561: PMP Network Systems,
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.
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.
Prerequisities: the basic prerequisite is to have taken an
undergraduate operating systems course (CSE
451 or equivalent) or an undergraduate networks course
461 or equivalent).
If you haven't taken an undergrad OS or networks course,
please come talk to Arvind.
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.
- Computer Networks, Fifth Edition: A Systems Approach (The Morgan Kaufmann Series in Networking) by Peterson and Davie
- Computer Networking: A Top-Down Approach (7th Edition) by Kurose and Ross
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.
Here's the link to the class discussion board:
and the link to the assignment/reading dropbox:
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.
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.
- Assignment 1. Due on April 18th (5pm) for groups of two and April 26th (5pm) for individual submissions.
- Assignment 2. Due on May 16th (5pm) for groups of two and June 7th (5pm) for individual submissions.
- Assignment 3. Due on June 7th (5pm) for groups of two.