45
Sponsored by the National Science Foundation Using OpenFlow and Orbit to Achieve Mobility in a Heterogeneous Wireless Network Ryan Izard [email protected] GREE-SC2014 Iowa State University

Using OpenFlow and Orbit to Achieve Mobility in a Heterogeneous Wireless Network

  • Upload
    ember

  • View
    25

  • Download
    0

Embed Size (px)

DESCRIPTION

Using OpenFlow and Orbit to Achieve Mobility in a Heterogeneous Wireless Network. Ryan Izard [email protected] GREE-SC2014 Iowa State University. Outline. A brief overview of software defined networking (SDN) and OpenFlow (OF) - PowerPoint PPT Presentation

Citation preview

Page 1: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation

Using OpenFlow and Orbit to Achieve Mobility in a

Heterogeneous Wireless Network

Ryan [email protected]

GREE-SC2014Iowa State University

Page 2: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 2GREESC2014

Outline

1. A brief overview of software defined networking (SDN) and OpenFlow (OF)

2. OF controller and OF switch software components and interaction

3. The Floodlight (FL) OF controller4. Achieving IP Mobility with OF5. Tutorial / Walk-through

Page 3: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 3GREESC2014

What is Software Defined Networking and OpenFlow?

Page 4: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 4GREESC2014

• Physical separation of network control plane from forwarding/data plane

• Network control– Centrally managed– Directly programmable

• Network infrastructure– Abstracted from applications

What is SDN?

Page 5: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 5GREESC2014

Network Operating SystemAPI Feature A API Feature B API Feature C

Packet Forwarding

Packet Forwarding

Packet Forwarding

Packet Forwarding

Packet Forwarding

How Does SDN Work?

Page 6: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 6GREESC2014

• Link between SDN control and infrastructure layers

• OF-enabled infrastructure communicates with an OF controller via the OF protocol

What Is OpenFlow?

Page 7: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 7GREESC2014

OpenFlow ControllerNetwork Services Custom Services

Packet Forwarding

Packet Forwarding

Packet Forwarding

Packet Forwarding

Packet Forwarding

User Applications

APIs

How Does OF Work?

Page 8: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 8GREESC2014

Basic SDN packet handling example

OpenFlowController

Page 9: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 9GREESC2014

OpenFlowController

User 1 User 2

Basic SDN packet handling example

Page 10: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 10GREESC2014

OpenFlowController

User 1 User 2

Basic SDN packet handling example

Page 11: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 11GREESC2014

OpenFlow Switches and Controllers

Page 13: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 13GREESC2014

Data Path / Switching Hardware

Control Path

Flow Table

OpenFlow

Hardware

OS (e.g. Linux, Mac, Windows, etc.)

Network Services Custom Services APIs

OpenFlow Controller (e.g. Floodlight, NOX, etc.)Controller

OF Switch Connection to Controller

Page 14: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 14GREESC2014

• Switch probes for controller– Configured with controller IP/port (6633/6653)– Connection established via TCP/TLS– Standalone or secure modes

• Controller can learn topology– Packet-out LLDP– Devices and other participating OF switches

discovered and mapped

OF Switch Connection to Controller

Page 16: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 16GREESC2014

• Controller-dependent• Floodlight provides REST API

– JSON– Modify or query running configuration– Expandable with custom modules

• Options are vast with open-source– Customize controller APIs and behavior– User-application-independent (e.g. a transparent

network service like SOS)

Application Connection to Controller

Page 17: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 17GREESC2014

• Open-source OF controller• Sponsored and supported

by Big Switch Networks• Written in Java and easily

used with Eclipse• Modifiable and

expandable to suit any application via modules

• Large developer community and support group

The Floodlight OpenFlow Controller

Page 18: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 18GREESC2014

• What is a Floodlight (FL) module?– FL service that reacts to switch/controller

events, manages running switches, and/or manages controller configuration

– Java package– FL ships with many modules, but custom

modules are supported• Modules can work collaboratively and be

chained to achieve desired results

Floodlight Modules

Page 19: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 19GREESC2014

1. Execute2. Parse module list3. Load modules4. Start REST service5. Start FL Provider

Service (Core)

time

FL Provider Service

FL Modules (e.g. Forwarding, DHCP, Your_Module, etc.)

REST Service

Floodlight Architecture

Page 20: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 20GREESC2014

Floodlight Architecture

Page 21: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 21GREESC2014

• Off-the-shelf, the FL controller mimics traditional learning switch behavior for all connected switches

• Custom modules allow for advanced SDN applications/behaviors– SOS, HetNet Mobility, GENI Cinema, etc.– Add your custom modules here too!

• REST API allows third party apps to query and modify the running configuration of FL

Customizing Floodlight Behavior

Page 22: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 22GREESC2014

How can Software Defined Networking and OpenFlow

be Used to Achieve a Vertical Handover?

Page 23: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 23GREESC2014

• Part I: Design/Setup– Use OpenFlow to perform L2 handoff

• Part II: Execute– Configure and initialize software and scripts– Execute handoff experiment

• Part III: Finish– Determine results– Kill processes– Shutdown node and logout

Page 24: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 24GREESC2014

• Provide mobility for clients over IPv4• Entirely SDN and OF-based solution

– Network-level• Migration detection• IP address assignment and management• Packet routing

– Client-level• Packet routing• Interface switching• Transparent service to application

Mobility OverHeterogeneous Networks

Page 25: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 25GREESC2014

• Network-Level, Mobile IP:– Home/Foreign Agents OpenFlow Controller– Mobile IP tunnels OpenFlow flows– DHCP server on OpenFlow controller

• Client-Level, Vertical Handoff:– Change physical interface broken socket– Open vSwitch + Floodlight OF controller

• Manage the physical interfaces via SDN• End-user sees “always-up” virtual interface

Mobility OverHeterogeneous Networks

Page 26: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 26GREESC2014

Client Connects to WiMAXClient-Level

Page 27: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 27GREESC2014

Client Connects to WiMAX

Controller andDHCP Server

Network-Level

Page 28: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 28GREESC2014

Client Uses WiMAX Network

Controller andDHCP Server

Network-Level

Page 29: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 29GREESC2014

Client Migrates

Controller andDHCP Server

Network-Level

Page 30: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 30GREESC2014

Client Switches to WiFi InterfaceClient-Level

Page 31: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 31GREESC2014

Network Responds to Handover

Controller andDHCP Server

Network-Level

Page 32: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 32GREESC2014

Client Connection Rerouted to WiFi

Controller andDHCP Server

Network-Level

Page 33: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 33GREESC2014

Client-Level Mobility OverHeterogeneous Networks

Page 34: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 34GREESC2014

Page 36: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 36GREESC2014

• Part I: Design/Setup– Use OpenFlow to perform L2 handoff

• Part II: Execute– Configure and initialize software and scripts– Execute handoff experiment

• Part III: Finish– Determine results– Kill processes– Shutdown node and logout

Page 37: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 37GREESC2014

Configure Experiment• Experiment is a simple ping to demonstrate a vertical

handoff between a WiFi and a WiMAX interface on a node in the Orbit grid testbed

• Detailed instructions:– http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/

WiMAXOpenFlow• GREE-SC2014 group and node assignments:

– http://tinyurl.com/greesc2014-d7-node-info

Page 38: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 38GREESC2014

Configure Experiment• Enable WiMAX for your GENI project

– Login to GENI at portal.geni.net– Scroll down to the Tools section and select WiMAX– Select the button to enable WiMAX for your project (GREESC14)– Click Submit– Note your username

Page 39: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 39GREESC2014

Configure Experiment• You should be able to login to the Orbit testbed

for your project– eval `ssh-agent –s`– ssh-add /path/to/private/key

• Open two separate terminal windows and in each SSH to Orbit– ssh [email protected]

Page 40: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 40GREESC2014

Configure Experiment• Load AP image onto node

– omf load -o 1200 -i rizard-greesc2014-ap.ndz -t node11-11

• Load Server image onto node– omf load -o 1200 -i rizard-greesc2014-server.ndz -t node10-10

• Load Client image onto node– omf load -o 1200 -i rizard-greesc2014-client.ndz -t <client-node>

• Power off and boot nodes– omf tell -a offh -t node11-11,node10-10,<client-node>

– omf tell -a on -t node11-11,node10-10,<client-node>

Do NOT Complete at GREE-

SC2014

It’s Already Been Done For You

Page 41: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 41GREESC2014

Configure Experiment• Setup AP node (Already done for GREE-SC2014)

– ssh root@node11-11– Start: ./gec20_setup_ap.sh

• Setup Server node (Already done for GREE-SC2014)– ssh root@node10-10– Start: ./StartupScripts/gec20_setup.sh– ARP: ./StartupScripts/arp_add_list.sh

• Setup Client node – Your Turn!– ssh root@<client-node>– Disable Floodlight’s forwarding module– Configure startup and switching scripts– Start: ./StartupScripts/gec20_setup.sh

Page 42: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 42GREESC2014

• Part I: Design/Setup– Use OpenFlow to perform L2 handoff

• Part II: Execute– Configure and initialize software and scripts– Execute handoff experiment

• Part III: Finish– Determine results– Kill processes– Shutdown node and logout

Page 43: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 43GREESC2014

Execute Experiment1) WiFi flows are installed as “initial flows” when setup

script is run.2) In a new terminal, start a ping to the server IP,

10.41.105.105. The packets will be switched out the WiFi interface.

3) Run the WiMAX switching script. The ping packets will be switched out the WiMAX interface../SwitchingScripts/gec20_switch_to_wimax.sh

4) You’ve performed a handoff! Want proof? View the flows and packet counts on each OVS bridge before and after an interface-switch.

5) Alternate inferfaces and switch back to WiFi../SwitchingScripts/gec20_switch_to_wifi.sh

Page 44: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 44GREESC2014

• Part I: Design/Setup– Use OpenFlow to perform L2 handoff

• Part II: Execute– Configure and initialize software and scripts– Execute handoff experiment

• Part III: Finish– Determine results– Kill processes– Shutdown node and logout

Page 45: Using  OpenFlow  and Orbit to  Achieve Mobility in a Heterogeneous Wireless  Network

Sponsored by the National Science Foundation 45GREESC2014

Teardown Experiment

• When the experiment is done, on the Client node stop the Floodlight controller, stop OVS:

./StartupScripts/gec20_teardown.sh• On the Server node: ./StartupScripts/gec20_teardown.sh• Exit all SSH connections to nodes and power off

resources: omf tell -a offh -t all• Exit Orbit console SSH connections.