From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Marionnet logo.png
Marionnet main window
Marionnet main window
Original author(s)Jean-Vincent Loddo, Luca Saiu
Developer(s)Jean-Vincent Loddo, Luca Saiu
Preview release
0.60 / Spring 2008
Written inOCaml
Operating systemGNU/Linux
Platformx86, x86_64
Size12,000 lines
LicenseGPLv2 or later

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 GNU/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 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[1][2] and other countries.[3]

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[4] and at FOSDEM.[5]


Marionnet design.

On top of a GNU/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.[6]


  • Dynamic reconfiguration of the network.
  • Full binary compatibility with user-level GNU/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.


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.


The main goal of Marionnet is the teaching of computers networks in university laboratories,[7] 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.[8] 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]


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

External links[edit]