Date: Wed, 20 Nov 1996 22:16:30 GMT Server: NCSA/1.5.1 Last-modified: Wed, 07 Aug 1996 14:41:33 GMT Content-type: text/html Content-length: 3705 Computer Communication Networks (CPS 214) Computer Communication Networks (CPS 214)

Times: MW 5:30-6:45PM, LSRC D106

This course is a general introduction to computer communication networks. It focuses on general networking principles augmented with specific examples taken from the TCP/IP protocol suite. At present, the connected TCP/IP Internet is the largest network in the world, joining approximately ten million machines at universities, government labs and industrial sites. Each time you use electronic mail, rlogin/telnet, ftp, or world-wide web (WWW/Mosaic) you've been using the TCP/IP protocols.

We will spend time on each layer in the ISO protocol suite. In particular we will study:

This is a "hands on" course and there will be both written and programming assignments. In the past, I've given four programming projects that involve implementing network protocols. The projects included implementing a sliding-window data-link layer protocol, complete with checksums, timeouts and retransmissions; implementing both the client and server sides of remote procedure calls (using Sun's RPCGEN facility); and using the "oracle" name server to dynamically register network services allowing students to write their own client and server programs and invoke the services provided by other student servers (e.g. using BSD sockets).

Warning: I will be updating the course this semester, and plan to cover some aspects of the x-kernel (as described in Peterson & Davie's book). Thus, the projects described above are likely to change.

Texts:

Background: The course will be taught at the introductory graduate level. C programming experience will be a plus, but is not required. (I may give 1-2 introduction to C programming assignments whose purpose is to introduce the language. Picking up C should be straightforward for those with a solid background in at least one conventional programming language such as Pascal. Note, however, that students are expected to learn C on their own time.) In addition, a background in basic data structure is assumed.

For more information, contact Thomas Narten, 254-7798, narten@raleigh.ibm.com.