Académique Documents
Professionnel Documents
Culture Documents
xx heures
SOMMAIRE
1. Utiliser le Software Defined Network
(SDN)
Acitivité 1 : Se Familiariser avec la plateforme Mininet
Activité 2 : Manipuler SD-LAN avec Contrôleur ODL
Activité 3 : Utiliser Mininet en Python
2. Utiliser les Protocoles
Activité 1 : Evaluer et Tester QoS dans le SDN
Activité 2 : Mettre en place de VXLAN sous Linux
Activité 3 : Simuler VXLAN dans Mininet
MODALITÉS
PÉDAGOGIQUES
1 2 3 4 5
LE GUIDE DE LA VERSION PDF DES CONTENUS DU CONTENU DES RESSOURCES
SOUTIEN Une version PDF TÉLÉCHARGEABLES INTERACTIF EN LIGNES
Il contient le est mise en ligne Les fiches de Vous disposez de Les ressources sont
résumé théorique sur l’espace résumés ou des contenus consultables en
et le manuel des apprenant et exercices sont interactifs sous synchrone et en
travaux pratiques formateur de la téléchargeables forme d’exercices asynchrone pour
plateforme sur WebForce Life et de cours à s’adapter au
WebForce Life utiliser sur rythme de
WebForce Life l’apprentissage
xx heures
ACTIVITÉ 1
SE FAMILIARISER AVEC LA PLATEFORME MININET
Compétences visées :
Recommandations clés :
xx heures
CONSIGNES
Pour le formateur
• L’apprenant doit être capable de mettre en place l’environnement de travail décrit
dans l’énoncé
• Il doit être aussi en mesure de réaliser des topologies réseaux sous Mininet
Pour l’apprenant
• Il est recommandée de maitriser le principe de SDN
• Il est recommandée également de suivre les étapes décrites dans l’énoncé pour
pouvoir réussir l’installation avec sucés
Conditions de réalisation :
• VirtualBox. Lien de téléchargement : https://www.virtualbox.org/wiki/Downloads
• Mininet 2.3.0 Ubunut 20.04.1 VM Image. Lien de téléchargement :
https://github.com/mininet/mininet/releases/
Critères de réussite :
L’objectif de cette activité est de commencer à vous familiariser avec la plateforme Mininet. Mininet est un outil qui permet de déployer un réseau, composé de machines
virtuelles (VMs par ses sicles en anglais) ou réelles, exécuter le vrai code des machines, utiliser des vrai commutateurs matériel ou logiciel, à l’aide d un nombre réduit de
commandes systèmes.
Lorsque le réseau déployés est composé uniquement par de VMs et de commutateurs logiciel (des switches SDN), elle pourrait être déployé à l’intérieur d une seule
machine (une laptop par exemple).
Mininet utilise des technologies très avancés : Linux Containers et commutateurs SDN.
Mininet Emulator est un émulateur de réseau qui crée un réseau virtuel de serveurs, commutateurs, contrôleurs et des liaisons. Les hôtes MININET exécutent des logiciels
réseau standard « Linux », et ses commutateurs supportent OpenFlow pour le routage et Software Defined Networking. Les caractéristiques de Mininet sont :
• Fournit un essai de réseau simple et peu coûteuse pour développer des applications OpenFlow.
• Prise en charge des tests de régression au niveau du système, qui sont reproductibles et Facilement emballés.
• Permet de tester des topologies complexes, sans avoir besoin de câbler un réseau physique.
PARTIE 1
Si tout s est bien passé, à la fin vous devez voir l invite de commande Mininet (le mode CLI de Mininet) «mininet>», et une topologie réseau devrait être créée. La
topologie par défaut est appelé minimal. Toutes les commandes disponibles dans la CLI mininet peuvent être liste avec la commande «help»
mininet> help
Les clients qui ont été créés dans notre réseau virtuel peuvent être listés avec la commande «nodes»
mininet> nodes
Par convention, les clients du réseau sont appelés h1, h2, hx. Les switches (commutateurs) sont appelés s1, s2, sx, et, à oublier pour l instant, les contrôleurs des switches
sont appelés c0, c1, cx.
PARTIE 1
mininet> nodes Affiche les nœuds dans le réseau. h correspond à un host, s a un switch et c a un contrôleur.
mininet> net Affiche la topologie du réseau. Quelle machine est connectée à quel host et le nom de l'interface réseau de connexion.
mininet> dump Affiche les adresses IP de chaque machine ainsi que le nom de la carte réseau.
mininet> h1 ping h2 Demande à l'hôte h1 d'effectuer un ping sur l'hôte h2.
mininet> h1 ifconfig -a Effectue et affiche les résultats de la commande ifconfig sur la machine souhaitée.
mininet> pingall Permet de tester la connectivité du réseau. Toutes les machines vont se ping entre elles.
mininet> link s1 h1 down Enlève le lien réseau entre s1 et h1.
mininet> link s1 h1 up Remet le lien réseau entre s1 et h1.
mininet> xterm h1 Ouvre une fenêtre en ligne de commande sur l'hôte h1.
PARTIE 1
Travail Demandé
1- Combien de switches et clients sont disponibles dans votre réseau virtuel?
2- Décrivez ce que vous obtenez comme information des switches et clients du réseau.
3- Dessinez la topologie créée.
4- Ajoutez à votre dessin de la topologie réseau les adresses IP associées à chaque client, ainsi que le masque de réseau. Le client h2 peut être atteint par le client h1?
Vérifiez- le par la commande ping. Donnez l instruction complète que vous avez utilisée.
5- Mininet fournit en plus de la topologie «minimal», la topologie «single», «linear» et «tree».
Pour charger l une de ces topologies, utilisez l option «- - topo». Par exemple :
$ sudo mn --topo single
«single» tout court donne la même topologie que minimal, mais on peut ajouter également comme argument un chiffre, qui indique le nombre de clients à créer.
Par exemple single,3.
Exécutez les commandes suivantes et dessinez la topologie créée :
$ sudo mn - - topo linear
PARTIE 1
Correction
1- Combien de switches et clients sont disponibles dans votre réseau virtuel?
PARTIE 1
Correction
2- Décrivez ce que vous obtenez comme information des switches et clients du réseau.
On a le nom et le pid de chaque élément. L’adresse IP de chaque client et 3 pour le switch dont deux définies à « none » (donc non définies) qui sont les interfaces réseau.
3- Dessinez la topologie créée.
PARTIE 1
Correction
4. Ajoutez à votre dessin de la topologie réseau les adresses IP associées à chaque client, ainsi que le masque de réseau. Le client h2 peut être atteint par le client h1?
Vérifiez- le par la commande ping. Donnez l instruction complète que vous avez utilisée.
Pour avoir des fenêtres différentes pour chaque élément on peut soit :
• Lancer Mininet avec : $ sudo mn –x
• Ouvrir une fenêtre pour un élément, exemple : mininet> xterm h1
Correction
5- Mininet fournit, en plus de la topologie « minimal », la topologie single, linear et tree. Pour charger l’une de ces topologies, utilisez l’option « --topo ».
$ sudo mn - - topo linear $ sudo mn - - topo tree
Compétences visées :
Recommandations clés :
xx heures
CONSIGNES
Pour le formateur
• L’apprenant doit être capable de mettre en place l’environnement de travail décrit
dans l’énoncé
• Il doit être aussi en mesure de réaliser des topologies réseaux sous Mininet avec
contrôleur
Pour l’apprenant
• Il est recommandée de maitriser le principe de protocole OpenFlow
• Il est recommandée également de suivre les étapes décrites dans l’énoncé pour
pouvoir réussir l’installation avec sucés
Conditions de réalisation :
• L’environnement de travail relatif à l’activité 1 a été bien mis en place et configuré
• Contrôleur Opendaylight. Lien de téléchargement :
https://docs.opendaylight.org/en/stable-sulfur/downloads.html
Critères de réussite :
Pour vous assurer que tous les services nécessaires ont bien été installés et démarrés, il vous suffit d’utiliser la commande netstat : nestat –tanp
— 8181 : interface HTTP/HTTPS de connexion au contrôleur et interface RESTCONF
— 6633: serveurOpenFlow
— 6653: serveurOpenFlow
PARTIE 1
Accèder à la machine virtuelle Mininet via SSH et essayer d'atteindre le contrôleur OpenDaylight depuis notre VM Mininet :
Dans cette activité, nous allons montrer comment exécuter un réseau LAN virtuel avec deux commutateurs OpenFlow contrôlés par notre contrôleur OpenDaylight SDN.
Vous verrez également quelques exemples d'utilisation de l'API RESTCONF pour interagir avec votre contrôleur. Voici le réseau virtuel que nous allons construire :
PARTIE 1
Le réseau ci-dessus a un contrôleur OpenDaylight SDN sur le dessus et deux commutateurs OpenFlow qui sont contrôlés par le contrôleur SDN. Deux hôtes seront
connectés à nos commutateurs.
Pour lancer mininet, il faut lui définir une topologie de base ainsi que des informations sur le contrôleur, par exemple :
Pour construire notre réseau, vous pouvez utiliser la commande suivante pour lancer ceci :
Nous ne voyons que deux commutateurs, notre réseau LAN virtuel a également deux hôtes, mais notre contrôleur ne les a jamais vus auparavant.
Mininet nous permet de générer du trafic. Un moyen rapide de le faire est d'utiliser la commande pingall. Comme son nom l'indique, il envoie des pings entre tous les
appareils :
PARTIE 1
Le ping de l'hôte 1 à l'hôte 2 et vice versa fonctionnent. Si vous actualisez votre navigateur Web, vous devriez voir sur la page de topologie :
PARTIE 1
On fait un Capture de paquets de données avec Wireshark on remarque que notre capture contient Protocole OpenFlow.
Pour lancer Wireshark on tape : sudo wireshark
PARTIE 1
Compétences visées :
Recommandations clés :
xx heures
CONSIGNES
Pour le formateur
• L’apprenant doit être capable de mettre en place l’environnement de travail décrit
dans l’énoncé
• Il doit être aussi en mesure de réaliser des topologies réseaux sous Mininet en
python
Pour l’apprenant
• Il est recommandée de maitriser langage python
• Il est recommandée également de suivre les étapes décrites dans l’énoncé pour
pouvoir réussir l’installation avec sucés
Conditions de réalisation :
• L’environnement de travail relatif aux activité 1 et 2 ont été bien mis en place et
configurés
Critères de réussite :
Travail demandé
1. Sauvegardez dans un fichier code.py le code précédent. Ensuite exécutez-‐le avec la commande :
sudo -E python code.py
2. Si le réseau est créé correctement, ouvrez un terminal pour chaque client et explorez la configuration des cartes réseaux.
3. Vérifiez par la commande ping la connectivité entre toutes les machines.
4. Visualiser la topologie réalisée au niveau de l’interface ODL.
PARTIE 1
Corection
1. Sauvegardez dans un fichier code.py le code précédent. Ensuite exécutez-‐le avec la commande :
sudo -E python code.py
PARTIE 1
Travail demandé
2. Si le réseau est créé correctement, ouvrez un terminal pour chaque client et explorez la configuration des cartes réseaux.
PARTIE 1
Travail demandé
3. Vérifiez par la commande ping la connectivité entre toutes les machines.
PARTIE 1
Travail demandé
4. Visualiser la topologie réalisée au niveau de l’interface ODL.
PARTIE 1
xx heures
ACTIVITÉ 1
Evaluer et tester les performances QoS
Compétences visées :
Recommandations clés :
xx heures
Activité 1
Evaluer et tester les performances QoS
L’objectif de cet activité est de montrer comment utiliser iperf pour effectuer une évaluation de base des performances sur mininet.
Iperf est un logiciel informatique permettant la mesure de différentes variables d'une connexion réseau IP. Iperf est développé par le National Laboratory for Applied
Network Research. Conçu pour des architectures client-serveur, et disponible sur différents systèmes d'exploitation.
Utiliser xterm pour ouvrir les fenêtres des terminaux pour h1 et h2 La topologie au niveau de contrôleur :
PARTIE 2
Démarrez le client TCP (-c) à h1. Réglez également la durée de transmission (-t) sur 15 secondes. Remarque : après -c, vous devez spécifier l'adresse IP du serveur.
PARTIE 2
Résultats à h2. (La figure suivante montre le débit toutes les secondes)
PARTIE 2
Compétences visées :
Recommandations clés :
xx heures
Activité 2
Mettre en place de VXLAN
• Dans ce cas de figure, nous disposons de trois machines dans le même réseau qui va permettre d’en montrer le fonctionnement
• Sous Linux, VXLAN est utilisable à partir des noyaux supérieurs à 3.x et grâce au module dont nous pouvons voir la description ci-dessous:
PARTIE 2
La création d’une interface de type VXLAN se fait simplement via la commande ip en mottant un tunnel avec le VNI 10 entre la première et la seconde machine
PARTIE 2
• On peut à présent voir apparaître dans la FDB une entrée indiquant comment joindre le VTEP de la seconde machine
• On effectue les mêmes actions sur la seconde machine pour que les deux VTEP se connaissent :
PARTIE 2
• À ce stade, il est possible de communiquer à travers le tunnel en ajoutant une adresse IP à chaque interface VXLAN
Un test de connectivité lancer au niveau des deux machines afin d’affirmer que les deux VTEP arrivent à communiquer via le tunnel établi.
PARTIE 2
• On doit avoir dans la FDB une entrée indiquant que l’adresse MAC de vxlan10 sur la deuxième machine accessible derrière l’adresse IP du VTEP distant :
• On ajoute une troisième machine en montant une interface VXLAN et en ajoutant le VTEP de l’autre machine à la FDB :
Test de connectivité :
PARTIE 2
Compétences visées :
Recommandations clés :
xx heures
Activité 3
Simuler VXLAN avec Mininet
Soit le montage de l’architecture avec l’outil mininet sous miniedit. Pour lancer l’interface miniedit on exécute la commande suivante:
PARTIE 2
• Une fois le montage réalisé, cliquer sur Run pour démarrer l’architecture.
• Pour lancer l’invite de commande de chaque équipement:
clique droite sur l’équipement choisissez Terminal
PARTIE 2
• Table FDB
PARTIE 2
• Test de communication
PARTIE 2