Advanced networks
COM-407
Media
- test and clarify your understanding of the networking concepts by connecting computers to form LANs, autonomous routing domains and interconnections;
- test the performance of TCP versus UDP and of traffic control settings;
- develop and test various communicating programs using sockets;
- be familiar with IPv6 as well as IPv4 and the interworking between them;
- understand congestion control, TCP and QUIC;
- run Mininet in your computer and deploy real networks in an emulated environment.
This is a master level course for master and PhD students.
An undergraduate course on computer networks is a prerequisite.
Lectures
Lectures are on Thursdays 12:15-14:00 in room BCH2201.Speakup
We will use speakup for polls in class. During the lecture, you can go to
https://speakup.epfl.ch/room/join/87072 in your web browser. Or you can download the speakup app for your smartphone and join room 87072, its name is COM-407.Lecture Notes
- "Computer Networking : Principles, Protocols and Practice" by O. Bonaventure, 1st or 2nd edition: pdf
- "Rate adaptation, Congestion Control and Fairness: A Tutorial" by JY Le Boudec: pdf
- "Computer Networking: A top-down approach" by J. Kurose and K. Ross: pdf
Labs
There are 2 lab sessions every Friday: at 11:15-15:00 in room GCC330. We will not use room GCA1416, unless GCC330 overflows.
The labs are designed to be done on a VDI pool named COM-407, which you can access via your Gaspar account.
However, due to some technical restrictions, few exercises need to be done locally on your own machine. You can either run them directly on your machine (after perhaps installing the tools needed by each exercise), or you can run them via a virtual machine that you need to install locally. In the latter case, please check whether one of the virtual machines below works on your laptop and let us know about any difficulties you may experience. The offered virtual machines have most tools already pre-installed.
You are not required to attend the lab sessions in person at EPFL. However, you may use these sessions to get support from the teaching assistants. You can also post questions about the labs (or the lectures) on the Ed Q&A forum. Keep in mind that the forum is monitored only during working hours, so responses may be delayed. Ultimately, it is up to you whether you prefer to rely on the lab sessions, the forum, or a combination of both.
Every lab lasts for 2 weeks, but for the last one.In most labs, there is a more advanced section called research exercise
,
which is for bonus. Do it only if (1) you feel comfortable with all the
rest of the lab and the lecture, (2) you have enough time and (3) you
like the topic.
Online Lecture Quizzes
There is one online lecture quiz every week on lecture.
The goal is to train your understanding of the lecture. It is also a
training for the labs and for the final exam. The quizzes are mandatory, you are considered to have completed the lecture quiz when you achieve a grade of 70% or more. The lecture quiz grade only counts to determine if you passed the quiz or not, once you pass we don't use the lecture quiz grade. You must be up to date with your lecture quizzes in order to do lab quizzes.
Exam
There is one written exam in the exam session. It is closed book. We will provide you with a printed copy of the "exam booklet" (see below), which contains formulas and material that are too tedious to be learnt by heart.
Grading
The course grade is the average between the lab grades and the final exam. More exactly:
- Theory grade T = final exam
-
Lab grade = average of 7 labs (last lab counts as one half)
Research exercise bonus = average of all lab bonuses (max bonus is 0.5 in scale 1-6)
L = min (6, Lab grade + Research exercise bonus)
- Final grade = ½ ( T+L) rounded to next quarter integer.
All grades except final grade are non-rounded.
- Important Announcements (Forum)
- Contact Information (Page)
- Virtual machine image:Few exercises need to be don... (Text and media area)
Thursday Sept 11, 12:15-14:00, BCH2201.
Introduction to the Internet architecture
Friday Sept 12, 11:15-15:00 GCC330
Lab 0
- Introduction to Internet Architecture (File)
- Lecture--voice recording (URL)
- Lab 0In this lab you will practice some networking... (Text and media area)
- alice.pcap (File)
Thursday Sept 18, 12:15-14:00, BCH2201
Internet architecture, end
IP layer -- forwarding, part 1
Friday Sept 19, 11:15-15:00, GCC330
Lab 0, continued
Thursday, 12:15-14:00, BCH2201
Mac layer -- security (end)
Transport layer (start)
Friday 11:15-15:00, GCC330
Lab 2, continued
Fall break
- Transport layer -- all slides (part1 + part2) (File)
- Lecture -- Voice recording (URL)
- Lab3 (Text and media area)
- Lab 3 instructions Abstract Lab 3 is both a progra... (Text and media area)
- Lab3 scripts (File)
- Lab3 - Link to the scoring system (URL)
Thursday, 12:15-14:00, BCH2201
Transport layer (end),
IP Multicast
Friday, 11:15-15:00, GCC330
Lab 3
Thursday, 12:15-14:00, BCH2201
Routing protocols (start)Friday, 11:15-15:00, GCC330
Lab 3 (continued)
Lab 4 (start)
- Routing algorithms (slides -- part 1) (File)
- Lecture -- Voice recording (URL)
- Lab 4 In this lab, you will learn how to configure... (Text and media area)
- Lab4 scripts (Folder)
Thursday, 12:15-14:00, BCH2201
Routing protocols (end)
Congestion control -- Theory (start)
Friday, 11:15-15:00, GCC330
Lab 4
- Routing algorithms -- all slides (part1+part2) (File)
- Congestion control (Theory) - part1 (File)
- Lecture 10 -- Voice recording (URL)
Thursday, 12:15-14:00, BCH2201
Congestion control -- Theory
Friday, 11:15-15:00, GCC330
Lab 4 (continue)
- Congestion Control - Theory -- slides (File)
- Lecture 11 -- Voice recording (URL)
- Lab 5In this lab session, you will explore in a vi... (Text and media area)
- Lab 5 Scripts and Code (Folder)
Thursday, 12:15-14:00, BCH2201
Congestion control -- Implementation
Friday, 11:15-15:00, GCC330
Lab 5
Thursday Dec 12, 12:15-14:00, PO 01
Congestion control (end)
Friday Dec 13, 11:15-13:00 IMN200, 13:15-15:00 INM202
Lab 5
- Congestion Control -- Implementation (all slides) (File)
- BGP -- slides (part1) (File)
- Lecture 13 -- Voice recording (URL)
BGP
Lab 5 (end)
Lab 6 (continue)
Get prepared for the exam
- Do again the quizzes of the course, in the lecture notes and in moodle.
- Take the exams of the past four years (see below): for each one, you get two versions (year-final.pdf and year-final-sols.pdf, the first one empty and the second with the solutions), we recommend you start with the year-final.pdf version and then compare your answers with the solutions.
- BGP -- all slides (File)
- Lecture 14 -- Voice recording (URL)
- Past Exams (Folder)
- Lab 6 (Text and media area)
- lab6 (Folder)