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:
- stalkc.java, the simplex-talk client,
illustrating how to look up a host by name and then connect.
- stalks.java, the simplex-talk server.
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:
-
LAN basics
-
IP and routing (chapters 3 and 4)
-
TCP and congestion (chapters 5 and 6)
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.