Networks are now too large, complex, and diverse to be built on an ad hoc basis. This course provides a structured approach to the design, analysis, and implementation of networks and protocols. We study various protocols, including TCP/IP; WWW/HTTP; e-mail/SMTP; multimedia protocols for voice and video; and the IEEE 802 LAN protocol suite. In each case, the protocol's functions and the underlying reference model are discussed. LAN architecture and design, internetworking using switches and routers, and the design and analysis of both private networks and the Internet are presented. The course discusses new areas of work, including network quality of service, voice and video on the Internet, policy-based networks, and broadband/gigabit networks. Prerequisites: programming or computer architecture experience; a basic understanding of the principles of communication protocols.