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.


Jan 15 All lecture materials are now publicly available.
Exercise materials that we can easily make available will follow soon.
Sep 14 Semester starts! The first lecture and exercise sessions are happening tomorrow (15.09) starting at 2:15 and 4:15 pm respectively.
The Zoom links are available on Moodle.
Sep 11 The course's Moodle page is now online; if you registered for the course via myStudies you should be automatically enrolled in the Moodle course.
Aug 18 Lecture goes fully online this Fall Semester. Stay tuned for more organizational information.
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 TA


Location & time

Tuesday 2:15 pm–4 pm in ML H 44
Online, Zoom link on Moodle

Exercise sessions
Tuesday 4:15 pm–6 pm in ML H 44
Online, Zoom link on Moodle

Learning materials
on Moodle


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.

Please check our Moodle page


The lecture slides are not always aligned with the recordings.
Oftentimes, the materials in the slide pack for one week is covered in that and the next week's video.

Lecture 1
Introduction, Course organization, Introduction to PISA and P4
Lecture 2
P4 environment (target/architecture), the P4 language
MPLS - The basics
Lecture 3
Stateful P4 objects
Traffic engineering and Load balancing
  • IP based
  • MPLS based
Lecture 4
Traffic engineering and Load balancing (continued)
  • IP based
  • MPLS based
Lecture 5
Advanced load balancing
Lecture 6
MPLS-based Traffic Engineering (RSVP-TE)
Lecture 7
Quality of Service
VPN - Customer managed
Lecture 8
VPN - Provider managed
Lecture 9
Fast convergence
Lecture 10
Fast convergence (the end)
IP Multicast