Comp 443-001, Computer Networks, Fall 2007

Note that this course is not crosslisted as Comp 343, though interested undergraduates should contact the department.

Peter Dordal, Loyola University Chicago Dept of Computer Science.

Wed, 4:15-6:45, 25EP-202

The text is the fourth edition of Peterson & Davie's Computer Networks, A Systems Approach. (The third edition is still ok)

My general course groundrules are here. Exams will count for between 70% to 80% of your grade, with homework and programs making up the rest.

The final is Wednesday, Dec 12, at our usual time. The midterm is tentatively set for October 17 (week 8).

Spring 2022:
I am generally in my office on Mondays from noon to a little before 4:00.
Sometimes I have meetings or come in late, so check first.
I am also available other times via Zoom, by appointment. Contact me via email for the Zoom meeting ID.


Study guides and materials

Information on the ns simulator, and on an alternative/extra-credit project, is here.

The final exam is Wednesday, December 12, at our usual time. Here is a study guide. Here are solutions.

Here is the midterm study guide.

A brief overview of networks

Course notes
Week 1: August 29 Week 2: Sept 5 Week 3: Sept 12
Week 4: Sept 19 Week 5: Sept 26 Week 6: Oct 3
Week 7: Oct 10 Week 8: Oct 17 Week 9: Oct 24
Week 10: Oct 31 Week 11: Nov 7 Week 12: Nov 14
Thanksgiving Week 13: Nov 28 Week 14: Dec 5

My Ethernet notes

Programming Project

You are to implement a client for the WUMP protocol. Note that it is the client's responsibility here to manage the timeout/retransmission protocol: if data hasn't been received in a reasonable amount of time, the client is to time out and retransmit the previous ACK. This is sort of backwards, but it's easier (and safer) than implementing the server end.

Specific details are now here.


The material divides naturally into three "tracks" that we will alternate between, at will. Here are the tracks: This looks like the traditional four-layer model (LAN/IP/transit/application), but we're not really abiding by any strict layering. Here is further information about what will be covered in each track:

LAN basics

1.1 basics
1.2 layering
1.3 sockets programming intro
2.1 links basics
2.5 reliable transmission (moved up to accomodate TCP)
3.1 switching and forwarding (moved up to accomodate IP)
2.2 encoding
2.3 framing
2.4 error detection
2.6 Ethernet
3.2 bridged Ethernet
3.3 ATM

IP and routing

4.1 IP basics
4.2 Distance-Vector and Link-State Routing
4.3 Subnets, supernets, BGP, and IPv6; backbone structure; AADS v MAE EAST.

TCP and congestion

5.1 UDP
5.2 TCP
5.3 Remote Procedure Call (blast/chan v Sun) (not done)
6.1 Congestion issues
6.2 Queuing models
6.3 TCP congestion management: Reno and Tahoe
6.4 DECbit, RED, and TCP Vegas
6.5 Reservation-based approaches to congestion (not done)



Class-by-class summary: see the nnotes file, "my course notes", above


The following classic paper has useful information about TCP/IP security: Security Problems in the TCP/IP Protocol Suite by Steve Bellovin.