Please Note: This website has been archived and is no longer maintained.
See the Open Networking Foundation for current OpenFlow-related information.

OpenFlow Wireless

From OpenFlow Wiki

Jump to: navigation, search

Contents


OpenRoads (or OpenFlow Wireless) is a platform for innovation and realistic deployment of services. Built on OpenFlow, OpenRoads can be thought of in the following ways.

  • OpenFlow provides a mechanism for software-defined networking. However, there is a barrier between possessing a mechanism to having a platform that one can readily innovate in. OpenRoads lower that barrier by providing a complete platform for others to deploy and innovate in.
  • Mobility services are heavily researched upon, but verification is hard. The wireless channels are difficult to simulate, and realistic user traffic/movement crucial to solid validation of ideas are hard to emulate. By allowing research in our production networks, OpenRoads allow both to be achieved in the network.
  • Handover between different wireless technologies is hard today. This is because their backhaul network is different, as they are built around a single wireless technology. By "flattening" these networks, we show that handover between heterogeneous wireless networks can be achieved in a simple way in OpenRoads.

OpenRoads Architecture

OpenRoads Architecture

OpenRoads' consists of various layers in its architecture, namely, a physical layer, network virtualization/slicing layer and controller layer. Many research work can be done solely in applications built upon the controller, though an understanidng of the underlying layers is important. This is illustrated in the figure on the right.

Detailed description of the platform are available in the publications. We will focus on providing instructions and links to the various components here.

Setup and Installation

Physical Equipments

The following equipments have been used in OpenRoads.

You might also want to peruse the deployment page.

Slicing the Network

OpenRoads also incorporates a network "virtualization" layer, which consists of the following.

  • FlowVisor which slices the flowspace using OpenFlow

Controller/API

The API of OpenFlow Wireless has been ported/rewritten in NOX's destiny branch. To checkout the controller, execute the following commands:

 git clone git://noxrepo.org/nox
 cd nox
 git checkout -b <branch name of your choice> origin/destiny
 ./boot.sh
 mkdir build
 ../configure
 make -j

More instructions for Git can be found at the git page. You would need to ensure the dependencies of NOX are satisfied.

To generate doxygen documentation for the code,

cd doc/doxygen
make html

The generated documentation is in directories html. make latex would create the LaTeX version of the documentation.

As part of the API, we provide support for the following, which are documented in separate pages.

More Tools

As we developed OpenRoads, we have also developed tools to help us work within NOX. Python scripts' documentation can usually be retrieved by running

<script-name>.py -h

The following is a list of these tools.

  1. nox-draw-dependencies.py draws the dependency graph of the NOX components. By providing a list of components called with the nox_core command, the graph will be color coded to indicate which components are really invoked in that call.
  2. nox-new-c-app.py creates a new C/C++ component in NOX. This should be run in netapps, coreapps or uiapps directories, or their subdirectories.
  3. Instead of vms-start and vms-stop, OpenFlowVMS is basically developed into an independent package that simulates an OpenFlow network for testing and development.

Sample Applications

  1. Streaming from a Golf-cart
  2. n-casting
  3. Hoolock
  4. SFNet

People

OpenFlow Wireless is brought to you by

For further enquiries, requests and/or bug reports, please post them to openflow-discuss@lists.stanford.edu, starting the subject line with OpenFlow-Wireless:. If you would like to correct our mistakes, make this better, add a new feature, etc., don't be shy and please contact KK. We would add you as a collaborator.

Publications

  1. OpenRoads-Empowering Research in Mobile Networks Abstract-(Best Poster at SIGComm 2009)
  2. The Stanford OpenRoads Deployment presented at WiNTECH 2009.
  3. Blueprint for Introducing Innovation into Wireless Mobile Networks presented at VISA 2010.