Plus facile à lire avec un fond crème, une teinte, plus de contraste ou un texte plus grand ? Choisissez vos couleurs et votre texte, une fois pour toutes les pages.

Leçon gratuite

Plan de contrôle et plan de données

Après cette leçon: Je peux dire ce qu’un contrôleur décide et ce que fait un commutateur.

Leçon de 45 min3 commandesLab de réseaux définis par logiciel : Open vSwitch, Mininet et un contrôleur OpenFlow dans une VM

Qui décide, et qui fait passer les paquets ?

Le plan de contrôle d’un réseau décide où doivent aller les paquets, et le plan de données les fait passer. Les séparer permet de changer une règle pour tout un campus depuis un seul programme.

Une université compte 40 commutateurs répartis dans 12 bâtiments. Elle veut que le Wi-Fi des invités n’atteigne jamais le réseau de la scolarité. Dans un réseau défini par logiciel, ou SDN, on écrit cette règle une fois et un programme la distribue.

À la fin de cette leçon

Remarque

Je peux dire ce qu’un contrôleur décide et ce que fait un commutateur.

Mots-clés

MotCe que ça veut dire
Plan de contrôlela partie qui décide où vont les paquets
Plan de donnéesla partie qui fait passer chaque paquet
Commutateurun appareil qui relie des machines et transmet leurs paquets
Contrôleurun programme qui écrit les règles des commutateurs
Règle de fluxune règle du commutateur : si le paquet ressemble à ceci, faire cela
OpenFlowle langage que parlent un commutateur et son contrôleur

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Un commutateur ordinaire décide tout seul

Dans un réseau classique, chaque commutateur contient à la fois la décision et l’exécution. Il apprend les adresses, choisit les chemins et fait passer les paquets.

Pour changer une règle, un technicien se connecte à chaque appareil. Avec 40 commutateurs, c’est long, et il est facile d’en oublier un.

Dans un SDN, un contrôleur décide

Un commutateur SDN ne garde que le plan de données : il compare chaque paquet à une table et applique l’action trouvée. Il ne décide plus rien lui-même.

Le plan de contrôle devient un programme, le contrôleur. Il écrit les règles dans les commutateurs par OpenFlow. Le contrôleur est lent mais voit tout le réseau, le commutateur est rapide mais ne voit que ses paquets.

Exemple travaillé : à quel plan appartient chaque travail ?

TravailPlanPourquoi
Calculer le chemin entre deux bâtimentsContrôleOn le décide une fois, pour tous les paquets
Recevoir un paquet sur un portDonnéesIl se fait pour chaque paquet
Écrire une règle dans le commutateurContrôleOn donne la règle, on ne la suit pas
Copier le paquet sur le port choisiDonnéesC’est l’action de la règle
Jeter un paquet interditDonnéesC’est encore une action de la règle

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Le commutateur du labo n’a pas de contrôleur

Dans votre labo, le commutateur s’appelle br0. Il est fait par Open vSwitch, un commutateur logiciel. Si sudo sdnlab status dit que le labo n’est pas démarré, lancez sudo sdnlab flows.

Trois commandes montrent la séparation. La première demande son contrôleur : dans un labo neuf, rien ne s’affiche, car il n’en a pas. La deuxième montre qui fait passer les paquets, la troisième ce que fait le commutateur quand il est seul.

Quel est son contrôleur ?

Commande
sudo ovs-vsctl get-controller br0

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Qui fait passer les paquets ?

Commande
sudo ovs-vsctl get bridge br0 datapath_type

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Que fait-il sans contrôleur ?

Commande
sudo ovs-vsctl get-fail-mode br0

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Exemple travaillé : lire les trois réponses

CommandeRéponseCe que cela veut dire
get-controllerRienAucun contrôleur n’est connecté à br0
get bridge br0 datapath_typesystemLe noyau Linux fait passer les paquets
get-fail-modesecureSans contrôleur, il ne suit que ses propres règles

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Erreur fréquente

Attention

Beaucoup de gens pensent que le contrôleur voit passer chaque paquet. Ce serait trop lent. Le commutateur ne lui envoie que les paquets sans règle correspondante, et le contrôleur répond souvent par une règle. Les paquets suivants passent alors sans lui.

À propos de ce labo et de sa source: Lab de réseaux définis par logiciel : Open vSwitch, Mininet et un contrôleur OpenFlow dans une VM

Vous enseignez à une classe ? Proposez ce module à vos étudiants avec un guide de l'enseignant, des devoirs corrigés et un laboratoire pour chaque étudiant.