Comp 343/443, Computer Networks, Spring 2005

Peter Dordal, Loyola University Chicago Dept of Computer Science.

MWF 2:45-3:35, 25EP-L09.

The text is the 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 is tentatively set for Wednesday, March 16. The final will be Monday, May 9, at 11:00, in our usual classroom.

Study guides and materials

Here is the
final exam study guide, containing a list of material to be covered on the final and some related exercises from the text.
Answers are now here.

Here is a more accurate diagram of fast recovery.

Here is the midterm study guide. Answers are here.

Here are my somewhat disorganized notes.

My Ethernet notes

Programming Project

For your project you are to implement a BUMP client in java. Details can be found here.
Due date is extended to Friday, April 29, due to server downtime.

I have asked you to write the packet DATA portion to System.out, and all the other messages (including at least one status message describing every packet received) to System.err. If you run your program all this output may appear jumbled together, but running with redirection, as in
    java wclient vanilla > v.out
will result in the transferred file saved to v.out while all the status messages still written to the screen.

Here are the udp simplex-talk programs that might be useful:

Here is a story illustrating the importance of KeepAlive mechanisms. Note that the hacker in question, "bitchchecker", gets disconnected because he hacked his own IP address.
the story
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)

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