CS6250: Computer Networks
College of Computing, GATech
Fall 2002
Instructor:
Office: 218 GCATT
Office phone: 5-4205
Office hours: TR 1:30-2:30 (just after class)
Email: dovrolis@cc.gatech.edu
Teaching Assistant:
Jinliang Fan (jlfan@cc.gatech.edu): Office hours: F 12:00-2:00pm at CoC Common Area & Solaris Lab
Amogh Dhananjay Dhamdhere (amogh@cc.gatech.edu). Office hours: MW 2-3 at CCB153
Table of Contents
- Class meeting times: TR 12:05 - 1:25
- Classroom: 309 Architecture
- The final grades were submitted on Dec 11, 2002.
We will primarily follow the textbook:
by Larry L. Peterson and Bruce S. Davi, Morgan Kaufmann, 1999.
We will also use the following references in certain classes.
- J.Kurose and K.Ross,
Computer Networking, A top down approach featuring the Internet , 2000
- A. Leon-Garcia and I. Widjaja
Communication Networks, Fundamental Concepts and Key Architectures, 2000
- S.Keshav,
An Engineering Approach to Computer Networking:
ATM Networks, the Internet, and the Telephone Network , 1997
- W. R. Stevens,
TCP/IP Illustrated, Volume 1: The Protocols, 1994.
- G. R. Wright and W. R. Stevens,
TCP/IP Illustrated, Volume 2: The Implementation, 1995.
- R. Perlman,
Interconnections: Bridges, Routers, Switches, and Internetworking
Protocols , 2000
- B. Krishnamurthy and J. Rexford,
Web Protocols and Practice: HTTP/1.1, Networking Protocols, Caching, and Traffic Measurement, 2001
Finally, the following books are excellent references for
UNIX network programming,
and you will find them to be very useful for years to come.
- Aug 20:
Course overview
Powerpoint slides.
- Aug 22:
Unix sockets programming
Readings: PD-1.3
Tutorial on Unix Sockets: Slides
and Notes.
- Aug 27:
Layering, protocols, and network architectures
Readings: PD-1.1, PD-1.2
Powerpoint slides.
- Aug 29:
Encoding, framing, and synchronization
Readings: PD-2.1, PD-2.2, PD-2.3
Powerpoint slides.
- Sep 3:
Error detection and correction
Readings: PD-2.4
Powerpoint slides.
- Sep 5:
Flow control and the sliding window algorithm
Readings: PD-2.5
Powerpoint slides.
- Sep 10:
Ethernet networks
Readings: PD-2.6
Powerpoint slides.
- Sep 12:
Token ring, FDDI, and IEEE802.11 networks
Readings: PD-2.7, PD-2.8
Powerpoint slides.
- Sep 17:
Packet forwarding: datagrams vs virtual-circuts
Readings: PD-3.1
Powerpoint slides.
- Sep 19:
Bridges and LAN switches
Readings: PD-3.2
Powerpoint slides.
- Sep 24:
Cell switching and ATM networks
Readings: PD-3.3
Powerpoint slides.
- Sep 26:
Switching hardware architectures
Readings: PD-3.4
Powerpoint slides.
- Oct 1:
Internetworking: the IP and ICMP protocols
Readings: PD-4.1
Powerpoint slides.
- Oct 3:
Layer-2/3 address translation (ARP), dynamic host configuration (DHCP), and Virtual Private Networks (VPNs)
Readings: PD-4.1
Powerpoint slides.
- Oct 8:
Introduction to routing, the distance vector algorithm, and a look at RIP
Readings: PD-4.2
Powerpoint slides.
- Oct 10:
Link-state routing, and OSPF (intradomain routing)
Readings: PD-4.2
Powerpoint slides.
- Oct 15:
FALL RECESS
- Oct 17:
Subnetting and supernetting (CIDR)
Readings: PD-4.3
Powerpoint slides.
- Oct 22:
Interdomain routing and BGP
Readings: PD-4.3
Powerpoint slides.
- Oct 24:
Introduction to multicasting
Readings: PD-4.4
Powerpoint slides.
- Oct 29:
End-to-end transport protocols: UDP and TCP
Readings: PD-5.1, PD-5.2
Powerpoint slides.
- Oct 31:
TCP protocol (cont')
Readings: PD-5.2
Powerpoint slides.
- Nov 5:
Pre-midterm help session
- Nov 7:
MIDTERM
- Nov 12:
Review midterm solutions, and introduction to congestion control
Readings: PD-6.1, PD-6.2
Powerpoint slides (prepared by Amogh Dhamdhere).
- Nov 14:
Congestion control
Readings: PD-6.3
Powerpoint slides.
- Nov 19:
Congestion avoidance
Readings: PD-6.4
Powerpoint slides.
- Nov 21:
Quality-of-Service
Readings: PD-6.5
Powerpoint slides.
- Nov 26:
Naming services and DNS
Readings: PD-9.1
Powerpoint slides.
- Nov 28:
THANKSGIVING BREAK
- Dec 3:
Application protocols: A look at SMTP and HTTP
Readings: PD-9.2
Powerpoint slides.
- Dec 5:
Pre-final help session
- Dec 10:
The following assignment will require some programming with threads
and sockets. The assignment will be carried through individually by
each student.
Design and implementation of a reliable transport protocol
over an unreliable and dynamic datagram network
see project description
Frequently-Asked-Questions (FAQ) about the project
Project deadlines:
- Form groups: Sep 10.
- Design report and protocol specification: Oct 1.
- Mid-semester progress report: Nov 5.
- Final code submission: Dec 3, 3:00pm.
- Demos: Dec 4 and 5.
The project grade will be determined at the end of the semester
taking into account all previous milestones.
- Aug 27, Chapter-1: 13, 15, 20
- Sept 3, Chapter-2: 7, 13, 16
- Sept 10, Chapter-2: 18, 25, 26, 29
- Sept 12, Chapter-2: 37, 39, 49
- Sept 19, Chapter-3: 2, 6, 7, 11, 15
- Sept 27, Chapter-3: 31 (cancel), 37
- Oct 17, Chapter-4: 5, 12, 13, 19, 20
- Oct 22, Chapter-4: 24, 26, 33, 39, 46
- Nov 14, Chapter-5: 7, 11, 19, 27, 37
- Nov 21, Chapter-6: 10, 17, 27, 32, 39, 44
- Nov 26, Chapter-9: 3, 12, 17, 18, 22, 26
- Midterm: 20%
- Final: 20%
- Assignment: 10%
- Group project: 40%
- `Paper-and-pencil' homeworks: 10%
- All work for this class, except the group project, is to be done individually.
You are strongly urged to familiarize yourselves with the
GT Student Honor Code
rules. Specifically, the following is not allowed:
- Copying, with or without modification, someone else's work when this work is
not meant to be publicly accessible (e.g., a classmate's program or solution).
- Submission of material that is wholly or substantially identical to that
created or published by another person or persons, without adequate credit
notations indicating authorship (plagiarism).
You are encouraged to discuss problems and papers with others as long as this
does not involve copying of code or solutions. Any public material that you
use (open-source software, help from a text, or substantial help from a
friend, etc...) should be acknowledged explicitly in anything you submit to us.
If you have any doubt about whether something is legal or not please do
check with the class Instructor or the TA.
- Absolutely no late homeworks, assignments, or projects will be accepted.
The deadline for each homework/assignment/project will be specified at the
corresponding handout.
- An overall score that is more than 85% of the maximum will lead to a final
grade of A.
Similarly, a score that is between 70% and 85% will lead to B,
between 60% and 70% will lead to C,
and between 50% and 60% will lead to D.
Borderline cases are also influenced by class participation and attendance.