Courses Comer Teaches At Purdue University
I teach courses in the areas of operating systems, networking,
internetworking, distributed systems, computer architecture,
and software design.
In addition to regular courses, I offer seminars in new research
Examples of Comer Courses
CS 636: Internetworking
This is a graduate-level course in internetwork design and
architecture. It covers addressing, binding, routing, internet and
application protocols, principles, and architecture of the global
Internet. The focus is on the TCP/IP Internet Protocol Suite. The
To acquaint students with major internet protocols, their features,
details, and functionality,
To introduce students to the literature, and
To show students principles and abstractions underlying design choices and
the consequent tradeoffs.
Students will solve homework problems, read RFCs and other pertinent
literature, and create a large complex computer program (usually, the
semester assignment is to construct an IP router, including datagram
fragmentation, reassembly, routing, and ICMP error handling).
Students are given access to a processor with interfaces on three networks.
The lab is attached to the global Internet.
The following is a tentative outline of topics for the course. Some
topics may take less time than allocated; others may take more. We will
move rapidly through material that is covered in the text, spending class
time on subtleties and current research issues. To some extent, speed will
depend on the maturity and background of the class.
- 1 Introduction to internetworking. Basic networking concepts. Review
of network hardware. Example networks including local and wide
Packet types and packet decoding.
- 2 Internet concept. The TCP/IP Internet abstraction and architectural
model. Internet addressing. Need for binding IP addresses.
Dynamic binding and ARP protocol.
- 3 Datagram concept and datagram format. Datagram (IP) routing.
IP Connectionless delivery service.
- 4 Error messages and error handling. ICMP protocol. Specifics of
- 5 Routers and datagram processing. Time-to-live. Datagram addresses
and route destinations. Host-specific routes. Default (wildcard) routes.
- 6 Protocol layering. Purpose. Internet reference model.
- 7 Transport protocols. User datagram protocol (UDP) and protocol
- 8 Reliable stream delivery service (TCP). Flow control, windowing,
acknowledgments. Three-way handshake. Protocol state diagram.
- 9 Vector-distance and link-status routing algorithms.
Core and non-core internet routing architecture.
- 10 Autonomous systems concept. Exterior Gateway Protocols, reachability.
Path routing and BGP, weaknesses.
- 11 Interior gateway protocols (e.g., RIP, OSPF, IS-IS). Metric
- 12 Client-server model for applications. Examples. Domain name
- 13 Other application-level services including: electronic mail (SMTP),
file transfer (FTP and TFTP), remote login and remote desktop.
- 14 IPv6 model and changes.
- 15 Network management (SNMP, Software Defined Networking).
- 16 New research topics.