25 - STUDENT - Virtual Networks over Linux (VNX)

Jorge Somavilla (University of Madrid)

Virtual networking environments have become one of the main methods for testing applications and protocols due to their flexibility, scalability and convenience. As a result, these environments are quickly becoming larger and more complex, and demand instruments ready to handle advanced scenarios.

The tools capable of managing these advanced virtual networks need to fulfill several requirements. They must support and operate hundreds of virtual machines, multiple virtualization technologies, types of virtual machines and Operating Systems, and offer the mechanisms to manage the network and its elements after deployment. The proposed open source tool, Virtual Networks over Linux (VNX), has been designed to meet these needs. VNX performs three basic operations, building the virtual scenario (machines and networks) from a specification file, interaction with the elements in the scenario through a command execution system and scenario releasing. VNX seeks for:
Scalability: In order to support large virtual scenarios, VNX is able to segment the scenario and perform a seamless distributed deployment over a federated cluster of physical hosts interconnected by VLANs.
Heterogeneity: Currently three virtualization technologies are supported, Libvirt (KVM/QEMU, Xen, LXC, OpenVZ, VirtualBox, VMware, etc), Dynamips (CISCO routers), and UML. Supported Operating Systems include Ubuntu, Debian, Fedora, CentOS, FreeBSD, Windows 7 and XP.
Flexibility and performance: Primitives in VNX internal API allow the user to perform actions over one or several virtual machines of the scenario: define or undefine, start a previously defined machine, shutdown or destroy, save and restore their state to disk, suspend and resume their state from memory, reboot or reset them. Additionally, the primitive executeCMD allows the user to directly interact with virtual machines or automatize the execution of commands (based on the dynamic CD-ROM approach by OVF).
Adaptability: VNX is built following a modular design in order to ease the work of developers. Modules may be added for new virtualization technologies, protocol plugins, segmentation algorithms, etc., in a standardized way.
Besides virtual network testbeds, research towards application in network security has been supported within the SEGUR@ project of the CENIT program (reference CENIT-2007 2004). VNX (formerly VNUML) has also been used on academic laboratories in the Polytechnic University of Madrid since 2002. Lately RedIRIS has been applying VNX to create a level 2 and 3 model for the backbone configuration of their new academic network RedIRIS-NOVA.

Download file