|
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 |
Department of Computer Science & Engineering University of Washington Box 352350 Seattle, WA 98195-2350 (206) 543-1695 voice, (206) 543-2969 FAX [comments to owner-cse588] |