winlab demos march 27, 2007. demos overview wired-wireless testbed integration –demo 1: pl to...
Post on 21-Dec-2015
223 views
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