decoding 802.11 collisions shyamnath gollakota dina katabi

44
Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi

Upload: ethel-patterson

Post on 03-Jan-2016

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi

Decoding 802.11 Collisions

Shyamnath Gollakota

Dina Katabi

Page 2: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi

The Hidden Terminals Problem

Collision!

Alice Bob

Page 3: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi

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

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

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

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

∆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

∆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

∆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

∆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

∆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

∆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

∆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

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

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

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

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

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

What if AP Makes a Mistake?

Page 20: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi

∆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

∆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

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

ZigZag Generalizes

Page 24: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi

ZigZag Generalizes

∆1

∆21

2

1

2

• Flipped order

Page 25: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi

• Flipped order• Different packet sizes

ZigZag Generalizes

∆1 ∆2

1

2

1

2

Page 26: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi

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

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

Performance

Page 29: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi

Implementation

• USRP Hardware• GNURadio software• Carrier Freq: 2.4-2.48GHz• BPSK modulation

Page 30: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi

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

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

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

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

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

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

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

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

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

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

Three Colliding Senders

Collision!

Alice Bob Chris

Nodes picked randomly from testbed

Page 41: Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi

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

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

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

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