Version 3 (modified by 11 years ago) (diff) | ,
---|
Vertical Handoff with OpenFlow
Overview:
This tutorial is designed to give an insight into how OpenFlow can be used to conduct network experiments. As background, a vertical handoff is the (ideally seamless) migration of a network connection from one network interface to another of a different technology. An example might be your cell phone transitioning from a WiFi to a 4G connection while streaming a video. Vertical handoffs are traditionally handled by the network infrastructure, leaving providing little-to-no control of the handoff execution at the client. Clemson University and the University of Wisconsin have partnered to develop and test a client-initiated and controlled vertical handoff. This project is being done using GENI resources -- namely Clemson's GENI WiFi and WiMAX testbeds. Further development is also planned in GENI's Orbit testbed at Rutgers.
This vertical handoff project is being developed on physical machines; however, for the purpose of this tutorial, our development environment has been ported to a virtual machine (VM) so all can participate without regard the the unique hardware capabilities of each participant. This tutorial will walk you through how to perform a Layer-2 (L2) handoff using OpenFlow within a virtual machine. As you will discover, because this solution is dependent only on Linux network interface handles, you can apply it to any interface on a physical host. The VM provided has two host-only interfaces and one interface tied to a physical adapter on the host machine. The host-only interfaces communicate with the VMware tap interface added by VMware to the host machine. In this tutorial, we will demonstrate how to run our handoff solution between these host-only interfaces.
Prerequisites:
- Computer with 2G RAM or higher (recommended)
- Windows (turnoff firewall); Mac/Linux (root at terminal)
- VM image (link to Clemson Box account)
- Familiarity with SSH, Linux terminal, Bash and Python scripting
- Basic networking and OpenFlow background
Tools:
- On your host machine (please install before GREESC13 tutorial session):
- VMware Player: http://www.vmware.com/download/player/download.html
- PuTTY is recommended, a free implementation of Telnet and SSH for all platforms Windows/Mac users: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Linux users: sudo apt-get install putty
- Within your VM image (we have already installed these items):
- OpenVPN. This tool is used to create the internal tap interface, from which the traffic is originated: http://wiki.debian.org/OpenVPN
- Floodlight OpenFlow Controller. The OpenFlow controller we use to switch the network traffic. Information: http://www.projectfloodlight.org/floodlight/ Installation: http://docs.projectfloodlight.org/display/floodlightcontroller/Installation+Guide
- Open vSwitch (OVS). The open virtual switch that allows a network interface to be OpenFlow-enabled. Information: openvswitch.org Installation: http://git.openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=blob_plain;f=INSTALL;hb=HEAD
Where to get Help:
- Questions/Help: Ryan Izard, rizard@g.clemson.edu; Fan Yang, fany@clemson.edu
- Floodlight Developers Group: https://groups.google.com/a/openflowhub.org/forum/?fromgroups=#!forum/floodlight-dev
Resources:
- Floodlight: http://www.projectfloodlight.org/floodlight/
- Handoff Code: https://github.com/rizard/openflow-vertical-handoff (work-in-progress...)
Tutorial Instructions
|
|
|
|
|
Attachments (1)
-
PCEngine_Diagram.PNG (46.2 KB) - added by 11 years ago.
VM-Diagram
Download all attachments as: .zip