Skip to content
dswd edited this page Feb 14, 2014 · 9 revisions

Concepts & Terminology

The topology

The topology is the central abstraction of ToMaTo. Topologies can contain virtual machines and network elements as well as connections between these elements.

Elements

There are different types of elements: various virtual machine types and network types.

Some of these element types can even have other elements as child elements. E.g. network interfaces are child elements of virtual machines. Most of the time users do not have to care about this details as child elements will automatically be created and removed as needed most of the time.

Connections

Connections can be created between exactly two elements. To connect more than two elements, additional virtual network elements (e.g. virtual switches) have to be used.

Each element can have at most one connection. Most elements use child elements (e.g. network interfaces, switch ports) to have multiple connections, one per child element. The graphical editor automatically creates and removes child elements as needed to connect their parents.

States and state changes

Each element in ToMaTo has a state that defines the condition the element is in and what users can do with it. Most elements (especially all virtual machine based elements) follow a 3-step state system:

  • Created: This is the most basic state where the element is known to ToMaTo but not present on any of the hosts. The editor displays this state with an empty state icon.
  • Prepared: Elements in this state are present on a host but are not active. In general that means that one host has been assigned to that element and the disk image of the element exists on that host. This means that the element consumes disk space. The editor displays this state with the following state icon: .
  • Started: In this state the element is active and can be used by an experiment. This means that the element consumes CPU, memory, disk space and network bandwith resources. The editor displays this state with the following state icon: .

In ToMaTo these states are present on the elements and not on the topology as a whole. That means that different elements of the same topology can be in different states.

Each element contains special actions to change its state. Also the topology contains smart actions that will bring all elements into certain states while obeying order restrictions.

Attributes and actions

Topologies, elements and connections have certain attributes and actions. Attributes are values that can be read and changed. Changing one attribute normally will not change other attributes and not change the state. Some of these attributes are read-only and some are only available or changeable in certain states. The editor will present all attributes of an element in its attribute window and allow the user to change them.

Actions have much more wide-ranging effects that changing an attribute. All state changes are executed by calling actions. The editor will offer all available actions in the right-click menu of the elements.

Differences to other networking testbeds

This list contains the major differences to other networking testbeds:

  • Changes during experiment: In contrast to most other networking testbeds, topologies in ToMaTo can be changed durin an experiment. This not only includes network configuration and link emulation but also the connections and even the devices of the topology. It is possible to add new devices and change the wiring during an experiment.
  • Control via VNC by default: Devices in ToMaTo are controlled via VNC by default. If the device is connected to the Internet, it is also possible to control the device via network.
  • Explicit definition of connectivity: In ToMaTo, all network connectivity must be defined on the topology. There is no implicit Internet connection to all devices, this conection has to be defined explicitly.
  • No operating system support needed: ToMaTo does not need support from the operating systems in the virtual machines for its basic functionality. Virtual networks are set up without the help of the operating system and are completely transparent to it.
  • Tools included in the testbed: Most of the features that users of other testbeds need to use seperate tools for are already embedded in the ToMaTo testbed in a way that is completely transparent to the operating system. This includes link emulation and packet capturing.
  • Different virtualization technologies: ToMaTo supports multiple virtualization technologies that users can choose from. Users can also mix differtent technologies in one topology to get the fitting technology for each element.