Forum général.cherche-logiciel Simulateur de réseau : virtualisation, 802.11, scriptable

Posté par  . Licence CC By‑SA.
1
20
fév.
2016

Bonjour,

Dans le cadre de mon projet de fin d'étude je cherche à créer une librairie de communication pour un projet où une cinquantaine de Raspberry Pi sont en réseau et doivent communiquer.

Pour rendre les phases de test pas trop longues et fastidieuses je cherche un logiciel qui me permettrai de simuler au mieux les conditions réelles de mon projet.

Pour cela, le logiciel devrait :

  • Permettre de simuler des machines virtuelles pour émuler du armv6/7h sur du x86_64
  • Être assez scriptable pour être automatisé dans des tests unitaires par exemple
  • Permettre de simuler un réseau wifi avec des conditions plus ou moins bonnes
  • Éventuellement permettre la simulation de réseaux mesh basés sur la 802.11n

J'ai regardé du côté de Cloonix qui a l'air pas mal mais je ne sais pas si il permet la simulation du wifi et sa documentation est assez lacunaire. Sinon il y a aussi VNX qui a l'air intéressant, qui permet au moins les deux premières exigences, mais je n'ai pas l'impression de pouvoir simuler du wifi.
Il y a également Marionnet mais il ne me semble pas qu'il puisse émuler un système d'une autre architecture.

Voilà où en sont mes recherches pour l'instants, avez-vous d'autres informations/pistes ?
Merci d'avance.

Sources :
http://www.brianlinkletter.com/open-source-network-simulators/
http://www.marionnet.org/wiki/doku.php#documentation
http://web.dit.upm.es/vnxwiki/index.php/Docintro
http://cloonix.fr/

  • # Pas de réponse mais

    Posté par  . Évalué à 1. Dernière modification le 23 février 2016 à 17:58.

    quelques questions :

    • Tu ne vas quand meme pas émuler 50 machines arm ? Pourquoi ne pas utiliser une solution plus légère à base de uml, lxc, vnet, openvswitch, marionette (iirc c'est assez lightweight et utilise uml) ou une combinaison custom de ceux-ci sur base de tun/tap. Donc en natif sur de l'amd64, ensuite j'imagine que l'intérêt de ta recherche c'est de faire le test en vrai sur du matos (i.e. une simulation réseau ne reste qu'une simulation…). Je réserverai l'émulation qemu* pour faire la cross-compilation (et encore si t'as déja le matos, cela n'est peut-être pas nécessaire de s'embêter avec cela) ou bien si tu dois faire du dev kernel.

    • Ta recherches se situe au niveau protocole de réseau radio (genre mesh, batman ?) et implique du developement noyau ou bien c'est juste applicatif ? Pour du dével noyau, UML pourrait être indiqué. Si c'est de l'applicatif, peut-être qu'un autre système offrira plus de facilité : de ce que j'ai entendu parler: vkernel sur dragonflybsd, rump sur netbsd, les jails de freebsd sont normalement assez puissantes, routing domaine + vnet + alt + pf d'openbsd, maintenant faut voir un peu quelles features tu as besoin (simulations de panne, délais aléatoire, etc).

    • Il me semble que la couche réseau du noyau continue de recevoir des fonctionnalités permettant l'introduction de delais et autres simulation de fautes… Bref: utilise un kernel récent et regarde du côté du linux/Documentation/networking et des outils iproute2 et tc.. Ça peut-être utile, du moins pour du développement user-space.

    *: "QEMU/debootstrap approach" sur https://wiki.debian.org/EmDebian/CrossDebootstrap décrit une méthode assez simple pour faire l'émulation avec qemu si tu y tiens vraiment :-)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.