EECS 489: Computer Networks

The University of Michigan
Fall 2025

Protocols and architectures of computer networks with a specific focus on the Interet. Topics include socket programming, naming and addressing, video streaming and content distribution, flow and congestion control, routing, and cloud, datacenter, and software-defined networks. Students write several substantial programs implementing protocols at different layers of the network stack. Syllabus

Announcements
Assignment 2 has been posted!
Please complete the Alternate Exam Request Form.
Recordings
      Lectures
Discussions
Pun of the Week
Great job on a1! We ACK-nowledge your hard work.

Open in Google Calendar

Schedule   Printable Version

Day Lecture Topic/Lab P & D K & R Deadline
Week 1Aug 25 L1: Intro
Aug 27 L2: Layers PD Chapter 1 1.1, 1.3, 1.4
Aug 28, 29 Lab1: Socket programming
Week 2Sep 1 No Class - Labor Day
Sep 3 L3: Arch and App
Sep 4 , 5 Lab2: Performance Metrics
Week 3Sep 8 L4: HTTP and the Web 9.1.2 2.2
Sep 10 L5: DNS and CDN 9.3.1 2.4
Sep 11, 12 Lab3: Http protocol
Week 4Sep 15 L6: Video Stream and Cloud Systems 9.4.3 2.6 Wednesday Sept 17 P1 Due
Sep 17 L7: Transport layer 5.1 3.1 - 3.4
Sep 18, 19 Lab4: DNS
Week 5Sep 22 L8: TCP Basics 5.2 3.5, 3.6
Sep 24 L9: TCP Continued Chapter 6 3.7
Sep 25, 26 Lab5: HTTP Streaming
Week 6Sep 29 L10: Flow and Congestion Control 4.1, 4.3.1, 4.3.2
Oct 1 L11: Congestion Control continued 3.5, 3.6
Oct 2, 3 Lab6: TCP
Week 7Oct 6 L12: Network Layer 3.3 4.1, 4.3.1, 4.3.2 Friday Oct 10, P2 Due
Oct 8 L13: IP Routers
Oct 9, 10 Lab7: Midterm Review
Week 8Oct 13 No Class - Fall Break
Oct 15 Midterm Exam 6pm-8pm
Oct 16, 17 Lab8: Routing Fundamentals
Week 9Oct 20 L14: Routing Fundamentals 4.2
Oct 22 L15: Intra-AS Routing 3.4
Oct 23, 24 Lab9: WTP
Week 10Oct 27 L16: IP Addressing and Intra-AS Routing 3.4 5.1, 5.2, 5.3
Oct 29 L17: BGP 3.3 4.3.3
Oct 30, 31 Lab10: Routing
Week 11Nov 3 L18 Software Defined Networking 4.1 5.4 Friday Nov 7, P3 Due
Nov 5 L19: Link Layer 2.6 6.1, 6.3
Nov 6, 7 Lab11: ICMP/Traceroute
Week 12Nov 10 L20: Switched LAN 3.1 6.4
Nov 12 L21: Virtual Circuits, ATM, VLAN 4.4, 5.5
Nov 13, 14 Lab12: Ethernet/Wifi/MAC/ARP
Week 13Nov 17 L22: Wireless 2.7 7.1, 7.2, 7.3
Nov 19 L23: IPv6, NAT, Tunelling, and VPN 3.3.9 4.3.4, 4.3.5, 8.7.1
Nov 20, 21 Lab13: 802.11 CSMA/CA/Data Center Network
Week 14Nov 24 No Class Thanksgiving break begins Wed Nov 26
Nov 26 No Class -Thanksgiving Break
Nov 27, 28 No Lab
Week 15Dec 1 L24: Datacenter Networking 6.6 Friday Dec 5, P4 Due
Dec 3 TBD
Dec 4, 5 No Lab
Week 16Dec 8 Final Review

Assignments

Assignment 1: Sockets and Mininet

Implement socket programming concepts and network protocols. This assignment covers TCP/UDP sockets, client-server communication, and basic networking fundamentals.

Due: Wednesday, Sept 17 at 11:59pm
Assignment 2: CDN

Build an HTTP client and server from scratch. Learn about HTTP methods, headers, status codes, and web protocols.

Due: Friday, Oct 10 at 11:59pm
Assignment 3: Reliable Transport

Implement routing algorithms and protocols. Work with routing tables, shortest path algorithms, and network topology.

Due: Friday, Nov 7 at 11:59pm
Assignment 4: Static Router

Explore datacenter networking concepts including load balancing, traffic engineering, and distributed systems.

Due: Friday, Dec 5 at 11:59pm

Tutorials

People

Faculty

Muhammad Shahbaz head shot
Muhammad Shahbaz

msbaz@umich.edu

Saquib Razak head shot
Saquib Razak

razak@umich.edu

Staff

Madison Heyer head shot
Madison Heyer
Wonbin Jin head shot
Wonbin Jin
Regan McDonald head shot
Regan McDonald
Arnav Shah head shot
Arnav Shah
Advay Singh head shot
Advay Singh