370 likes | 546 Views
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
E N D
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 PlanetLab Wired Orbit Wireless
PlanetLab Users:Conducting a Planetlab experiment with Orbit • Provision of a proxy that handles requests for wireless resources PlanetLab Wired Orbit Wireless
1 START sliver sliver Support services Console Internet 2 3 PL-Orbit Proxy
Demo 1: Bandwidth Analysis • Packet forwarding priority through end-to-end measurement • Information Dissemination in Uncooperative Environments • Peer to peer media streaming Wired PlanetLab Wireless Orbit Example Scenario: Online content distribution
sliver GRE sliver GRE Demo 1: Mapping of Orbit nodes to slivers Orbit Nodes PL-Orbit Proxy PlanetLab Node GRE sliver GRE
Demo 1: PlanetLab to Orbit IntegrationBandwidth Analysis Wired PlanetLab Wireless Orbit sliver AP Iperf Receiver Iperf Sender Sniffer
Demo 1b: Integrating Vini and OrbitIP Mobility • Ability to use VINI and carry layer 3 based experiments • Demonstrate video handoff
Mobile Client 172.16.0.6/30 SEATTLE Video Handoff: PlanetLab Nodes Running VINI AP2 OpenVPNEthernetTunnel OpenVPNEthernetTunnel LOS ANGELES Video Server OpenVPNEthernetTunnel AP1 HOUSTON
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 PlanetLab Wired Orbit Wireless
Experiment Script START 1 sliver sliver NodeAgents Console Support services NodeHandler 2 Internet PL-Orbit Proxy
Demo 2: Video on Demand • Spectrum allocation • Bandwidth management • Video communication algorithms • Inter-access point communication protocols Wired PlanetLab Wireless Orbit Washington Georgia Example Scenario: Acquire data from Internet at a coffee shop
Demo 2: Video on Demand Servers Clients Wired PlanetLab Wireless Orbit Washington Georgia
Experiment Script defNodes('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
Experiment Script 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 Start the applications on the PL nodes
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 Sliver 1 Sliver 2 Access Point Access Point Virtual Access Point 1 Virtual Access Point 2 Essid:1 Ch. y Essid:2 Ch. y Ch. x Essid:2 Essid:1 Exp. 1 Exp. 2 Exp. 2 Exp. 1
Demo 3: VMAC Virtualization • Accommodate up to 4 VAPs Mobile Clients Servers Exp. 1 Exp. 1 3 VAPs Exp. 2 Exp. 2 Channel x Exp. 3 Exp. 3 Wired Wireless
Demo 3: Without VMAC Virtualization Mobile Clients Servers Exp. 1 Exp. 1 Exp. 2 Exp. 2 Exp. 3 Exp. 3 Wired Wireless
Demo 3: VMAC – Virtualization • Operation, Traffic Shaping Mobile Clients Servers Exp. 1 Exp. 1 3 VAPs Exp. 2 Exp. 2 Channel x Exp. 3 Exp. 3 Wired Wireless 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. 1 Exp. 2 Exp. 2
Demo 4: Virtualize a node in Frequency • Host virtualization via Xen, VMWare, UML • Split a node’s interfaces among virtual machines/ experiments Exp. 1 Channel x Channel y Exp. 2
Demo 4: Slicing a wired and wireless networkVirtualization in Frequency Wired PlanetLab Wireless Orbit
Demo 4: Slicing a wired and wireless networkVirtualization in Frequency Wired PlanetLab Wireless Orbit Slice 1 Channel x Channel y Slice 2
HSTN LOSA STTL PlanetLab Nodes Running VINI OpenVPNEthernetTunnel OpenVPNEthernetTunnel OpenVPNEthernetTunnel Access Point Access Point Video Server Mobile Client
HSTN LOSA STTL 192.168.100.2 PlanetLab Nodes Running VINI 192.168.101.2 192.168.101.3 192.168.100.3 10.1.88.5 10.0.141.5 10.0.249.5 OpenVPNEthernetTunnel OpenVPNEthernetTunnel OpenVPNEthernetTunnel 10.0.249.6 Access Point Access Point 10.0.141.6 10.1.88.6 172.16.0.1/30 (172.16.0.5/30) (172.16.0.5/30) 172.16.0.2/30 Video Server Mobile Client 172.16.0.6/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)
defNodes(‘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" } Experiment Script VAP #1 set up VAP #2 set up VAP #3 set up
Experiment Script VAP #1 ‘s Client : Streaming Video 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" } VAP #2 ‘s Client : Traffic Receiver VAP #3 ‘s Client : Traffic Receiver