Syllabus Collection >
Please use this identifier to cite or link to this item:
|Title: ||CSE 588|
|Authors: ||University of Washington Computer Science and Engineering|
|Issue Date: |
|Publisher: ||University of Washington Computer Science and Engineering|
|Abstract: ||CSE logo University of Washington Department of Computer Science & Engineering CSE 588 - Spring 2002 - Syllabus
CSE Home CSE 588 Home About Us Search Contact Info
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, multimedia, and ubiquitous wireless promise even more rapid change in the Internet.
In order to better understand the Internet, we will run the course as a large participatory design session: how would you (re-) design the Internet today, given what we know now about its scale and application requirements? Readings will provide background on how the Internet works, but we will take that only as a starting point. Following Internet design practice, student groups will make specific proposals for new protocols by specifications and working code, using a common base platform called Fishnet for simulating protocol behavior across a number of nodes.
The course will assume no pre-existing knowledge of the Internet protocols.
Specific project ideas are sketched below, but students are also encouraged to define their own projects - in general, anything that substantively addresses the issues discussed in class is acceptable. A completed project must include both a protocol specification and a working implementation. Example protocol specifications can be found at www.ietf.org/rfc.html, although you need not follow the IETF RFC format. Projects can be implemented in fishnet or separately; fishnet is provided for convenience and interoperability, but projects can be done separately if that is more appropriate/more convenient. Projects can be done in any size teams, but to keep things fair, some additional sophistication will be expected for larger teams. Similarly, we expect each team to complete three projects over the course of the term, but if some teams wish to do two of the projects in more depth, that can be negotiated - see the instructors in advance however. Projects are generally due on Monday at 9am, three weeks after the relevant class discussion (e.g., week 2 projects will be due the Monday before the week 5 class discussion); as a special case, for Memorial Day weekend, projects will be due on Tuesday at 9am. Some flexibility in due dates are possible for special circumstances. However, all projects must be completed by the date the final would have been held, Thursday, June 13, 2002, at 8:30pm.
Protocol proposals: 75%
Class participation: 25%
Larry L, Peterson and Bruce S. Davie Computer Networks: A Systems Perspective, Second Edition, Morgan Kaufmann Publishers (1999)
Additional readings from the collection of papers
Tom Anderson by request
Bart Niswonger by request
Tuesday 6:30-9:30, location TBD
Week 1: Internet design principles
* 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
* Tom Anderson, Scott Shenker, Ion Stoica, and David Wetherall. Towards More Robust Internet Protocols, March 2002.
Week 2: Internetworking and Transport (aka TCP/IP)
* Peterson, Chapter 4.1, 5.2
* V.G. Cerf and R.E. Kahn, A Protocol for Packet Network Interconnection, IEEE Transaction on Communications, 22(5), May 1974, pp. 637-648. A cleaner, but reprinted, copy is here
* C.A. Kent and J.C. Mogul. Fragmentation Considered Harmful. Proc. of ACM SIGCOMM '86, 1986.
* Design and implement a scalable Internet router, reliable circuit establishment for circuit switching, a sliding window transport protocol including connection establishment, or a "layer 4" switch (NAT, load balancer and firewall).
Week 3: Routing: Intradomain routing and BGP
* Peterson, Chapter 4.2, 4.3
* C. Labovitz, G. R. Malan, and F. Jahanian, Internet Routing Instability, Proceedings of SIGCOMM'97, September 1997.
* 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.
* Design and implement a robust hierarchical routing protocol.
Week 4: Mobile and Name Routing (April 23)
* J. Broch, D. Maltz, D. Johnson , Y-C. Hu, J. Jetcheva, A Performance Comparison of Multi-Hop Wireless Ad Hoc Routing Protocols, Proc. ACM/IEEE MOBICOM, Dallas, TX, August 1998.
* Ion Stoica et al., "Internet Indirection Infrastructure", UC Berkeley Technical Report, 2002.
* Design and implement a wireless routing protocol or a scalable publish/subscribe infrastructure.
Week 5: Congestion Control: what should hosts do?
* Peterson, Chapter 6.3
* V. Jacobson, Congestion Avoidance and Control, SIGCOMM '88, Sept. 1988, pp. 314-329.
* H. T. Kung and Robert Morris. "Credit-Based Flow Control for ATM Networks", IEEE Network, 1995.
* Design and implement a congestion control scheme (end to end or hop by hop).
Week 6: Congestion Control: what should routers do?
* Peterson, Chapter 6.2, 6.4
* A. Demers, S. Keshav, and S. Shenker, Analysis and Simulation of a Fair Queueing Algorithm, Proceedings of ACM SIGCOMM'89, pp 3-12.
* S. Floyd and V. Jacobson, Random Early Detection gateways for Congestion Avoidance IEEE/ACM Transactions on Networking, 1(4):397-413 August 1993.
* Design and implement self-tuning active queue management.
Week 7: Mobile Networking
* H. Balakrishnan, S. Seshan, and R.H. Katz., Improving Reliable Transport and Handoff Performance in Cellular Wireless Networks, ACM Wireless Networks, 1(4), December 1995.
* A. Snoeren and H. Balakrishnan, An End-to-End Approach to Host Mobility, Proc. ACM MOBICOM, Boston, MA, August 2000.
* Design and implement a TCP-aware wireless router, or a system for maintaining connection state for mobile hosts.
Week 8: Multicast
* Peterson, Chapter 4.4
* S. Floyd, V. Jacobson, S. McCanne, C. G. Liu, and L. Zhang, A Reliable Multicast Framework for Light-weight Sessions and Application Level Framing, ACM SIGCOMM 95. There is a later version of this paper available from the authors or citeseer
* Steven McCanne, Van Jacobson and Martin Vetterli. Receiver-driven Layered Multicast, SIGCOMM '96.
* Design and implement a scalable, hierarchical multicast routing protocol, a multicast reliability protocol, a multicast congestion control protocol, or a self-configuring multicast overlay network.
Week 9: Quality of Service
* Peterson, Chapter 6.5
* 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.
* I. Stoica and H. Zhang, Providing Guaranteed Services Without Per Flow Management. ACM SIGCOMM'99 , Boston, MA, Sept 1999.
* Design and implement Internet support for real-time applications.
Week 10: Naming and Discovery
* Peterson, Chapter 9.1
* P. V. Mockapetris and K. Dunlap, Development of the Domain Name System. In Proceedings of SIGCOMM '88 (Stanford, CA, August, 1988).
* I. Clarke, O. Sandberg, B. Wiley, and T. W. Hong, Freenet: A Distributed Anonymous Information Storage and Retrieval System ICSI Workshop on Design Issues in Anonymity and Unobservability, July 2000.
* Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan, Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications, ACM SIGCOMM 2001, San Deigo, CA, August 2001, pp. 149-160.
* Design and implement a scalable naming infrastructure or a scalable file sharing utility.
CSE logo Department of Computer Science & Engineering
University of Washington
Seattle, WA 98195-2350
(206) 543-1695 voice, (206) 543-2969 FAX
[comments to owner-cse588]|
|Appears in Collections:||Syllabus|
Files in This Item:
All items in DSpace are protected by copyright, with all rights reserved.