Views
OpenFlow Wireless
From OpenFlow Wiki
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' 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.
- OpenFlow Ethernet switches from NEC and HP
- OpenFlow AP with PC Engine
- OpenFlow Ethernet switches/AP with Soekris
- WiMAX basestation: which is supported with NEC's proprietary code and thus will not be available for download here.
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.
- 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.
- 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.
- 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
- Streaming from a Golf-cart
- n-casting
- Hoolock
- SFNet
People
OpenFlow Wireless is brought to you by
- Kok-Kiong Yap
- Te-Yuan Huang
- Masayoshi Kobayashi
- Nikhil Handigol
- Michael Chan
- Rob Sherwood
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
- OpenRoads-Empowering Research in Mobile Networks Abstract-(Best Poster at SIGComm 2009)
- The Stanford OpenRoads Deployment presented at WiNTECH 2009.
- Blueprint for Introducing Innovation into Wireless Mobile Networks presented at VISA 2010.
