Objectifs et contenu
Ce cours est une introduction pratique aux réseaux dit "Software Defined" avec une emphase particulière sur les techniques d'automatisation et de centralisation de la gestion d'un réseau par le logiciel et la programmation du plan de donnée indépendante de l'architecture hardware. Les objectifs d'apprentissage sont les suivants :
Distinguer les composants de base des architectures réseaux dites "Software Defined" et avoir
un premier aperçu général de leur fonctionnement.
Mettre en place et programmer des outils python qui permettent d'automatiser la gestion des équipements
de l'infrastructure d'un réseau.
Appliquer les principes de base du NetDevOps pour faire évoluer un réseau existant ou maintenir un réseau
futur.
Connaître les bases et principes du langage de programmation du plan de donnée P4.
Documentation
Software Defined Networks
The Stanford Clean Slate Internet Program (2005 - 2012)
Seminal paper : Ethane, Taking Control of the Enterprise Network, August 2007
Martin Casado Phd Thesis, December 2007 : Architectural Support for Security Management in enterprise networks
Open Flow : Enabling Innovation in Campus Networks, CCR April 2008
Nicira Networks Business case (2012)
The road to SDN an intellectual history of programmable networks
SDN with OpenFlow: Protocols Applications and Architectural Design Choices 2014
Le SDN pour les nuls, Jérome Durand, JRES 2015
Make SDN Real Keynote from Martin Casado, Open Networking Summit, April 3-6 2017
The CORD project, Open Networking Fundation, 2016
Implication of Software Defined Networking revolution for technology policy, 2019
Software-Defined Networks: A Systems Approach, 2020
Software Defined Networking (SDN) with OpenFlow 1.3, Open vSwitch and Ryu
OpenFlow Switch Specification version 1.3
Faucet SDN Controller documentation
Network Automation
Open Compute proposed charter for open network project, April 2013
Evolve or Die: High-Availability Design Principles Drawn from Google’s Network Infrastructure, Sigcomm 2016
Jason Edelman presenting Network to Code at Cisco Live EU 2019, Jan 2019
Network Programmability and Automation, Jason Edelman, Scott Lowe and Matt Oswalt, O'Reilly Media 2018
Hank Preston NetDevOps's Blog
Andy Bechtolsheim, Arista Networks, VMworld 2018
Gary Berger's blog on Functionnal programming, infrastructure automation and machine learning
Ansible Hands On Introduction from Jon Jozwiak, RedHat, Q2 2017
Learn Ansible quickly, Ahmed Alkabary, 2020
Ansible ad hoc commands examples
Basic overview of Yaml syntax
Yaml specification
Yaml in one video
Yaml syntax highlighter
Yaml to json/python
Jinja2 live parser
Jinja2 tutorial for network automation
P4 programming
Divers
Supports de cours
1. Software Defined Networking, a brief introduction
2. Network automation and Network as Code
Laboratoires
Evaluations