Advanced Topics in
Communication Networks
Fall 2020

This course covers advanced topics and technologies in computer networks, both theoretically and practically. In the Fall 2020, the course will cover advanced topics in Internet routing and forwarding.

The goal for this course is to provide students with a deeper understanding of existing and upcoming Internet routing and forwarding technologies used in large-scale computer networks such as Internet Service Providers (e.g., Swisscom or Deutsche Telekom), Content Delivery Networks (e.g., Netflix) and Data Centers (e.g., Google).

Besides covering the fundamentals, the course will be “hands-on” and will enable students to play with the technologies in realistic network environments, and even implement some of them on their own during labs and a final group project.


May 12 Website for the Fall 2020 course edition goes live. Please note the updated course content!


Professor: Laurent Vanbever ()

Research group: Networked Systems


  •   Head


Location & time

Lecture: Tuesday 2 pm–4 pm in ML H 44

Exercise sessions: Tuesday 4 pm–6 pm in ML H 44


The course will cover advanced topics in Internet routing and forwarding such as:

  • Tunneling
  • Hierarchical routing
  • Traffic Engineering and Load Balancing
  • Virtual Private Networks
  • Quality of Service/Queuing/Scheduling
  • IP Multicast
  • Fast Convergence
  • Network virtualization
  • Network programmability (OpenFlow, P4)
  • Network measurements

The course will be divided in two main blocks. The first block (~10 weeks) will interleave classical lectures with practical exercises and labs. The second block (~4 weeks) will consist of a practical project which will be performed in small groups (~3 students). During the second block, lecture slots will be replaced by feedback sessions where students will be able to ask questions and get feedback about their project. The last week of the semester will be dedicated to student presentations and demonstrations.


  • Communication Networks (227-0120-00L), Computer Networks (252-0064-00L) or equivalents.
  • Good programming skills (in any language) are expected as both the exercises and the final project will involve coding.

Performance assessment

  • 6 ECTS credits
  • 70% of the final grade will be based on the final (written) exam, while the remaining 30% will be based on one graded group project (as a continuous performance assessment task). The project will start around week 10. Students repeating the course must decide at the beginning of the semester if they want to keep their previous project grade and inform the instructor accordingly.
Part 1
Lectures and exercises (tentative)
Week 1
Sep 15 Lecture 1
Exercise 1

Please bring your laptop to the exercise session and install the VM that we provide. If you don't have a laptop, please contact us during the exercise session.

The instructions and code templates for the exercises will be uploaded on GitLab.

Week 2
Sep 22 Lecture 2
Exercise 2
Week 3
Sep 29 Lecture 3
Exercise 3
Week 4
Oct 6 Lecture 4
Exercise 4
Week 5
Oct 13 Lecture 5
Exercise 5
Week 6
Oct 20 Lecture 6
Exercise 6
Week 7
Oct 27 Lecture 7
Exercise 7
Week 8
Nov 3 Lecture 8
Exercise 8
Week 9
Nov 10 Lecture 9
Exercise 9
Week 10
Nov 17 Lecture 10
Exercise 10
Part 2
Week 10—13
Nov 17 — Dec 8 Group projects
Week 14
Dec 15 Project presentations