Communication Networks 2020

© Google

Contact

Professor: Laurent Vanbever ()

Research group: Networked Systems

Assistants:

  •   Head

Slack: comm-net20.slack.com

Location & time

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

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

News

Aug 17 The recording of the Q&A Session is now online.
July 7 Q&A session will take place on Monday 17.08.2020 2-4pm. Send us your questions by Wednesday 12.08.2020.
June 2 Solutions for the twelfth (and last) exercise are now online.
May 29 The video and slides for the twelfth exercise are now online.
May 27 Exercises for the fifteenth week are now online.
May 24 The materials for the last (!) lecture are now available. This lecture is gonna take place on Zoom (check Slack/email for link).
May 18 Solutions for the eleventh exercise are now online.
May 17 The materials for the thirteenth lecture are now available. This lecture is gonna take place on Zoom (check Slack/email for link).
May 14 Exercises for the thirteenth week are now online.
May 13 Solutions for the tenth exercise are now online.
May 10 The materials for the twelfth lecture are now available. This lecture is gonna take place on Zoom (check Slack/email for link).
May 8 The video and visualizations for the ninth exercise are now online.
May 6 Exercises for the twelfth week are now online.
May 4 Solutions for the ninth exercise are now online.
May 1 The materials for the eleventh lecture are now available. This lecture is gonna take place on Zoom (check Slack/email for link).
Apr 30 Exercises for the eleventh week are now online.
Apr 30 Solutions for the eigth exercise are now online.
Apr 27 The assignment text for the reliable transport project is now online. You will find all other files directly on your VM.
Apr 26 The materials for the tenth lecture are now available. This lecture is gonna take place on Zoom (check Slack/email for link).
Also have a look at the reliable transport introduction slides.
Apr 23 Exercises for the tenth week are now online.
Apr 18 The materials for the ninth lecture are now available. This lecture is gonna take place on Zoom (check Slack/email for link).
Apr 13 Solutions for the seventh exercise are now online.
Apr 9 Exercises for the eight week are now online.
Apr 6 Solutions for the sixth exercise are now online.
Apr 6 Important notes to the second and third part of the routing project (updated).
Apr 5 The materials for the eight lecture are now available. Note that this lecture is gonna take place on Zoom (check Slack/email for link).
Apr 1 Exercises and introductory video for the seventh week are now online.
Mar 30 Solutions for the fifth exercise are now online.
Mar 26 Exercises and introductory video for the sixth week are now online.
Mar 23 Solutions for the fourth exercise are now online.
Mar 22 Online materials for the sixth lecture and seventh lecture are now available.
Mar 18 The 2019 exam is now available as well.
Mar 18 Exercises and introductory video for the fifth week are now online.
Mar 16 All materials for the routing project are now online. You will receive the credentials today via email. Have fun!
Mar 16 Solutions for the third exercise are now online.
Mar 13 Online materials for the fifth lecture are now available.
Mar 12 All classroom teaching is suspended. Stay tuned for more information.
Mar 11 Internet routing hackathon (26.03.2020) cancelled. Stay tuned for more information.
Mar 11 Exercises for the fourth week are now online.
Mar 9 Solutions for the second exercise are now online.
Mar 7 Materials for the fourth lecture are now online.
Mar 5 Group registration is now open! Please use your nethz login. All groups have to contain three students. Register by this Friday (March 13).
Mar 4 Exercises for the third week are now online.
Mar 2 Solutions for the first exercise are now online.
Feb 29 Materials for the third lecture are now online.
Feb 26 Exercises for the second week are now online.
Feb 23 Materials for the second lecture are now online.
Feb 16 Materials for the first lecture are now online.
Feb 14 Join the CommNet 2020 Slack workspace!
Jan 29 Website for 2020 goes live!
Stay tuned for more content

Timeline

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) and Technische Informatik 2 (227-0014-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). Group registration (use your nethz login).

  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 (by email, 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 the professor 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. Brief historical overview
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)
Optional read Optional watch
Exercises start in week 2
Week 2
Feb 24 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 Important Use your ETHZ login/password to access the videos.
Book
  • Sections 1.5 (Protocol Layers), 1.4 (Delay, Loss and Throughput)
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?
Feb 27 Exercise 1
Week 3
Mar 2 Lecture 3 Routing and Reliable Transport Foundations
Materials
Video Materials Important Use your ETHZ login/password to access the videos.
Homework Book
  • Sections 4.5.1 (LS Routing Algorithm) and 4.5.2 (DV Routing Algorithm)
  • Section 3.4.2 to 3.4.4 (included)
Optional read
Part 2
Today's Internet
Week 4
Mar 9 Lecture 4 Ethernet & Switching
Materials
Video Materials Important Use your ETHZ login/password to access the videos.
Book
  • Sections 5.1 (Introduction to the Link Layer), 5.3 (Multiple Access Links) and 5.4 (Switched LANs)
Optional read
Mar 12 Exercise 3
Week 5
Mar 16 Lecture 5 Online/COVID-19 Internet Protocol (IP) & Forwarding
Materials
Video Materials Important Use your ETHZ login/password to access the videos.
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
Mar 19 Exercise 4
Mar 16 Internet Routing project starts
Week 6
Mar 23 Lecture 6 Online/COVID-19 Internet Routing
Materials
Video Materials
  • Lecture Watch until 01:12:00
  • (If you want to start working on the BGP part of the project early, watch the beginning of the next lecture.

Important Use your ETHZ login/password to access the videos.
Mar 26 Exercise 5
Mar 26 Internet Routing Hackathon

Cancelled due to COVID-19 concerns. Information on online alternative will follow.

Week 8
Apr 6 Lecture 8 Online/COVID-19 BGP's challenges (and solution)
Materials
Video Materials
  • Lecture (Recording of the live Zoom lecture of April 6)
Week 9
Apr 13 no class Easter Monday
Apr 16 no exercise Easter Holiday
Week 10
Apr 20 Lecture 9 Online/COVID-19 Transport Layer: UDP and TCP
Materials
Video Materials
  • Lecture (Recording of the live Zoom lecture of April 20)
Book
  • Section 3.5 (Connection-Oriented Transport: TCP)
  • Section 3.6 (Principles of Congestion Control) and 3.7 (TCP Congestion Control)
Week 11
Apr 27 Lecture 10 Online/COVID-19 Congestion Control & Domain Name Service
Materials
Video Materials
  • Lecture (Recording of the live Zoom lecture of April 27)
Book
  • Section 2.5 (DNS. The Internet's Directory Service)
Optional read 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)
Apr 30 Exercise 9
Apr 27 Reliable Transport project starts
Week 12
May 4 Lecture 11 Online/COVID-19 Applications: DNS (the end) & HTTP
Materials
Video Materials
  • Lecture (Recording of the live Zoom lecture of May 4)
Book
  • Section 2.2 (The Web and HTTP)
May 7 Exercise 10
Week 13
May 11 Lecture 12 Online/COVID-19 Applications: HTTP (the end) & Video Streaming
Materials
Video Materials
  • Lecture (Recording of the live Zoom lecture of May 11)
May 14 Exercise 11
Week 14
May 18 Lecture 13 Online/COVID-19 Email & IPv6
Materials
Video Materials
  • Lecture (Recording of the live Zoom lecture of May 18)
Book
  • Section 4.4.4 (IPv6)
  • Section 2.4 (Electronic Mail in the Internet)
Homework
  • If you're on a Swisscom network (e.g. at home), try to send you an email via SMTP using, for instance, telnet mail.ethz.ch 25.
May 21 no exercise Ascension Day
May 22 Reliable Transport project ends
Week 15
May 25 Lecture 14 Online/COVID-19 IPv6, Recap and Exam Briefing
Materials
Video Materials
  • Lecture (Recording of the live Zoom lecture of May 25)
May 28 Exercise 12

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