Computer networks from ISPs to WiFi and cellular networks are a key part
of the information economy. These networks are the foundation for the Web,
and they enable companies such as Google, Facebook and Amazon. This course
introduces the fundamental problems of computer networking, from sending
bits over wires to running distributed applications. For each problem,
we explore the design strategies that have proven valuable in practice.
Topics include error detection and correction, multiple-access, bandwidth
allocation, routing, internetworking, reliability, quality of service,
naming, content delivery, and security. As we cover these topics, you will
learn how the internals of the Internet work to support the Web and other
networked applications. You will develop a detailed understanding of widely-used
networking technologies such as TCP/IP, HTTP, 802.11, Ethernet, and DNS.
David Wetherall, Arvind Krishnamurthy and John Zahorjan