This class will introduce students to advanced, research-level topics in the area of communication networks, both theoretically and practically. Coverage will vary from semester to semester. Repetition for credit is possible, upon consent of the instructor. During the Fall Semester of 2019, the class will concentrate on network programmability and network data plane programming.
The website is under construction. Stay tuned for more details about the lecture!
|Nov 14||Solutions for the last exercise session are online.|
|Oct 30||Group Projects registration page is online|
|Oct 29||Materials for the sixth exercise session are online.|
|Oct 29||Solutions for the fourth exercise session are online.|
|Oct 29||Materials for the last lecture are online.|
|Oct 22||Solutions for the third exercise session are online.|
|Oct 22||Materials for the fifth exercise session are online.|
|Oct 21||Materials for the fifth lecture are online.|
|Oct 15||Materials for the fourth exercise session are online.|
|Oct 15||Materials for the fourth lecture are online.|
|Oct 8||Materials for the third exercise session are online.|
|Oct 8||Materials for the third lecture are online.|
|Sep 30||Materials for the second exercise session are online.|
|Sep 30||Materials for the second lecture are online.|
|Sep 24||Materials for the first lecture are online.|
|Sep 24||Materials for the first exercise session are online.|
|Sept 12||If you have questions about the lecture, one teaching assistant will be there on Tuesday 17 between 1pm and 2pm in the official lecture hall (ML H 44).|
|Sept 11||The tentative schedule for 2019 is now online. Please note that the lecture officially starts in week 2, on Tuesday September 24.|
Professor: Laurent Vanbever ()
Research group: Networked Systems
The goal of this lecture is to introduce students to the latest advances in the area of computer networks, both theoretically and practically. The course will be divided in two main blocks. The first block (~7 weeks) will interleave classical lectures with practical exercises and paper readings. The second block (~6 weeks) will consist of a practical project involving real network hardware and which will be performed in small groups (~3 students). During the second block, lecture slots will be replaced by feedback sessions where students will be able to ask questions and get feedback about their project. The last week of the semester will be dedicated to student presentations and demonstrations.
During the Fall Semester 2019, the class will focus on programmable network data planes and will involve developing network applications on top of the the latest generation of programmable network hardware: Barefoot Network’s Tofino switch ASICs. By leveraging data-plane programmability, these applications can build deep traffic insights to, for instance, detect traffic anomalies (e.g. using Machine Learning), flexibly adapt forwarding behaviors (to improve performance), speed-up distributed applications (e.g. Map Reduce), or track network-wide health. More importantly, all this can now be done at line-rate, at forwarding speeds that can reach Terabits per second.
Traditionally, computer networks have been composed of "closed" network devices (routers, switches, middleboxes) whose features, forwarding behaviors and configuration interfaces are exclusively defined on a per-vendor basis. Innovating in such networks is a slow-paced process (if at all possible): it often takes years for new features to make it to mainstream network equipments. Worse yet, managing the network is hard and prone to failures as operators have to painstakingly coordinate the behavior of heterogeneous network devices so that they, collectively, compute a compatible forwarding state. Actually, it has been shown that the majority of the network downtimes are caused by humans, not equipment failures.
Network programmability and Software-Defined Networking (SDN) have recently emerged as a way to fundamentally change the way we build, innovate, and operate computer networks, both at the software and at the hardware level. Specifically, programmable networks now allow: (i) to adapt how traffic flows in the entire network through standardized software interfaces; and (ii) to reprogram the hardware pipeline of the network devices, i.e. the ASICs used to forward data packets.
This year, the course will focus on reprogrammable network hardware/ASICs. It will involve hands-on experience on the world's fastest programmable switch to date (i.e. Barefoot Tofino switch ASIC).
Among others, we'll cover the following topics:
The course will be divided in two blocks of 7 weeks. The first block will consist in traditional lectures introducing the concepts along with practical exercises to get acquainted with programmable data planes. The second block will consist of a (mandatory) project to be done in groups of few students (~3 students). The project will involve developing a fully working network application and run it on top of real programmable network hardware. Students will be free to propose their own application or pick one from a list. At the end of the course, each group will present its application in front of the class.
The final grade will be based on the project (50%) and a final oral exam (50%).