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

    speakup logo

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

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

  • 19 September - 25 September

    Thursday Sept 22, 12:15-14:00, CM 2

    Intro, Archi

    Friday Sept 23, 11:15-13:00 INF 1 and INF019 (Apple processor),13:15-15:00 INM 202 and INF019 (Apple processor)

    Lab 0

  • 26 September - 2 October

    Thursday Sept 29, 12:15-14:00, CM 2

    Archi, end

    IP1

    Friday Sept 30, 11:15-13:00 INF 1, 13:15-15:00 INM 202

    Lab 0, continued

  • 3 October - 9 October

    Tuesday Oct 4, 17:00- 18:30

    Online session organized by RIPE NCC for Computer Science students. RIPE NCC is the organization that supports the technical and administrative coordination of the infrastructure of the Internet for Europe, the Middle East and parts of Central Asia. Three leading experts will give their thoughts on who controls the Internet, equity and ethics of the Internet and how to participate in running the Internet. The event is free of charge. 

    More info and registration:
    https://ripe85.ripe.net/programme/parallel-events/student-event/

    Thursday Oct 6, 12:15-14:00, CM 2
    IP1 (end)

    Friday Oct 7, 11:15-13:00 INF 1,13:15-15:00 INM 202

    Lab 1

    • Quiz icon
      Quiz 3
      Not available unless: The activity Quiz 2 is marked complete
    • Quiz icon
      Lab1 - Part1: Iperf Quiz
      Not available unless: The activity Quiz 3 is marked complete
    • Quiz icon
      Lab1 - Part 2: Mininet Environnement Quiz
      Not available unless: The activity Quiz 3 is marked complete
    • Quiz icon
      Lab1 - Part 3 (1st part) : Basic connectivity within LAN Quiz
      Not available unless: The activity Quiz 3 is marked complete
    • Quiz icon
      Lab1 - Part 3 (2nd part) : Basic connectivity within LAN Quiz
      Not available unless: The activity Quiz 3 is marked complete
    • Quiz icon
      Lab1 - Part 4: Man-in-the-middle attack Quiz
      Not available unless: The activity Quiz 3 is marked complete
    • Quiz icon
      Lab1 - Part 5: Bonus Quiz
      Not available unless: The activity Quiz 3 is marked complete
  • 10 October - 16 October

    Thursday Oct 13, 12:15-14:00, CM2 

    MAC Layer


    Friday Oct 14, 11:15-13:00 INF 1,13:15-15:00 INM 202 

    Lab 1, continued

  • 17 October - 23 October

    Thursday Oct 20, 12:15-14:00, CM2
    MAC layer (end)

    Transport Layer


    Friday Oct 21, 11:15-13:00 INF 1,13:15-15:00 INM 202

    Lab 2

    • Quiz icon
      Quiz 5
      Not available unless: The activity Quiz 4 is marked complete
    • Quiz icon
      Lab2 - Part 1.1: Layer 2 Vs 3 - Using a switch as a networking device Quiz
      Not available unless: The activity Quiz 5 is marked complete
    • Quiz icon
      Lab2 - Part 1.2: Layer 2 Vs 3 - Configure a switch to handle loop Quiz
      Not available unless: The activity Quiz 5 is marked complete
    • Quiz icon
      Lab2 - Part 1.3: Layer 2 Vs 3 - Using a router as a networking device Quiz
      Not available unless: The activity Quiz 5 is marked complete
    • Quiz icon
      Lab2 - Part 2: Connecting virtual environment to the real world using NAT Quiz
      Not available unless: The activity Quiz 5 is marked complete
    • Quiz icon
      Lab2 - Bonus - Part 1: Point-to-point wired connection of two physical machines Quiz
      Not available unless: The activity Quiz 5 is marked complete
    • Quiz icon
      Lab2 - Bonus - Part 2 for Linux: Sharing Internet access Quiz
      Not available unless: The activity Quiz 5 is marked complete
    • Quiz icon
      Lab2 - Bonus - Part 2 for Windows/Mac: Sharing Internet access Quiz
      Not available unless: The activity Quiz 5 is marked complete
  • 24 October - 30 October

    Thursday Oct 27, 12:15-14:00, CM2

    Transport Layer (end)
    IP multicast


    Friday Oct 28, 11:15-13:00 INF 1,13:15-15:00 INM 202

    Lab 2, continued


  • 31 October - 6 November

    Thursday Nov 3, 12:15-14:00, CM2

    multicast (end)
    OSPF


    Friday Nov 4, 11:15-13:00 INF 1,13:15-15:00 INM 202

    Lab 3

    • Quiz icon
      Quiz 7
      Not available unless: The activity Quiz 6 is marked complete
    • Folder icon
      Lab 3 Folder
      Not available unless: The activity Quiz 7 is marked complete
    • Quiz icon
      Lab3 - Part 1.1 - [Not graded] Quiz
      Not available unless: The activity Quiz 7 is marked complete
    • Quiz icon
      Lab3 - Part 1.2 Quiz
      Not available unless: The activity Quiz 7 is marked complete
    • Quiz icon
      Lab3 - Part 2 Quiz
      Not available unless: The activity Quiz 7 is marked complete
    • Quiz icon
      Lab3 - Part 3 Quiz
      Not available unless: The activity Quiz 7 is marked complete
    • Quiz icon
      Lab3 - Part 4 Quiz
      Not available unless: The activity Quiz 7 is marked complete
    • Quiz icon
      Lab3 - Part 5 Quiz
      Not available unless: The activity Quiz 7 is marked complete
    • Quiz icon
      Lab3 - Bonus - Part 6 Quiz
      Not available unless: The activity Quiz 7 is marked complete
    • URL icon
      Lab3 - Link to the scoring system URL
      Not available unless: The activity Quiz 7 is marked complete
  • 7 November - 13 November

    Thursday Nov 10, 12:15-14:00, CM 2

    OSPF (end)
    Congestion Control 1



    Friday Nov 11, 11:15-13:00 INF 1,13:15-15:00 INM 202

    Lab 3, continued

  • 14 November - 20 November

    Thu Nov 17, 12:15-14:00, CM 2

    Congestion Control 1  

    Congestion Control 2


    Fri Nov 18, 11:15-13:00 INF 1,13:15-15:00 INM 202

    Lab 4

    • Quiz icon
      Quiz 9
      Not available unless: The activity Quiz 8 is marked complete
    • Quiz icon
      Lab4 - Part1: Network Setup Quiz
      Not available unless: The activity Quiz 9 is marked complete
    • Quiz icon
      Lab4 - Part 2: OSPF Basics Quiz
      Not available unless: The activity Quiz 9 is marked complete
    • Quiz icon
      Lab4 - Part 3.1: OSPF Playground Quiz
      Not available unless: The activity Quiz 9 is marked complete
    • Quiz icon
      Lab4 - Part 3.2: OSPF Playground - Broken Link Quiz
      Not available unless: The activity Quiz 9 is marked complete
    • Quiz icon
      Lab4 - Part 4: Bonus Quiz
      Not available unless: The activity Quiz 9 is marked complete
  • 21 November - 27 November

    Thu Nov 24, 12:15-14:00, CM 2

    Congestion control (end)

    Fri Nov 25, 11:15-13:00 INF 1,13:15-15:00 INM 202

    Lab 4, continued

  • 28 November - 4 December

    Thursday Dec 1, 12:15-14:00, CM 2

    BGP


    Friday Dec 2, 11:15-13:00 INF 1,13:15-15:00 INM 202

    Lab 5

     

    • Quiz icon
      Quiz 11
      Not available unless: The activity Quiz 10 is marked complete
    • Quiz icon
      Lab5 - Part 1: TCP vs UDP flows - Basics Quiz
      Not available unless: The activity Quiz 10 is marked complete
    • Quiz icon
      Lab5 - Part 2: TCP vs UDP flows - Competing flows Quiz
      Not available unless: The activity Quiz 10 is marked complete
    • Quiz icon
      Lab5 - Part 3: Congestion Control Quiz
      Not available unless: The activity Quiz 10 is marked complete
    • Quiz icon
      Lab5 - Part 4: TCP - Fairness between TCP connections and delay Quiz
      Not available unless: The activity Quiz 10 is marked complete
    • Quiz icon
      Lab5 - Part 5: TCP - Fairness of TCP connections traversing multiple bottlenecks Quiz
      Not available unless: The activity Quiz 10 is marked complete
    • Quiz icon
      Lab5 - Bonus: ECN in TCP CUBIC and in DCTCP Quiz
      Not available unless: The activity Quiz 10 is marked complete
  • 5 December - 11 December

    Thursday Dec 8, 12:15-14:00, CM 2

    BGP (end)

    Appli

    Friday Dec 9, 11:15-13:00 INF 1,13:15-15:00 INM 202

    Lab 5, continued

  • 12 December - 18 December

    Thursday Dec 15, 12:15-14:00, CM 2

    Appli (end)

    IP2

    Friday Dec 16, 11:15-13:00 INF 1,13:15-15:00 INM 202

    Lab 6

    • Quiz icon
      Quiz 13
      Not available unless: The activity Quiz 12 is marked complete
    • Folder icon
      lab6 Folder
      Not available unless: The activity Quiz 13 is marked complete
    • Quiz icon
      Lab6 - Part 1: Standard BGP mode of operations. Quiz
      Not available unless: The activity Quiz 13 is marked complete
    • Quiz icon
      Lab6 - Part 2: Policy routing Quiz
      Not available unless: The activity Quiz 13 is marked complete
    • Quiz icon
      Lab6 - Bonus - Part 1: Running BGP only on edge routers. Quiz
      Not available unless: The activity Quiz 13 is marked complete
    • Quiz icon
      Lab6 - Bonus - Part 2: Broken Link. Quiz
      Not available unless: The activity Quiz 13 is marked complete
  • 19 December - 25 December

    Thursday Dec 22, 12:15-14:00, CM 2

    IP2 (end)

    No lab on Friday Dec 23


    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 (see below). The exams of the past three years lasted for 3 hours each.

  • 16 January - 22 January

    Final Exam

    Thursday January 19 2023, 15:15 to 18:15