Communication Networks 2018

© Google

Professor: Laurent Vanbever ()

Assistants:

  •   Head

Research group: Networked Systems

Lecture: Monday 10 am–12 pm in ETF C 1

Exercice sessions: Thursday 10 am–12 pm in IFW A 36

Slack: comm-net18.slack.com

News

Jun 5 The solutions for the tenth exercise are now online.
May 30 The tasks for the tenth exercise are now online.
May 13 Materials for the last lecture are now online!
May 24 The solutions for the ninth exercise are now online.
May 13 Materials for the thirtheenth lecture are now online.
May 22 We organize an additional Q&A session where you can ask questions related to the transport project.
It takes place on Friday, May 25 from 10am to 12pm in ETZ G71.2.
May 18 Next week's lecture will be during the exercise session on Thursday (May 24) in HG E 3.
May 17 The tasks for the ninth exercise are now online.
May 13 Materials for the twelfth lecture are now online.
May 7 Materials for the eleventh lecture are now online.
May 7 The assignment text for the Reliable Transport Project is now online.
Apr 29 Materials for the tenth lecture are now online.
Apr 29 We organize an additional Q&A session where you can ask questions related to the routing project.
It takes place on Mon, Apr 30 from 1 to 3pm in ETZ G71.2.
Apr 25 The tasks for the seventh exercise are now online.
Apr 22 Materials for the ninth lecture are now online.
Apr 20 The solutions for the sixth exercise are now online.
Apr 15 Materials for the eighth lecture are now online.
Apr 12 We organize an additional Q&A session where you can ask questions related to the routing project.
It takes place on Tue, Apr 17 from 1 to 3pm in ETZ G71.2.
Apr 11 The tasks for the sixth exercise are now online.
Apr 9 Materials for the routing project are now online.
Apr 8 Materials for the seventh lecture are now online.
Apr 4 The solutions for the fifth exercise are now online.
Mar 28 The solutions for the fourth exercise and the tasks for the fifth exercise are now online.
Mar 25 Materials for the sixth lecture are now online.
Mar 21 Please use this spreadsheet to register your group for the graded practical projects. If you don't have a group yet, put your name in the column on the right.
Mar 21 The solutions for the third exercise and the tasks for the fourth exercise are now online.
Mar 18 Materials for the fifth lecture are now online.
Mar 14 Date of the Internet Routing Hackathon: April 19.
Mar 14 The solutions for the second exercise and the tasks for the third exercise are now online.
Feb 25 Materials for the fourth lecture are now online.
Mar 7 The solutions for the first exercise and the tasks for the second exercise are now online.
Mar 4 Materials for the third lecture are now online.
Feb 27 The first exercise is online.
Feb 25 Materials for the second lecture are now online.
Feb 18 Materials for the first lecture are now online. Looking forward to see you tomorrow!
Feb 8 Materials for the first lecture will be uploaded on Sunday (Feb 18).
Feb 8 Website for 2018 goes live!

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 80% based on the final exam and 20% based on the practical assignments (see 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.

I'll 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.

  1. Internet Routing (week 8 to 11): 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 (week 12 to 15): 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
Week 1
Feb 19 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 26 Lecture 2 Introduction (Part 2)
  1. How does network communication happen?
  2. How do we characterize a network?
Materials
Mar 1 Exercise 1
Part 2
Conceptual Foundations
Week 3
Mar 5 Lecture 3 Routing
Materials
Homework
  • Take a look at an actual Internet forwarding table by connecting yourself to Sunrise's looking glass (telnet routeserver.sunrise.ch) and issue the show ip cef command. While you are at it, take a look at the routing table of this router (show ip bgp). What is in common with respect to the forwarding table?
Book
  • Sections 4.5.1 (LS Routing Algorithm) and 4.5.2 (DV Routing Algorithm)
Optional read
Mar 8 Exercise 2
Week 4
Mar 12 Lecture 4 Reliable Transport
Materials
Homework Book
  • Section 3.4.2 to 3.4.4 (included)
Mar 15 Exercise 3
Part 3
Today's Internet
Week 5
Mar 19 Lecture 5 Ethernet & Switching
Materials
Book
  • Sections 5.1 (Introduction to the Link Layer), 5.3 (Multiple Access Links) and 5.4 (Switched LANs)
Optional read
Mar 22 Exercise 4
Week 6
Mar 26 Lecture 6 Internet Protocol (IP) & Forwarding
Materials
Book
  • Sections 4.1 (Introduction to the the Network Layer), 4.3 (What's Inside a Router), 4.5 (The Internet Protocol)
Optional watch
Mar 29 Exercise 5
Week 7
Apr 2 no class Easter Monday
Apr 5 no exercise Easter Holiday
Week 8
Apr 9 Lecture 7 Internet Routing
Materials
Apr 12 Exercise 6
Apr 9 Internet Routing project starts
Week 9
Apr 17 Q&A-session for the routing project

1-3pm in ETZ G71.2

Apr 19 Q&A-session for the routing project (no theoretical tasks)

10am–12pm in IFW A 36

Apr 19 Internet Routing Hackathon

The Hackathon will take place in the “CLA Glashalle” and start at 6pm.

Week 10
Apr 23 Lecture 9 UDP and TCP
Materials
Book
  • Section 3.5 (Connection-Oriented Transport: TCP)
Apr 26 Q&A-session for the routing project and theoretical tasks
Week 11
Apr 30 Lecture 10 TCP Congestion Control
Materials
Book
  • Section 3.5 (Connection-Oriented Transport: TCP)
Apr 30 Q&A-session for the routing project

1-3pm in ETZ G71.2

May 3 Q&A-session for the routing project and theoretical tasks
May 3: Internet Routing project ends

Deadline: May 3 at 11.59pm.

Week 12
May 7 Lecture 11 Introduction to the Reliable Transport project
May 10 no exercise Ascension Day
May 7: Reliable Transport project starts
Week 13
May 14 Lecture 12 Applications: DNS, HTTP
Materials
Book
  • Section 2.2 (The Web and HTTP)
  • 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 Exercise 10
Week 14
May 21 no class Whitsuntide
May 24 Lecture 13 Applications: Video Streaming, E-mail (during exercise session)

The lecture starts at 10.15am in HG E 3 (not the normal exercise room)

Materials
Book
  • Section 7.2 (Streaming Stored Video)
  • 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 25 Q&A-session for the transport project

10am-12pm in ETZ G71.2

Week 15
May 28 Lecture 14 ICMP/NAT, Programmable Data Planes, Course Recap, Briefing on the exam
Materials
Book
  • Section 4.4.2 (Network Address Translation (NAT))
  • Section 4.4.3 (Internet Control Message Protocol (ICMP))
Optional watch
May 31 Exercise 11
Jun 1: Reliable Transport project ends
Deadline: June 1 at 11.59pm.

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