CPS 214
Computer Networks and Distributed Systems

CPS 214 Syllabus/Readings/Notes

January 18: Chapter 1

Intro by Anda Iamnitchi.
slides, handouts


January 20

Sections 2.1-2.4 and 2.7 in the Kurose and Ross textbook. We will finish up with the Internet introduction and discuss the Web and sockets.
Course intro: slides, handouts
Web intro: slides, handouts


January 25

Introduction to Internet architecture

Read the classic paper End-to-end Arguments in System Design by J. Saltzer, D. Reed, and D. Clark, ACM Transactions on Computer Systems (TOCS), Vol. 2, No. 4, pp. 195-206, 1984.
End-to-end slides: slides, handouts

Tussle in Cyberspace: Defining Tomorrow's Internet (you can gloss over the examples for now: one goal for the semester is to understand all of the examples fully).

RFC 2119

Middleboxes No Longer Considered Harmful: read Sections 1-3, get flavor of 4-6. Some slides are available on the DOA site.


January 28

TCP and rate control
Host: Thomas Narten
Reading: Kurose and Ross, Chapter 3
Slides: slides, handouts


February 1

TCP congestion control

Host: Adolfo Rodriguez
Reading: Chapter 3 again
Slides: slides, handouts


February 3

Secure communication

Reading: Kurose and Ross sections 8.1-8.5, 8.8 (emphasize 8.8.2)
Slides: slides, handouts
More crypto slides: slides, handouts


February 8

More discussion of secure communication, SSL, and secure HTTP, and catch-up on scalable hierarchical trust: DNS and certificate authorities.

DNS: Kurose and Ross section 2.5


February 10

High-speed TCP, OS interface, and hardware assist
TCP Implementation, by Jeff Chase. Book chapter for High-Performance TCP/IP Networking, Mahbub Hassan and Raj Jain, editors. Prentice Hall, 2003.

Slides: slides, handouts


February 15

Rate control revisited (misbehaving flows)

TCP Congestion Control with a Misbehaving Receiver. By Stefan Savage, Neal Cardwell, David Wetherall and Tom Anderson. ACM Computer Communications Review, pp. 71-78, v 29, no 5, October, 1999.

Promoting the Use of End-to-End Congestion Control in the Internet. By Sally Floyd and Kevin Fall. IEEE/ACM Transactions on Networking, August 1999.

Slides on the "TCP game": slides, handouts
We also used slides from a short talk by Stefan Savage:


February 17

Introduction to routers, and their role in rate control.
Sections 4.1-4.4, 7.7.

Robust Congestion Signalling. By David Ely, Neil Spring, David Wetherall, Stefan Savage, and Tom Anderson, International Conference on Network Protocols (ICNP), 2001.

For this class and the next I used slides from a variety of sources. I used slides from courses taught by Ion Stoica (router support for congestion control) and also Srinivasan Seshan, and some of my own. Most of those slides are available here, with attribution for the sourced material, which is available with original formatting from the original source: slides, handouts.

We also used the ECN nonce viewgraphs from David Wetherall, and also some slides on promoting end-to-end congestion control available in PPT here.


February 22

Router-based Rate Control for Flows and Aggregates

Congestion Control for High Bandwidth-Delay Product Networks. By Dina Katabi, Mark Handley, and Chalrie Rohrs. In the proceedings on ACM SIGCOMM 2002. (Read the paper to understand the motivation and basic approach of XCP: the deep details are interesting but we won't discuss them.)

R. Mahajan, S. M. Bellovin, S. Floyd, J. Ioannidis, V. Paxson, and S. Shenker, "Controlling High Bandwidth Aggregates in the Network". Read the CCR version from the pushback web page.

In this class we used some of Dina Katabi's SIGCOMM 2002 slides on XCP, which are available from her XCP site at the link above. Also, to answer some questions about uncertainties in TCP modeling and RED behavior, I used some slides from Sally Floyd's page on better models for Internet research (I used her NSF slides from June 2002).


February 24

Denial of Service

Kurose and Ross, sections 4.4 (if you didn't already read it) and 8.7.

D. Moore, G. Voelker, and S. Savage, Inferring Internet Denial of Service Activity, Proceedings of the 2001 USENIX Security Symposium, Washington D.C., August 2001.

Slides: slides, handouts
I also used some backscatter slides from Geoff Voelker.

Optional Reading: Hash-Based IP Traceback. ToN version. Alex C. Snoeren, Craig Partridge, Luis A. Sanchez, Christine E. Jones, Fabrice Tchakountio, Stephen T. Kent, and W. Timothy Strayer. Proc. of the ACM SIGCOMM 2001 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication, August 2001.


March 1

Router architecture and extensible routing

The Click Modular Router. Extract the key ideas from the TOCS paper on the publications page: Eddie Kohler, Robert Morris, Benjie Chen, John Jannotti, and M. Frans Kaashoek. ACM Transactions on Computer Systems 18(3), August 2000, pages 263-297.

David J. Wetherall, "Active network vision and reality: lessons from a capsule-based system", 17th ACM Symposium on Operating System Principles (SOSP'99), Kiawah Island, SC, December 1999. pdf

For the evaluation, please compare/contrast these two approaches to making the Internet routing infrastructure extensible.

Slides: slides, handouts


March 3

Fundamentals of Routing

Kurose and Ross, sections 4.5 and 4.6.

The Case for Separating Routing from Routers. Nick Feamster, Hari Balakrishnan, Jennifer Rexford, Aman Shaikh, Kobus van der Merwe. ACM SIGCOMM Workshop on Future Directions in Network Architecture (FDNA), Portland, OR, September 2004. (7 pages)

For the routing classes I used mostly the Srini/Andersen slides from CMU, lectures 10 and 11.
Other slides: slides, handouts


March 8

Interdomain Routing and BGP

Understanding BGP Misconfiguration. Ratul Mahajan, David Wetherall and Tom Anderson(University of Washington). SIGCOMM 2002.

For this class we used some slides from Ratul's SIGCOMM presentation.


March 10

Secure Routing

Listen and Whisper: Security Mechanisms for BGP. Lakshminarayanan Subramanian, Volker Roth, Ion Stoica, Scott Shenker, Randy H. Katz. html, pdf.

Listen and Whisper is cryptic in many spots, and I won't assign it again or test on the details of the material. What is important is to understand the trust assumptions in interdomain routing, the approach of preserving integrity of the routing infrastructure using digital signatures, the obstacles to that approach, and the broad strengths and limitations of the listen and whisper alternative.


March 22

The Shape of the Internet

Slides: slides, handouts

Reading: Measuring ISP Topologies with Rocketfuel. Neil Spring, Ratul Mahajan, and David Wetherall. SIGCOMM 2002. For the discussion, we used some slides from Neil Spring's SIGCOMM presentation.


March 24

Midterm Exam


March 29

Guest speaker: Thomas Narten of IBM on IPv6.


March 31

Link layer and Ethernet

Reading: Kurose and Ross, Chapter 5.

For this class I used Srini/Andersen slides, Lecture 7.


April 5

Shifting Foundations: More Layer 2.
ATM, MPLS, and Mobile/Wireless

Reading: Kurose and Ross, Chapter 6. Emphasize: 6.1-6.3, 6.5, 6.6, 6.8.

The class focused on tunneling and its role in new "link" technologies: label-switched virtual circuits, and wireless. MPLS and tunneling: tunneling, virtual circuits, Cell switching/ATM, and MPLS. For this class I used Srini/Andersen slides from lectures 15 and 21. From 21, we discussed challenges for wireless, and the key issues and approaches for wireless security and wireless mobility. We did not cover TCP over wireless, or the QoS material in the lecture 21 slides, or any detailed treatment of ATM (from lecture 15).


April 7

Introduction to Overlays: PlanetLab.

A Blueprint for Introducing Disruptive Technology into the Internet. L Peterson, T Anderson, D Culler, T Roscoe Proceedings of ACM HotNets-I, October, 2002. Google Scholar

Operating System Support for Planetary-Scale Network Services. A Bavier, M Bowman, B Chun, D Culler, S Karlin. Symposium on Networking Systems Design and Implementation (NSDI), 2004. Google Scholar

Both papers are also available as design notes from the PlanetLab web site.
Here are some pointers to services hosted on (or intersecting with) the PlanetLab initiative.

For this class I used a selection of slides from PlanetLab talks.


April 12

Structured Overlays (DHTs) and Peer-to-Peer Systems

Handling Churn in a DHT, by Sean Rhea, Dennis Geels, Timothy Roscoe, and John Kubiatowicz. Proceedings of the USENIX Annual Technical Conference, June 2004.

For this class I used a selection of slides graciously provided by Sean Rhea, and reposted here with his permission: slides, handouts.

Optional: the classic SIGCOMM paper on Chord, a Scalable Peer-to-peer Lookup Service for Internet Applications.


April 14

Continuation of DHTs and churn paper, and initial discussion of multicast and the use of DHTs in the Scribe publish/subscribe system. No further reading is assigned, except to look through the Scribe site (e.g., the JSAC paper) and review the multicast section in the text (Section 4.7).

Slides: slides, handouts.


April 19

Content Distribution Networks and Media

Finish up with multicast and the Scribe DHT-based approach, followed by a broader discussion of content distribution using caching and Content Distribution Networks (CDN).

Please start reading Chapter 7 of the text, at least to get an idea of media systems and the problems they face, and read the material on CDNs in 7.5. The class will include some discussion of the experimental CoDeeN CDN hosted on PlanetLab. I am not assigning any reading on CoDeeN, but the USENIX 04 paper Reliability and Security in the CoDeeN Content Distribution Network is a good discussion of some challenges faced in building and deploying a CDN that really works on PlanetLab. The paper also discusses various abuses inflicted on CoDeeN's open proxies by some nasty people in its user community.

For this class I used the Akamai slides from Srini/Andersen Lecture 23, and some slides from the CoDeeN talks.


April 21

Beyond Best-Effort

This is our last class, since we will not meet during the graduate reading period. This class is a discussion of the collision between the Internet's best-effort model and the increasing demand for media applications.

Reading: Kurose and Ross, Chapter 7, focusing on 7.6-7.10.

I would like to talk about Skype and Internet telephony. Please come armed with some opinions about the impact of 100M people downloading and using Skype, demanding services such as 911 service, etc. Here are some other useful links:

Skype "explained"
RFC 3714: IAB concerns about VOIP

This class was a free-ranging discussion of issues for media and telephony. A few slides: slides, handouts.