CPSC 441: Computer Networks

Professor Carey Williamson

Fall 2021

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 + Warriors of the Net video + course admin stuff. Day 2: NetworkBasics + Chapter 1 intro (slides 1-8) + A0 demo. Day 3: Network Edge (slides 9-23) + Network Core (slides 24-32) + Internet Architecture (slides 33-41). Day 4: Network Performance (slides 43-46,49-55) + applet demo + traceroute demo. Day 5 (via Zoom): Internet Protocol Stack (slides 62-63,66-68) + Ch 1 Summary (slide 75) + Zoom overview + A0 help + A1 demo.
    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)
    Day 6: Application Layer Intro (slides 2-15). Day 7: Web/HTTP (slides 17-31) + HTTP-TCP. Day 8: Web Cookies + Web Caching + HTTP/2 (slides 32-47). Day 9: Email + SMTP + IMAP (slides 48-57). Day 10: DNS + nslookup + dig (slides 58-72). Day 11: P2P (slides 73-82) + 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 (slides 10-22). Day 13: UDP (slides 23-35) + UDP code examples. Day 14: TCP code examples + Reliable Data Transfer (slides 36-49). Day 15: RDT (slides 50-61) + sliding window protocols (slides 62-73). Day 16: TCP (slides 76-88) + TCP (slides 89-96) + more TCP (101-103). Day 17: TCP congestion control (slides 104-105,115-124). Day 18: TCP variants (slides 124-131) + TCP fairness (slides 132-134). Day 19: TCP recap + QUIC (slides 135-141) + midterm Q&A.
    Reading: Chapter 3 (Sections 3.1, 3.2, 3.3, 3.4, 3.5, and 3.7)
    Examples: madlib-server.c madlib-client.c wordlen-server.c wordlen-client.c wordlen-server-TCP.c wordlen-client-TCP.c tcptrace.txt tcptrace-annotated.pdf highlights
  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 (slides 2-12) + routers (slides 13-22) + midterm Q&A. 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 (slides 44-54). Day 24: DHCP (slides 52-57) + IP address blocks (58-62) + NAT (63-68). Day 25: IPv6 (slides 69-76) + routing overview (Ch 5 slides 2-16). Day 26: Distance-vector routing (slides 19-40) + intra-domain routing (41-48). Day 27: RIP/OSPF recap + 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). Day 32: Ethernet LANs (slides 53-59) + Ethernet switches (60-71) + photo + recap (93-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, media giants, IoT, QUIC, Zoom, Facebook/Meta, Twitch, Quebecor) and/or selected topics from the networking literature. Course wrapup and review.
    Day 35: Hacking + Dark Web + Tor. Day 36: Blockchain + Facebook outage + final exam review.