TCP/IP networking

COM-407

Media

Media

This file is part of the content downloaded from TCP/IP networking.
Course summary

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 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.

speakup logo

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).

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" (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.


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


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/17998


Friday 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, continued



Fall 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 


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

 


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


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.



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.