Castadiva Architecture
Castadiva is a test-bed designed to deal with the development and the performance evaluation of protocols and applications for MANETs. The test-bed relies on an actual IEEE 802.11 wireless network between nodes for testing purposes. Castadiva is composed by a server that runs the main application, several wireless nodes, two different networks and an application that coordinate all devices.
Castadiva's server executes the application and configures the network devices. Concerning the wireless nodes used, they can be any sort of computing device, like a laptop, a PDA or a wireless router. In our prototype, each node is a Linksys router to minimize costs. The main requirement for a node is that it must have a Linux/Unix operating system installed, and two network cards: an Ethernet card and an IEEE 802.11 card. If the node is a wireless router, the OpenWRT kernel is an optimum solution. OpenWRT is an open source operating system available for a wide range of router manufacturers. This embedded Linux system natively offers SSH connections, along with the possibility of running shell scripts. Moreover, a programmer can develop its own application in a standard Linux distribution and export it to this operating system. In our case, we developed some applications in C for traffic generation and control purposes.
Next figure shows a schema of Castadiva's components. The main application, developed in Java, controls all devices and manages the links among them according to a pre-defined network topology. It also manages traffic generation between pairs of nodes. Since the controlling application also requires communicating with nodes to send control packets, Castadiva combines two different networks: the coordination network (wired), that connects the Castadiva core with the wireless nodes, and the wireless network, where actual tests run.
The coordination network is a wired network that connects Castadiva's core server with the wireless nodes. This network allows the main application to send configuration messages to all the nodes without creating any interference within the wireless network itself. It is based on Fast-Ethernet technology, to avoid large latency. Basically, the coordination network requires a switch connected to the main server and to all nodes. Through this network the main application sends instructions to nodes, allowing them to re-configure so as to create the desired network topology, and also to run lightweight traffic-generating applications available on each wireless node. For communication purposes, we rely on the SSH protocol to send instructions through this network. Using a fast network means that all nodes participating in a test will start at about the same time, avoiding significant latency effects and maximizing result accuracy. The wireless network is composed by Castadiva's wireless nodes, and the topology of this network is defined by the GUI of Castadiva, so that it can change at runtime. Nodes communicate in ad hoc mode using IEEE 802.11g technology. Castadiva's core has two main functions: (a) to allow a user to interact with the system so as to define all the test parameters required and (b) to coordinate the wireless nodes during an experiment. By using Castadiva's GUI a user can control all of Castadiva's functionality, defining the network topology and the traffic flow among nodes. Castadiva allows fixing the scenario area where nodes will be deployed. When selecting a node, its location is highlighted and it can be changed according to the desired network topology. When all nodes are deployed the user can press the Simulate button, and each physical node will be re-programmed so as to enforce the chosen network topology.