General
- 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.
Lectures
Lectures are on Thursdays 12:15-14:00 in room CM2. Recordings are posted on youtube as soon as possible after the lecture.Speakup
We use speakup for polls in class. During the lecture, you can go to web.speakup.info in a web browser. Or you can download the speakup app for your smartphone.
The room key is written on the board in class, the room name is tcpip.
- "Computer Networking : Principles, Protocols and Practice" by O. Bonaventure, 1st or 2nd edition: pdf, epub, mobi
- "Rate adaptation, Congestion Control and Fairness: A Tutorial" by JY Le Boudec: pdf
Labs
There is a lab every week, on Fridays 11:15-13:00 in rooms INF1 and 13:15-15:00 in room INM202.
The labs are designed to be done on your own machine but require an Intel processor, because of a dependency on the virtual machine software. If you only have a Mac with Apple processor, you will not be able to do the labs on your Mac, but we will lend you a small headless Linux machine (minix), which you can keep and bring home for the entire semester.
The labs do not require physical presence at EPFL. You can
do them at any time. You can use the lab sessions for
support; you can also use the questions and answer forum on moodle to ask questions about the lab (and about the lecture).
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. We recommend that you train with the old exams (see last week of the course). Such conditions are subject to change if the sanitary situation imposes it.
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.
Virtual machine image:
Labs require the use of a virtual machine. In order to make things easier for students, we prepared a preconfigured virtual machine image. It can be downloaded from here:
Virtual machine (link 1, only from inside EPFL WiFi or with VPN)
Virtual machine (link 2, only from inside EPFL WiFi or with VPN)