SDN Digest - Six émulateurs Open Source

La dernière fois, nous avons fait une sélection de contrôleurs SDN open source . Aujourd'hui, les émulateurs ouverts des réseaux SDN sont à tour de rôle. Toute personne intéressée est invitée à chat.

/ Flickr / dennis van zuijlekom / cc



Mininet


L'outil vous permet de créer un réseau contrôlé par logiciel sur une machine (virtuelle ou physique). Entrez simplement la commande: $ sudo mn. Selon les développeurs, Mininet est bien adapté au déploiement d'environnements de test.

Par exemple, les enseignants de Stanford (où ils ont développé Mininet) utilisent l'utilitaire pendant les cours pratiques à l'université. Il aide les élèves à développer des compétences de réseautage. Certaines tâches et démos se trouvent dans le référentiel sur GitHub.

Mininet convient également pour tester des topologies SDN personnalisées. Un réseau virtuel est déployé avec tous les commutateurs, contrôleurs et hôtes, puis ses performances sont vérifiées à l'aide de scripts Python. Les paramètres sont ensuite transférés de Mininet vers le réseau réel.

Parmi les lacunes de la solution, les experts soulignent le manque de prise en charge de Windows. De plus, Mininet n'est pas adapté pour travailler avec des réseaux à grande échelle, car l'émulateur fonctionne sur la même machine - il peut ne pas y avoir suffisamment de ressources matérielles.

Mininet est sous licence BSD Open Source et se développe activement. Tout le monde peut apporter une contribution - sur la façon de le faire, il y a des informations sur le site officiel du projet et dans le référentiel .



ns-3


Simulateur pour la modélisation de réseau à événements discrets . Initialement, l'outil a été conçu comme un utilitaire éducatif, mais il est aujourd'hui utilisé pour tester les environnements SDN. Des guides sur l'utilisation de ns-3 sont sur le site avec la documentation du projet .

Parmi les avantages de l'utilitaire figurent la prise en charge des sockets et la bibliothèque Pcap pour travailler avec d'autres outils (tels que Wireshark), ainsi qu'une communauté réactive.

Les inconvénients incluent une visualisation relativement médiocre. NetAnim est responsable de l'affichage de la topologie. De plus, ns-3 ne prend pas en charge tous les contrôleurs SDN.



Lisez sur le sujet dans notre blog d'entreprise:




Opennet


Cet émulateur SDN est construit sur la base de deux outils précédents - Mininet et ns-3. Il combine les forces de chacun d'eux. Pour que les solutions fonctionnent ensemble, OpenNet utilise une bibliothèque de liaisons Python.

Ainsi, Mininet dans OpenNet est chargé d'émuler les commutateurs OpenFlow, de fournir la CLI et la virtualisation. Quant à ns-3, il émule les modèles qui ne sont pas dans Mininet. Le guide d'utilisation se trouve sur GitHub . Il existe des liens supplémentaires vers des documents connexes.




/ PxHere / PD



Containerernet


Il s'agit d'une fourchette de Mininet pour travailler avec des conteneurs d'application. Les conteneurs Docker agissent comme hôtes sur des réseaux émulés. La solution a été créée pour permettre aux développeurs d'expérimenter avec le cloud, les périphériques, le brouillard informatique et le NFV. Le système a déjà été utilisé par les auteurs de SONATA NFV pour créer un système d'orchestration dans des réseaux 5G virtualisés. Containernet est le cœur de la plate-forme d'émulation NFV.

Vous pouvez installer Containernet à l'aide d'un guide sur GitHub .



Tinynet


Une bibliothèque légère qui vous aide à créer rapidement des prototypes de réseaux SDN. Un outil API écrit en Go vous permet d'émuler n'importe quelle topologie de réseau. La bibliothèque elle-même "pèse" un peu, grâce à laquelle elle est installée et fonctionne plus rapidement que les analogues. Tinynet peut également être intégré aux conteneurs Docker.

L'outil n'est pas adapté à l'émulation de réseaux à grande échelle en raison de fonctionnalités limitées. Mais soyez utile lorsque vous travaillez sur de petits projets personnels ou sur un prototypage rapide.

Des exemples d'implémentations et de commandes pour installer Tinynet sont disponibles dans le référentiel GitHub .



Maxinet


Cet outil permet d'utiliser Mininet sur plusieurs machines physiques et de travailler avec des réseaux SDN à grande échelle. Chacune des machines - Workers - lance Mininet et émule sa part du réseau global. Les commutateurs et les hôtes communiquent entre eux à l'aide de tunnels GRE . Pour gérer les composants d'un tel réseau, MaxiNet fournit une API.

MaxiNet vous aide à dimensionner rapidement les réseaux et à optimiser l'allocation des ressources. MaxiNet possède également des fonctionnalités de surveillance, une CLI intégrée et la possibilité de s'intégrer à Docker. Cependant, l'outil ne sait pas émuler le fonctionnement d'un commutateur pour plusieurs machines.

Le code source du projet est sur GitHub . Le guide d'installation et le guide de démarrage rapide se trouvent sur la page officielle du projet .



Lisez sur le sujet dans notre blog d'entreprise:

Source: https://habr.com/ru/post/fr446634/


All Articles