La meilleure façon d'imiter presque n'importe quel réseau sur votre ordinateur portable!
Mininet 2.3.1b4
Mininet émule un réseau complet d'hôtes, de liens et d'activités sur une seule machine. Pour créer un échantillon de réseau à deux hôtes à un interrupteur, il suffit d'exécuter:
sudo mn
Mininet est utile pour le développement interactif, les tests et les démos, en particulier ceux utilisant OpenFlow et SDN. Les contrôleurs de réseau basés sur OpenFlow prototypés dans Mininet peuvent généralement être transférés vers du matériel avec un minimum de modifications pour l'exécution complète du taux de ligne.
Mininet crée des réseaux virtuels en utilisant la virtualisation basée sur les processus et les espaces de noms de réseau - fonctionnalités disponibles dans les noyaux Linux récents. Dans Mininet, les hôtes sont émulés sous forme de processus bash
fonctionnant dans un espace de noms de réseau, donc tout code qui s'exécuterait normalement sur un serveur Linux (comme un serveur Web ou un programme client) devrait très bien s'exécuter dans un "hôte" Mininet. Le Mininet "Host" aura sa propre interface de réseau privé et ne peut voir ses propres processus. Les commutateurs dans Mininet sont des commutateurs logiciels comme Open VSwitch ou le commutateur de référence OpenFlow. Les liens sont des paires Ethernet virtuelles, qui vivent dans le noyau Linux et connectent nos commutateurs émulés aux hôtes (processus) imités.
Mininet comprend:
Un lanceur de ligne de commande ( mn
) pour instancier des réseaux.
Une API Python pratique pour créer des réseaux de tailles et de topologies variables.
Exemples (dans les examples/
répertoires) pour vous aider à démarrer.
Documentation complète de l'API via Python help()
docstrings, ainsi que la possibilité de générer une documentation PDF / HTML avec make doc
.
Topologies paramétrées (sous-classes Topo
) à l'aide de l'objet Mininet. Par exemple, un réseau d'arbres peut être créé avec la commande:
mn --topo tree,depth=2,fanout=3
Une interface de ligne de commande (classe CLI
) qui fournit des commandes de diagnostic utiles (comme iperf
et ping
), ainsi que la possibilité d'exécuter une commande vers un nœud. Par exemple,
mininet> h11 ifconfig -a
dit à l'hôte H11 d'exécuter la commande ifconfig -a
Une commande "Nettoyer" pour se débarrasser de la jonque (interfaces, processus, fichiers dans / tmp, etc.) qui pourraient être laissées par Mininet ou Linux. Essayez ceci si les choses cessent de fonctionner!
mn -c
Mininet 2.3.1b4 prend en charge Python 3 et Python 2
Vous pouvez installer les versions Python 3 et Python 2 du Mininet côte à côte, mais l'installation la plus récente déterminera quelle version Python est utilisée par défaut par mn
.
Vous pouvez exécuter mn
directement avec Python 2 ou Python 3, tant que la version appropriée de Mininet est installée, par exemple
$ sudo python2 `which mn`
Plus d'informations concernant le support Python 3 et Python 2 peuvent être trouvées dans les notes de publication sur http://docs.mininet.org.
Support pour Ubuntu 22.04 LTS (et 20.04)
Test plus fiable et CI via des actions GitHub
Support préliminaire pour CGROUPS V2 (et V1)
Correction de bogues mineurs (2.3.1)
Des informations supplémentaires sur cette version et les versions précédentes peuvent être trouvées dans les notes de publication sur http://docs.mininet.org.
Voir INSTALL
pour les instructions et les détails de l'installation.
En plus de la documentation de l'API ( make doc
), des informations très utiles, y compris une procédure pas à pas de Mininet et une introduction à l'API Python, sont disponibles sur le site Web Mininet. Il y a aussi un wiki que vous êtes encouragé à lire et à contribuer, en particulier les questions fréquemment posées (FAQ) à http://faq.mininet.org.
Mininet est soutenu par la communauté. Nous vous encourageons à rejoindre la liste de diffusion Mininet, mininet-discuss
à:
https://mailman.stanford.edu/mailman/listinfo/mininet-discuss
Merci encore à tous les contributeurs et utilisateurs Mininet!
Mininet est un projet open source et est actuellement hébergé sur https://github.com/mininet. Vous êtes encouragé à télécharger, examiner et modifier le code, et à soumettre des rapports de bogues, des corrections de bogues, des demandes de fonctionnalités, de nouvelles fonctionnalités et d'autres problèmes et des demandes de traction. Grâce à tous ceux qui ont contribué au code du projet Mininet (voir les contributeurs pour plus d'informations!) C'est à cause du travail acharné de tout le monde que Mininet continue de croître et de s'améliorer.
Amusez-vous! Nous sommes impatients de voir ce que vous ferez avec Mininet pour changer le monde du réseautage.
Bob Lantz, au nom des contributeurs du Mininet