decoding 802.11 collisions shyamnath gollakota dina katabi
TRANSCRIPT
![Page 1: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/1.jpg)
Decoding 802.11 Collisions
Shyamnath Gollakota
Dina Katabi
![Page 2: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/2.jpg)
The Hidden Terminals Problem
Collision!
Alice Bob
![Page 3: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/3.jpg)
The Hidden Terminals Problem
Alice Bob
More Collisions!Retransmissions
Can’t get any useful connections
![Page 4: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/4.jpg)
Can we take two collisions and produce the two packets?
Pa
Pb
Pa
Pb
Yes, we can!
![Page 5: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/5.jpg)
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
![Page 6: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/6.jpg)
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
![Page 7: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/7.jpg)
∆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
![Page 8: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/8.jpg)
∆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
![Page 9: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/9.jpg)
∆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
![Page 10: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/10.jpg)
∆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
![Page 11: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/11.jpg)
∆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
![Page 12: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/12.jpg)
∆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
![Page 13: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/13.jpg)
∆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
![Page 14: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/14.jpg)
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%
![Page 15: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/15.jpg)
How does the AP know it is a collision and where the second packet starts?
Time
AP received a collision signal
∆
![Page 16: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/16.jpg)
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
![Page 17: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/17.jpg)
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
![Page 18: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/18.jpg)
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!
![Page 19: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/19.jpg)
What if AP Makes a Mistake?
![Page 20: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/20.jpg)
∆1 ∆21 1
22
Bad News: Errors can propagate
3
Can we deal with these errors?
What if AP Makes a Mistake?
![Page 21: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/21.jpg)
∆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
![Page 22: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/22.jpg)
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
![Page 23: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/23.jpg)
ZigZag Generalizes
![Page 24: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/24.jpg)
ZigZag Generalizes
∆1
∆21
2
1
2
• Flipped order
![Page 25: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/25.jpg)
• Flipped order• Different packet sizes
ZigZag Generalizes
∆1 ∆2
1
2
1
2
![Page 26: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/26.jpg)
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
![Page 27: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/27.jpg)
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
![Page 28: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/28.jpg)
Performance
![Page 29: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/29.jpg)
Implementation
• USRP Hardware• GNURadio software• Carrier Freq: 2.4-2.48GHz• BPSK modulation
![Page 30: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/30.jpg)
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
![Page 31: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/31.jpg)
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
![Page 32: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/32.jpg)
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
![Page 33: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/33.jpg)
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
![Page 34: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/34.jpg)
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
![Page 35: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/35.jpg)
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
![Page 36: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/36.jpg)
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
![Page 37: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/37.jpg)
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)
![Page 38: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/38.jpg)
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)
![Page 39: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/39.jpg)
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
![Page 40: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/40.jpg)
Three Colliding Senders
Collision!
Alice Bob Chris
Nodes picked randomly from testbed
![Page 41: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/41.jpg)
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
![Page 42: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/42.jpg)
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
![Page 43: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/43.jpg)
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
![Page 44: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649eff5503460f94c14d92/html5/thumbnails/44.jpg)
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