decoding 802.11 collisions

44
Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi

Upload: dawson

Post on 22-Feb-2016

33 views

Category:

Documents


0 download

DESCRIPTION

Decoding 802.11 Collisions. Shyamnath Gollakota Dina Katabi. The Hidden Terminals Problem. Collision!. Bob. Alice. The Hidden Terminals Problem. Retransmissions. More Collisions!. Bob. Alice. Can’t get any useful connections. Can we take two collisions and produce the two packets?. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Decoding 802.11 Collisions

Decoding 802.11 Collisions

Shyamnath Gollakota

Dina Katabi

Page 2: Decoding 802.11 Collisions

The Hidden Terminals Problem

Collision!

Alice Bob

Page 3: Decoding 802.11 Collisions

The Hidden Terminals Problem

Alice Bob

More Collisions!Retransmissions

Can’t get any useful connections

Page 4: Decoding 802.11 Collisions

Can we take two collisions and produce the two packets?

PaPb

PaPb

Yes, we can!

Page 5: Decoding 802.11 Collisions

ZigZagExploits 802.11’s behavior• Retransmissions

Same packets collide again• Senders use random jitters

Collisions start with interference-free bits

∆1 ∆2Pa

Pb

PaPb

Interference-free Bits

Page 6: Decoding 802.11 Collisions

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

∆21

21

∆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

∆21

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

∆21

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

∆21

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

∆21

6∆1

How Does ZigZag Work?

3 5 52 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

∆21

66∆1

How Does ZigZag Work?

2 43 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

∆21

6 8∆1

How Does ZigZag Work?

2 43 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

Page 14: Decoding 802.11 Collisions

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

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

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

Page 17: Decoding 802.11 Collisions

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

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

What if AP Makes a Mistake?

Page 20: Decoding 802.11 Collisions

∆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

∆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

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 122

3

AP Decodes Backwards as well as Forwards

Page 23: Decoding 802.11 Collisions

ZigZag Generalizes

Page 24: Decoding 802.11 Collisions

ZigZag Generalizes

∆1

∆21

21

2

• Flipped order

Page 25: Decoding 802.11 Collisions

• Flipped order• Different packet sizes

ZigZag Generalizes

∆1 ∆2

12

12

Page 26: Decoding 802.11 Collisions

ZigZag Generalizes

1

2

3

1

2

3

1

2

3

• Flipped order• Different packet sizes• Multiple colliding packets

121

2 21

333

Page 27: Decoding 802.11 Collisions

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

Pa2Pb

3 packets in 2 time slots better than no collisions

Page 28: Decoding 802.11 Collisions

Performance

Page 29: Decoding 802.11 Collisions

Implementation

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

Page 30: Decoding 802.11 Collisions

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

Throughput Comparison

Throughput

CD

F of

con

curr

ent f

low

pai

rs

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

Throughput Comparison

802.11

Throughput

CD

F of

con

curr

ent f

low

pai

rs

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

Throughput Comparison

ZigZag

Throughput

CD

F of

con

curr

ent f

low

pai

rs

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

Throughput Comparison

ZigZag

Throughput

CD

F of

con

curr

ent f

low

pai

rs

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

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 of

con

curr

ent f

low

pai

rs

802.11

Improved hidden terminals loss rate from 72% to 0.7%

Hidden Terminals

Page 36: Decoding 802.11 Collisions

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

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

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

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

Page 40: Decoding 802.11 Collisions

Three Colliding Senders

Collision!

Alice Bob Chris

Nodes picked randomly from testbed

Page 41: Decoding 802.11 Collisions

Three Colliding Senders

ZigZag extends beyond two colliding senders

CD

F of

runs

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

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 Inf

o Ra

te

Rmax

Rmax

Page 43: Decoding 802.11 Collisions

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 Inf

o Ra

te

Rmax

Rmax

Page 44: Decoding 802.11 Collisions

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