Cours SDN2023
Cours SDN2023
Cours SDN2023
A. EL GHATTAS
Mai 2023
1
Sommaire
1. Définition du SDN…………………………………………………………………………... 3
3. Avantages du SDN…………………………………………………………………………... 4
4. Architecture du SDN………………………………………………………………………… 4
5. Contrôleur SDN……………………………………………………………………………... 5
6. Commutateurs OpenFlow…………………………………………………………………… 6
7. API…………………………………………………………………………………………... 6
8. Protocole OpenFlow………………………………………………………………………… 7
9. Solutions SDN………………………………………………………………………………. 8
2
1. Définition du SDN
Le SDN (Software-Defined Networking) est une approche de gestion des réseaux qui vise à séparer le
plan de contrôle (control plane) et le plan de données (data plane) d'un réseau.
Dans un réseau traditionnel, le plan de contrôle et le plan de données sont intégrés dans chaque
équipement réseau. En revanche, dans un réseau SDN, le contrôle est centralisé au niveau d'une entité
logicielle appelée contrôleur SDN, tandis que les équipements réseau conservent le plan de données.
Le contrôleur SDN communique avec les équipements réseau à l'aide de protocoles de communication
standardisés, tels que OpenFlow. Il est responsable de la prise de décisions concernant le transfert des
données, la configuration des chemins de communication, la gestion de la sécurité, etc. Les équipements
réseau se contentent d'exécuter les instructions du contrôleur SDN.
2. Historique et évolution du SDN
L'histoire et l'évolution du SDN ont connu plusieurs étapes clés depuis son émergence. Voici un aperçu
de son historique et de son évolution :
Début des années 2000 : Les premières recherches sur le SDN ont été menées par des universités et des
instituts de recherche. Les travaux pionniers ont exploré la séparation du plan de contrôle et du plan de
données dans les réseaux afin de permettre une plus grande programmabilité et une gestion centralisée.
3
2008 : L'introduction du protocole OpenFlow par des chercheurs de l'Université Stanford a été un jalon
important dans l'histoire du SDN. OpenFlow a établi une norme de communication entre le contrôleur
SDN et les commutateurs SDN, permettant au contrôleur de prendre des décisions sur le transfert des
paquets dans le réseau.
2011 : L'Open Networking Foundation (ONF) a été créée en tant qu'organisation industrielle pour
promouvoir et développer les standards et les technologies SDN, en mettant l'accent sur le protocole
OpenFlow.
Années 2010 : Le SDN a commencé à gagner en popularité et à être adopté par l'industrie des
télécommunications et des centres de données. Les entreprises ont vu le potentiel du SDN pour améliorer
la flexibilité, la gestion et la performance des réseaux.
2012-2013 : Les grands fournisseurs de matériel réseau ont commencé à intégrer des fonctionnalités SDN
dans leurs produits. Les commutateurs compatibles avec OpenFlow sont devenus plus courants sur le
marché.
2014-2015 : L'évolution du SDN s'est étendue à la virtualisation du réseau, permettant la création de
réseaux virtuels et l'isolation des environnements de réseau. Les technologies de virtualisation réseau,
telles que les hyperviseurs réseau et les commutateurs virtuels, ont émergé.
2016-2018 : Le SDN a continué à se développer et à se diversifier. Les déploiements SDN se sont
étendus aux environnements de cloud computing, aux réseaux de campus, aux réseaux sans fil et à
d'autres domaines. De nouvelles applications SDN ont été développées pour répondre aux besoins
spécifiques de différents secteurs, tels que la santé, les télécommunications et l'Internet des objets
(IoT).
• Aujourd'hui : Le SDN continue à évoluer avec l'émergence de nouvelles technologies de réseau.
3. Avantages du SDN
Le SDN permet de réaliser plusieurs avantages :
• Flexibilité : En centralisant le contrôle, les politiques et les règles de gestion du réseau peuvent être
facilement programmées et modifiées, offrant une flexibilité accrue pour répondre aux besoins
évolutifs du réseau.
• Gestion centralisée : Le contrôleur SDN permet une vue d'ensemble du réseau, facilitant ainsi la
gestion, le suivi et le dépannage du réseau dans son ensemble.
• Automatisation : Les tâches de gestion du réseau peuvent être automatisées grâce à la
programmabilité du SDN, réduisant ainsi la charge de travail manuelle et les erreurs potentielles.
• Programmabilité : Les développeurs peuvent exploiter des API (Application Programming
Interfaces) pour programmer le comportement du réseau selon les besoins spécifiques des applications
et des services.
• Évolutivité : La SDN facilite l'extension du réseau en ajoutant de nouveaux équipements réseau sans
impacter le plan de contrôle centralisé.
4. Architecture du SDN
Les composants clés d'une architecture SDN sont les suivants :
• Contrôleur SDN : Le contrôleur SDN est le cerveau de l'architecture SDN. Il est chargé de centraliser
la logique de contrôle et de prendre des décisions concernant le comportement du réseau.
• Commutateurs/OpenFlow switches : Les commutateurs réseau dans une architecture SDN sont
souvent des commutateurs compatibles avec OpenFlow, un protocole de communication largement
utilisé dans les réseaux SDN. Les commutateurs OpenFlow peuvent être des commutateurs physiques ou
virtuels et ils reçoivent les instructions du contrôleur SDN pour transférer les paquets de données en
fonction des politiques et des règles définies.
• Interfaces de programmation (API) : Les API sont des interfaces logicielles qui permettent aux
applications, aux services et aux outils de communiquer avec le contrôleur SDN et de programmer le
comportement du réseau.
4
• Applications SDN : Les applications SDN sont des logiciels qui s'exécutent sur un contrôleur SDN
ou sur des serveurs connectés à un réseau SDN. Elles exploitent les fonctionnalités et la programmabilité
de l'architecture SDN pour offrir des services et des fonctionnalités avancées.
• Southbound APIs : Les interfaces southbound sont des interfaces de communication entre le
contrôleur SDN et les commutateurs réseau. Elles permettent au contrôleur d'envoyer des instructions
aux commutateurs et de recevoir des informations sur l'état du réseau. L'API la plus couramment utilisée
est OpenFlow.
• Northbound APIs : Les interfaces northbound sont des interfaces de communication entre le
contrôleur SDN et les applications, services ou outils externes. Elles permettent aux applications de
demander des informations au contrôleur SDN, de le configurer et de contrôler le comportement du
réseau.
• Plan de données (Data Plane) : Le plan de données représente la partie du réseau où les paquets de
données sont transférés et acheminés. Dans une architecture SDN, les commutateurs réseau sont
responsables du plan de données. Ils reçoivent les instructions du contrôleur SDN via les interfaces
southbound et effectuent le transfert des paquets en fonction des règles et des politiques définies.
• Plan de contrôle (Control Plane) : Le plan de contrôle représente la partie du réseau où les décisions
de gestion et de configuration du réseau sont prises. Dans une architecture SDN, le contrôleur SDN est
responsable du plan de contrôle. Il communique avec les commutateurs via les interfaces southbound,
reçoit des informations sur l'état du réseau et envoie des instructions pour configurer le comportement
des commutateurs.
5. Contrôleur SDN
Un contrôleur SDN est l'entité centrale de l'architecture SDN. Il s'agit d'un logiciel ou d'un système qui
gère et contrôle les réseaux basés sur le SDN en interagissant avec les commutateurs réseau via le
protocole OpenFlow ou d'autres interfaces de programmation.
Le rôle principal d'un contrôleur SDN est de centraliser le contrôle et la gestion du réseau, ce qui permet
une programmabilité et une automatisation accrues par rapport aux réseaux traditionnels.
Certains exemples populaires de contrôleurs SDN sont OpenDaylight, ONOS et Floodlight. Chaque
contrôleur peut offrir des fonctionnalités et des capacités spécifiques, mais ils partagent tous l'objectif
commun de fournir une gestion centralisée et programmable du réseau dans une architecture SDN.
5
6. Commutateurs OpenFlow
Un commutateur OpenFlow est un équipement réseau qui prend en charge le protocole OpenFlow.
Contrairement aux commutateurs traditionnels, un commutateur OpenFlow est capable d'être programmé
et contrôlé de manière centralisée par un contrôleur SDN via des messages OpenFlow.
Un commutateur OpenFlow contient une ou plusieurs tables de flux qui stockent les règles de flux
programmées par le contrôleur SDN. Ces règles définissent les actions à prendre pour un flux de paquets
spécifique en fonction de certains critères, tels que les adresses source/destination, les ports, les
protocoles, etc.
6
• RESTful API (Representational State Transfer) : Les API RESTful sont basées sur le protocole
HTTP. Elles utilisent des méthodes HTTP telles que GET, POST, PUT et DELETE pour effectuer des
opérations sur les ressources du réseau. Les réponses sont généralement retournées au format JSON
(JavaScript Object Notation) ou XML (eXtensible Markup Language).
• NETCONF (Network Configuration Protocol) : c’est un protocole de gestion de réseau standardisé
et basé sur XML. NETCONF permet aux administrateurs réseau d'accéder à distance aux périphériques
réseau, de manipuler leur configuration et de récupérer des informations sur leur état.
• OpenFlow : OpenFlow est un protocole de communication spécifique au domaine des réseaux SDN.
Il définit les messages et les règles de contrôle utilisés pour programmer et contrôler le comportement
des commutateurs SDN. OpenFlow permet au contrôleur SDN de prendre des décisions de routage et de
commutation centralisées en envoyant des instructions de flux aux commutateurs.
Ces types d'API ne sont pas exhaustifs, et il existe d'autres protocoles et formats d'API utilisés dans le
domaine des réseaux SDN.
8. Protocole OpenFlow
Le protocole OpenFlow est un protocole de communication utilisé dans les réseaux SDN. Il définit la
manière dont les contrôleurs SDN et les commutateurs réseau communiquent entre eux pour gérer et
contrôler le transfert des paquets de données.
Version d'OpenFlow :
OpenFlow a connu plusieurs versions, chacune apportant de nouvelles fonctionnalités et améliorations.
Les versions les plus courantes sont OpenFlow 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, avec la version 1.5.1 étant la
dernière version stable publiée en septembre 2015.
Messages OpenFlow :
Les messages OpenFlow sont utilisés pour la communication entre le contrôleur et les commutateurs. Le
protocole OpenFlow supporte trois types de messages :
7
9. Solutions SDN
Il existe plusieurs solutions SDN disponibles sur le marché, chacune offrant des fonctionnalités et des
caractéristiques spécifiques. Voici quelques-unes des solutions SDN les plus connues :
• OpenDaylight : OpenDaylight est un projet open source qui fournit une plateforme de contrôleur
SDN pour gérer et contrôler les réseaux basés sur le SDN. Il offre une architecture modulaire et une
grande flexibilité pour développer des applications et des services réseau.
• ONOS (Open Network Operating System) : ONOS est un système d'exploitation de réseau open
source conçu pour fournir un contrôleur SDN hautement évolutif et performant. Il est utilisé pour gérer
des réseaux de grande envergure, tels que les réseaux de transport, les réseaux mobiles et les réseaux de
data center.
• Cisco Application Centric Infrastructure (ACI) : ACI est une solution SDN développée par Cisco.
Elle combine un contrôleur SDN (Cisco Application Policy Infrastructure Controller - APIC) avec des
commutateurs réseau spécifiques (Cisco Nexus) pour offrir une gestion centralisée, une automatisation
et une orchestration des réseaux d'entreprise.
• VMware NSX : NSX est une plateforme de virtualisation du réseau développée par VMware. Elle
permet de créer des réseaux virtuels, de fournir une isolation et une sécurité granulaires et d'intégrer les
fonctionnalités réseau avec les environnements de virtualisation.
• Juniper Contrail : Contrail est une solution SDN développée par Juniper Networks. Elle offre une
gestion et un contrôle centralisés du réseau, ainsi que des fonctionnalités de virtualisation du réseau, de
sécurité et d'automatisation des opérations.
• HP VAN (Virtual Application Networks) : HP VAN est une solution SDN proposée par Hewlett
Packard Enterprise (HPE). Elle comprend un contrôleur SDN (HPE VAN Controller) ainsi que des
commutateurs réseau compatibles avec OpenFlow. Elle permet de simplifier la gestion et l'orchestration
des réseaux d'entreprise.
10. Sécurité du SDN
Les risques des environnements SDN sont essentiellement liés à la centralisation du contrôle :
• En termes de disponibilité, un défaut de redondance des contrôleurs a des impacts élevés en cas de
panne ou de dysfonctionnement ;
• La compromission d’un contrôleur par un attaquant lui permet de prendre la main sur l’ensemble du
réseau ;
• L’écoute passive des messages OpenFlow peuvent fournir des informations utiles par l’attaquant ;
• Des attaques man-in-the-middle entre l’administrateur légitime et le contrôleur.
Pour renforcer la sécurité d'un réseau SDN, voici quelques mesures à prendre :
• Isoler le contrôleur SDN : Assurez-vous de déployer le contrôleur SDN dans un réseau isolé et
sécurisé. Limitez l'accès physique et réseau au contrôleur pour réduire les risques d'attaques directes.
• Utiliser des protocoles sécurisés : Utilisez des protocoles sécurisés tels que Transport Layer Security
(TLS) pour chiffrer les communications entre le contrôleur SDN et les périphériques réseau.
• Pare-feu et filtrage du trafic : Déployez des pare-feu et des mécanismes de filtrage du trafic pour
contrôler et limiter le trafic entrant et sortant du réseau SDN. Utilisez des règles de pare-feu pour autoriser
uniquement les flux de données légitimes et bloquer les activités suspectes.
8
QCM
Question 1 : Qu'est-ce que SDN ?
a) Software-Defined Networking
b) System Development Network
c) Secure Data Network
d) Server Deployment Node
Question 2 : Qu'est-ce qu'un contrôleur SDN ?
a) Un commutateur réseau
b) Un logiciel centralisé qui gère le réseau
c) Un protocole de communication réseau
d) Un équipement de sécurité réseau
Question 3 : Quel est le rôle d'un commutateur SDN ?
a) Contrôler l'accès au réseau
b) Gérer les adresses IP des périphériques
c) Prendre des décisions de transfert de paquets
d) Tous les choix ci-dessus
Question 4 : Quel protocole est couramment utilisé pour la communication entre le contrôleur SDN
et les commutateurs ?
a) OpenFlow
b) IPsec
c) SNMP
d) OSPF
Question 5 : Qu'est-ce qu'une table de flux dans le contexte du SDN ?
a) Une table utilisée pour stocker les adresses MAC
b) Une table utilisée pour stocker les adresses IP
c) Une table utilisée pour stocker les règles de transfert de paquets
d) Une table utilisée pour stocker les journaux de connexion
Question 6 : Quels avantages le SDN peut-il offrir en termes de gestion du réseau ?
a) Une configuration centralisée
b) Une meilleure flexibilité et évolutivité
c) Une automatisation des tâches de gestion
d) Tous les choix ci-dessus
Question 7 : Quels sont les composants clés d'une architecture SDN ?
a) Contrôleur SDN, commutateurs SDN, applications réseau
b) Routeurs, commutateurs, serveurs
c) Pare-feu, IDS, IPS
d) Tous les choix ci-dessus
Question 8 : Quelle est la principale différence entre un réseau traditionnel et un réseau SDN ?
a) Dans un réseau traditionnel, la gestion est décentralisée, tandis que dans un réseau SDN, elle est
centralisée.
b) Un réseau traditionnel utilise des protocoles de communication standard, tandis qu'un réseau SDN
utilise OpenFlow.
c) Un réseau traditionnel offre moins de flexibilité et d'évolutivité qu'un réseau SDN.
d) Tous les choix ci-dessus.
9
Question 9 : Quelle est la fonction du protocole OpenFlow dans un réseau SDN ?
a) Il permet la communication entre le contrôleur SDN et les commutateurs SDN.
b) Il gère les adresses IP des périphériques du réseau.
c) Il chiffre les données transitant sur le réseau SDN.
d) Il analyse le trafic réseau pour détecter les attaques.
Question 10 : Quelle est la principale limitation du SDN ?
a) Les coûts élevés de déploiement initial.
b) La dépendance vis-à-vis du contrôleur SDN centralisé.
c) La complexité de la configuration et de la gestion.
d) La nécessité d'une expertise en programmation pour les développeurs réseau.
Question 11 : Qu'est-ce que l'API Northbound dans une architecture SDN ?
a) Une interface de programmation permettant aux applications d'interagir avec le contrôleur SDN.
b) Une interface de communication entre les commutateurs SDN.
c) Une interface de gestion utilisée par les administrateurs réseau pour configurer les règles de sécurité.
d) Une interface de communication entre les contrôleurs SDN.
Question 12 : Qu'est-ce que le plan de données (data plane) dans une architecture SDN ?
a) Il héberge les applications réseau.
b) Il assure la communication entre le contrôleur et les commutateurs SDN.
c) Il collecte les données de performance du réseau.
d) Il gère les décisions de transfert de paquets.
Question 13 : Qu'est-ce que le plan de contrôle (control plane) dans une architecture SDN ?
a) Il gère les décisions de transfert de paquets.
b) Il héberge les applications réseau.
c) Il assure la communication entre le contrôleur et les commutateurs SDN.
d) Il collecte les données de performance du réseau.
Question 14 : Qu'est-ce que l'OpenDaylight Project ?
a) Un consortium d'entreprises travaillant sur des solutions SDN.
b) Un projet open-source visant à développer un contrôleur SDN standardisé.
c) Un protocole de communication utilisé dans les réseaux SDN.
d) Un modèle de sécurité pour les réseaux SDN.
Réponses : 1a2b3c4a5c6d7a8d9a10b11a12d13c14b
10