decoding 802.11 collisions shyamnath gollakota dina katabi
Post on 03-Jan-2016
227 Views
Preview:
TRANSCRIPT
Decoding 802.11 Collisions
Shyamnath Gollakota
Dina Katabi
The Hidden Terminals Problem
Collision!
Alice Bob
The Hidden Terminals Problem
Alice Bob
More Collisions!Retransmissions
Can’t get any useful connections
Can we take two collisions and produce the two packets?
Pa
Pb
Pa
Pb
Yes, we can!
ZigZagExploits 802.11’s behavior• Retransmissions
Same packets collide again• Senders use random jitters
Collisions start with interference-free bits
∆1 ∆2Pa
Pb
Pa
Pb
Interference-free Bits
How Does ZigZag Work?
∆1 ∆2
Find a chunk that is interference-free in one collisions and has interference in the other
1
∆1 ≠∆2
Decode and subtract from the other collision
1
∆2
1
2
1
∆1
How Does ZigZag Work?
Find a chunk that is interference-free in one collisions and has interference in the other
∆1 ≠∆2
Decode and subtract from the other collision
∆2
1
22∆1
How Does ZigZag Work?
3
Find a chunk that is interference-free in one collisions and has interference in the other
∆1 ≠∆2
Decode and subtract from the other collision
∆2
1
2 4∆1
How Does ZigZag Work?
3 3
Find a chunk that is interference-free in one collisions and has interference in the other
∆1 ≠∆2
Decode and subtract from the other collision
∆2
1
2 44∆1
How Does ZigZag Work?
3 5
Find a chunk that is interference-free in one collisions and has interference in the other
∆1 ≠∆2
Decode and subtract from the other collision
∆2
1
6∆1
How Does ZigZag Work?
3 5 5
2 4
Find a chunk that is interference-free in one collisions and has interference in the other
∆1 ≠∆2
Decode and subtract from the other collision
∆2
1
66∆1
How Does ZigZag Work?
2 4
3 5 7
Find a chunk that is interference-free in one collisions and has interference in the other
∆1 ≠∆2
Decode and subtract from the other collision
∆2
1
6 8∆1
How Does ZigZag Work?
2 4
3 5 77
Find a chunk that is interference-free in one collisions and has interference in the other
∆1 ≠∆2
Decode and subtract from the other collision
• Delivered 2 packets in 2 timeslots
• As efficient as if the packets did not collide
• Delivered 2 packets in 2 timeslots
• As efficient as if the packets did not collide
ZigZag
• A receiver design that decodes collisions
• As efficient as if the colliding packets were sent in separate time slots
• Experimental results shows that it reduces hidden terminal losses from 72% to 0.7%
How does the AP know it is a collision and where the second packet starts?
Time
AP received a collision signal
∆
Detecting Collisions and the Value of ∆
Time
AP received signal
Packets start with known preamble
AP correlates known preamble with signal
Correlation
Time
Correlate
∆Preamble Correlation
• Detect collision and the value of ∆• Works despite interference because
correlation with an independent signal is zero
Preamble Correlation • Detect collision and the value of ∆• Works despite interference because
correlation with an independent signal is zero
How Does the AP Subtract the Signal?
• Channel’s attenuation or phase may change between collisions
• Can’t simply subtract a chunk across collisions
Alice’s signal in first collision
Alice’s signal in second collision
Subtracting a Chunk
• Decode chunk into bits– Removes effects of channel during first collision
• Re-modulate bits to get channel-free signal
• Apply effect of channel during second collision– Use correlation to estimate channel despite
interference
• Now, can subtract!
What if AP Makes a Mistake?
∆1 ∆21 1
22
Bad News: Errors can propagate
3
Can we deal with these errors?
What if AP Makes a Mistake?
∆1 ∆2
What if AP Makes a Mistake?
Good News: Temporal Diversity
A bit is unlikely to be affected by noise in both collisions
Get two independent decodings
Errors propagate differently in the two decodings
For each bit, AP picks the decoding that has a higher PHY confidence [JB07, WKSK07]
Which decoded value should the AP pick?
∆1 ∆2
1 1
22
3
AP Decodes Backwards as well as Forwards
ZigZag Generalizes
ZigZag Generalizes
∆1
∆21
2
1
2
• Flipped order
• Flipped order• Different packet sizes
ZigZag Generalizes
∆1 ∆2
1
2
1
2
ZigZag Generalizes
1
2
3
1
2
3
1
2
3
• Flipped order• Different packet sizes• Multiple colliding packets
1
2
1
2 2
1
333
ZigZag Generalizes• Flipped order• Different packet sizes• Multiple colliding packets • Capture effect
– Subtract Alice and combine Bob’s packet across collisions to correct errors
∆1 ∆2Pa1
Pb
Pa2
Pb
3 packets in 2 time slots better than no collisions
Performance
Implementation
• USRP Hardware• GNURadio software• Carrier Freq: 2.4-2.48GHz• BPSK modulation
USRPsTestbed
• 10% HT, 10% partial HT, 80% perfectly sense each other
• Each run randomly picks an AP and two clients
• Co-located 802.11a nodes to find out about HTs and created the same collision patterns by the USRPs
802.11a
Throughput Comparison
Throughput
CD
F o
f co
ncur
rent
flo
w p
airs
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20
0.10.20.30.40.50.60.70.80.9
1
Throughput Comparison
802.11
Throughput
CD
F o
f co
ncur
rent
flo
w p
airs
Hidden Terminals
Partial Hidden Terminals
Perfectly Sense
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20
0.10.20.30.40.50.60.70.80.9
1
Throughput Comparison
ZigZag
Throughput
CD
F o
f co
ncur
rent
flo
w p
airs
802.11
Hidden Terminals get high throughput
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20
0.10.20.30.40.50.60.70.80.9
1
Throughput Comparison
ZigZag
Throughput
CD
F o
f co
ncur
rent
flo
w p
airs
802.11
ZigZag Exploits Capture Effect
ZigZag improved average Throughput by 25%
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20
0.10.20.30.40.50.60.70.80.9
1
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20
0.10.20.30.40.50.60.70.80.9
1
Throughput Comparison
ZigZag
Throughput
CD
F o
f co
ncur
rent
flo
w p
airs
802.11
Improved hidden terminals loss rate from 72% to 0.7%
Improved hidden terminals loss rate from 72% to 0.7%
Hidden Terminals
Is ZigZag as efficient as if the colliding packets were sent in separate slots?
• For every SNR,
Check that ZigZag can match the BER of collision-free receptions
5 6 7 8 9 10 11 12
7E-05
7E-04
7E-03
Is ZigZag as efficient as if packets were collision-free Receptions?
SNR in dB
Bit E
rror
Rat
e (B
ER)
5 6 7 8 9 10 11 12
7E-05
7E-04
7E-03Collision-Free Receptions
Is ZigZag as efficient as if packets were collision-free Receptions?
SNR in dB
Bit E
rror
Rat
e (B
ER)
5 6 7 8 9 10 11 12
7E-05
7E-04
7E-03Collision-Free Receptions
Is ZigZag as efficient as if packets were collision-free Receptions?
ZigZag-Decoded Collisions
SNR in dB
Bit E
rror
Rat
e (B
ER)
ZigZag is as efficient as if the colliding packets were sent separately
ZigZag is as efficient as if the colliding packets were sent separately
Three Colliding Senders
Collision!
Alice Bob Chris
Nodes picked randomly from testbed
Three Colliding Senders
ZigZag extends beyond two colliding sendersZigZag extends beyond two colliding senders
CD
F o
f ru
ns
0.18 0.2 0.22 0.24 0.26 0.28 0.3 0.320
0.2
0.4
0.6
0.8
1
Per-Sender Throughput
AliceBobChris
Related Work• RTS-CTS
– Excessive Overhead; Administrators turn it off
• Interference Cancellation– Unsuitable for 802.11 because of bit rate
adaptation
Interference cancelation operates on one collision Undecodable
Alice’s Info RateBob
’s In
fo R
ate
Rmax
Rmax
Related Work• RTS-CTS
– Excessive Overhead; Administrators turn it off
• Interference Cancellation– Unsuitable for 802.11 because of bit rate
adaptation
ZigZag operates on two collisions Can decode
Alice’s Info RateBob
’s In
fo R
ate
Rmax
Rmax
Conclusion
• ZigZag is a receiver design that resolves
collisions
• It is as efficient as if the colliding packets were sent in separate time slots
• It reduces hidden terminal losses from 72% to 0.7%
• It enables aggressive MAC More concurrency
top related