0% ont trouvé ce document utile (0 vote)
77 vues3 pages

Introduction à Mininet et Python

Ce document décrit comment utiliser la plateforme Mininet pour créer des réseaux virtuels. Il présente différents exercices pour manipuler des topologies simples avec Mininet et observer le comportement des hôtes et commutateurs.

Transféré par

mohammedhini21
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
77 vues3 pages

Introduction à Mininet et Python

Ce document décrit comment utiliser la plateforme Mininet pour créer des réseaux virtuels. Il présente différents exercices pour manipuler des topologies simples avec Mininet et observer le comportement des hôtes et commutateurs.

Transféré par

mohammedhini21
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Réseaux

TP1 : Introduction à la plateforme Mininet


Exercice 0 : Traduisez le code ci-dessus en Python.
La condition « if ( n != null ) » peut être traduit comme « if n » en Python.
public class JavaClassExample{
private String name;
public void setName(String n){
if (n!= null) {
name = n;
} else {
return;
}
}
public String getName(){
return name;
}
public static void main(String args[]){
JavaClassExample javaClassExample = new JavaClassExample();
javaClassExample.setName("Visitor");
System.out.println("Hello " + javaClassExample.getName());
}
}
Réponse :
class JavaClassExample:
name = ""

def _setName(self, n):


if n:
self.name = n
else:
return

def _getName(self):
return self.name

if __name__=="__main__":
javaClassExample = JavaClassExample()
javaClassExample._setName("Visitor")
print("Hello "+javaClassExample._getName())
Premièrement, retenez bien que vous devez exécuter Mininet avec les droits d’administrateur
$ sudo mn
Par convention, les clients du réseau sont appelés h1, h2,…hX. Les switches (commutateurs)
sont appelés s1, s2,…sX, et les contrôleurs des switches sont appelés c0, c1,…cX.
Exercice 1 :
1. Combien de switches et clients sont disponibles dans votre réseau virtuel ?
On a donc 2 clients et 1 switch.
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. Dessiner la topologie créée et ajoutez les adresses IP associées à chaque client, ainsi que
le masque du réseau.

s1
Masque 255.0.0.0

h1 h2
IP : 10.0.0.1 IP : 10.0.0.2
4. 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 »
Exercice 2 :
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 ».
1. $sudo mn -‐topo linear
s1 s2

h1 h2

1. $sudo mn -‐topo linear,3


s1 s2 s3

h1 h2 h3
2. $sudo mn -‐topo tree
s1

h1 h2
3. $sudo mn -‐topo tree,2
s1

s2 s3

h1 h2 h3 h4
4. $sudo mn -‐topo tree,depth=2,fanout=3
s1

s2 s3 s4

h1 h2 h3 h4 h5 h6 h7 h8 h9
Depth vaut 2 cela correspond à la hauteur de la topologie. Fanout vaut 3 car au niveau
le plus bas, il y a trois clients (« feuilles »).
Il est possible de charger sa propre topologie (en Python, grâce à l’API Python de Mininet)
et de la charger de cette manière :
$ sudo mn ­­custom /chemin/vers/toptest.py ­­topo toptest

Vous aimerez peut-être aussi