TCP/IP networking
Weekly outline
-
In this course you will learn and understand how computer networks are built and run. You will be able to:
- 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 and simultaneously by zoom in room 631 4376 4890. 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. This works in class and also if you are attending the lecture on zoom.
The room key is written on the board in class, the room name is tcpip.
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
Labs
There is a lab every week, on Fridays 11:15-13:00 in rooms INF1 and INF019 (only for those who have only a Mac with processor M1) and 13:15-15:00 in room INM202 and INF019 (only for those who have only a Mac with processor M1). The lab session is simultaneously streamed on zoom in room 620 0940 7593, for those of you who are not allowed on campus or prefer to work from home; parallel breakout rooms will be setup as required.
The labs are designed to be done on your own machine for most students (except those who have only a Mac with processor M1) and do not require physical presence at EPFL. You can do them at any time. You can use the lab sessions, live and in zoom, for support; you can also use the questions and answer forum on moodle to ask questions about the lab (and about the lecture).
Every lab lasts for 2 weeks, but for the last one.For each lab, you are graded by doing lab quizzes on Moodle. Lab quizzes have to be completed at the latest on the Wednesday that follows the last lab session for the current lab.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
, which contains formulas and material that is too tedious to be learnt by heart. We recommend that you train with the old exams. Such conditions are subject to change if the covid situation imposes.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 2, only from inside EPFL or with VPN)
-
Thursday Sept 23, 12:15-14:00, CM 2 and zoom 631 4376 4890
Intro, Archi
Friday Sept 24, 11:15-13:00 INF 1 and INF019 (M1 processor),13:15-15:00 INM 202 and INF019 (M1 processor), and zoom 620 0940 7593
Lab 0
-
Quiz 1
-
Lab 0
-
Lab0 - Part 1: IPv4, Packet inspection & Ping Quiz
-
Lab0 - Part 2: Traceroute, Netstat & MAC addresses Quiz
-
Lab0 - Part 3: Names in the Internet, IPv4 & IPv6 Quiz
-
Lab0 - Bonus: Wireshark VS Tshark Quiz
-
Thursday Sept 30, 12:15-14:00, CM 2 and zoom 631 4376 4890
IP1
Friday Oct 1, 11:15-13:00 INF 1 and INF019 (M1 processor),13:15-15:00 INM 202 and INF019 (M1 processor) and zoom 620 0940 7593
Lab 0, continued
-
Quiz 2
-
Thursday Oct 7, 12:15-14:00, CM 2 and zoom 631 4376 4890
IP1 (end)
Friday Oct 8, 11:15-13:00 INF 1,13:15-15:00 INM 202 and zoom 620 0940 7593
Lab 1
-
Quiz 3
-
Lab 1
-
Lab1 - Part1: Iperf Quiz
-
Lab1 - Part 2: Mininet Environnement Quiz
-
Lab1 - Part 3: Basic connectivity within LAN Quiz
-
Lab1 - Part 4: Man-in-the-middle attack Quiz
-
Lab1 - Part 5: Bonus Quiz
-
Thursday Oct 14, 12:15-14:00, CM2 and zoom 631 4376 4890
MAC Layer
Friday Oct 15, 11:15-13:00 INF 1,13:15-15:00 INM 202 and zoom 620 0940 7593
Lab 1, continued
-
Quiz 4
-
Thursday Oct 21, 12:15-14:00, CM2 and zoom 631 4376 4890
MAC layer (end)
Transport Layer
Friday Oct 22, 11:15-13:00 INF 1,13:15-15:00 INM 202 and zoom 620 0940 7593
Lab 2
-
Quiz 5
-
Lab 2
-
Lab2 - Part 1.1: Layer 2 Vs 3 - Using a switch as a networking device Quiz
-
Lab2 - Part 1.2: Layer 2 Vs 3 - Configure a switch to handle loop Quiz
-
Lab2 - Part 1.3: Layer 2 Vs 3 - Using a router as a networking device Quiz
-
Lab2 - Part 2: Connecting virtual environment to the real world using NAT Quiz
-
Lab2 - Bonus - Part 1: Point-to-point wired connection of two physical machines Quiz
-
Lab2 - Bonus - Part 2 for Linux: Sharing Internet access Quiz
-
Lab2 - Bonus - Part 2 for Windows/Mac: Sharing Internet access Quiz
-
Thursday Oct 28, 12:15-14:00, CM2 and zoom 631 4376 4890
Transport Layer (end)
IP multicastFriday Oct 29, 11:15-13:00 INF 1,13:15-15:00 INM 202 and zoom 620 0940 7593
Lab 2, continued-
Quiz 6
-
Thursday Nov 4, 12:15-14:00, CM2 and
zoom 631 4376 4890multicast (end)
OSPFFriday Nov 5, 11:15-13:00 INF 1,13:15-15:00 INM 202 and zoom 620 0940 7593
Lab 3
-
Quiz 7
-
Lab3 - Part 1.1 - [Not graded] Quiz
-
Lab3 - Part 1.2 Quiz
-
Lab3 - Part 2 Quiz
-
Lab3 - Part 3 Quiz
-
Lab3 - Part 4 Quiz
-
Lab3 - Part 5 Quiz
-
Lab3 - Bonus - Part 6 Quiz
-
Lab3 - Link to the scoring system URL
-
Thursday Nov 11, 12:15-14:00, CM 2 and zoom 631 4376 4890
OSPF (end)
Congestion Control 1 (guest star: Hossein Tabatabaee)Friday Nov 12, 11:15-13:00 INF 1,13:15-15:00 INM 202 and zoom 620 0940 7593
Lab 3, continued
-
Quiz 8
-
Thu Nov 18, 12:15-14:00, CM 2 and zoom 631 4376 4890
Congestion Control 1 (guest star: Hossein Tabatabaee)
Congestion Control 2
Fri Nov 19, 11:15-13:00 INF 1,13:15-15:00 INM 202 and zoom 620 0940 7593
Lab 4
-
Quiz 9
-
Lab 4
-
Lab4 - Part1: Network Setup Quiz
-
Lab4 - Part 2: OSPF Basics Quiz
-
Lab4 - Part 3.1: OSPF Playground Quiz
-
Lab4 - Part 3.2: OSPF Playground - Broken Link Quiz
-
Lab4 - Part 4: Bonus Quiz
-
Thu Nov 25, 12:15-14:00, CM 2 and zoom 631 4376 4890
Congestion control (end)
BGP
Fri Nov 26, 11:15-13:00 INF 1,13:15-15:00 INM 202 and zoom 620 0940 7593
Lab 4, continued
-
Quiz 10
-
Thursday Dec 2, 12:15-14:00, CM 2 and zoom 631 4376 4890
BGP
Friday Dec 3, 11:15-13:00 INF 1,13:15-15:00 INM 202 and zoom 620 0940 7593
Lab 5
-
Quiz 11
-
Lab 5
-
Lab5 - Part 1: TCP vs UDP flows - Basics Quiz
-
Lab5 - Part 2: TCP vs UDP flows - Competing flows Quiz
-
Lab5 - Part 3: Congestion Control Quiz
-
Lab5 - Part 4: TCP - Fairness between TCP connections and delay Quiz
-
Lab5 - Part 5: TCP - Fairness of TCP connections traversing multiple bottlenecks Quiz
-
Lab5 - Bonus: ECN in TCP CUBIC and in DCTCP Quiz
-
Thursday Dec 9, 12:15-14:00, CM 2 and zoom 631 4376 4890
BGP (end)
AppliFriday Dec 10, 11:15-13:00 INF 1,13:15-15:00 INM 202 and zoom 620 0940 7593
Lab 5, continued
-
Quiz 12
-
Thursday Dec 16, 12:15-14:00, CM 2 and zoom 631 4376 4890
Appli (end)
IP2
Friday Dec 17, 11:15-13:00 INF 1,13:15-15:00 INM 202 and zoom 620 0940 7593
Lab 6
-
Quiz 13
-
Lab 6
-
Lab6 - Part 1: Standard BGP mode of operations. Quiz
-
Lab6 - Part 2: Policy routing Quiz
-
Lab6 - Bonus - Part 1: Running BGP only on edge routers. Quiz
-
Lab6 - Bonus - Part 2: Broken Link. Quiz
-
Thursday Dec 23, 12:15-14:00, CM 2 and zoom 631 4376 4890
IP2 (end)
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 three years. The exams of the past three years lasted for 3 hours.
-
Quiz 14
-
Thursday 2022 February 3rd, 8:15Exam
-
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.
-
Oral Exam Scheduler
-