The Click Modular Router Project
 NetFPGA - An Open Platform for Gigabit-rate Network Switching and
 OpenFlow Switching Specification
 Hop: A Fast Wireless Transport Protocol
 Global Environment for Network Innovations (GENI)
 ProtoGENI: Protoype GENI Deployment and Control Framework http://www.protogeni.net/
The prototyping project follows a spiral development approach with three stages. The plan is to start with a small proof-of-concept prototype which demonstrates feasibility of key protocol components in MobilityFirst including the GNRS and storage-aware routing. Next, we extend the network to multiple sites and validate internetworking, including consideration of performance and scalability. The third stage will introduce novel applications and services on long running, at-scale MobilityFirst deployment, and realistic validation through participation from opt-in users at involved campuses.
As a first step, we are prototyping essential network (router) and host components on commodity platforms using a primarily software-based approach. However, we are exploring a limited technology track of programmable network hardware for our router implementations. NetFPGA , a FPGA-based programmable network platform, and OpenFlow-enabled  switches are examples of experimental platforms within our scope that can enable line-rate evaluations.
MobilityFirst Router: The router prototype (Fig. 1) is Linux-based and follows two-level emulation: a fast data path handled by a forwarding engine (Click Modular Router ), and a control path implemented at user-level. In our Click-based implementation, C++ elements implement the following main modules: a reliable link-level, hop-by-hop data transport, route lookup, and storage modules. User-level processes implement storage-aware routing control path, network-support services such as the name resolution, content cache, and management services.
MobilityFirst Client/Host: The host protocol stack implements network API and services to support GUID-based network operations. These services include: name resolution, send/receive of message blocks (unicast and multicast), intentional data receipt, context and location management, content retrieval, and querying network state to determine links and path quality. The API and stack are to be implemented as user-level libraries.
Results To Date and Work Plan:
Version 0.9 - November 2011
Basic versions of router and host protocol stacks implemented. Includes the following capabilities:
- reliable hop-by-hop block transfer
- storage-aware routing - GSTAR
- global name resolution server on router
- network API: GUID-based send/receive
- android/Linux protocol stock with simple transport, Hop and dual-homing (WiFi/WiMAX)
- basic network management: monitoring routing state and traffic statistics
In stage 1 of our evaluation, ORBIT testbed (indoor and outdoor with WiMAX/WiFi) at WINLAB is being used to deploy and evaluate router and client prototypes in combined wired and wireless network settings. PlanetLab and Emulab testbeds, with a combined large node set, are being considered for at-scale evaluations of distributed services such as the global name resolution service. In stages 2 and 3, deployment and evaluation will be on the nationwide GENI infrastructure with host deployments at several university campuses and at core PoPs, and interconnected by Internet2 and NLR backbones. MobilityFirst Routers and other distributed services will be deployed on nodes of this topology (Fig 2), with Linux and Android hosts connecting at WiMAX/WiFi/Ethernet access points at the edge. In an iterative approach, we plan to scale the deployment to multiple sites and 100+ network nodes (routers).
Figure 2 - Depiction of Phase 3 deployment of MobilityFirst netqork
elements on GENI infrastructure
MobilityFirst Prototype on GENI - (demonstrated at GEC-12 conference, Nov 3, 2011. Kansas City, MI)
An early proof-of-concept prototype of the MobilityFirst architecture was demonstrated at the GENI Engineering Conference-12. This prototype includes the Click-based Router (with GSTAR, Hop and GNRS) and Linux/Android implementations of the host protocol stack. The protocol stack implements Hop, and a GUID service layer with new set of service APIs for data block delivery (both unicast and multicast), anycast and content query services.
The setup (Fig 3) consists of 7 programmable ProtoGENI hosts spread across the US running MobilityFirst routers, and two edge networks (located at BBN, Cambridge, MA and WINLAB, Rutgers, North Brunswick, NJ) with both WiMAX base stations and WiFi access points for end-user mobile access. Since the physical topology (Fig. 4) uses OpenFlow switches and ProtoGENI  nodes located across the US, it includes realistic RTTs, varied link speeds and access technologies. In our test scenario, there are two dual-homed mobile devices in the BBN and Rutgers networks respectively, one serving as a content server and the other as a client. The GSTAR protocol provides features for efficiently delivering the content from server to client in a hop-by-hop manner with in-network storage and multi-homing (taking advantage of both the available WiMAX and WiFi interfaces).
Figure 3 -
Network used in prototype demonstration. Each graph node (smaller cloud) can be considered a network, and is represented by a router in experiment.
Figure 4 - Physical topology of GENI backbone and ProtoGENI hosts used for prototype deployment
732-932-6857 Ext. 623
nkiran (AT) winlab (DOT) rutgers (DOT) edu
732-932-6857 Ext. 640
seskar (AT) winlab (DOT) rutgers (DOT) edu
732-932-6857 Ext. 638
ray (AT) winlab (DOT) rutgers (DOT) edu