CSE 588: Network Systems


Instructor: Tom Anderson
Meets Wednesdays 6:30 - 9:30, in EE1 003

Readings:

Peterson and Davie, Computer Networks: A Systems Perspective Paper collection

Overview:

The Internet is a remarkable engineering triumph. It is one of the few systems of any kind to have successfully scaled in numbers of users by six orders of magnitude while providing (nearly) continuous service over the past three decades. The challenge of building a system that works for hundreds of millions has led the Internet's designers to an overriding focus on robustness and scalability; numerous features have been added since the initial design to cope with increased numbers of users and increased numbers of providers. Even so, future challenges such as Internet telephony and the post-PC era promises even more rapid change in the Internet.

This course is designed to bring students up to the state of the art in networking research, and to provide the tools necessary to allow students to stay current after the course ends. The Internet is not a static target! Our approach is to start by assuming no background, and then to run the course at a very fast pace -- "like drinking from a fire hose". As a rough estimate, the pace of the course will be roughly 2-3 times that of the equivalent undergraduate course (CSE 461). To ensure that everyone in the class understands the basics, there will be a set of programming assignments to build TCP-style transport (due week 4), routing and congestion control (due week 7), and multicast support for a shared whiteboard application (due week 10), on top of a framework we provide. Programming assignments are in Java, but we provide a short tutorial for those who are only familiar with C or C++. There will also be five problem sets. The course has no midterm or final exam.

A major part of the course is class discussion of networking topics. Clearly, we could all read the book and the papers on our own, so the class meetings are designed to add significantly to that. For preparation for each class, students will be asked to write a 1/4 page evaluation of each paper in the reading list, due by email at noon on the Wednesday the paper is to be discussed in class. This will give me a chance to read them before class. The evaluation should focus on critical reading -- independent of what "spin" the authors put on the paper, what are the most important lessons that the paper shows, and what are the most important drawbacks or limitations to those lessons.

Lastly, as a final project, students will be asked to write a 5-10 page paper evaluating some new proposed standard or technology, such as IPv6, ATM, QoS, or Internet telephony. Quantitative evaluations will be encouraged. Programming assignments and the project may be done individually or in teams of 2-3.

Grading


Programming assignments: 30%
Homework: 25%
Paper reviews: 5%
Class discussion: 15%
Final project: 25%

Syllabus

Week 1: How the Internet works and why

a) What exactly happens when you click on a Web link?
b) The end to end principle -- advantages and limitations
c) New directions for the Internet architecture
Readings:
Peterson Chap. 1

David Clark. The Design Philosophy of the Internet Protocols. Proceedings of 1988 SIGCOMM Symposium on Communications Architectures and Protocols, September 1988.

J.H. Saltzer, D.P. Reed, D.D. Clark. End-to-End Arguments in System Design. ACM Transactions on Computer Systems, Vol 2, N. 4, p 277-288, Nov 1984

Week 2: Transport and Hardware

a) Theory: stop and wait, sliding window, selective ack
b) Practice: UDP, TCP, RPC, HTTP, transactions
c) The hardware zoo: coding, Ethernets, ATM, Internet Readings: Peterson Chap. 3, 6, 9.1, 9.2

C.A. Kent and J.C. Mogul. Fragmentation Considered Harmful. Proc. of ACM SIGCOMM '86, 1986. take your pick

D.R. Boggs, J.C. Mogul, and C.A. Kent. Measured Capacity of an Ethernet: Myths and Reality. Proc. of ACM SIGCOMM '88, 1988. take your pick

Week 3: Routing

a) Mechanism: IP vs. ATM, DHCP, IPv6
b) Theory: link state, distance vector, hierarchical routing, CIDR
c) Measurements -- how well does it work in practice? Readings: Peterson Chap. 4, 5

V. Paxson, "End-to-End Routing Behavior in the Internet". ACM SIGCOMM '96, August 1996, Stanford, CA. Postscript

S. Savage, A. Collins, E. Hoffman, J. Snell, and T. Anderson. The End-to-End Effects of Internet Path Selection. Postscript

S. Floyd and V. Jacobson. The Synchronization of Periodic Routing Messages. IEEE/ACM Transactions on Networking, Vol. 2, No. 2, pp. 122-136, April 1994. Postscript

Week 4: Congestion Control I: TCP

a) How TCP congestion control works
b) Modelling TCP performance
c) TCP problems Readings: Peterson Chap. 8

M. Mathis, J. Semke, J. Mahdavi, T. Ott. The Macroscopic Behavior of the TCP Congestion Avoidance Algorithm. In Computer Communication Review, July 1997. Postscript

(changed)
A Comparison of Mechanisms for Improving TCP Performance over Wireless Links. Hari Balakrishnan, Venkat Padmanabhan, Srinivasan Seshan, Randy H. Katz. IEEE/ACM Transactions on Networking, December 1997. postscript

Week 5: Congestion Control II: Post TCP

a) End to end solutions: packet pair and Vegas
b) Buffer management solutions: fair queueing and RED
c) Network solutions: SPAND, ECN, rates and credits Readings:

A. Demers, S. Keshav, and S. Shenker. Analysis and Simulation of a Fair Queueing Algorithm. Internetworking: Research and Experience, Vol. 1, No. 1, pp. 3-26, 1990.

S. Floyd and V. Jacobson. Random Early Detection Gateways for Congestion Avoidance. IEEE/ACM Transactions on Networking, 1(4):397-413 August 1993. Compressed Postscript

Week 6: Multicast I

Readings: Peterson Chap. 5.5

S. Deering and D. Cheriton. Multicast Routing in Datagram Internetworks and Extended LANs. ACM Transactions on Computer Systems (TOCS), Vol. 8, No. 2, pp 85-110, May, 1990.

S. Deering, D. Estrin, D. Farinacci, V. Jacobson, C.-G. Liu, and L. Wei. An Architecture for Wide-Area Multicast Routing, Proceedings of SIGCOMM '94. Postscript

(dropped)
Steven McCanne, Van Jacobson and Martin Vetterli. Receiver-driven Layered Multicast, SIGCOMM '96. Postscript

Week 7: Multicast II

Readings:

S. Floyd, V. Jacobson, C. Liu, S. McCanne, L. Zhang. A Reliable Multicast Framework for Light-weight Sessions and Application Level Framing. IEEE/ACM Transactions on Networking, 1997. Postscript

(dropped)
Mark Handley and Jon Crowcroft. Network Text Editor (NTE): A scalable shared text editor for the MBone. SIGCOMM '97. Postscript

Sandeep Bajaj, Lee Breslau, and Scott Shenker. Uniform versus Priority Dropping for Layered Video. SIGCOMM '98. Postscript

Week 8: Naming

Readings: Peterson Chap. 5.6

P. V. Mockapetris and K. Dunlap, Development of the Domain Name System. In Proceedings of SIGCOMM '88 (Stanford, CA, August, 1988).

A. Vahdat, M. Dahlin, T. Anderson and A. Aggarwal. Active Naming: Flexible Location and Transport of Wide-Area Resources. Postscript

Week 9: Real time

Readings: Peterson Chap. 9.3

D. Clark S. Shenker, and L. Zhang. Supporting Real-Time Applications in an Integrated Services Packet Network: Architecture and Mechanisms. In Proceedings of SIGCOMM '92. Postscript

L. Zhang, S. Deering, D. Estrin, S. Shenker, and D. Zappala. RSVP: A New Resource Reservation Protocol. IEEE Network, Vol. 7, pp. 8-18, September, 1993. Postscript

S. Jamin, P. B. Danzig, S. J. Shenker, L. Zhang. A Measurement-based Admission Control Algorithm for Integrated Services Packet Networks. To appear, IEEE/ACM Transactions on Networking. Postscript

Week 10: Security

a) Theory: public and private key encryption, authentication services
b) Practice: why you should never trust a computer Readings: Peterson Chap. 7.3

Jennifer G. Steiner, Clifford Neuman, and Jeffrey I. Schiller. Kerberos: An Authentication Service for Open Network Systems Proc. of the USENIX Winter Conference, February 1988, pp. 191-202. Postscript

Ken Thompson. Reflections on Trusting Trust. Communication of the ACM, Vol. 27, No. 8, August 1984, pp. 761-763.