Communication Networks Spring 2025

News

Feb 17 Materials for the first lecture are now online.
Feb 06 Course website for 2025 is now online

Timeline

Contact

Instructor: Prof. Laurent Vanbever

Research group: Networked Systems Group

Contact:

Assistants:

Chat room: #comm-net-25 (Please read the Instructions)

Location & time

Lecture: Monday 10 am–12 pm in HG E 1.2

Exercise sessions: Thursday 10 am–12 pm in HG E 1.2

Remote participation: Recordings

Learn how the Internet works and how to operate it

It is hard to think of a technology that has more changed the way we live than the Internet. From the very way we communicate, access and exchange information, shop, pay, move, entertain, maintain friendship. At the same time, the Internet is inexorably growing, at an always faster pace: from 3 billion of connected hosts in 2015 to an estimated 4 billion in 2019.

At the end of this course, you will be able to:

  1. understand how the Internet works: from your laptop to Google's datacenter at the other end of planet;
  2. build and operate an Internet-like network infrastructure;
  3. identify the right set of metrics to evaluate the performance or the adequacy of a network and propose ways to improve it (if any).

The course is an introductory one, meaning no prior networking background is needed. The course will include some easy programming assignments in Python.

Grading and organization

The class will be graded 70% based on the final exam and 30% based on continuous performance assessments. The continuous performance assessments will consist in two graded group projects. The first project counts for 20% and the second for 10% of the final grade. If a student does not do/submit a project, he/she will receive a grade of 1.0 for the corresponding project. Students repeating the course can decide at the beginning of the semester if they want to keep the previous grades of their continuous performance assessments (more details). The final exam is a written open book exam. You will not be tested on material we didn't cover during the lesson. All written material (books, notes, lab exercises etc.) is allowed; all electronic devices are prohibited, except for (non-connected) calculators. The exam will be in English.

We will use the textbook Computer Networking: A Top-Down Approach (6th Edition) by Kurose and Ross as a reference and as a source of examples. Older versions of the book are fine too but sections number won't necessarily match.

Exercises and projects

In addition to the lectures, there will be a set of exercises (every Thursday) along with two projects to be done in groups of maximum 3 students (the composition of which will be decided by the students themselves at the beginning of the first project).

  1. Internet Routing (middle of the semester): You'll build and operate your own network! We'll then interconnect networks together and form a mini-Internet. We'll test out your Internet during a large class-wide Internet Hackathon.
  2. Reliable Communication (end of the semester): You'll implement a simple transport protocol that can ensure reliable transmission.

Each project will be available online and will be introduced in class along with instructions on the report and on the specific grading scheme.

You should submit your work on an assignment (via your GitLab repository, according to the assignment instructions) before its due time. All assignments are due by 11:59pm on their selected days. If you submit your work late, we will give you credit for it according to this scale:

  • 80% for work submitted up to 1 day late;
  • 70% for work submitted up to 2 days late;
  • 60% for work submitted up to 3 days late;
  • 50% for work submitted up to 7 days late;
  • 0% for work submitted more than 7 days late.

Important If you don't have a laptop, please us at the beginning of the course.

Part 1
Overview and Conceptual Foundations
Week 1
Feb 17 Lecture 1 Introduction (Part 1)
  1. What is a network made of?
  2. How is it shared?
  3. How is it organized?
  4. How does network communication happen?
  5. How do we characterize a network?
Materials
Homework
  • Take a look at what the Internet looks like!
  • Check out SWITCH (ETH's provider) connectivity and traffic
  • Use the traceroute command (tracert on Windows) to observe some Internet paths taken from your your personal computer to some Internet destination. What do you observe?
Book
  • Sections 1.1 (The Internet), 1.2 (The Network Edge) and 1.3 (The Network Core)
  • Section 1.4 (Delay, Loss and Throughput)
  • Section 1.5 (Protocol Layers)
Optional watch
Feb 20 no exercise Exercises start in week 2
Week 2
Feb 24 Lecture 2 Introduction (Part 2)
Feb 27 Exercise 1
Week 3
Mar 3 Lecture 3 Routing Foundations
Mar 6 Exercise 2
Part 2
Today's Internet
Week 4
Mar 10 Lecture 4 Ethernet & Switching
Mar 13 Exercise 3
Week 5
Mar 17 Lecture 5 Internet Protocol (IP) & Forwarding
Mar 20 Exercise 4
Week 6
Mar 24 Lecture 6 Internet Routing
Mar 24 Internet Routing project starts
Mar 27 Exercise 5
Week 7
Mar 31 Lecture 7 Routing Policies
Apr 3 Exercise 6
Week 8
Apr 7 Lecture 8 BGP's challenges (and solutions)
Apr 10 Exercise 7
Week 9
Apr 14 Lecture 9 Reliable Transport Foundations
Apr 17 Exercise 8
Week 10
Apr 21 no class Easter Monday
Apr 24 no exercise Easter Holiday
Week 11
Apr 28 Lecture 10 Transport Layer: UDP and TCP
Apr 29 Internet Routing project ends
May 1 no exercise Labour Day
Week 12
May 5 Lecture 11 Congestion Control
May 8 Exercise 9
Week 13
May 12 Lecture 12 Applications: DNS
May 12 Reliable Transport project starts
May 15 Exercise 10
Week 14
May 19 Lecture 13 Applications: HTTP
May 22 Exercise 11
Week 15
May 26 Lecture 14 Recap and Exam Briefing
May 30 Reliable Transport project ends
May 29 no exercise Ascension Day

Exam

The final exam is a written open book exam. You will not be tested on material we didn't cover during the lesson. All written material (books, notes, lab exercises etc.) is allowed; all electronic devices are prohibited, except for (non-connected) calculators. The exam will be in English.

Previous exams

With solutions:

Without solutions: