Course Title: 
Network Systems
Course Brief Description: 

The focus of this course is the design of computer networks, including hardware, software, physical layer issues, protocol design, wireless, internetworking, routing, congestion control, naming, security, and peer to peer systems. While it is relatively easy to learn how a specific network system works, it is much harder to design a good one. The Internet is a great example — one can learn most of the aspects of how the Internet protocols work in a few weeks, but that won’t help you (much) in understanding how the Internet is evolving over time. The Internet is successful for reasons that are mostly hidden, 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, industry is developing new protocols all the time, often quite poorly. As a recent example, one need look no farther than 802.11 (WiFi) — when first introduced, it had fundamental flaws in security, resource allocation, scalability and management. Added to the fact that the Internet itself is poorly designed for many of these same issues, the need for a better understanding of how to design network systems has never been greater.

Instructor Name: 
Tom Anderson & Ratul Mahajan
Course Number: 
CSEP 561
Course Instance ID: