CPSC 441: Computer Networks

Professor Carey Williamson

Winter 2022

Lecture Materials

Slides, readings, and related lecture material will appear here gradually throughout the semester. The bulk of these materials are copyrighted by the authors of the course textbook, and are to be used for CPSC 441 educational purposes only. Please respect this requirement.

  1. Introduction (1.5 weeks)
    Overview of the Internet. LANs and WANs. Internet protocol stack. Client/server paradigm. Circuit-switching. Packet-switching. Internet structure. Networking delays and packet loss.
    Slides: Course Overview (PPT, PDF) Networking Basics (PPT, PDF) Chapter 1 Slides (PPT, PDF)
    Day 1: Intro441 slides + course admin stuff + Warriors of the Net. Day 2: NetworkBasics + A0 demo + Chapter 1 intro (slides 1-8). Day 3: Network edge (slides 9-23) + data rates + Network core (24-32) + A1 demo. Day 4: Internet structure (slides 33-41) + Network delays (43-46,49-51) + applet demo + examples + ping/traceroute demo. Day 5: Loss and throughput (slides 52-55) + applet demo + Internet protocol stack (62-63,66-68) + Ch 1 summary (75) + Ch 2 intro (slides 2-10).
    Reading: Chapter 1 (Sections 1.1, 1.2, 1.3, 1.4, and 1.5)
  2. Application Layer (2 weeks)
    Application service requirements. WWW and HTTP. Email and SMTP. Domain Name Service (DNS). Peer-to-Peer (P2P) applications. Socket programming.
    Slides: Chapter 2 Slides (PPT, PDF) HTTP over TCP (PPT, PDF) AL Summary (PPT, PDF)
    Day 6: Application layer protocols (slides 11-15) + Web/HTTP (17-20,26,29-31) + A1 tips. Day 7: HTTP over TCP + HTTP details (slides 21-31) + Cookies (32-35) + Web caching (36-37). Day 8: Web caching (slides 37-42) + HTTP/2 (43-47) + big 3 + context + Email/SMTP/IMAP (48-57). Day 9: DNS (slides 58-72) + nslookup + dig. Day 10: DNS (cont'd) + P2P applications (slides 73-78) + BitTorrent (79-82) + Zoom. Day 11: Video streaming (slides 83-98) + AL summary (slides 110-111).
    Reading: Chapter 2 (Sections 2.1, 2.2, 2.3, 2.4, 2.5, and 2.6)
  3. Transport Layer (2.5 weeks)
    Service models. Multiplexing and demultiplexing. Connection-less transport (UDP). Principles of reliable data transfer (RDT) protocols. Connection-oriented transport (TCP). TCP congestion control. TCP variants.
    Slides: Chapter 3 Slides (PPT, PDF) Day 12: TL overview (slides 2-9) + multiplexing (10-22) + UDP (23-25). Day 13: UDP cont'd (slides 26-35) + Reliable Data Transfer (RDT) protocols (36-49). Day 14: RDT cont'd (slides 50-61) + sliding window protocols (62-66). Day 15: Go-back-N (slides 67-69) + selective repeat (70-75) + TCP intro (76-80). Day 16: TCP details (slides 77-78,81-95). Day 17: TCP connection management (slides 96,101-103) + TCP history + TCP congestion control (104-105,115-124). Day 18: TCP details + TCP variants (slides 125-131) + TCP fairness (132-134). Day 19: TCP recap + QUIC (slides 135-140) + TL summary (141) + study tips + twitter summary1 + midterm Q&A.
    Reading: Chapter 3 (Sections 3.1, 3.2, 3.3, 3.4, 3.5, and 3.7)
    Examples: wordlen-server-UDP.c wordlen-client-UDP.c wordlen-server-TCP.c wordlen-client-TCP.c tcptrace.txt tcptrace-annotated.pdf
  4. Network Layer Addressing and Routing (2.5 weeks)
    Network layer services. Internet Protocol (IP). IP addressing. IPv4/IPv6. DHCP. NAT. ICMP. Routing and forwarding. Routing algorithms. RIP. OSPF. BGP. Software-defined networking (SDN). Data plane and control plane.
    Slides: Chapter 4: Data Plane Slides (PPT, PDF) Chapter 5: Control Plane Slides (PPT, PDF)
    Day 20: NL overview (Ch 4 slides 2-12) + routers (slides 13-22). Day 21: Midterm exam. Day 22: Router fabrics (slides 23-28) + buffering (29-33) + scheduling (34-37) + net neutrality (38-40). Day 23: IP (slides 41-43) + IP addressing (44-51). Day 24: DHCP (slides 52-57) + IP prefixes (58-62) + NAT (63-68). Day 25: IPv6 (slides 69-76) + routing overview (Ch 5 slides 2-10) + link state routing (11-18). Day 26: Distance-vector routing (slides 19-40) + intra-domain routing (41-46) + taxonomy + RIP + OSPF (47-48). Day 27: Inter-domain routing + BGP (49-63). Day 28: SDN overview (Ch 5 slides 64-72) + generalized forwarding (Ch 4 slides 77-87) + SDN details (Ch 5 slides 73-82,85-86).
    Reading: Chapter 4 (Sections 4.1, 4.2, 4.3, and 4.4) plus Chapter 5 (Sections 5.1, 5.2, 5.3, 5.4, and 5.5)
  5. Link Layer and Local Area Networks (1.5 weeks)
    Link layer services. Error detection and correction. Multiple access protocols. Link layer addressing. Ethernet LANs. Ethernet switches.
    Slides: Chapter 6 Slides (PPT, PDF)
    Day 29: DLL overview + LLC + MAC + error control (slides 2-15). Day 30: Multiple access protocols (slides 16-32). Day 31: More MAC protocols (slides 33-35,38) + MAC addressing (39-52) + Ethernet LANs (53-59). Day 32: Ethernet switches (60-71) + photo + VLANs (72-75) + day in the life (93-101) + summary (102-103).
    Reading: Chapter 6 (Sections 6.1, 6.2, 6.3, 6.4, and 6.7)
  6. Wireless and Mobile Networks (1 week)
    Wireless network characteristics. WiFi: IEEE 802.11 Wireless LANs. Mobility management. Mobile IP.
    Slides: Chapter 7 Slides (PPT, PDF)
    Day 33: Overview (slides 2-11) + wireless links (12-15) + IEEE 802.11 WiFi (19-27). Day 34: More WiFi (slides 28-33) + mobility management (52-64,71) + wrapup (73).
    Reading: Chapter 7 (Sections 7.1, 7.2, 7.3, 7.5 and 7.6.2)
  7. Networking Research and Review (1 week)
    Advanced topics (e.g., multimedia, security, neutrality, censorship, pandemic, IoT, QUIC, Zoom, Facebook/Meta, deep space networking) and/or selected topics from the networking literature. Course wrapup and review.
    Day 35: Network_security (U of C view) + Internet censorship (Arab Spring   China   Iran   Russia).
    Day 36: Facebook issues (Outage   Breach   Hearings   Screentime) + Deep space networking.
    Day 37: Course wrapup and review + twitter summary2 + final exam tips.