In this course we will discuss advanced topics in computer networking. We will cover concepts and designs for modern network systems such as data center networking, software-defined networking, programmable networks, and cutting-edge networking research topics (such as programmable switch architectures and in-network computing).
The objectives of this course are:
- Gain the knowledge of current research topics in computer networking
- Understand and reason about the design of new networking technologies
- Build complex networked systems and evaluate them
More can be found on the study guide webpage. The course involves heavy reading of research papers. If you need some guidance on how to read a research paper, please check this article.
For the lab assignments, please get start by reading the Lab0 manual. The code templates for the lab assignments are publicly released here.
Course Information
Lecturer: Lin Wang
Teaching Assistants: George Karlos, Florian Gerlinghoff
Lectures: Tue, Wed 11:00 - 12:45 hybrid (on-campus and streamed on Zoom)
Office Hours: Every Wednesday before the lecture (09:30 - 10:30), NU-11A33.
Literature: No set textbook. All material will be made available during the course. Please check the Modules section on Canvas for weekly reading lists.
Grading:
- Practical projects: 50%
- Final exam (timed quiz on Canvas): 50%
PASS: iff you obtain no less than 25/50 in both components. Details for grading can be found in the first lecture slides.
Schedule
Date | Topic | Material |
---|---|---|
Nov 1, 2022, 11:00 | L: Introduction | [Slides] Internet History Lecture by David Clark TCP/IP design philosophy End-to-end argument |
Nov 2, 2022, 11:00 | L: Networking Basics | [Slides] Systems Approach: Chapter 3 Computer Networks: Chapter 3-5 |
Nov 8, 2022, 11:00 | L: Network Transport | [Slides] Congestion Avoidance and Control BBR: Congestion-based CC Multipath TCP QUIC |
Nov 9, 2022, 11:00 | L: Data Center Networking | [slides] Fattree, PortLand Jupiter Rising, Jupiter Evolving Optional: Jellyfish, BCube, DCell |
Nov 9, 2022, 23:59 | P: Lab1 Due | [Lab1 Manual] |
Nov 15, 2022, 11:00 | L: Data Center Network Transport | [slides] DCTCP, TIMELY, Swift Optional: pFabric, Homa |
Nov 16, 2022, 11:00 | L: Software Defined Networking | [slides] The Road Towards SDN FlowVisor, CoVisor |
Nov 16, 2022, 23:59 | P: Lab2 Due | [Lab2 Manual] |
Nov 22, 2022, 11:00 | L: Network Function Virtualization | [slides] Click, RouteBricks Optional: FastClick, OpenNF, StatelessNF, S6 |
Nov 23, 2022, 11:00 | L: Programmable Data Plane | [slides] Intro. to P4 P4 Language Specs |
Nov 25, 2022, 23:59 | P: Lab3 Due | [Lab3 Manual] |
Nov 29, 2022, 11:00 | L: Programmable Switch Architecture | [Slides] RMT, dRMT Optional: Menshen, FlexCore |
Nov 30, 2022, 11:00 | L: In-Network Computing - Applications | [Slides] NetCache, NetChain, SwitchML Optional: HIRE, NCL, P4DNN |
Dec 2, 2022, 23:59 | P: Lab4 Due | [Lab4 Manual] |
Dec 6, 2022, 11:00 | L: In-Network Computing - Hardware | [Slides] Thanos, Taurus Optional: FPISA |
Dec 7, 2022, 11:00 | L: Network Monitoring | [Slides] Cuckoo Hashing, Bloom Filter, Count-Min Sketch HashPipe Optional: UnivMon, SketchLib |
Dec 14, 2022, 23:59 | L: Guest Lecture | The next 700 network switches Fernando Ramos (IST, Universyt of Lisbon) |
Dec 16, 2022, 23:59 | P: Lab5 Due | [Lab5 Manual] |