Communication Networks Spring 2021

News

July 12 (2022) The lecture recordings are now accessible without nethz login.
Feb 3 (2022) The recording of the Q&A winter session is online (nethz login).
Aug 18 The recording of the Q&A session is online (nethz login).
June 16 Additional exam preparation questions with solutions are now online.
June 3 Materials for the twelfth and last exercise session are now online. Join the exercise session on Zoom (nethz login).
May 30 Materials for the last (!) lecture are now online. Join the lecture on Zoom (nethz login)
May 26 Materials for the thirteenth lecture are now online. Note that you (exceptionally) use the Zoom link dedicated to the exercises session.
May 19 Materials for the tenth exercise session are now online. Join the exercise session on Zoom (nethz login).
May 17 The transport projects starts today. All materials are now available. Have fun!
May 16 Materials for the twelfth lecture are now online. Join the lecture on Zoom (nethz login)
May 7 Materials for the eleventh lecture are now online. Join the lecture on Zoom (nethz login)
May 5 Materials for the ninth exercise session are now online. Join the exercise session on Zoom (nethz login).
May 2 Materials for the tenth lecture are now online. Join the lecture on Zoom (nethz login)
Apr 25 Materials for the ninth lecture are now online. Join the lecture on Zoom (nethz login)
Apr 21 Materials for the seventh exercise session are now online. Join the exercise session on Zoom (nethz login).
Apr 17 Materials for the eight lecture are now online. Join the lecture on Zoom (nethz login)
Apr 14 Materials for the sixth exercise session are now online. Join the exercise session on Zoom (nethz login).
Apr 12 The routing projects starts today. All materials are now available. Have fun!
Apr 10 Materials for the seventh lecture are now online. Join the lecture on Zoom (nethz login)
Mar 30 Materials for the fifth exercise session are now online. Join the exercise session on Zoom (nethz login).
Note that the first hour will be used to continue with the lecture!
Mar 27 Materials for the sixth lecture are now online. Join the lecture on Zoom (nethz login)
Mar 25 The group registration is now open! Please use your nethz login and register by Friday (April 9).
Mar 23 Materials for the fourth exercise session are now online. Join the exercise session on Zoom (nethz login)
Mar 21 Materials for the fifth lecture are now online. Join the lecture on Zoom (nethz login)
Mar 15 Materials for the third exercise session are now online. Join the exercise session on Zoom (nethz login)
Mar 13 Materials for the fourth lecture are now online. Join the lecture on Zoom (nethz login)
Mar 10 Materials for the second exercise session are now online. Join the exercise session on Zoom (nethz login)
Mar 5 Materials for the third lecture are now online. Join the lecture on Zoom (nethz login)
Mar 2 Materials for the first exercise session are now online. Join the exercise session on Zoom (nethz login)
Feb 28 Materials for the second lecture are now online. Join the lecture on Zoom (nethz login)
Feb 21 Materials for the first lecture are now online. Join the lecture on Zoom (nethz login)
Jan 4 Website for 2021 goes live!
Stay tuned for more content

Timeline

Contact

Instructor: Prof. Laurent Vanbever

Research group: Networked Systems Group

Contact:

Assistants:

Chat room: comm-net21.slack.com

Location & time

Lecture: Monday 10 am–12 pm in HG E 1.2 join on Zoom (nethz login)

Exercise sessions: Thursday 10 am–12 pm in HG E 1.2 join on Zoom (nethz login)

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 programming assignments (in Python) for which the material covered in Technische Informatik 1 (227-0013-00L) will be useful.

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 22 Lecture 1 Introduction (Part 1)
  1. What is a network made of?
  2. How is it shared?
  3. How is it organized?
  4. Brief historical overview
Materials
Video Materials
  • Lecture (Recording of the live Zoom lecture of February 22)
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)
Optional read Optional watch
Exercises start in week 2
Week 2
Mar 1 Lecture 2 Introduction (Part 2) and Routing Foundations (Part 1)
  1. How does network communication happen?
  2. How do we characterize a network?
  3. How do we route traffic?
Materials
Video Materials
  • Lecture (Recording of the live Zoom lecture of March 1)
Book
  • Section 1.4 (Delay, Loss and Throughput)
  • Section 1.5 (Protocol Layers)
Optional read Optional watch Homework
  • Take a look at an actual Internet forwarding and routing table by connecting yourself to Global Crossing's looking glass (telnet route-server.eu.gblx.net) and issue the show ip route and show ip bgp ipv4 unicast commands. How do the forwarding and the routing tables differ?
Mar 4 Exercise 1
Week 3
Mar 8 Lecture 3 Routing Foundations
Materials
Video Materials
  • Lecture (Recording of the live Zoom lecture of March 8)
Book
  • Sections 4.5.1 (LS Routing Algorithm) and 4.5.2 (DV Routing Algorithm)
Optional watch Optional read
Mar 11 Exercise 2
Week 4
Mar 15 Lecture 4 Reliable Transport Foundations
Materials
Video Materials
  • Lecture (Recording of the live Zoom lecture of March 15)
Book
  • Section 3.4 (Principles of Reliable Data Transfer)
Homework
Mar 18 Exercise 3
Part 2
Today's Internet
Week 5
Mar 22 Lecture 5 Ethernet & Switching
Materials
Video Materials
  • Lecture (Recording of the live Zoom lecture of March 22)
Book
  • Sections 5.1 (Introduction to the Link Layer), 5.3 (Multiple Access Links) and 5.4 (Switched LANs)
Optional read
Mar 25 Exercise 4
Week 6
Mar 29 Lecture 6 Internet Protocol (IP) & Forwarding
Materials
Video Materials
  • Lecture (Recording of the live Zoom lecture of March 29)
  • Extra lecture (Recording of the live Zoom lecture of April 1)
Book
  • Sections 4.1 (Introduction to the the Network Layer), 4.3 (What's Inside a Router), 4.5 (The Internet Protocol)
Optional read Optional watch
Apr 1 Exercise 5
Week 7
Apr 5 no class Easter Monday
Apr 8 no exercise Easter Holiday
Week 8
Apr 12 Lecture 7 Internet Routing
Materials
Video Materials
  • Lecture (Recording of the live Zoom lecture of Apr 12)
    Introduction to the Routing project at the end of the recording.
Apr 12 Internet Routing project starts
Apr 15 Exercise 6
Week 9
Apr 19 Lecture 8 Routing Policies
Materials
Video Materials
  • Lecture (Recording of the live Zoom lecture of Apr 19)
Apr 22 Exercise 7
Week 10
Apr 26 Lecture 9 BGP's challenges (and solutions)
Materials
Video Materials
  • Lecture (Recording of the live Zoom lecture of Apr 26)
Apr 29 Exercise 8
Week 11
May 3 Lecture 10 Transport Layer: UDP and TCP
Materials
Video Materials
  • Lecture (Recording of the live Zoom lecture of May 3)
May 6 Exercise 9
May 7 Internet Routing project ends
Week 12
May 10 Lecture 11 Congestion Control
Materials
Video Materials
  • Lecture (Recording of the live Zoom lecture of May 10)
Book
  • Section 3.5 (Connection-Oriented Transport: TCP)
  • Section 3.6 (Principles of Congestion Control) and 3.7 (TCP Congestion Control)
Optional read
May 13 no exercise Ascension Day
Week 13
May 17 Lecture 12 Applications: DNS
Materials
Video Materials
  • Lecture (Recording of the live Zoom lecture of May 17)
Book
  • Section 2.5 (DNS. The Internet's Directory Service)
Optional read
  • Take a quick look at the content of old HOSTS.txt files, the ancestor of the DNS
Homework
  • Perform a few DNS lookups for your favourite domains using dig (on a UNIX system) or nslookup (on a Windows system). Look for different records (e.g., A for IPv4 addresses, AAAA for IPv6 ones, NS for delegated DNS servers)
May 17 Reliable Transport project starts
May 20 Exercise 10
Week 14
May 24 no class Whit Monday
May 27 Lecture 13 Applications: HTTP (during exercise session)
Materials
Video Materials
  • Lecture (Recording of the live Zoom lecture of May 27)
Book
  • Section 2.2 (The Web and HTTP)
Week 15
May 31 Lecture 14 Recap and Exam Briefing
Materials
Video Materials
  • Lecture (Recording of the live Zoom lecture of May 31)
Jun 4 Reliable Transport project ends
Jun 3 Exercise 12
Jun 16 Additional Exam Preparation

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

We provide the previous exams (without solutions):