winlab demos march 27, 2007. demos overview wired-wireless testbed integration –demo 1: pl to...

Post on 21-Dec-2015

221 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

WINLAB Demos

March 27, 2007

Demos Overview

• Wired-Wireless testbed Integration– Demo 1: PL to Orbit – Demo 1b: Vini to Orbit– Demo 2: Orbit to PL (2 videos)

• Virtualization of nodes (slivers)– Demo 3: VMAC– Demo 4: Virtualization in frequency

• Scientific Experiments – Demo 5: Instrumented oil field management

Wired-Wireless Testbed Integration

PlanetLabWired Orbit

Wireless

PlanetLab Users:Conducting a Planetlab experiment with

Orbit

• Provision of a proxy that handles requests for wireless resources

PlanetLabWired Orbit

Wireless

Console

Support services

PL-Orbit Proxy

Internet

2

1 START

3

sliver

sliver

Demo 1: Bandwidth Analysis

WiredPlanetLab

WirelessOrbit

• Packet forwarding priority through end-to-end measurement• Information Dissemination in Uncooperative Environments• Peer to peer media streaming

Example Scenario: Online content distribution

Demo 1: Mapping of Orbit nodes to slivers

PlanetLab Node

Orbit Nodes

sliversliversliver

GRE

GRE

GRE

GRE

PL-Orbit Proxy

Demo 1: PlanetLab to Orbit IntegrationBandwidth Analysis

WiredPlanetLab

WirelessOrbit

IperfSender

IperfReceiver

Sniffer

AP

sliver

Demo 1b: Integrating Vini and OrbitIP Mobility

• Ability to use VINI and carry layer 3 based experiments

• Demonstrate video handoff

Video Handoff:PlanetLab NodesRunning VINI

LOS ANGELES

HOUSTON

SEATTLE

OpenVPNEthernetTunnel

AP1

Video Server

Mobile Client172.16.0.6/30

AP2

OpenVPNEthernetTunnel

OpenVPNEthernetTunnel

Orbit users: Conducting an Orbit experiment in PLanetLab

• Extending orbit framework with PL nodes • Integration of control and management• Single programming interface and

experimental methodology

PlanetLabWired Orbit

Wireless

ConsoleSupport services

PL-OrbitProxy

Internet

2

1 Experiment Script

START

NodeAgents

sliver

sliver

NodeHandler

Demo 2: Video on Demand

WiredPlanetLab

WirelessOrbitWashington

Georgia

• Spectrum allocation• Bandwidth management • Video communication algorithms• Inter-access point communication protocols

Example Scenario: Acquire data from Internet at a coffee shop

Demo 2: Video on Demand

WiredPlanetLab

WirelessOrbitWashington

Georgia

Servers Clients

Experiment ScriptdefNodes('ap1', [2,7]) {|node|

node.prototype("test:proto:mvlcrelay", { 'duration' => prop.duration }) node.net.w0.mode = "master" #802.11 Master Mode node.net.w0.type='a' node.net.w0.channel="48“ node.net.w0.essid = "link1" node.net.w0.ip="192.168.2.7" }

defNodes('client1', [7,7]) {|node| # Video streaming #1 node.prototype("test:proto:mvlcdest", { 'duration' => prop.duration }) node.net.w0.mode = "managed" #802.11 MastererMode node.net.w0.type='a' node.net.w0.channel="48" node.net.w0.essid = "link1" node.net.w0.ip="192.168.7.7" }

defNodes('ap2', [2,3]) {|node|

node.prototype("test:proto:mvlcrelay", { 'duration' => prop.duration }) node.net.w0.mode = "master" #802.11 Master Mode node.net.w0.type='a' node.net.w0.channel="48“ node.net.w0.essid = "link2" node.net.w0.ip="192.168.2.3" }

defNodes('client2', [7,3]) {|node| # Video streaming #2 node.prototype("test:proto:mvlcdest", { 'duration' => prop.duration }) node.net.w0.mode = "managed" #802.11 MastererMode node.net.w0.type='a' node.net.w0.channel="48" node.net.w0.essid = "link2" node.net.w0.ip="192.168.7.3" }

First flow Orbit configuration

Second flow Orbit configuration

defPNodes('planet.cc.gt.atl.ga.us','planetlab01.cs.washington.edu')

WhenPLReady()

{ defPApplication('bash /home/orbit_pkamat/PLDEMO1'){}

wait 125 defPApplication('bash

/home/orbit_pkamat/PLDEMO2'){}

PLexpdone()}

Define the PL nodes

Experiment Script

Start the applications on the PL nodes

Virtualization in Wireless Networks

Typical Grid Utilization

Virtualization

• Support concurrent experiments

• Support both short-term and long-term service experiments

• Allow fine-grained control over radio parameters and topology

• Used a combination of methods– Virtual MAC (VMAC), Space division,

Frequency division, Time division

Virtualize a Wireless node - VMAC

VirtualAccessPoint 1

Essid:1

Exp. 1 Exp. 2

Essid:2

Ch. y

AccessPoint

Essid:1

Exp. 1 Exp. 2

Ch. y

AccessPoint

Essid:2

Ch. x

VirtualAccessPoint 2

Sliver 1 Sliver 2

Demo 3: VMAC Virtualization

Exp. 1

Exp. 3

Exp. 2

Exp. 1

Exp. 2

Exp. 3

Wired Wireless

ServersMobileClients

Channel x

3 VAPs

•Accommodate up to 4 VAPs

Demo 3: Without VMAC Virtualization

Exp. 1

Exp. 3

Exp. 2

Exp. 1

Exp. 2

Exp. 3

Wired Wireless

ServersMobileClients

Demo 3: VMAC – Virtualization

Exp. 1

Exp. 3

Exp. 2

Exp. 1

Exp. 2

Exp. 3

Wired Wireless

ServersMobileClients

Channel x

3 VAPs

•Operation, Traffic Shaping

Real Life Scenario: Airport Deployment

Step1: Initial Traffic

Experiment 1,2 Experiment 3

Step 2: Increasing Offered Traffic

Experiment 1,2 Experiment 3

Step 3: Traffic Shaping

Experiment 1,2 Experiment 3

Virtualize a node in frequency

• Two concurrent experiments can coexist using the same hardware

Exp. 1

Exp. 2 Exp. 2

Exp. 1

Demo 4: Virtualize a node in Frequency

• Host virtualization via Xen, VMWare, UML

• Split a node’s interfaces among virtual machines/ experiments Exp. 2

Channel x

Channel y

Exp. 1

Demo 4: Slicing a wired and wireless network

Virtualization in FrequencyWiredPlanetLab

WirelessOrbit

Demo 4: Slicing a wired and wireless network

Virtualization in Frequency

Channel x

Channel y

Slice 1

Slice 2

WiredPlanetLab

WirelessOrbit

Appendix

PlanetLab NodesRunning VINI

LOSAHSTN STTL

OpenVPNEthernetTunnel

OpenVPNEthernetTunnel

OpenVPNEthernetTunnel

AccessPoint

AccessPoint

Video Server

Mobile Client

PlanetLab NodesRunning VINI

LOSAHSTN STTL

OpenVPNEthernetTunnel

OpenVPNEthernetTunnel

OpenVPNEthernetTunnel

AccessPoint

AccessPoint

Video Server

Mobile Client

10.1.88.5

192.168.100.2

192.168.100.3

192.168.101.2

192.168.101.3

10.0.249.5 10.0.141.5

10.1.88.6

10.0.249.610.0.141.6

172.16.0.1/30

172.16.0.2/30

172.16.0.6/30

(172.16.0.5/30) (172.16.0.5/30)

Problems & Challenges• When using IP tunneling (rather than Ethernet tunneling), OpenVPN must know the IP ranges

that it is responsible for routing in advance. This makes it impossible to use IP tunneling for mobile nodes or topologies where IP ranges change.

• When using Ethernet tunneling, ARP proxying must be enabled on the VINI/ORBIT gateways.

• There is no perfect method of detecting client timeouts to trigger disconnection of a client and the retraction of it’s associated route.

• Assigning each mobile node a /30 wastes IP addresses. Each mobile client will need a unique: Network address, Broad cast address, Gateway address and Host address. Only 64 mobile IP clients can be assigned per Class C (256 IP addresses)

Experiment ScriptdefNodes(‘VAP', [4,6]) {|node|

node.prototype("test:proto:vlcrelay", { 'duration' => prop.duration

}) node.net.w0.mode = "master" node.net.w0.type = 'a' node.net.w0.channel="36" node.net.w0.essid = "net01" node.net.w0.ip = “10.20.0.5"

node.net.w1.mode = "master" node.net.w1.type = 'a' node.net.w1.channel="36" node.net.w1.essid = "net02" node.net.w1.ip = “20.20.0.5"

node.net.w2.mode = "master" node.net.w2.type = 'a' node.net.w2.channel="36" node.net.w2.essid = "net03" node.net.w2.ip = “30.20.0.5"

}

VAP #1 set up

VAP #2 set up

VAP #3 set up

defNodes(‘client1', [1,5]) {|node| node.prototype("test:proto:vlcdest", { 'duration' => prop.duration }) node.net.w0.mode = "managed" node.net.w0.type = 'a' node.net.w0.channel="36"

node.net.w0.essid = "net01" node.net.w0.ip = "10.20.0.6"}

defNodes(‘client2', [4,9]) {|node| node.prototype("test:proto:receiver1", { 'duration' => prop.duration })

node.net.w0.mode = "managed" node.net.w0.type = 'a' node.net.w0.channel="36"

node.net.w0.essid = "net02" node.net.w0.ip = “20.20.0.6"}

defNodes(‘client3', [4,1]) {|node| node.prototype("test:proto:receiver2", { 'duration' => prop.duration })

node.net.w0.mode = "managed" node.net.w0.type = 'a' node.net.w0.channel="36"

node.net.w0.essid = "net03" node.net.w0.ip = “30.20.0.6"}

Experiment ScriptVAP #1 ‘s Client : Streaming Video

VAP #2 ‘s Client : Traffic Receiver

VAP #3 ‘s Client : Traffic Receiver

top related