Académique Documents
Professionnel Documents
Culture Documents
Projet en équipe
§ 5 Groupes de travail :
- Groupe 1 de 4 élèves
- Groupe 2 de 4 élèves
- Groupe 3 de 4 élèves
- Groupe 4 de 5 élèves
- Groupe 5 de 5 élèves
§ Désigner un chef de projet
§ Le projet sera divisé en tâches
§ Les tâches seront notées, datées et validées par le chef de projet.
2
Grandes étapes du projet
1/ Prise en main de l’environnement d’émulation MiniNet (http://mininet.org)
§ Installation du Mininet-WiFi (https://mininet-wifi.github.io)
§ Tester un réseau simple avec le contrôleur par défaut
§ Installer Wireshark et analyser le contrôle par OpenFlow
4
Software Defined Networking
La Fondation ONF (Open Networking Foundation) a défini SDN comme
suit : « Software Defined Networking (SDN) est une architecture de réseau
émergeant où le contrôle du réseau est découplé de l'envoi et est
directement programmable ».
§ Le plan de contrôle est découplé du plan de données : la fonctionnalité de
contrôle est retirée des dispositifs réseau qui deviendront des éléments
(paquets) simples de transfert.
§ Un contrôleur centralisé et la vue de réseau : la logique de commande est
déplacé vers une entité externe, qui est le contrôleur SDN ou système
d'exploitation réseau (NOS).
§ Une API entre le plan de contrôle et le plan de données.
§ La Programmabilité du réseau : le réseau est programmable grâce à des
applications logicielles fonctionnant au dessus du NOS qui interagit avec
les dispositifs du plan de données sous-adjacents.
5
Software Defined Networking
Application Layer
Control Plane
NorthBound API
Data Plane
Network
App App App App App App SDN Controller Services
Control Plane
Data Plane Data Plane
Network Device Network Device
Data Plane
Network Device
Data Plane
Network Device
7
Software Defined Networking
§ Couche d'infrastructure ou plan de données : similaire à un réseau traditionnel,
est composée d'un ensemble d’équipements (commutateurs, routeurs, etc.), qui
représente des éléments de renvoi simple, sans contrôle ou logiciels pour prendre
des décisions autonomes embarqués.
Ø Ces dispositifs de commutation sont responsables de la collecte de l’état du
réseau (topologie du réseau, statistiques de trafic, etc.), de les stocker
temporairement dans les dispositifs locaux et de les envoyer à des
contrôleurs. Ils sont aussi responsables de la transformation des paquets en
fonction de règles fournies par un contrôleur.
§ Couche de contrôle ou plan de contrôle : pont entre la couche application et la
couche d'infrastructure, par l'intermédiaire des deux interfaces (southbound et
northbound).
Øl'interface Southbound : précise les fonctions des contrôleurs pour accéder
aux fonctions fournies par des dispositifs de commutation. Les fonctions
peuvent inclure une déclaration d'état du réseau et l'importation de règles de
transmission de paquets.
Øl'interface Northbound : fournit des points d'accès aux services sous
diverses formes, par exemple, une interface de programmation d'application
(API).
8
Software Defined Networking
§ Couche de contrôle ou plan de contrôle :
Ø Les applications SDN peuvent accéder à des informations d'état du réseau
rapporté de dispositifs de commutation par cette API, prendre des décisions
d'optimisation du système basé sur cette information, et mener à bien ces
décisions en établissant des règles de transmission de paquets de dispositifs
de commutation utilisation de cette API.
Ø Un contrôleur centralisé est une seule entité qui gère tous les dispositifs de
transmission du réseau. Exp. POX, NOX, Maestro, Beacon et Floodlight,
Trema, Ryu NSA, Meridian et ProgrammableFlow.
Ø Un contrôleur distribué peut être une grappe centralisée de noeuds ou d'un
ensemble d'éléments physiquement distribués. Exp. Onix, HyperFlow, HP VAN
SDN, Onos, DISCO, yanc, PANE, smartlight, et feet.
§ Couche d'application : contient des applications SDN conçus pour satisfaire les
besoins des utilisateurs.
Ø Les applications SDN sont en mesure d'accéder et de contrôler les appareils
de commutation à la couche d'infrastructure. Un exemple d'applications SDN
pourrait inclure un contrôle dynamique de l'accès, la mobilité et les migrations,
l'équilibrage de la charge du serveur et de virtualisation de réseau.
9
OpenFlow
§ OpenFlow : une des normes de protocoles existantes sur l'utilisation du SDN dans
les applications réelles les plus populaires.
§ OpenFlow est un protocole qui permet la mise en oeuvre du concept SDN de point
de vue matériel et logiciel.
10
OpenFlow
§ OpenFlow est un protocole qui permet la mise en œuvre du concept SDN de point
de vue matériel et logiciel.
§ Commutateur/Switch OpenFlow : est constitué d'au moins trois principales
composantes :
Ø Table de flux (Flow Table) est utilisée pour rechercher les paquets et aussi
les envoyer, elle peut être remplie sur la base des paquets de données
entrants. Lorsqu'un nouveau paquet est reçu qui n'a pas d'entrée
correspondante dans la table de flux de données, il est transmis au contrôleur
à traiter.
Ø Canal sécurisé est généralement un canal de TLS ou SSL entre le
commutateur et le contrôleur.
Ø Protocole OpenFlow permet de communiquer avec les commutateurs et de
les gérer.
§ Il existe deux types de commutateur OpenFlow :
Ø Commutateur OpenFlow standalone : prend en charge seulement le
fonctionnement. Dans ces commutateurs, tous les paquets sont traités par le
pipeline de OpenFlow et les décisions de renvoi sont faites par les contrôleurs.
Ø Commutateur OpenFlow hybride : supporte l'opération du switch OF, en plus
de l'exploitation traditionnelle comme la commutation Ethernet L2, le routage
L3, etc. 11
Émulateur MiniNet
§ Mininet combine les caractéristiques
souhaitables de simulateurs, testbeds
et émulateurs.
§ Mininet est moins cher, disponible, et
rapidement reconfigurable. Le code
qui doit être développé en Mininet, peut
également fonctionner dans un réseau
réel sans aucune modification.
§ Mininet opère sur divers types d’hôtes
tels que des noeuds terminaux, des
commutateurs, des routeurs et des
liens sur un seul noyau Linux.
§ Il utilise la virtualisation légère pour la
monter comme un système unique.
Dans Mininet, un hôte se comporte
comme une véritable machine dans
laquelle les programmes en cours
d'exécution peuvent envoyer des
paquets via une interface Ethernet se
comporter comme une véritable
interface, avec une vitesse de liaison et
un délai donne. Les paquets sont traités
par ce qui ressemble a un commutateur
réel. 12
MiniNet-WiFi
§ Module mac80211_hwsim is responsible for creating virtual Wi-Fi interfaces, for stations and access points.
§ MLME (Media Access Control Sublayer Management Entity) is realized in the stations side, while in the
user-space the hostapd is responsible for this task in the AP side.
§ Mininet-WiFi also uses a couple utilities such as iw, iwconfig or wpa_supplicant. The first two are used for
interface configuration and for getting information from wireless interfaces and the last one is used with
Hostapd, in order to support WPA (Wi-Fi Protected Access), among other things.
§ TC (Traffic Control) is an user-space utility program used to configure the Linux kernel packet scheduler,
responsible for controlling the rate, delay, latency and loss, applying these attributes in virtual interfaces of
stations and APs, representing with higher fidelity the behavior of the real world.
13
MiniNet-WiFi
• The components and connections
in a simple topology with two hosts
created with Mininet-WiFi, where
the newly implemented
components (highlighted in gray)
are presented along the original
Mininet building blocks.