User Tools

Site Tools


activities

Planning and Design

CRC Testbed Architecture and Components

Short Description

The CRC testbed is designed to serve both research and education. For researchers, it enables them to test their work either as a simulation or using real hardware. For education, it gives students the opportunity to gain a hands-on experience with the concepts they study in communications and networking courses. It also provides an intuitive interface that enables easy management of labs for instructors. The architecture of the testbed is shown in the following figure. The controller server runs all the software used for the administration of the testbed. The simulation server provides users with computational resources along with preinstalled simulation tools. Testbed nodes provide access to wireless interfaces. The web portal and the SSH (Secure shell) are used to provide access to users according to their permissions, whether they are researchers, instructors or students. The portal additionally provides interfaces for the scheduler which is used to grant or deny users’ requests according to resource availability. An authentication module enforces the scheduler decisions by banning unauthorized users from accessing the testbed. Once a request has been granted, the user can use the existing tools; the experiment controller, disk imaging or topology control. Other features like mobile nodes and the mobility control software, the node emulation and the support of integration with other testbed will be added in later stages of the project.


CRC Hardware

Nodes

A testbed node consists of a PC connected to a number of wireless interfaces. Each testbed node runs an equal number of virtual machines (VMs), each of them is connected to one of these wireless interfaces. The users don’t have access to the physical machines and can access the wireless devices through the VMs. This setup allows having multiple users operate using their desired interfaces simultaneously. In the current stage three wireless interfaces are attached to the PC, a USRP B210, an RTL-SDR and a WiFi module. In future stages, mobile nodes will be added.

Nodes Placement

Several factors contribute the wireless topologies that can be realized in the testbed like the RF characteristics of the wireless interfaces (for example maximum transmitted power), the distance between the nodes, and the obstacles between them. Some testbeds like ORBIT relied on a uniform geometric placement of nodes. This placement causes a high level of interference between nodes, limiting the topologies that can be realized. In order to place nodes in a way that permits a wide range of topologies to be realized, the RF interfaces characteristics were carefully studied. Several positions were tested and many measurements were performed before selecting the placement of the nodes.

Simulation Server

Using this server, testbed users can do simulations in CRC. The simulation server offers users several benefits. First, thanks to the high processing power of this server, many users can deploy and run large-scale experiments (involving large number of nodes, connections and other network parameters) each in his VM. In addition, CRC administrators offer some prepared disk images with the most popular network simulation tools (including NS2, NS3 and Mininet) to be used by the testbed users. Using these images alleviates the overhead of preparing the simulation environment which can be time consuming. Finally, for the educational purposes, CRC simulation server is equipped with tutorials for students and beginners on the basic concepts and protocols in networks subject. This can give students the required exposure to the newly learned concepts.


CRC Software

Web Portal

The purpose of testbed portal is to provide web access to both the testbed infrastructure and/or simulation server. Through the portal, users can check available testbed nodes and simulation virtual machines, reserve and access them. Additionally, a dedicated education interface is integrated in CRC. Its purpose is to help instructors manage labs for courses on the testbed. Among the functionalities it provides are bulk or mass resource reservation, tracking students’ progress and controlling their accounts. It also enables instructors to create courses, develop experiments and assign them to students. Students, on the other side, will have access to the instructions and files provided by the instructor. They will be able to run the required experiments, visualize the results and submit the requirements using the portal.

Experiment Controller

OMF, control and management framework for networking testbeds, is used as the testbed management and measurement framework. It allows users to write an experiment script, through which a user can specify the nodes participating in his experiment, what software they will run and with what parameters. He can also describe the sequence of events needed to realize the experiment. Using OML (OMF Measurement Library), all results are collected and stored in a SQLite database. It was first developed to be used in ORBIT testbed, now it is deployed in many testbeds worldwide and has support for federations with other testbeds.

Disk Imaging

Disk imaging allows users to load and save an entire disk image on their reserved nodes. Its purpose is to allow users to install any software or make any modifications they want on the nodes without affecting other users or having to repeat the changes every time. This is explained by the fact that users will start their session by loading their images, thus, erasing all the changes made by previous users.

Nodes Isolation Policy

The purpose of node isolation is to limit the user to the nodes he reserved. Unauthorized access of nodes can occur from the controller or from the user’s reserved nodes. To prevent it, the isolation policy is implemented using firewall rules on the controller and the physical nodes. These rules are updated according to the reservation schedule.


CRC Phase I Novel Features

Isolated Multiple Concurrent Users

One of the new features in CRC is its ability to have multiple concurrent users access its resources while guaranteeing no interference. Other testbeds, e.g. ORBIT, give exclusive access to a group of their nodes to a single user regardless of his needs. NITOS enables simultaneous users but relies on the integrity of users to commit to their reserved frequencies. To be capable to accommodate concurrent users two challenges exist: the first is limiting each user to his reserved nodes and preventing him from unauthorized access either by mistake or deliberately. The second challenge is to enforce frequency assignments. As the wireless medium, unlike wired, is of broadcast nature, two users conducting experiments on the same frequency can compromise the integrity of each other’s work. Thus, ensuring that users work on their allocated band is important. NITOS handles only the first challenge. CRC, on the other hand, handles both challenges, making it truly support concurrent experimentation by different users.

Enforcing Frequency Assignment

Each user while reserving nodes is required to reserve frequencies. Confining each user to his reserved spectrum can be done by monitoring for frequency violations. Once a violation is detected, the offending user can be forced out of the testbed and perhaps have his account suspended. The approach we took at CRC to detect such violations is a software based approach. Three wireless interfaces exist currently at CRC; USRP, RTL-SDR, and WiFi. The RTL-SDR is a receiver only, so, it does not cause interference. The WiFi standard enables multiple users to share the same channel and monitoring its frequency usage can be performed through the operating system. This makes the major source for interference is the USRP, which will be our focus when dealing with frequency isolation. The USRP available at CRC communicates with the virtual machines through USB using packets with a predefined structure. By sniffing these packets from the physical nodes, we can tell what frequency band is being used and hence detect violations.

Testbed Nodes Virtualization

Virtualization of nodes is common in wired testbeds and has been used to extend the scale of experiments in wired networks, e.g. in Emulab. None of the existing wireless testbeds uses node virtualization. The smallest unit to be reserved in these testbeds is the physical node. This is explained by the following; in wired networks, virtualization of network resources like interfaces and links is possible without jeopardizing integrity of results due to the controlled nature of wires. In wireless communication, although some work has been done on the virtualization of WiFi, reliable virtualization of SDR peripherals, which are physical layer devices, is difficult. At CRC, testbed nodes are virtualized based on interfaces; each physical node runs three virtual machines and each virtual machine is assigned one of the three interfaces. Hence, this setup allows multiple simultaneous users, who need different interfaces, to use the same physical machine.

Topology Control using Gains

Some wireless experiments depend on the existence of a specified topology between the nodes. For example, some cognitive radio scenarios require certain connectivity between the nodes. Changing the transmitter power and the amplification at the receiver by changing the transmit and receive gains of the nodes can be used to realize a given topology. Selecting suitable nodes and finding suitable values for the gains using trial and error is a time consuming process. In CRC, we developed a system, that given a desired topology, will find values of the transmit and receive gains for the nodes to achieve the desired topology.

Storage Efficient Disk Imaging System

The users’ images are always derived from the base image provided by the administrators of CRC which is stored on the server. Users may perform some changes on the image and then save it back to the storage server using Frisbee. The drawback of Frisbee is that it stores the entire disk image which leads to having duplicate data. To avoid this, we use a proven data duplication software which is Venti archival storage system. Venti is a block level storage system, it identifies duplicate blocks and avoids data duplication. Our work was on the integration of Venti and Frisbee to get the benefits of both; Venti avoids duplication, while Frisbee enables fast and scalable image transfer.


activities.txt · Last modified: 2017/10/26 10:28 by mustafaelnainay