Virtual Integrated TCP Testbed (VITT) Carlo Caini DEIS/ARCES, University of Bologna Viale Risorgimento, 2 40136 Bologna, Italy carlo.caini@unibo.it Rosario Firrincieli DEIS/ARCES, University of Bologna Viale Risorgimento, 2 40136 Bologna, Italy rosario.firrincieli@unibo.it. Renzo Davoli Department of Computer Science, University of Bologna Mura Anteo Zamboni, 7 40127 Bologna, Italy renzo@cs.unibo.it Daniele Lacamera DEIS/ARCES, University of Bologna Viale Risorgimento, 2 40136 Bologna, Italy root@danielinux.net. ABSTRACT Research on TCP performance relies either on simulation programs, which run on a single machine, or on the use of real testbeds, where different machines represent different network nodes and data exchange is made through physical network interfaces. This paper proposes a different solution, with the aim of taking the best of both the cited alternative options. The idea is to exploit the most advanced virtualization technologies to integrate the different devices of a real testbed in a single GNU/Linux physical machine. The Virtual Integrated TCP Testbed (VITT) presented in this paper is the practical realization of this concept. Several virtual machines, fully configurable from the host system, are connected through an emulated network, implemented by means of the software tools provided by the Virtual Distributed Ethernet (VDE) project. A simple web interface allows the user to configure the network layout, set the TCP parameters, launch the experiments and gather the results. VITT is built on the experience achieved by the authors in the design and use of a real distributed testbed (TATPA), from which VITT derives some software components. TATPA results proved essential to assess the present limits of the virtualization approach, i.e. the accuracy of results vs. network complexity. Keywords TCP Performance, Testbed, Virtualization, VDE, KVM. 1. INTRODUCTION The proceedings are the records of the conference. ACM hopes to give these conference by-products a single, high-quality appearance. To do this, we ask that authors follow some simple guidelines. In essence, we ask you to make your paper look exactly like this document. The easiest way to do this is simply to down-load a template from [2], and replace the content with your own material. In the whole computer network history, TCP has always been the most used reliable transport protocol. Its success is due to its great original design, dated back to 1981, which is still at the basis of the present versions, although many improvements have been introduced during its long career. Nowadays, the study of the TCP behavior in different network environments has become very important to analyze the impact of heterogeneity in network topologies, such as the presence of wireless or satellite links [1]. Satellite systems, for example, pose some serious and peculiar challenges to TCP, due to the long Round Trip Times (RTT) and the possible presence of random errors [2]. To study the impact of heterogeneous networks on TCP, as well as the efficiency of new TCP variants in coping with their challenges, two main approaches can be adopted. The first relies on simulation, the second on real testbeds. Both solutions present advantages and disadvantages. In short, network simulators, as ns-2 [3], Cnet [4], Opnet [5], Qualnet [6], Insane [7] and NCTUns [8], by relying on a single workstation, are easy to set up and maintain but depend on the accuracy of protocol implementations and/or modeling. On the other hand, testbeds provide a test environment much closer to reality, at the expenses of greater cost and much higher maintenance. In most cases (e.g. [9], [10]) testbed end-points (sources and sinks) are PCs, whereas intermediate nodes can be either PCs (e.g. Linux routers) or custom devices (e.g. switches, routers). TCP testbeds rely on emulators, as NistNet [11], to include or reproduce network challenges (e.g. long delays, limited bandwidth, and random losses). By building on the concept of emulation, this paper shows that (and how) not only the challenging components, but an entire TCP testbed can be fully emulated and integrated in a single modern PC, thanks to the most advanced technologies developed by research on virtual machines (VMs) and networks. The aim is to match the accuracy of real testbeds with the advantages of simulations: lower cost, higher flexibility and reduced maintenance. Last but not least, by relying on software modules running on standard hardware, the reproducibility of the experiments in a virtualized environment is higher than in real testbeds. This idea led us to create the Virtual Integrated TCP Testbed (VITT), described in this paper. In VITT the operating system of the physical machine hosts a limited number of “guest systems”, each one in a separate VM. Thanks to a set of tools provided by the Virtual Distributed Ethernet (VDE) project [12], the underlying network behavior can be reproduced by emulating its components: switches, routers and links are replaced with software modules that can be customized to reproduce as closely as possible the real network environment we want to study. Moreover, in VITT the host system also acts as centralized controller and provides the user with a simple web based interface to configure the virtual network components and to guide the user through the experiments. The idea of exploiting network virtualization to implement testbeds components has recently appeared in the literature. To provide some examples, we cite [13], where the implementation of a Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Tridentcom 2008 March 18–20, 2008, Innsbruck, Austria Copyright 2008 ACM 978-1-60558-009-8 ...$5.00.