The Internet is one of the most fundamental technological advances in the last 50 years. In this class we explore the TCP/IP family of protocols: IP, UDP, TCP, routing, addresses and name translation, etc. We will review the application programming interface for networked applications (i.e., sockets programming), and some factors in client / server design. Security is one of the design aspects that will be repeatedly featured.

This course surveys about 15 or 16 protocols that cover all the protocol layers starting from the link layer (Ethernet, 802.11), the network layer (ARP,ICMP, IP,DHCP,NAT), the transport layer (TCP,UDP) and the application layer (DNS, HTTP, RTSP). For each protocol we discuss its function(s), messages, principles of operation, and design subtleties. The purpose of covering these protocols is to get a solid technical understanding of the Internet's foundations and a concrete example of complete network protocol family. The course material will be taken from the textbook but the students will also be required to read the actual protocol specifications (RFCs).

A major part of the class are the group programming projects that give the opportunity to implement some of the protocols (or simplified versions of them) covered in class.


  • 600.120-Introduction to Programming in C/C++


Class Participation5%


You can buy these books from the Hopkins bookstore. They are also available from online and brick-and-mortar bookstores.

Required: Computer Networks: A Systems Approach 3rd Edition by Larry Peterson and Bruce Davie. Publisher: Morgan Kaufmann
Recommended: UNIX Network Programming by W. Richard Stevens, Bill Fenner, Andew M. Rudoff Publisher: Prentice Hall PTR; 3rd edition ((October 22, 2003) ISBN: 0131411551
Note: This is one of the best references for UNIX network programming. Will help you with your implementation projects if you are not familiar with network programming. A must have for anyone doing network programming
Recommended: Web Protocols and Practice: HTTP/1.1, Networking Protocols, Caching, and Traffic Measurement by Balachander Krishnamurthy, Jennifer Rexford Publisher: Addison-Wesley Pub Co; 1st edition (May 4, 2001) ISBN: 0201710889
Note: Covers HTTP and streaming media applications. I will be providing handouts for these sections so you don't need to buy this one.
Andreas Terzis
Last modified: Sun Aug 27 10:05:07 EDT 2006