Version 32 (modified by Vic Thomas, 9 years ago) (diff)


Project Number


Project Title

Prototype Support for Heterogenous Testbed Resources: Integrating cluster, broadband, and wireless emulation nodes into the “Proto- GENI” Framework
a.k.a. CMU Testbeds, CMU Homenet (obsolete), CMULab, CMULAB

Technical Contacts

Principal Investigator: David Andersen
CoPI: Peter Steenkiste
CoPI: Srini Seshan
Lead Developer: Pat Gunn

Participating Organizations

Carnegie Mellon University, Pittsburgh, PA
Army Research Office
CMU Cylab


This project will build upon CMU’s existing cluster, neighborhood wireless/broad-band, and wireless emulation testbeds to concretely identify—and build prototypes of—the authentication, resource arbitration, and node management primitives needed to coherently deal with this very diverse set of resources. The project will integrate these testbeds with the ProtoGENI effort from the University of Utah, which is itself based upon that group’s Emulab software.


MilestoneDate(CMU Lab:S2.a Automate VPN management)? Click here for more information.
MilestoneDate(CMU Lab:S2.b Define RSpecs for wireless channels)?
MilestoneDate(CMU Lab:S2.c IRB approval for broader Homenet user access)?
MilestoneDate(CMU Lab:S2.d Better Support for Testing and Upgrades)?
MilestoneDate(CMU Lab:S2.e Ehernet VLAN-based Control and Data Plane)?
MilestoneDate(CMU Lab:S2.f Expanded Homenet testbed)?
MilestoneDate(CMU Lab:S2.g RSpecs as basis for CMUlab-emulator coordination)?

Project Technical Documents

An overview of the Homenet project's goals, issues, and design decisions can be found here
Customisations made to a standard UBUNTU image needed to prepare them for being a homenet node, also customisations to Emulab to handle the configuration requests. (tarfile)

Design concerns for MetaVPN: management software that creates/manages/destroys OpenVPN networks that serve as data planes within an experiment. This software is now in a usable state. It is available in the emulab-contrib git repository in the "cmu-metavpn" folder. The README documenting the goals, function, and use of the software is attached to this page; an example set of commands for users to try is present in the distribution.

HomeNet setup notes.

MetaVPN: The MetaVPN software allows users to "create, allocate keys into, start/stop, and deallocate OpenVPN configurations". This provides a layer2 virtualisation capability that we expect will see immediate use by our users. Right now, this is user-managed - client key/configuration management is included (with both an emulab and a non-emulab codepath), but topology services are not included. More info at

Quarterly Status Reports

4Q08 Status Report
1Q09 Status Report
2Q09 Status Report

Spiral 1 Connectivity


The nodes in this project present a number of challenges for connectivity:

The CMU Lab internal cluster and Wireless Emulator are NATted behind

The HomeNet nodes themselves are located in residences, sometimes behind NATs and sometimes with direct IP connectivity.
Data plane: Several of the HomeNet nodes are deployed behind either NATs or firewalls that block most non-TCP communication other than DNS. As a result, these nodes use OpenVPN tunnels to reach a tunnel endpoint node at CMU. This tunnel endpoint will have a globally-reachable IP address that can be used for GRE tunnels (and, perhaps an L2 tunnel if an economical L2 VLAN strategy can be found).
Control plane: To present a unified access mechanism for these nodes and to simplify the node management process, these nodes establish an SSL-based VLAN with the CMULab cluster control node (boss). The nodes use the open-source OpenVPN SSL/TLS-based VPN software to establish the Homenet control VPN. See also the attached file.

The tunnel endpoint and any globally-reachable nodes installed later will connect to the ProtoGENI node on Internet2 using a GRE tunnel. CMU accesses the Internet via 3ROX operated by PSC using a link with over 500 Mbps spare capacity. 3ROX is not on I2's DCN. HomeNet nodes will tunnel (IP-in-IP) to CMU Control using OpenVPN. The nodes will have addresses assigned by the user's ISP and may be assigned private addresses by HomeNet.


802.11q tagged VLANS will be used to establish QoS-enabled Ethernet VLANs between the CMU emulab cluster and the CMU wireless emulator. ProtoGENI will provide dynamic VLAN establishment between Utah emulab clusters and CMU Lab.

System Status

CMULab cluster machines: Online and managed by CMULab boss. Available for experimental use by internal and external researchers. Nodes currently only have one Ethernet interface - are mostly viewed as eventual end-nodes and traffic-shaping nodes for wireless experimentation, and as virtual-node hosts for Emulab-style experimentation.

Homenet wide-area machines: Two nodes are operational sitting next to each other at CMU behind a NAT box installed here for testing purposes. First "real-world" node to be deployed 3 Feb 2009. Nodes boot from USB dongle, download disk images from the boss node over the Internet, install the image, transfer control, and boot up as a functioning testbed node. Nodes now perform all interaction with the testbed control using their public/private keypair as only identifier. As a result, testbed now supports nodes receiving dynamic addresses via DHCP and automatically updating database at CMULab with node-ID to dynamic IP address binding. Multiple nodes can be behind the same NAT/IP address and receive configurations appropriately.

Emulator nodes: Are operational and managed by CMULab boss.

GPO Liaison System Engineer

Vic Thomas

Related Projects

CMU EmuLab

Wireless Emulator

Attachments (4)

Download all attachments as: .zip