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 networks, software-defined networks, programmable networks, and cutting-edge networking research topics (such as network automation, in-network computing, and machine learning for networking).
The objectives of this course are:
- to learn about the recent/current developments in computer networks
- to understand and reason about the design of these technologies
- to be able to build complex networked systems and evaluate them
The study guide of the course can be found here. The course involves heavy reading of research papers. If you need some guidance on how to read a research paper, please check this article.
The code templates for the lab assignments are publicly released here.
Course Information
Lecturer: Lin Wang
TA: Vinod Nigade, George Karlos
Lectures: Tue, Wed 11:00 - 12:30 hybrid (on-campus and streamed on Zoom)
Office Hours: Every Wednesday before the lecture (09:30 - 10:30) on Zoom. Not mandatory, but feel free to join if you have any questions/comments regarding the lectures, the project, or the course in general.
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 2, 2021, 11:00 | L: Introduction | [Slides] Internet History TCP/IP design philosophy End-to-end argument |
Nov 3, 2021, 11:00 | L: Networking Basics | [Slides] Systems Approach: Chapter 3 Computer Networks: Chapter 3-5 |
Nov 8, 2021, 23:59 | P: Lab0 due | [Lab0 description] |
Nov 9, 2021, 11:00 | L: Networking Data Structures and Algorithms | [Slides] Intro. to Algorithms Cuckoo Hashing Bloom Filter Count-Min Sketch Fast Longest Prefix Matching |
Nov 10, 2021, 11:00 | L: Network Transport | [slides] Congestion Avoidance and Control BBR: Congestion-based CC Multipath TCP QUIC |
Nov 15, 2021, 23:59 | P: Lab1 due | [Lab1 Description] |
Nov 16, 2021, 11:00 | L: Data Center Networking | [slides] Fattree, PortLand Optional: Jellyfish, BCube, DCell |
Nov 17, 2021, 11:00 | L: Data Center Network Transport | [slides] DCTCP, TIMELY Optional: QJump, pFabric |
Nov 23, 2021, 11:00 | L: Software Defined Networking | [slides] The Road Towards SDN FlowVisor, CoVisor |
Nov 24, 2021, 11:00 | L: Network Automation | [slides] Fibbing, Propane, NetComplete |
Nov 25, 2021, 23:59 | P: Lab2 due | [Lab2 Description] |
Nov 30, 2021, 11:00 | L: Network Function Virtualization | [slides] Click, RouteBricks |
Dec 1, 2021, 11:00 | L: Programmable Data Plane | [slides] Intro. to P4 P4 Language Specs |
Dec 7, 2021, 11:00 | L: Network Monitoring | [slides] In-band network telemetry HashPipe, UnivMon |
Dec 8, 2021, 11:00 | L: In-Network Computing | [slides] NetCache, NetChain Optional: HIRE, NCL |
Dec 8, 2021, 23:59 | P: Lab3 due | [Lab3 Description] |
Dec 14, 2021: 11:00 | L: Machine Learning for Networking | [slides] Pensieve, NeuroCuts |
Dec 15, 2021, 11:00 | Final Q&A | |
Dec 21, 2021, 12:15 | Exam | |
Dec 24, 2021, 23:59 | P: Lab4 due | [Lab4 Description] |