Réalisation

Ce chapitre aurait pu faire partie de la conception, mais le fait qu’il fasse appel à des produits plus techniques et le fait qu’il permette de modéliser le réseau de façon plus pratique, lui donne naturellement une place dans le domaine de la réalisation. De plus, l’usage et l’intérêt de la simulation, aussi bien pendant la phase de conception, que la phase de maquette, ainsi que durant le maintien en condition opérationnelle dans un esprit d’Intégration Continue, ne sont plus à démontrer.

Comme présenté lors de la « NetDev Conference 2.1 » de Montreal [9], il existe de nombreux simulateurs et émulateurs réseau en « Open Source » qui fonctionnent sur Linux ou BSD. Ils peuvent être utilisés pour, mettre en place des scénarios et des démonstrations, dans un environnement plus sécurisé qu’un réseau en exploitation. Comme évoqué précédemment, nous n’avons pas encore atteint un stade où il serait possible de complètement reproduire un réseau avec tous les protocoles et comportements spécifiques pour les principaux constructeurs existants.

Outre le fait de pouvoir monter soi-même un environnement de simulation en mettant en place chaque brique (machines virtuelles ou conteneurs et switch virtuel performant), le choix parmi les produits packagés est laissé à l’appréciation de chacun, mais des critères comme le mode de virtualisation, le langage de script supporté ou l’interface utilisateur, peuvent permettre de classer quelques exemples d’émulateurs prêts à l’emploi.

Cloonix

Cloonix est un simulateur réseau qui propose une interface graphique relativement simple à utiliser.

  • VMs qemu-kvm (Kernel-based Virtual Machine).
  • Interconnexion avec le switch cloonix.
  • Scripts shell.

 

CORE

Le projet CORE (Common Open Research Emulator) est porté par NRL (U.S. Naval Research Laboratory). Il propose une interface graphique et il est dérivé du projet IMUNES, auquel il rajoute des nouvelles fonctionnalités.

  • VMs utilisant Network Namespace avec containers LXC.
  • Interconnexion avec Linux bridge.
  • Scripts Python.
  • Fichiers de configuration XML.

 

GNS3

Ce projet est principalement conçu pour supporter les logiciels réseau de Cisco et Juniper. Il dispose d’une grosse communauté, constituée essentiellement des personnes qui passent les certifications constructeurs. Ce produit peut également être utilisé pour simuler un réseau ne comportant que des machines virtuelles VirtualBox et/ou Qemu qui font tourner des logiciels réseau « Open Source ».

  • VMs utilisant VirtualBox, Qemu et VMware.
  • Interconnexion avec Dynamips switching.

 

IMUNES

Le projet IMUNES (Integrated Multi-protocol Network Emulator/Simulator) a été mis au point par des chercheurs de l’université de Zagreb. Ce produit supporte une interface graphique sur Linux et sur BSD, avec un bon niveau de performance.

  • VMs utilisant des containers Docker.
  • Interconnexion avec OVS (Open vSwitch).
  • Scripts Python.
  • Fichiers de configuration XML.

 

Mininet

Initialement, ce projet a été conçu pour supporter la recherche dans les technologies SDN (Software Defined Networking). En outre, ce projet est très utile pour ceux qui possèdent un contrôleur SDN et utilisent Mininet pour vérifier son comportement et ses performances. Le projet Mininet a servi de base à des projets dérivés comme Mininet-WiFi.

  • VMs utilisant Network Namespace.
  • Interconnexion avec OVS (Open vSwitch).
  • Scripts Python.
  • Fichiers de configuration XML.

 

EVE-NG

Le projet EVE-NG est la nouvelle génération du projet UNetlab, qui supporte des images virtuelles de constructeurs comme Cisco et Nokia, mais aussi des routeurs « Open Source ». Il a fait appel à une campagne de crowd-funding pour financer les développements.

  • VMs utilisant Dynamips et IOS-on-Linux pour les routeurs et les switchs Cisco et KVM/Qemu pour les autres équipements.
  • Interconnexion personnalisée.

 

LINE

Ce projet a été mis au point par des chercheurs de l’École Polytechnique Fédérale de Lausanne (Suisse), pour émuler des réseaux IP en utilisant Linux. LINE délivre des performances réalistes, avec des résultats reproductibles et de puissantes capacités de mesure. Il utilise trois ordinateurs dédiés, chacun prenant en charge une des tâches : « Control Center », « Traffic Generator » et « Network Emulator ». LINE est complexe à mettre en œuvre et la documentation et très succincte.

 

Marionnet

Le projet s’autoproclame « virtual network laboratory ». Il peut simuler un réseau complet avec des ordinateurs, des routeurs, des hubs, des switchs, des câbles, … Son interface graphique est très attractive et il se positionne comme un outil d’enseignement, bien que sa documentation soit très succincte pour ne pas dire inexistante.

 

Netkit

C’est un produit de simulation utilisable en mode commande avec un bon niveau de documentation. Il est supporté par une petite communauté et ne progresse pas aussi vite que d’autres projets.

  • VMs utilisant user-mode Linux.

 

NS-3

Ce produit complexe est utilisé à des fins de recherche et d’enseignement. Les simulations sont décrites par des codes programmés par les utilisateurs.

 

OFNet

Il s’agit d’un nouvel émulateur SDN qui offre des fonctionnalités similaires à Mininet, en y ajoutant des outils pour générer du trafic, surveiller les messages OpenFlow et évaluer les performances du contrôleur SDN.

 

OpenStack

OpenStack all-in-one qualifie tout type de srcipt permettant d’installer OpenStack sur une seule machine. Le plus connu est DevStack, sachant que ces systèmes tout en un peuvent servir de simulateur OpenStack à des fins de recherche et d’enseignement.

 

Psimulator2

C’est un simulateur réseau avec une interface graphique basique pour démontrer les concepts simples de réseau IP à des étudiants. Ce n’est pas un simulateur totalement fonctionnel, car seules des parties de fonctionnalités réseau sont supportées sur les nœuds émulés.

 

Shadow

C’est un simulateur réseau qui fait tourner des applications réelles comme Tor ou Bitcoin sur une topologie internet émulée sur un ordinateur Linux ou une instance virtuelle Amazon  EC2 préconfigurée.

  • Fichiers de configuration XML.
  • Applications réelles via plugins.

 

VNX

Porté par une petite communauté, il remplace VNUML et supporte deux techniques de virtualisation différentes. Il peut être configuré en tant que laboratoire virtuel à cheval sur plusieurs machines physiques.

  • Fichiers de configuration XML.

 

 

Licence

Partagez ce livre