Lecture Summary and Readings
ECE/CS 438 Communication Networks (Fall 2008)

This page lists the lectures and the related readings. Readings listed below in the entry for a lecture may actually correspond to multiple lectures in the vicinity of that lecture. Not all topics listed for reading may be covered in class. Some readings may be listed ahead of the corresponding lectures. By default, the chapter and section numbers listed below are from Peterson and Davie (4th edition).

Slides from a previous offering of this course by Prof. Borisov will be used for this class. You can access the old slides by clicking here. Note that the announcements in the old slides are not always relevant to this class (such as project due dates).

Lecture Date TopicsReadingsNotes
1 8/25/08 OverviewChapter 1 (Foundation) Couse handout
2 8/27/08 Overview concluded. UNIX Network Programming (sockets, ports, connect, read, write, sendto, and other socket-related issues) Recommended reading: Beej's guide to network programming
3 8/29/08 UNIX Network programming (fork, POSIX threads) Recommended reading: Beej's guide to network programming Project 1 - Part 1
4 9/3/08 UNIX Network programming (pthread-related functions). Delay and "bandwidth", delay-bandwidth product. Chapter 1 (Foundation) Project 1 - Part 2 (due September 10).
Homework 1 (due September 12)
5 9/5/08 Direct Link Networks: encoding and framing Sections 2.1, 2.2, 2.3 Lecture by Prof. Robin Kravets
6 9/8/08 Framing. Error detection and correction. Hamming distance. Relation between distance and ability to correct or detect errors. Section 2.4 (Error Detection)
7 9/10/08 Error detection and correction. Internet Checksum. Cyclic redundancy checks. Section 2.4 Homework 1 due date changed to September 15
8 9/12/08 Multiple access Section 2.6 (Ethernet), Unslotted Aloha, p-persistent slotted Aloha See slides for all lectures. The slides may contain material not covered in the textbook.
9 9/15/08 Multiple access slides 1 to 27 from this set used by Prof. Lumetta Lecture by Prof. Steve Lumetta.
Homework 2 posted
10 9/17/08 Bridges and Switches See slides for this class, as well as other lectures for the course. Some of the material covered in slides is not included in the textbook. Lecture by Prof. David Nicol.
Project 2 posted
11 9/19/08 Discussion of programming project 2 (routing) Programminc project 2 Lecture by teaching assistants
12 9/22/08 Wireless (802.11) Section 2.8
and discussion of Distributed Coordination Function from pages 119 and 120 of the paper IEEE 802.11 Wireless Local Area Networks
See slides for this lecture, as well as other lectures for this course.
13 9/24/08 Wireless (802.11) Section 2.8
and discussion of Distributed Coordination Function from pages 119 and 120 of the paper IEEE 802.11 Wireless Local Area Networks
See slides for this lecture, as well as other lectures for this course.
14 9/26/08 Routing (Link State and Distance Vector) Section 4.2 up to and including section 4.2.3.
Slides by Prof. Borisov
Homework 3 posted
15 9/29/08 Distance Vector Routing. IP addresses. Sections 4.1.1, 4.1.2, and 4.1.3
Slides by Prof. Borisov
16 10/1/08 Internet protocol (IP): IP service model. IP addressing. CIDR (Classless InterDomain Routing). IP forwarding. Hierarchical routing. Subnetting. Inter-domain and intra-domain routing. BGP (Border Gateway Protocol). Routing Information Protocol (RIP). Open Shortest Path First (OSPF). Section 4.3 (Global Internet) up to and including section 4.3.3.
Slides by Prof. Borisov
See mid-term exam announcement.
17 10/3/08 Internet protocol (IP): Routing areas (hierarchical OSPF). Address resolution protocol (ARP). Dynamic Host Configuration Protocol (DHCP). IP packet format. IP fragmentation and reassembly. ICMP (Internet Control Message Protocol). Sections 4.1.4 (Datagram forwarding in IP), 4.3.4 (Routing Areas), 4.1.6 (Host Configuration (DHCP)), 4.1.5 (Address Translation (ARP)), 4.1.7 (Error Reporting (ICMP)).
Slides by Prof. Borisov
18 10/6/08 Network address translation (NAT). Routing for mobile hosts. Sections 4.2.5 (Routing for Mobile Hosts). Instructor's notes on Routing for Mobile Hosts. Slides by Prof. Borisov on Network address translation (NAT) Homework 4 posted today.
19 10/8/08 End-to-End protocols. Transport layer (Demultiplexing. Connectionless and connection-oriented transport. UDP. Reliable data transfer -- different versions of protocols). Sections 5.1 (Simple Demultiplexer (UDP)) and 5.2 (Reliable Byte Streams (TCP)).
Slides by Prof. Borisov on Transport layer
The various versions of reliable data transfers and corresponding finite state machines are presented in the book by Kurose and Ross. The slides should be clear enough, but if they are not, you may want to look up the Kurose and Ross book (the book should be available at Grainger Reserves library).
20 10/10/08 Reliable data transfer. Section 2.5 (Reliable Transmission). Prof. Borisov's slides on Transport layer
21 10/13/08 Reliable data transfer. TCP. Section 2.5 (Reliable Transmission). Prof. Borisov's slides on Transport layer and TCP
22 10/15/08 TCP (Adaptive retransmissions. Retransmission timeout. TCP connection management. Connection establishment and termination. TCP state transition diagram. Sliding window. TCP Ack generation. Duplicat Ack (dupack). Fast retransmit.) Sections 5.2 (Reliable Byte Streams (TCP)) and the discussion of Fast Retransmit in Section 6.3.3 (Fast Retransmit and Fast Recovery).
Prof. Borisov's slides on TCP
Lecture by Prof. Yih-Chun Hu
23 10/17/08 Flow and congestion control. Section 6.3 (TCP Congestion Control).
Prof. Borisov's slides on
Flow and Congestion Control
Homework 5 has been posted. Note that there is an error in a transition out of the state ESTABLISHED in the slide for TCP state transition diagram. Please see the textbook (Chapter 5) for the correct transition.
24 10/20/08 Flow and congestion control. Prof. Borisov's slides on
Flow and Congestion Control
Slide on Nagle's Algorithms
25 10/22/08 Review.
Mid-Term Exam 10/22/08 (Wednesday) from 7:00 p.m. to 8:30 p.m. in Room 151 Loomis Lab. Mid-Term Examination Material covered through October 16 and the associated reading material included for the mid-term examination. The students should also see the slides used for the lectures. During the test, you are not expected to be able to reproduce the C code in the textbook (such as in Section 4.1.2) -- however, it is recommended that you read the code for an improved understanding of the course material. Readings for the various lectures are listed on this page. The exam is closed-book closed-notes (no cheat sheet allowed). You may bring a calculator. Mid-Term Examination
26 10/25/08 TCP Fast Recovery mechanism Prof. Borisov's slides on
Flow and Congestion Control
Sections 1, 2 and 3 of RFC2581 - TCP Congestion Control
Programming project 3 posted
27 10/27/08 TCP Fast Recovery mechanism. Packet-by-packet generalized processor sharing (weighted fair queueing). Sections 6.1 (Issues in Resource Allocation) and 6.2 (Queuing Disciplines).
Section III.A (Virtual Time Implementation of PGPS) from the paper A generalized processor sharing approach to flow control in integrated services networks: the single-node case -- the notation used here is described in II of the paper. Also see the discussion of the example in figure 1 of the paper. (the proofs in the paper are not required reading)
28 10/29/08 Weigthed fair queueing (PGPS). TCP Fairness. Prof. Borisov's second set of slides on congestion Homework 6 posted.
29 10/31/08 Correction to the example of weigthed fair queueing (or PGPS). Congestion control. Prof. Borisov's second set of slides on congestion
30 11/3/08 Congestion control. DECbit. RED. TCP Vegas. Section 6.4 (Congestion-Avoidance Mechanisms).
Prof. Borisov's second set of slides on congestion
31 11/5/08 TCP Vegas. Quality of Service (QoS). Fair sharing. Prof. Borisov's slides on QoS and Fair Sharing
32 11/7/08 Little's theorem. Leaky bucket. IntServ and DiffServ. Section 6.5 (Quality of Service). Description of "Little's theorem" can be found in many sources, including Wikipedia -- the book by Bertsekas and Gallager is a good reference (see course home page for book listing).
33 11/10/08 Performance analysis. M/M/1 queueing system. Material on M/M/1 analysis from Prof. Borisov's slides on Performance Analysis. While these slides should suffice our purpose, the book by Bertsekas and Gallager includes a good discussion of this material. Two more homeworks (Homeworks 7 and 8) planned for the rest of this course.
34 11/12/08 Virtual circuits. Source routing. Cross-bar. Head-of-line blocking. Sections 3.1.2 (Virtual Circuit Switching), 3.1.3 (Source Routing). and 3.4 (Implementation and Performance). Homework 7 posted.
35 11/14/08 Switching networks (cross-bar, Banyan network). Maximal matching. Max-weight matching (with input queue-length as weigth). Section 3.4 (Implementation and Performance). Max-weight policy is summarized in a question in Homework 7. For a more detailed discussion, a good reference is the paper Achieving 100% Throughput in an inputqueued switch (section II of the paper introduces the notation, and the first paragraph of section IV summarizes the algorithm). Slides by Prof. Borisov on Switching and virtual circuits, and Switching hardware. Not all the material in the slides was covered in class -- only relevant material required for the test.
36 11/17/08 Further discussion of max-weight algorithm.
37 11/19/08 Notion of utility. Utility maximization.
38 11/21/08 Token Ring. Simple examples of network coding. Section 2.7 (Rings). For network coding example, see the example discussed in the first 3 paragraphs on the Network Coding Home Page (alternatively see example 1.1 on page 6 of Network Coding Theory)
Slides by Prof. Borisov on Token Rings.
39 12/1/08 Chord peer-to-peer lookup service Discussion of Gnutella and the first page of the discussion of Structured Overlays in Section 9.4.2 of the textbook; and
Sections 4.1, 4.2 and 4.3 (excluding the theorems/proofs) from the paper Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications
Homework 8
40 12/3/08 Dynamic source routing (DSR) for mobile ad hoc networks Sections 3.1 through 3.4 of the paper DSR: The Dynamic Source Routing Protocol for Multi-Hop Wireless Ad Hoc Networks -- note that section 2 of the paper introduces some of the terminology used in the paper. Slides 21-61 from this tutorial used in class to discuss Dynamic Source Routing.
41 12/5/08 Dynamic source routing (DSR) for mobile ad hoc networks
42 12/8/08 Brief discussion of IP version 6 and MPLS (multiprotocol label switching). Impact on TCP performance of packet losses due to errors (or causes unrelated to congestion) -- IPv6 and MPLS are not included for final examination IP version 6 and MPLS not included for final examination. Recommended readings: Sections 4.3.5 (IP Version 6), 4.5 (Multiprotocol label switching), and slides on IPv6 and MPLS from the slides by Prof. Borisov. Slide numbers 430-437 (TCP) from this tutorial.
43 12/10/08 (last day of classes) Course review.
Final Examination December 16, 2008 (Tuesday), starting at 1:30 p.m. (duration 2 hours 30 minutes), Room 269 Everitt Laboratory Final Examination The final examination will be comprehensive. All material covered in the course (with the exception of SONET, IPv6 and MPLS) and the related readings are included for the final examination. You may bring 2 hand-written sheets (that is, 4 sides) of notes to the final examination. Each sheet of notes may be at most 8.5 inch x 11 inch size ("standard letter" size). Please bring a calculator to the final exam.

The final exam schedule is based on the UIUC non-combined final examination schedule for Fall 2008. If you have a conflict, please let the instructor know as soon as possible. For the UIUC policy on final examination conflicts, please click here.
Final Examination