Matière
Réseaux programmables
Description
Cet enseignement introduit le concept de réseaux programmables, un paradigme relativement récent apparu durant les années 2010. Contrairement aux réseaux traditionnels uniquement configurables, ces réseaux offrent une possibilité de re-programmation quasi-complète de leur comportement, permettant aux opérateurs de s'affranchir des protocoles et technologies existantes, voire des constructeurs partageant l'oligopole. Initialement cantonnée au plan de contrôle, cette programmabilité s'est récemment étendue au plan de données, offrant ainsi la possibilité de modifier le traitement même des paquets. Cette capacité à transformer radicalement le comportement des équipements et des protocoles ouvre la voie à la création de réseaux hautement optimisés, adaptés à leur environnement de déploiement spécifique, évolutifs et malléables. Dans ce cours, les étudiants exploreront les différentes technologies associées aux réseaux programmables, en analysant leurs avantages et inconvénients. Ils seront également amenés à expérimenter la reprogrammation des fonctionnalités traditionnelles ainsi que des fonctionnalités complexes sur une plateforme virtuelle, afin d'appréhender la flexibilité offerte par ce nouveau paradigme. Enfin, plusieurs cas d'usage seront discutés pour illustrer ces nouvelles opportunités.
Compétences requises
À l'entrée dans cet enseignement, un étudiant devrait savoir :
- programmer dans un langage impératif tel que C et Python
- configurer un réseau de couche 2 (VLAN, STP, etc) et 3 (IPv4 et IPv6)
- déployer un réseau IP, en particulier ses protocoles de routage (OSPF, BGP) et ses services virtuels (VPN)
Compétences visées
À l'issue de cet enseignement, un étudiant saura :
- programmer le plan de données et de contrôle des équipements réseaux compatibles
- évaluer différents paradigmes de réseaux programmables
- implémenter des concepts réseaux avancés (Re-routage rapide, ingénierie de trafic, équilibrage de charge)
Discipline(s)
- Informatique