Table of Contents

Testbed design

Overview

Current configuration is based on 23 nodes deployed across two buildings, implementing two local indoor wireless mesh networks interconnected by an outdoor WiFi point-to-multipoint wireless link. Mesh routers build and maintain the multi-hop wireless back-haul and provide end-users with a standard 802.11 Access Point. Internet connectivity is delivered by a dedicated mesh routers equipped with an high bandwidth connection to the Internet backbone. A third tier providing Internet connectivity by means of a Point-to-Multipoint wireless technology (e.g. WiMAX, WiFi, or UMTS) is also supported.

The WING testbed is built on top of the Roofnet platform. Roofnet is an experimental WMN developed by the MIT and deployed in Cambridge, Massachusetts. Roofnet routes packets using a DSR-like routing protocol called SrcRR exploiting the Estimated Transmission Time (ETT) as routing metric and optimized for network scalability and throughput rather than for supporting mobility. The default Roofnet configuration has been extended with additional modules responsible for:

Software Architecture

OpenWRT has been selected as operative system for our testbed. OpenWRT provides an automated system to download the source code (both kernel and the userland tools) and compile it to work on any supported platform. Moreover, it is characterized by a small memory and disk footprint making it suitable for a wide rage of networking devices. Finally, it provides hardware configuration and maintenance abstraction through a custom system and package configuration facility called UCI.

Notwithstanding the fact that the PCEngines processor boards are based on the x86 architecture and then they do not require cross-compilation, we decided to use OpenWRT in order to abstract ourself from the underlying hardware architecture making the WING wireless mesh networking toolkit platform agnostic.

The following picture sketches the overall wireless mesh router architecture.

As it can be seen from the picture, the node supports multiple backhauling technologies (Wired, WiFi, and UMTS). The software can seamlessly switch from one backhaul link the the other. However, due to the use of Network Address Translation (NAT) techniques at the mesh gateway, existing connections exploiting stateful protocols, such as TCP, are terminated when the backhaul link is switched. Routing software is implemented using the Click modular router.

Features

Multi-radio support

Multiple radio interfaces support delivers improved spatial reuse and enhanced system throughput. An interference and traffic aware channel assignment algorithm is used in order to dynamically assign the operating frequencies.

MIMO

The recently standardized IEEE 802.11n technology is used in order to improve throughput and coverage in outdoor scenarios.

Auto-configuration

WING nodes can automatically detect if they are relays or gateways. The node auto-configures itself as gateway if an IP address can be obtained using DHCP over one the supported uplink backends. Currently the following uplink technologies are supported:

Three-tiers architecture

Internet connectivity is provided by the Mesh Gateways using either wired or wireless links. This is useful in three-tiers architectures where the gateways are connected to a bandwidth aggregation point using point-to-multipoint wireless links, Currently supported technologies are: WiFi, WiMax, and UMTS.

QoS Support

WING implements several QoS enhancements aimed at improving the voice capacity of the system and at providing performance isolation among competing flows in noisy environments. Traffic differentiation is provided by means of a multi-queue system based on the DiffServ framework. The Per-Hop Behavior (PHB) must be specified by the source by encoding a 6-bit value—called the Differentiated Services Code Point (DSCP)—into the 8-bit Differentiated Services (DS) field of the IP packet header. The following treatment is then applied by the mesh routers:

DSCP (decimal) PHB Weights Description Applications
0 Default 1 Best effort Any
18 AF21 2 Opportunistic link scheduling Video streaming
26 AF31 3 Traffic aggregation and opportunistic link scheduling (high-delay) Audio streaming
34 AF41 3 Traffic aggregation and opportunistic link scheduling (low-delay) VoIP

Hardware

Mesh routers are built exploiting three different types of processor boards:

Operating system and application are stored on a 1 GB Compact Flash card for the PCEngines processor boards and on the 32 MB embedded flash memory for the Gateworks boards (in this case a 4GB Compact Flash is used to provided additional storage. It is worth noting that the full WING firmware including development and testing tools (traffic generator, loggers, etc.) requires 16MB of storage space. A stripped down version of the firmware without development and testing tools requires less than 4MB of storage.

Connectivity is provided by 2 Ethernet channels, 2/4 miniPCI slots (PCEngines/Gateworks) and one serial port. PCEngines ALIX/WRAP boards are equipped with two Mikrotik R52 WiFi IEEE 802.11a/b/g cards based on the Atheros AR2412 chipset. Gateworks boards are equipped with two Ubiquiti SR71-A WiFi IEEE 802.11a/b/g/n cards based on the Atheros AR9160 chipset.

On the PCEngines platform one interface builds and maintains the multi-hop wireless backhaul, while the other interface can be configured either in Client or in Master mode. The former configuration allows the node to share an already available WiFi connection with the entire WMN while the latter configuration is used to provide a standard IEEE 802.11 Access Point. Single interface setups are also supported, however, in this case the device acts as a pure relay node. Dual and single NIC nodes can coexists in the same network.

On the Gateworks platform both interface are used to build and maintain the multi-hop wireless backhaul implementing a true multi-radio/multi-channel WMN exploiting dynamic channel assignment. An additional WiFi interface can also be used to provide Internet connectivity to the network.

Nodes currently used in the testbed: