Networks

Instructor: Francesco Bronzino - [email protected]

TAs: Augustin Laouar - [email protected]

Office: M7.303

Office hours: Mon 9:15-10:15 (1 hour slot of availability to discuss freely about anything related to the course). Send an email at least 24h in advance to warn me.

Course's syllabus: Syllabus

Course’s page: https://etudes.ens-lyon.fr/course/view.php?id=6230

Schedule:

Class: Mondays 10:15-12:15

Labs: Fridays 8:00-10:00

Course Description

This course presents the main technological choices made in today's networks by operators, applications and services, and users, with an emphasis on the reasoning behind these choices. By the end of this course, students will be able to understand the factors that can affect the behavior of an application distributed across a network or the Internet, and to configure the main equipment of a network infrastructure. More importantly, students will master the ability to understand and reason about network logic, its protocols, and the trade-offs made every day in the implementation of a computer network.

To illustrate and directly apply the concepts covered in the course, it includes hands-on sessions as well as lab work using simulators, emulators, and real equipment.

Prerequisite(s)

Python programming, simple shell scripting.

Objectives

By the end of this course, students will be able to:

  1. Explain the layered architecture of computer networks and the role of each layer.
  2. Compare reliable and unreliable transport mechanisms and their trade-offs.
  3. Describe how routing protocols determine paths and behave under failures.
  4. Understand shared medium access and link-layer coordination mechanisms.
  5. Explain the motivations behind Software Defined Networking.