CS 585 - 002: Computer Networks (Spring 2001)


Location: CP 153 (Chemistry-Physics Building)
Time: TR 12:30 pm - 1:45 pm (Tuesday and Thursday)
Textbook: Larry L. Perterson & Bruce S. Davie, Computer Networks: A Systems Approach,
Second Edition, Morgan Kaufmann Publishers, 2000.


Description

This course is an introduction to the principles, architectures and protocols of computer networks. We will cover a wide range of topics, from physical media to internetworking and end-to-end services. The focus will be on the principles of network design and issues specific to the Internet. After taking this course, students are expected to get an understanding of networking problems and solution approaches. Practical experience of design and implementation of network protocols will be emphasized through programming assignments. Also the course will provide the background for further study of other graduate courses in networking.
Instructor

Zongming Fei
Office: 227 James F. Hardymon Building, (859)257-3202
Office hours: 2:00 pm - 3:00 pm TR at 308 EE Annex (or by appointment)
fei@cs.uky.edu
Prerequisite

Students are required to have taken CS 570: Modern Operating Systems or equivalent. Also I assume that you have a solid grasp of C programming language on the Unix systems.

Handouts

Syllabus
Homework 1
Homework 2
Project 1 (Amendment)
Project 2
Homework 3
Lecture Slides

Transport, UDP, TCP
TCP Congestion Control
Resource Allocation and Congestion Avoidance
DNS,HTTP
Physical Layer, Data Link Layer
Token Ring (FDDI), Wireless
Remote Procedure Call
Multimedia, QoS
Security

Some Useful Links

RFCs are available from IETF site.

Here is A Brief History of the Internet

We will not be covering sockets programming in class. A good reference book is: The Pocket Guide to TCP/IP Sockets (C Version), by M. J. Donahoo and K. L. Calvert, Morgan Kaufman, 2001. Here are some on-line tutorials that will get you started.

RPI Sockets Tutorial
Jim Frost's BSD Sockets Primer
Berkeley UNIX System Calls and Interprocess Communication,
UNIX Socket FAQ

Here is a brief introduction to HTML, which you will use to design your home page and in your second project.

A Beginner's Guide to HTML


Grading

Your grade will be determined by your performance on homework and programming assignments, participation in class, a midterm exam and a final exam. The tentative weights are as follows:

Class participation - 5%
Homework and Programming Assignments - 35%
Midterm exam - 30%
Final exam - 30%

Students are expected to do all assignments yourself, unless explicitly told otherwise. Honest and ethical behavior is expected at all times. There will be no tolerance for plagiarism or other academic misconduct. You may read U.K. Student Rights and Responsibilities at http://www.uky.edu/StudentAffairs/Code for a detailed description.

Schedule

This schedule is tentative and subject to change.


Day Date Topic Reading
Th 01/11 Introduction, Motivation 1.1, 1.2, 1.3
Tu 01/16 Ethernet 2.6
Th 01/18 Ethernet-CSMA/CD 2.6
Tu 01/23 Internetworking 4.1.1, R791
Th 01/25 IP - Addressing, Forwarding 4.1.3, 4.1.4
Tu 01/30 IP - Fragmentation, ARP, ICMP 4.1.2, 4.1.5, 4.1.7
Th 02/01 IP Routing 4.2.1, 4.2.4
Tu 02/06 RIP 4.2.2
Th 02/08 OSPF 4.2.3
Tu 02/13 Subnets, CIDR 4.3.1, 4.3.2
Th 02/15 BGP 4.3.3
Tu 02/20 IP Routing wrapup  
Th 02/22 IPv6 4.3.5
Tu 02/27 Transport, UDP, TCP overview5.1
Th 03/01 Project  
Tu 03/06 flexible  
Th 03/08 Midterm  
Tu 03/13 Spring Break No Class
Th 03/15 Spring Break No Class
Tu 03/20 TCP sliding window 5.2
Th 03/22 TCP Congestion Control 6.3
Tu 03/27 TCP Congestion Control 6.3
Th 03/29 Application: DNS/WWW (HTTP) 9.1
Tu 04/03 Application: FTP/SMTP/SNMP 9.2
Th 04/05 Encoding 2.2
Tu 04/10 Error Detection, Reliable Transmission 2.4, 2.5
Th 04/12 Token Ring, FDDI, wireless 2.7, 2.8
Tu 04/17 RPC 5.3
Th 04/19 QoS, Multimedia, RTP 6.5, 7.2, 9.3
Tu 04/24 Security 8.1,8.2,8.4
Th 04/26 Review  
Mon 04/30 Final Exam