Fat Virtual Access Points Srikanth Kandula Kate Lin, Tural Badirkhanli and Dina Katabi.

Download Report

Transcript Fat Virtual Access Points Srikanth Kandula Kate Lin, Tural Badirkhanli and Dina Katabi.

Fat Virtual Access Points
Srikanth Kandula
Kate Lin, Tural Badirkhanli and Dina Katabi
State-of-the-art (802.11):
Connect to the AP with the highest RSSI
Problem 1:
In Homes, Hotspots…
AP Uplink ~ 2Mbps
(DSL/Cable Modems)
Wireless Link ~ 54Mbps
(Theoretical Max)
2+2+2+…
Uplink Bottleneck
Can Aggregate Bandwidth from nearby APs!
Problem 2:
At Work …
Unnecessary congestion;
nearby APs are idle
20Mbps
Spread load
15Mbps
Individual changes help
globally
4Mbps
7Mbps
Load Imbalance
Divide Total Bandwidth Among Users
2 Problems, 1 Solution
State-of-the-art:
Join closest AP
Abstraction:
Join a Virtual AP, that is
the sum of nearby APs
1. User can aggregate bandwidth from all APs
2. Compete for total  balance load across APs
Realize a “fat virtual AP” with
only client-side changes
Basic Operation
2Mbps
2Mbps
20Mbps
But, what about receive?
Basic Operation
2Mbps
Drop
Power-Save Q
2Mbps
20Mbps
Pretend in power-save, so AP buffers when disconnected
(similar to Chandra et. al. VirtualWiFi)
Divide Time and Data Across APs to get “Fat Virtual AP”
Realizing a Fat Virtual AP is Hard
• Sustain TCP flows through each AP
– Cannot lose packets yet Switch quickly
• Which APs to connect to and for how long?
– Some APs are more valuable than others
• How to divide traffic across the APs?
FatVAP, an 802.11 driver design
1. divides time across APs to maximize throughput
2. is transparent to APs and remote ends
FatVAP Overview
Channel 6
Channel 6
Channel 1
Channel 36
1.
2.
3.
4.
Scan for available APs
Compute a schedule to divide time across APs
Switch APs as per schedule
Spread traffic by pinning flows to APs
How much time to spend at an AP?
e
w
Achievable Bandwidths– end-to-end e, wireless w
e
Useful fraction of time 
w
Subsumes Wireless Link Quality, Contention at AP,
APs uplink capacity
How to Divide Time Across APs?
AP Bandwidth (Mbps)
AP1
AP2
AP3
End-to-end Achievable
5
4
3
Wireless Achievable
5
8
8
Usable Fraction
100%
50%
38%
5 Mbps, Optimal = 7 Mbps
100% busy
Pick APs Greedily, on End-to-end rate
! more bang for the buck if wireless b/w is large
How to Divide Time Across APs?
AP Bandwidth (Mbps)
AP1
AP2
AP3
AP4
AP5
AP6
End-to-end Available
1
1
1
1
1
4.5
Wireless Available
5
5
5
5
5
4.5
Usable Fraction
20%
20%
20%
20%
20%
100%
5 Mbps, 100% busy
Pick APs Greedily, on End-to-end rate
Pick APs Greedily, on Wireless rate
! cost to switch is ≈ 5 ms
! can’t linger too long (100ms period)
No Greedy Solution!
Only 75% usable
Say, fi is fraction of time at APi
Let s be switching time and D be the period
max  f i wi
Value (Bandwidth)
ei
s.t. 0  f i 
wi
Usefulness Constraint
fi
  f D   f s   D
i
i
Cost (Time)
Like Bin Packing, maximize value with bounded cost!
(pseudo)-polynomial solution
But, How to Estimate Bandwidths?
Wireless Achievable
Naively– send-rate of probe
burst, APs report load
Idea: Use synchronous acks
Client TX Queue
AP Buffers
w
Time from head of tx queue
to end of transmission (ack)
But, How to Estimate Bandwidths?
Wireless Achievable
End-to-end
Naively, send-rate of probe
burst or APs report load
Idea: Use synchronous acks
Client TX Queue
t
Count bytes rcvd in a window
AP Buffers
e
Time from head of tx queue
to end of transmission (ack)
But, How to Estimate Bandwidths?
Wireless Achievable
End-to-end
Naively, send-rate of probe
burst or APs report load
Idea: Use synchronous acks
Client TX Queue
t
Count bytes rcvd in a window
May
receive
data
always
Idea:not
only
count
back-toback large packets!
AP Buffers
e
Time from head of tx queue
to end of transmission (ack)
How to Spread Traffic Across APs?
How to Spread Traffic Across APs?
Put flows through all APs
• virtualize 802.11 state
• an IP for each interface
• toggle APs (and channels)
By default, kernel sends
all traffic to one AP
AP1
MIT
128.30.79.0/24
Toggler
AP2
T-Mobile
192.168.3.0/24
Hardware (Wireless Card)
802.11 State
AP1 State
AP2 State
Two Interfaces
How to Spread Traffic Across APs?
Put flows through all APs
• virtualize 802.11 state
• an IP for each interface
• toggle APs (and channels)
By default, kernel sends
all traffic to one AP
• Spread flows to APs
• Fast header re-writing
AP1
Toggler
AP2
Hardware (Wireless Card)
AP1 State
AP2 State
Two Interfaces
Spreader
Distribute load w/o changing APs and applications
Switching Quickly Without Drops
A Driver For Each Interface?
AP1
– warm-up cost on switch
– one instance + soft-switch
One Driver
AP2
Switching Quickly Without Drops
A Driver For Each Interface?
AP1
AP2
– warm-up cost on switch
– one instance + soft-switch
802.11 Control Packets
– Isolate Transitions
Hardware (Wireless Card)
AP1 State
Re-send
Send AUTH
AP2 State
Switching Quickly Without Drops
A Driver For Each Interface?
AP1
AP2
– warm-up cost on switch
– one instance + soft-switch
802.11 Control Packets
– Isolate Transitions
Pkts stuck in driver at switch
– Private Queues
1. Delay Switch till pkts drain
2. Drop Packets (madwifi)
Switching Quickly Without Drops
A Driver For Each Interface?
AP1
AP2
– warm-up cost on switch
– one instance + soft-switch
802.11 Control Packets
– Isolate Transitions
Pkts stuck in driver at switch
– Private Queues
Attach/Detach Queue = Pointer Swap
Enables high-rate TCPs through multiple APs
FatVAP Realizes a Fat Virtual AP
• Which APs to connect to and for how long?
– Estimate Bandwidths, Solve Optimization
• How to divide traffic across the APs?
– Virtualize, Pin Flows to APs, rewrite headers
• Switch quickly but without losing packets
– In-driver, Private Queues, Isolation
And, with only client-side changes
Related Work
VirtualWiFi (Microsoft Research)
AP Selection (Intel Research, U Michigan)
SyncScan (UCSD)
MadWifi (open-source)
o Divide Time across APs to maximize throughput
o Sustain TCP flows through multiple APs
o Transparently spread traffic across APs
Results
Experimental Setup
Compare FatVAP driver with unmodified MadWifi
• Scenarios
– Testbed built from Cisco, NetGear and MadWifi APs
– Residential deployments
– Commercial hotspots
• Traffic
– Long-lived TCP flows
– BitTorrent (Azureus client, Planetlab peers)
– Mimic Web Browsing (modified WebStone)
Can FatVAP Aggregate Bandwidth?
6Mbps
FatVAP
Throughput (Mb/s)
~22 Mbps
Unmodified MadWifi
25
20.6
20
17
15
10
20.5
11.4
5.8 5.8
5.8
5.8
5.8
5.8
5
0
1
2
3
4
5
of APs bottleneck
Aggregates end-to-end up toNumber
the wireless
Can FatVAP Balance Load?
2Mbps
C1 C2
12Mbps
C3 C4 C5
Can FatVAP Balance Load?
2Mbps
12Mbps
C1 C2
C3 C4 C5
Throughput (Mb/s)
Unmodified MadWifi
5
FatVAP
4.4
3.8
4
3.3
3
3.5
2.9
3.1 2.8 2.7
2
1
0
.9
.9
C1 C2 C3 C4 C5
C1 C2 C3 C4 C5
Simplifies Network Deployment!
Can FatVAP Adapt to Changes?
15Mbps
Throughput (Mb/s)
5Mbps
Re-adjusts time@AP as necessary
Contributions
A new model for managed 802.11 LANs
– Aggregate uplink, Balance load
First to realize a fat virtual AP
– Divide time and traffic across APs
Transparent to APs, applications, servers