ArticleslgStudy

computer science

Marionnet

Marionnet is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Marionnet rather than just read about it. In short: 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 networ…

Marionnet — main illustration
Marionnet — illustration

Key takeaways

  • Marionnet belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Marionnet to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Marionnet from memory before moving on to harder problems.

Reference excerpt

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.

History 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 and other countries.

Current development 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 and at FOSDEM.

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.

Features 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 Marionnet has shown 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 The main goal of Marionnet is the teaching of computers networks in university laboratories, 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. 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.

See also

User-mode Linux OCaml Gtk DOT language Network simulation

References

External links Official website Marionnet wiki, 2009-01-15

Illustrations

Marionnet illustration
Marionnet illustration
Marionnet: Marionnet design.
Marionnet design.
Marionnet: 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.
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.

Worked examples

Example 1 — a first encounter with Marionnet

Start with the simplest possible case. Write down what Marionnet claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Marionnet before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Marionnet ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Marionnet

In research
Marionnet appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Marionnet in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Marionnet is common in secondary-school and first-year university syllabi. It links to neighbouring topics Computing platforms, Free software programmed in OCaml, Free virtualization software, so understanding it makes those chapters shorter.
In everyday life
Look for Marionnet outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “Marionnet” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Marionnet in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Marionnet means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Marionnet out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Marionnet in simple terms?

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, hub…

Why does Marionnet matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Marionnet?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Marionnet.

Tags

  • Computing platforms
  • Free software programmed in OCaml
  • Free virtualization software
  • Linux
  • Virtualization software for Linux

Keep exploring