decoding 802.11 collisions shyamnath gollakota dina katabi

Post on 03-Jan-2016

222 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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