Vous êtes sur la page 1sur 14

Université de Tunis El Manar

Ecole Nationale d’Ingénieurs de Tunis

Réseaux sans fil auto-organisés

Projet en équipe

Meriem.Kassar@enit.utm.tn 3ATEL - I3C / ENIT 2021 - 2022


1
Conduite de projet

Titre : Un réseau sans fil auto-organisé contrôlé par SDN

§ 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

2/ Ajout d’un contrôleur SDN :


§ Pox (https://github.com/noxrepo/pox)
§ Ryu (https://ryu-sdn.org)
§ ONOS, un contrôleur décentralisé (https://www.opennetworking.org/onos/)
3/ Tester un scénario de mobilité basée sur la technologie WiFi
§ Choisir le modèle de mobilité
§ Choisir le protocole de routage
4/ Simulation d’un réseau MANET ou un réseau VANET
5/ Simulation d’un réseau IoT ou d’un réseau de capteurs sans fil,
§ Réseau IoT avec 6lowpan/sensor et MiniNet-IoT (https://github.com/ramonfontes/mininet-iot)
§ Réseau de capteurs sans fil avec SDN-WISE et Contiki (https://sdnwiselab.github.io)
6/ Rajouter des conteneurs (Docker) pour des nœuds en Fog Computing
(https://containernet.github.io)
7/ Rajouter un protocole IoT (exp. MQTT, Mosquitto) (https://hackmd.io/@ramonfontes/iot-dojot)
8/ Créer un tunnel GRE entre deux réseaux MiniNet 3
Notions
§ Software Defined Networking (SDN)
§ OpenFlow
§ Émulateur MiniNet
§ MiniNet-WiFi

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

App App App Application

Control Plane

NorthBound API
Data Plane

Network Device Control Layer

Network
App App App App App App SDN Controller Services

Control Plane Control Plane

Data Plane SouthBound API (e.g. Openflow)


Data Plane

Network Device Network Device


Data Layer
Data Plane
App App App
Network Device

Control Plane
Data Plane Data Plane
Network Device Network Device
Data Plane

Network Device
Data Plane
Network Device

Architecture Réseau Traditionnelle


Architecture Réseau SDN
6
Software Defined Networking

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.

• WiFi interfaces on stations are


added that now are able to
connect to an access point through
its (wlanX) interface that is bridged
to an OpenFlow switch with AP
capabilities represented by (ap1).
§ Similar to Mininet, the virtual network is created by placing host processes in Linux OS network namespaces
interconnected through virtual Ethernet (veth) pairs.
§ The wireless interfaces to virtualize WiFi devices work on master mode for access points and managed mode
for stations.
§ Stations: are devices that connect to an access point through authentication and association. Each station has
one wireless card (staX-wlan0 - where X shall be replaced by the number of each station).
§ Access Points: are devices that manage associated stations. Virtualized through hostapd3 daemon and use
virtual wireless interfaces for access point and authentication servers.
§ Both stations and access points use cfg80211 to communicate with the wireless device driver, a Linux 802.11
configuration API that provides communication between stations and mac80211. 14

Vous aimerez peut-être aussi