TCP/IP networking
COM-407
Media
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.
Lectures
Lectures are on Thursdays 12:15-14:00 in room PO 01.Speakup
We will use speakup for polls in class. During the lecture, you can go to https://speakup.epfl.ch/room/join/46045 in your web browser. Or you can download the speakup app for your smartphone and join room 46045, its name is COM-407.
Lecture Notes
- "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
- "Computer Networking: A top-down approach" by J. Kurose and K. Ross: pdf
Labs
There are 2 lab sessions every Friday: at 11:15-13:00 in room INM200, and at 13:15-15:00 in room INM202. We will not use room GRA331.
The labs are designed to be done on your own machine. Please check whether one of the virtual machines below works on your laptop and let us know about any difficulties you may experience. If there are any issues, we could 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 Q&A forum on Ed 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.
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)
- Exam booklet (File)
- Virtual machine image:Labs require the use of a vi... (Text and media area)
Thursday Sept 12, 12:15-14:00, PO 01
Intro, Archi
Friday Sept 13, 11:15-13:00 INM200, 13:15-15:00 in room INM202
Lab 0
- Introduction (File)
- Layered Architecture (File)
- Lecture--voice recording (URL)
- Lab 0 (Text and media area)
- Lab0 (Folder)
Thursday Sept 19, 12:15-14:00, PO 01
Archi, end
IP layer -- forwarding, part 1
Friday Sept 20, 11:15-13:00 in rooms INM200, and 13:15-15:00 in room INM202
Lab 0, continued
Thursday Sep 26,
12:15-14:00, PO 01
IP1 (end)
Link to Speakup: https://web.speakup.info/room/join/17998Friday Sep 27 11:15-13:00 INM200, 13:15-15:00 INM 202
Lab 1
Thursday Oct 3,
12:15-14:00, PO 01
MAC Layer
Link to Speakup: https://speakup.epfl.ch/room/join/46045
Friday Oct 4, 11:15-13:00 in room INM200, and 13:15-15:00 in room INM202
Lab 1,
continued
Thursday Oct 10,
12:15-14:00, PO 01
MAC layer (end)
Friday Oct 11, 11:15-13:00 INM 200,13:15-15:00 INM 202
Lab 2
Thursday Oct 17,
12:15-14:00, PO01
Transport Layer
Speakup link: https://web.speakup.info/room/join/46045
Friday Oct 18, 11:15-13:00 INM200, 13:15-15:00 INM 202
Lab 2, continuedFall break
Thursday Oct 31, 12:15-14:00, PO01
transport (end)
Friday Nov 1, 11:15-13:00 IMN200,13:15-15:00 INM 202
Lab3
- Transport layer -- all slides (part1 + part2) (File)
- Lecture -- Voice recording (URL)
- Lecture from 2023 -- Voice Recording (transport layer - part2) (URL)
- Lab3 (Text and media area)
- Lab 3 (Folder)
- Lab3 - Part 4 additional resources (Folder)
- Lab3 - Link to the scoring system (URL)
- Lab3 Solutions (File)
Thu Nov 7,
12:15-14:00, PO01
Transport layer (end),
IP Multicast
Fri Nov 8, 11:15-13:00 INM200,13:15-15:00 INM 202
Lab 3
Thu Nov 14,
12:15-14:00, PO 01
Muulticast (end)
Routing protocols (part 1)
Fri Nov 24,
11:15-13:00 INM200,13:15-15:00 INM 202
Lab 3, continued
Thursday Nov 21, 12:15-14:00, PO01
Routing protocols (end)
Congestion control -- Theory (start)
Friday Dec 2, 11:15-13:00 INF 200,13:15-15:00 INM 202
Lab 4
- Routing algorithms -- all slides (part1+part2) (File)
- Lecture 10 -- Voice recording (1st hour from 2024 and 2nd hour from 2023) (URL)
- Lab 4 (Text and media area)
- Lab4 (Folder)
Thursday Nov 28, 12:15-14:00, PO 01
Congestion control - Theory
Friday Nov 29, 11:15-13:00 INM200,13:15-15:00 INM 202
Lab 4 (continue)
Thursday Dec 5, 12:15-14:00, PO 01
Congestion control -- Implementation
Friday Dec 6, 11:15-13:00 INM 200,13:15-15:00 INM 202
Lab 5
- Congestion Control - Implementation (all slides) (File)
- Lecture 12 -- Voice recording (URL)
- Voice recording of 2023 about Congestion Control -- Implementation, part 2 (perhaps useful for last parts of Lab 5) (URL)
- Lab 5 (Text and media area)
- Lab5 (Folder)
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
BGP
Lab 5 (end)
Lab 6 (start)
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)
- BGP (part1) -- Voice recording 2023 (URL)
- BGP (part2) -- Voice recording 2023 (URL)
- BGP (part3) -- Voice recording 2023 (URL)
- Lecture 14 -- Voice recording (URL)
- Past Exams (Folder)
- Lab 6 (Text and media area)
- lab6 (Folder)
Wednesday 2021 January 06, 14:00 - 16:00
Review session, Zoom ID 844 7911 0416
Final Exam
Wednesday January 24 2023, 15:15 to 18:15
Deferred Exam
The oral exam is for students who could not attend the written exam for medical reasons.
The exam consists in 30 mn preparation time + 30 mn examination time.
No document allowed. We will provide the exam booklet.