CS5060 (Advanced Computer Networks)
August – December 2024 · Department of Computer Science and Engineering, IIT Hyderabad
A top-down treatment of the Internet protocol stack: application layer, transport and congestion control, the network layer in both data and control planes, and the link layer, with hands-on Wireshark and socket-programming work. Lectures in this offering were not recorded.
Course details
- Course code: CS5060
- Semester: August 2024 (Monsoon)
- Level: postgraduate core
- Credits: 3
Texts and reference material
- Kurose and Ross, Computer Networking: A Top-Down Approach, 9th edition
- Peterson and Davie, Computer Networks: A Systems Approach
- Stevens, TCP/IP Illustrated
- Classic papers listed per lecture
Evaluation
- Two assignments and two programming assignments
- Six tutorials
- Three quizzes, solutions below
Lecture plan
Six lecture blocks following the top-down order of the text. Each block has the incremental decks used in class and a consolidated deck at the end.
| # | Topic | Slides | Reading material | Video |
|---|---|---|---|---|
| L0 | Course structure | L0 course structure | — | not recorded |
| L1 | Introduction: the Internet, edge and core, delay and loss | L1-A · L1-B · L1-C · L1-D · L1 full | Kurose and Ross, chapter 1 | not recorded |
| L2 | Application layer: HTTP, DNS, CDNs and streaming | L2-A · L2-B · L2-C · L2 full | Kurose and Ross, chapter 2 | not recorded |
| L3 | Transport layer: UDP, TCP, reliable delivery and congestion control | L3-A · L3-B · L3-C · L3 full | Jacobson, Congestion avoidance and control (SIGCOMM 1988) · Floyd and Fall, Promoting the use of end-to-end congestion control (IEEE/ACM ToN 1999) | not recorded |
| L3x | Hands-on: TCP with Wireshark | Wireshark TCP | — | not recorded |
| L4 | Network layer, data plane: forwarding, IP addressing, routers | L4-A · L4 data plane | Kurose and Ross, chapter 4 | not recorded |
| L5 | Network layer, control plane: routing algorithms, OSPF, BGP, SDN | L5 control plane | Kurose and Ross, chapter 5 | not recorded |
| L6 | Link layer: error detection, multiple access, switching | L6 link layer | Kurose and Ross, chapter 6 | not recorded |
Slide links open in Google Drive. Reading material without a link is third-party work — the title is given so you can find it at its publisher.
Assignments, tutorials and project
Handouts and submissions were managed in Google Classroom; titles are listed here for reference.
- Assignment 1: Packet capture and analysis
- Assignment 2: A case study on CDNs, streaming services and DNS traffic management
- Programming assignment 1: My pingers
- Programming assignment 2: Bufferbloat analysis
- Tutorial 2: Socket programming · Tutorial 4: TCP with Wireshark · Tutorial 5: practice questions on TCP · Tutorial 6: network layer, data plane
- Quiz solutions: quiz 1, quiz 2, quiz 3, TCP question worked solution