| Lecture | Date | Topics | Readings | Notes |
| 1 | 8/25/08 | Overview | Chapter 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 |