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
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 |
Implement socket programming concepts and network protocols. This assignment covers TCP/UDP sockets, client-server communication, and basic networking fundamentals.
Build an HTTP client and server from scratch. Learn about HTTP methods, headers, status codes, and web protocols.
Implement routing algorithms and protocols. Work with routing tables, shortest path algorithms, and network topology.
Explore datacenter networking concepts including load balancing, traffic engineering, and distributed systems.
msbaz@umich.edu
razak@umich.edu