User Tools

Site Tools


The Virtual CONFINE Testbed

You have two main choices to deploy an application in CONFINE: preparing your own virtual environment (the Virtual CONFINE Testbed or VCT) or using the real Community-Lab testbed deployed in the several community networks involved in the CONFINE Project.

It is recommended to prepare and debug your application locally with VCT (a testbed and your application, all running virtualized on your computer). Then, when it works in the virtualized environment, you move to the real Community-Lab testbed and face the additional challenges of running on a realistic environment.

The recommended way of running applications (like experiments and services) in Community-Lab and any other CONFINE testbed comprises the following steps:

  1. Use VCT to prepare the environment that yor slivers will be using.
  2. Test the application in VCT. First you may use the plain bridged virtual links and then apply the more realistic link error model.
  3. Test the application in a local testbed.
  4. Run the application in the target testbed.

VCT provides an environment to quickly create a virtual network of CONFINE nodes with the following objectives:

  • Become familiar with confine-dist (node software).
  • Test and facilitate development of software and components.
  • Emulate virtual topologies (to be done, currently all nodes are connected to all others).
  • Prepare experiments for CONFINE networks.
  • Extend/increase real CONFINE network (testbed) with emulated links.

This is achieved through virtualization of CONFINE hardware and networks using virsh/QEMU and other Linux virtualization tools.

The VCT container

The CONFINE VCT container is a Debian LXC image created with all the tools that new researchers and experimenters need to test and setup a new application. Installing the VCT container provides a complete Virtual CONFINE Testbed and a local controller to manage its virtual nodes.

The VCT container environment is implemented as a 32-bit Linux container (LXC), where nodes are run as 32-bit kernel-based virtual machines (KVM). Running VCT containers results in a hierarchy of environments like the following one:

  • Host (Linux i686 or x86_64)
    • VCT 1 (LXC i686) …
    • VCT 2 (LXC i686) …
    • VCT 3 (LXC i686)
      • Node 1 (KVM i686) …
      • Node 2 (KVM i686) …
      • Node 3 (KVM i686)
        • Sliver 1 (LXC i686)
        • Sliver 2 (LXC i686)
        • Sliver 3 (LXC i686)
intro/vct.txt · Last modified: 2014/07/01 16:36 by ivilata