ppr: partial packet recovery

22
PPR: Partial Packet Recovery Brad Karp UCL Computer Science CS 4038 / GZ06 23 rd January, 2008

Upload: reeves

Post on 05-Feb-2016

39 views

Category:

Documents


0 download

DESCRIPTION

PPR: Partial Packet Recovery. Brad Karp UCL Computer Science. CS 4038 / GZ06 23 rd January, 2008. Is it efficient to retransmit entire packet? How much of packet is actually corrupted in practice?. Packet Corruption in Wireless MACs. 802.11 and 802.15.4 use per-packet CRC - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: PPR: Partial Packet Recovery

PPR: Partial Packet Recovery

Brad KarpUCL Computer Science

CS 4038 / GZ0623rd January, 2008

Page 2: PPR: Partial Packet Recovery

2

Packet Corruption in Wireless MACs

• 802.11 and 802.15.4 use per-packet CRC– Receiver recomputes CRC; drops whole packet if

doesn’t match– Protects against data corruption by collisions,

interference

• 802.11 and 802.15.4 do link-layer retransmission of whole packets– Recovers faster than transport layer

• CRC failures at receiver are relatively frequent– Collisions: RTS/CTS don’t work so well in practice– Bit errors: can’t predict them, so would need too

much redundancy to guarantee error-free channel

Is it efficient to retransmit entire packet?How much of packet is actually corrupted in practice?

Page 3: PPR: Partial Packet Recovery

3

Anatomy of a Collision

• Recall: receiver only can decode bits correctly when SNR (SINR) above some threshold

• Insight: provided senders in range of receiver, only concurrently received portions of packets should be corrupted!

P1

P2

time (at receiver)

corrupted

corrupted OK

OK

Page 4: PPR: Partial Packet Recovery

4

Goal: Only Retransmit Corrupted Bits

• How can receiver know which bits corrupted, which received correctly?

• Will receiver be able to detect salvageable packet at all during a collision?– Today’s radios must receive a special

preamble bit sequence correctly to detect start of packet

• How can receiver efficiently express which bits should be retransmitted?– ACK itself costs bandwidth; want ACK +

rexmt’ed bits to be smaller than whole packet!

Page 5: PPR: Partial Packet Recovery

5

SoftPHY: Identifying Corrupted Bits

• Idea: PHY can supply MAC not only with decoded data bits, but also degree of confidence in data bits’ correctness

(P2) Preamble

(P1)

Preamble

“Uncertainty”

[Figure: Kyle Jamieson]

Page 6: PPR: Partial Packet Recovery

6

Background: Direct Sequence Spread Spectrum (DSSS)

Transmitter• Sender’s PHY receives packet bits from MAC• PHY maps every b bits of packet into B-bit

(aka B-chip) codeword– Because B > b, space of codewords sparsely

populated• PHY divides each codeword into series of k-

bit symbols (k >= 1)• Radio transmits series of symbols; for packet

size of T bits, TB/bk symbols transmitted• 802.15.4 (common sensor “mote” radio):

– b = 4, B = 32, k = 2– i.e., 4 bits in packet sent as 16 channel symbols of

2 bits each

Page 7: PPR: Partial Packet Recovery

7

Background: DSSS Receiver

• Receiver demodulates signal• Demodulator recovers each successive

symbol independently• Channel decoder maps each successive

codeword-sized group of symbols (i.e., in 802.15.4, 16 symbols, or 32 chips) to closest valid codeword

• Closest: minimal Hamming distance; valid codeword differing in fewest number of bits from demodulated codeword

• Idea: for each codeword, use value of this Hamming distance as measure of confidence in corresponding packet data bits’ correctness

802.11b/g use DSSS and OFDM-DSSS; work similarly

Page 8: PPR: Partial Packet Recovery

8

SoftPHY for DSSS Radios:Hamming Distance Example

• SoftPHY passes hint about confidence level in every 4-bit block in packet up to MAC, along with data

• Uses threshold η: presumes 4-bit block correct when hint < η, incorrect when hint > η

Receive: 11101101000111000011010110100010C1: 11101101100111000011010100100010

Receive: 11001101000111010111011110110111C1: 11101101100111000011010100100010

Uncertainty: 2

Uncertainty: 9

[Figure: Kyle Jamieson]

Will threshold always correctly identify whether block is received without error?

Page 9: PPR: Partial Packet Recovery

9

Accuracy of Threshold-Based Confidence Metric

• At η = 2, few misclassifications of codeword correctness

Page 10: PPR: Partial Packet Recovery

10

Postamble Decoding:Detecting Packets During

Collisions

• Recall: radio hardware only detects packet upon receipt of preamble containing reserved bit sequence

• Receiver can’t hear P2’s preamble!

P1

P2

corrupted

corrupted OK

OK

preamble

Page 11: PPR: Partial Packet Recovery

11

Postamble Decoding (cont’d)

• Postamble: add copy of preamble and packet header at end of packet

• When postamble detected, packet has already passed by!– Must buffer recently received samples at

all times– Upon detecting postamble, retrieve

buffered header just before it, to learn packet length

– Retrieve previous packet in its entirety

P1

P2

corrupted

corrupted OK

OK postamble

Page 12: PPR: Partial Packet Recovery

12

PP-ARQ:Retransmitting Partial Packets

• SoftPHY indicates which bits likely to be correct, which corrupted

• Postamble increases probability of detecting colliding packets

• Need link-layer reliability protocol that allows receiver to send ACKs that request partial retransmissions of packets

• Problem: how to minimize size of partial ACKs?

Page 13: PPR: Partial Packet Recovery

13

PP-ARQ Protocol

2. Codewords are in fact corrector incorrect– Two possibilities for mistakes

• Labeling a correct codeword “bad”• Labeling an incorrect codeword “good”

“Good” bits“Bad” bits

1. Assuming hints correct, which ranges to ask for?– Dynamic programming problem– Forward and feedback channels

[Slide: Kyle Jamieson]

Page 14: PPR: Partial Packet Recovery

14

Implementation

Sender: Telos Tmote Sky sensor node– Radio: CC2420 DSSS/MSK (Zigbee)– Modified to send postambles

Receiver: USRP software radio with 2.4 GHz RFX 2400 daughterboard

– Despreading, postamble synchronization, demodulation

– SoftPHY implementation

[moteiv.com]

[ettus.com]

PP-ARQ: trace-driven simulation using data from above [Slide: Kyle Jamieson]

Page 15: PPR: Partial Packet Recovery

15

• Live wireless testbed experiments– Senders transmit 101-byte

packets, varying traffic rate– Evaluate raw PPR

throughput– Evaluate SoftPHY and

postamble improvements

• Trace-driven experiments– Evaluate end-to-end PP-ARQ performance– Internet packet size distribution– 802.11-size preambles

Experimental design

25 senders6 receivers

[Slide: Kyle Jamieson]

Page 16: PPR: Partial Packet Recovery

16

PP-ARQ performance comparison

• Packet CRC (no postamble)

• Fragmented CRC (no postamble)– Tuned against traces for optimal fragment

size

Preamble

Checksum

Checksum

PreambleChecksum [Slide: Kyle Jamieson]

Page 17: PPR: Partial Packet Recovery

17

Throughput improvement 2.3-2.8x

[Slide: Kyle Jamieson]

Page 18: PPR: Partial Packet Recovery

18

PP-ARQ retransmissions are short

[Slide: Kyle Jamieson]

Page 19: PPR: Partial Packet Recovery

19

25% improvement over fragmented

[Slide: Kyle Jamieson]

Page 20: PPR: Partial Packet Recovery

20

PP-ARQ retransmissions are short

[Slide: Kyle Jamieson]

Page 21: PPR: Partial Packet Recovery

21

PP-ARQ feedback overhead is low

802.11 ACK size[Slide: Kyle Jamieson]

Page 22: PPR: Partial Packet Recovery

22

Conclusion

• Mechanisms for recovering correct bits from parts of packets– SoftPHY interface (PHY-independent)– Postamble decoding

• PP-ARQ improves throughput 2.3–2.8x over ARQ with whole-packet CRCs

• Great example of how software radio enables experimentation with new ideas in wireless systems!

• Software radio can’t yet support online PP-ARQ implementation; latency of processing too great to send ACKs back in timely fashion