Comp 343/443, Computer Networks, Spring 2004

Peter Dordal, Loyola University Chicago Dept of Computer Science.
4:15-6:45 pm, Wednesdays, 25 East Pearson Rm 203. Comp 343-671, 443-884
Note that the LT-310 room number is wrong.

final exam study guide is below.

The text is the new third edition of Peterson & Davie's Computer Networks, A Systems Approach.

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 midterm will be Week 8, Wednesday, February 25. The final will be April 21, in our usual classroom at the usual time.


Programming Project

There are two programs to write, each in java. Both are due Wednesday, April 7, or thereabouts. No late penalty will be assessed, however.

Here are some programs that might be useful:

More demo programs illustrating how to do timeouts etc will be available soon. Implementation will be in Java.


Makeup project

For extra credit to raise your midterm score, you can implement the "server side" of the portscanner. That is, you should implement a java program that can open multiple ServerSockets (each on a different port), and, when an incoming connection is made, each socket should write some data and then close the connection. The data will generally be a string; use a different string for each socket/port. You should be able to test this with your portscanner.

You will need to create a separate thread for each port number.


Study guides and materials

Here is the final exam study guide.
Answers are here.

Here is the midterm study guide. Answers are here.

Here is an outline of the entire course. The outline is in logical order; we will jump around more. The outline is originally from Fall 2003; I'll update it to reflect Spring 2004 coverage as we go along.

In order to break up the three-hour lectures, I am dividing the material into three "tracks" that we will alternate between, at will. Most evenings we will cover material from two of the tracks. 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)



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