Last Modified Sun Apr 23 15:47:20 EDT 200
Report problems to b.mckinnon@ieee.org
CS3251: Computer Networking I
3-0-3. Prerequisites: CS2200 (or equivalent)
Course Objective:
Introduction to problems in computer networking, including error recovery,
medium access, routing, flow control, and transport. Emphasis on current
best practice. Includes programming of networked applications.
Jump to textbook & reference information
Jump to grade distribution information
Jump to the syllabus for the quarter (download)
Jump to the course newsgroup
Jump to the CoC Departmental Web Page
Instructor: Dr. Bill McKinnon
Recommended:
[Stallings] Data and Computer Communications, 5th ed. by Stallings,
Prentice-Hall, 1997
[Stallings2] High-Speed Networks: TCP/IP and ATM Design Principles
by Stallings, Prentice Hall, 1998
[Ammar] Fundamentals of Telecommunication Networks by Saadavi and Ammar
with El-Hakeem, John Wiley, 1994
[Bertsekas] Data Networks, 2nd ed. by Bertsekas & Gallager, Prentice
Hall, 1992
[Spragins] Telecommunications: Protocols and Design by Spragins, Hammond,
and Pawlikowski, Addison-Wesley, 1991
[Tanenbaum] Computer Networks, 2nd ed. by Tanenbaum, Prentice Hall,
1989
[Schwartz] Telecommunication Networks: Protocols, Modeling, and Analysis
by Schwartz, Addison-Wesley, 1987
[Hammond] Performance Analysis of Local Computer Networks by Hammond
and O'Reilly, Addison-Wesley, 1986
Software Sites of Interest
Ghostview
Netlib
STL (Software
Template Library)
Walnut Creek Software (FTP)
Numerical Recipes Online
Gnuplot
Meschach
TNT by Roldan
Pozo
MetaLab @ UNC, Chapel Hill
GNU Software Repository @ MIT
More information may be added as the course progresses.
|
(non-degree candidates) |
(degree candidates) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This course is intended to provide an introduction to issues involved in making a contemporary computer network operate correctly. Specific issues which will be discussed include error control, medium access, routing, flow control, addressing, and transport. Emphasis in the course will, as much as possible, include techniques for implementations currently in practice. Notice that the course will require a significant amount of implementation (i.e., programming), some of which will involve interacting programs on different machines.
Class attendance is not mandatory. I do not care where you spend your time, as long as you get your work done. However, in the same breath, notice that I am not tolerant of missed deadlines. Prior notification of interviews, etc. and immediate notification of emergency situations will be mandatory for rescheduled events.
Examinations and assignments are due promptly at the dates and times noted; any assignments turned in within 10 minutes of the due time will have 20% of their grade deducted for being late. No exams will be accepted after time is called and no assignments will be accepted after 10 minutes of the due time. Finally, exam grades are non-negotiable (i.e., "binding") at 5pm on the days indicated in the syllabus below (i.e., one week after they are returned).
Assignments will be distributed via hyperlinks shown in the syllabus (below). These links will be activated on the days listed in the syllabus. It is the student's responsibility to (individually) download the assignment, print it, solve the problems, and turn in the assignments per given instructions. Students should have access to the departmental clusters by Mon 17 Jan 2000. Assignments are to be solved without any personal assistance from other individuals; software should be developed individually or downloaded from public domain sources and compiled by the student. You are encouraged to use the course newsgroup (a link to which is located above) to ask and answer questions of each other about "C" (the implementation language for the course) and general questions (for example, "how do I compile with library 'X'?" or "what does error message 'Y' mean?"). The newsgroups will be monitored by the TAs and they will participate in answering posted questions and posting clarifications to assignments. An honor code will be attached to each assignment and examination. Academic dishonesty will be dealt with harshly by the instructor.
Finally, grades are non-negotiable (i.e., "binding") at 5pm one week after they are returned.
| Week #, Date | # | (Prior) Class Reading |
|
|
| W2, Tues 11 Jan 2000 | 1 | Course Introduction;
Introduction to Networking & Standards (download notes) |
||
| Thurs 13 Jan 2000 | 2 | Introduction to Layered Architectures;
"What Is A ... ?" (download notes) |
||
| W3, Tues 18 Jan 2000 | 3 | Skim Parts I & II;
[Comer] Ch. 16 |
Introduction to IP;
Addressing (download notes) |
|
| Thurs 20 Jan 2000 | 4 | [Comer] Ch. 26 | Introduction to DNS
(download notes) |
Assignment 1
available |
| W4, Tues 25 Jan 2000 | 5 | [Comer] Ch. 17 | ARP
(download notes) |
|
| Thurs 27 Jan 2000 | 6 | More on ARP
(download notes) |
Assignment 1 Due | |
| W5, Tues 1 Feb 2000 | 7 | [Comer] Ch. 18.1-18.3,
18.9-18.10; Ch. 19 |
Introduction to IP
(download notes) |
|
| Thurs 3 Feb 2000 | 8 | [Comer] Ch. 18.4-18.8 | Routing with IP
(download notes) |
Assignment 2
available End of Exam 1 Material |
| W6, Tues 8 Feb 2000 | 9 | Review for Exam 1 (if nec.) | ||
| Thurs 10 Feb 2000 | 10 | Exam 1 (solutions) | ||
| W7, Tues 15 Feb 2000 | 11 | [Comer] Ch. 21 | ICMP
(download notes, revised) |
Assignment 2 Due |
| Thurs 17 Feb 2000 | 12 | [Comer] Ch. 22.1-22.5 | Intro' to Transport Layer Services
(download notes, revised) |
|
| Fri 18 Feb 2000 | Drop Day | |||
| W8, Tues 22 Feb 2000 | 13 | [Comer] Ch. 22.10-22.11,
24.1 |
Intro to TCP; Intro to
Socket-Level Programming Interfaces (download notes, revised) |
|
| Thurs 24 Feb 2000 | 14 | [Comer] Ch. 23,
24.1-24.10 |
More on
Socket-Level Programming Interfaces; Client-Server Designs (download notes, revised) |
Assignment 3
available |
| W9, Tues 29 Feb 2000 | 15 | UDP
(download notes) |
||
| Thurs 2 Mar 2000 | 16 | TCP (Connection Setup &
Take-down) (download notes) |
Assignment 3 Due | |
| W11, Tues 14 Mar 2000 | 17 | [Comer] Ch. 22.6-22.9 | TCP Reliability
(download notes) |
|
| Thurs 16 Mar 2000 | 18 | [Comer] 22.12-22.13 | More on TCP Reliability;
Congestion Control at the Transport Layer (download notes) |
Assignment 4
available |
| W12, Tues 21 Mar 2000 | 19 | No Class | ||
| Thurs 23 Mar 2000 | 20 | [Comer] Ch. 26 (again) | DNS
(download notes) |
Assignment 5
available |
| W13, Tues 28 Mar 2000 | 21 | No Class | ||
| Thurs 30 Mar 2000 | 22 | More on DNS
(download notes) |
||
| W14, Tues 4 Apr 2000 | 23 | Review for Exam 2 (if nec.) | Assignment 4 Due | |
| Thurs 6 Apr 2000 | 24 | Exam 2 (solutions) | ||
| W15, Tues 11 Apr 2000 | 25 | [Comer] Ch. 3,5 | Data Link Layer
(download notes) |
|
| Thurs 13 Apr 2000 | 26 | [Comer] Ch. 7 | More on Data Link Layers
(download notes) |
Assignment 5 Due |
| W16, Tues 18 Apr 2000 | 27 | [Comer] Ch. 6 | CRC Schemes
(download notes) |
Assignment 6
available |
| Thurs 20 Apr 2000 | 28 | [Comer] Ch. 29 | HTTP | |
| W17, Tues 25 Apr 2000 | 29 | Review for Final Exam | Assignment 6 Due | |
| Thurs 27 Apr 2000 | 30 | Final Exam |