ppr: partial packet recovery
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 PresentationTRANSCRIPT
PPR: Partial Packet Recovery
Brad KarpUCL Computer Science
CS 4038 / GZ0623rd January, 2008
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?
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
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!
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]
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
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
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?
9
Accuracy of Threshold-Based Confidence Metric
• At η = 2, few misclassifications of codeword correctness
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
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
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?
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]
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]
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]
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]
17
Throughput improvement 2.3-2.8x
[Slide: Kyle Jamieson]
18
PP-ARQ retransmissions are short
[Slide: Kyle Jamieson]
19
25% improvement over fragmented
[Slide: Kyle Jamieson]
20
PP-ARQ retransmissions are short
[Slide: Kyle Jamieson]
21
PP-ARQ feedback overhead is low
802.11 ACK size[Slide: Kyle Jamieson]
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