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:
- Local area networks such as Ethernet, and how these can be interconnected
- Internet Protocol layer, and large-scale routing/addressing issues
- Transport Control Protocol layer: TCP and alternatives
- Congestion management
- Realtime networking: protocols and hardware
- Network fault tolerance
- Security, authentication, and privacy
- peer-to-peer networking and file sharing
- Other directions in networks, such as ATM
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:
-
LAN basics
-
IP and routing (chapters 3 and 4)
-
TCP and congestion (chapters 5 and 6)
- General Internet congestion issues
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.