Marionnet is a virtual network laboratory: it allows users to define, configure and run complex computer networks without any need for physical setup. Only a single, possibly even non-networked Linux host machine is required to simulate a whole Ethernet network complete with computers, routers, hubs, switches, cables, and more Support is also provided for integrating the virtual network with the physical host network.

Marionnet
Original author(s)Jean-Vincent Loddo, Luca Saiu
Developer(s)Jean-Vincent Loddo, Luca Saiu
Stable release
0.94.0 / January 31, 2018; 6 years ago (2018-01-31)[1]
Written inOCaml
Operating systemLinux
Platformx86, x86 64
Size3.3 MB[1]
TypeNetwork virtualization
LicenseGPLv2+
Websitewww.marionnet.org

History

edit

Marionnet was born in April 2005 as a simple textual interface to Netkit, written in OCaml by Jean-Vincent Loddo at the Paris 13 University for his own networking course.

The code has since been completely rewritten and redesigned in September 2005, in order to remove the dependency from Netkit and to ease the construction of a graphical interface, partly built on DOT. The architecture was further extended and the system made more general when Luca Saiu joined the project in 2007, contributing in particular to the dynamic reconfiguration aspects.

The system is now in active use in several universities in Metropolitan France[2][3] and other countries.[4]

Current development

edit

Marionnet has reached a fairly stable state and is being successfully used for teaching networks in several universities around the world. The current development is centered around making the system easier to use for the average end user, with a particular emphasis on documentation. Internationalization is on the way (mostly in the marionnet_i18n branch) through GNU Gettext.

So far Marionnet has been presented at two international Computer Science conferences, many French events[5] and at FOSDEM.[6]

Design

edit
 
Marionnet design.

On top of a Linux host, the emulation of guest machines is achieved through User Mode Linux technology that allows to run many Linux kernels in user space as regular processes.

VDE - Virtual Distributed Ethernet project is responsible of linking together Uml machines in a virtual network, its purpose is to emulate cable, hub and switch devices allowing also to introduce perturbations in the communication.

On top of this raw emulated network Marionnet acts as a coherent manager and as a GUI.

Marionnet is an example of a complex concurrent application written in a functional language, using relatively advanced programming techniques.[7]

Features

edit
  • Dynamic reconfiguration of the network.
  • Full binary compatibility with user-level Linux software which runs on virtual machines.
  • Ability to use host X server to run graphical application (wireshark...).
  • Copy-on-write file systems, allowing to economize on disk space usage.
  • "Gateway" device to connect virtual network to host network.
  • Intuitive GUI with the network diagram dynamically updated.

Performance

edit

Marionnet has showed good performance with complex networks (~15 machines) even on relatively old machines, remaining very responsive. The main concern is disk usage but that largely depends on the distribution of choice; pinocchio is the custom distro that was developed to meet average needs.

Uses

edit

The main goal of Marionnet is the teaching of computers networks in university laboratories,[8] although it could be a valuable tool also for high schools. Despite being teaching-oriented Marionnet may be used to emulate networks for test or development purposes.[9] It is quite easy to set up, fast even with complicated configurations and the possibility of reverting filesystem changes on virtual machines makes it quite flexible.

 
Simulation of a complex network in Marionnet. Marionnet lets you use devices such as hubs, switches and routers, making possible the construction of a comprehensive training environment in computer networks.

See also

edit

References

edit
  1. ^ a b "marionnet in Launchpad". launchpad.net. Retrieved 2021-04-15.
  2. ^ A practical exercise with Marionnet Archived 2008-12-30 at the Wayback Machine: Cédric Messiant, Paris 13 University (in French)
  3. ^ Marionnet used at the IUT de Bézier Archived 2011-07-21 at the Wayback Machine, Université Montpellier 2.
  4. ^ The University of La Reunion IUT mentions its adoption of Marionnet. Archived 2008-10-15 at the Wayback Machine
  5. ^ "Some Marionnet presentations". Archived from the original on 2009-05-19. Retrieved 2009-02-20.
  6. ^ FOSDEM talk about Marionnet. Archived 2009-02-28 at the Wayback Machine
  7. ^ Status Report: Marionnet --- How to Implement a Virtual Network Laboratory in Six Months and Be Happy Archived 2011-01-25 at the Wayback Machine: ACM SIGPLAN Workshop on ML, Freiburg (Germany), 2007.
  8. ^ Marionnet : un logiciel graphique pour l’apprentissage et l’enseignement des réseaux locaux d’ordinateurs Archived 2011-01-25 at the Wayback Machine: Premier Workshop pédagogique “Réseaux & Télécoms”, Saint-Pierre de la Réunion (France), 2007. In French.
  9. ^ Marionnet: a virtual network laboratory and simulation tool Archived 2011-01-25 at the Wayback Machine: SimulationWorks, Marseille (France), 2008.
edit