Comp 343/443, Computer Networks, Spring 2004

Peter Dordal, Loyola University Chicago Dept of Computer Science.
Meets MTThF 11:30 am - 2:00 pm in Damen Hall, Room 735

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

My general course groundrules are here. Exams will count for between 80% to 90% of your grade, with homework making up the rest. The midterm will be the end of week 2, Friday May 14. The final will be Friday May 28, in our usual classroom at the usual time.

Here is my ongoing notes file.

Here is the final exam study guide, with answers.

Here is the midterm study guide, with answers.
Here are my Ethernet notes.

Here is the first homework assignment, due Tuesday May 25.
Second Edition:
     Ch 1: #13, #18, #27, Ch 2: #2,   #8, #21, #22, #26, #28**, #30
P&D 3rd edition: (same problems as above but with different numbers)
     Ch 1: #15, #22, #33; Ch 2: #2, #10, #26, #27, #31, #34**, #36

Here is the second homework assignment.
Second Edition:
     Chapter 4: 13, 14, 16, 22, 33 (give subnet numbers too), 38;
     Chapter 5: 16, 18, 20, 34b;
     Chapter 6: 14, 15, 20, 39a
P&D 3rd Edition:
     Chapter 4: 17, 18, 21, 28, 40 (give subnet numbers too), 45;
     Chapter 5: 18, 20, 21, 36ab;
     Chapter 6: 16, 17, 22, 43a


Summary of topics by class:
May 3
Some overview. Sketch of LAN, Internet, and Transport layers.
Read 1.1, 1.2.
May 4
IP addresses, IP routing strategy, brief look at IP header, Section 1.5 material on delay, stop-and-wait, sliding windows.
Read: 1.3.1, 1.3.2
May 6
Encoding and Framing (2.2 and 2.3), Sliding windows (2.6).
Read: 1.5, 2.1-2.3, 2.6
May 7
Sliding windows, simplex-talk java demo, Ethernet
Read: 2.5, 2.6
May 10
Ethernet backoff algorithm, Ethernet bridging, three kinds of forwarding (datagram, virtual circuit, source)
Read: 2.6, 3.1, 3.2.1
May 11
IP routing and fragmentation, ARP, Distance-Vector routing-table algorithm, slow convergence to infinity
Read: 4.1, 4.2.1
May 13
Subnets, Error Detection/Correction, IP Fragmentation
Read: 4.1, 4,3.1, 2.4
May 14
Midterm
May 17
Basics of UPD and TCP
Read: 5.1, 5.2
May 18
More on TCP, TCP timers; TFTP
Finish reading 5.2 (book doesn't cover TFTP)
May 20
TFTP, anomalous transport scenarios, ATM, TCP congestion
Read: 3.3, 6.2
May 21
TCP Tahoe congestion algorithm, linkstate/SPF, BGP
Read: 6.2, 4.3.2
May 24
Linkstate, BGP, router models, TCP fairness, TCP Reno
May 25
TCP Reno and FlightSize, simulator demo, DECbit/TCP_Vegas, provider-based and geographical-based addressing and routing.
May 27
DNS, NAT, Fair Queuing and reservations, RED
May 28
Final Exam

In Comp 343 - Computer Networks we will study computer networking generally, but will focus primarily on how the Internet is built: how various unseen parts support the visible structure, what behind-the-scenes design tradeoffs are made, how multiple functions work together, and how the TCP/IP protocols operate. We will consider networks at various levels: In May 2004 the course will not include a programming project, although we will discuss the rudiments of network programming in class. Thus, this particular section should be accessible to non-programmers, although a willingness to work with technical material is necessary. Some (non-programming) use of a network simulator may be required. A programming project may be made available as an extra-credit option, though only to raise a student's grade to a B. The Comp271 prerequisite may be waived in consultation with the instructor.

Comp 343 will be crosslisted with Comp 443.

In order to break up the 2.5-hour lectures, I am dividing the material into three or four "tracks" that we will alternate between, at will. Most classes will cover material from two of the tracks. Here are the tracks:

This looks a bit 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.
DNS, ICANN, and Internet governance

TCP and congestion

5.1 UDP
5.2 TCP
5.3 Remote Procedure Call (blast/chan v Sun)
6.3: TCP congestion management: TCP Tahoe and TCP Reno

General Internet Congestion

6.1 Congestion issues
6.2 Queuing models, including "fair queuing"
6.4 DECbit, RED, and TCP Vegas
6.5 Reservation-based approaches to congestion
TCP-friendly (non-TCP) protocols



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