1
Wireless ACK Collisions Not Considered Harmful
Prabal Dutta†, Răzvan Musăloiu-E.‡, Ion Stoica†, Andrea Terzis‡
Computer Science Division†
University of California, Berkeley{prabal,istoica}@cs.berkeley.edu
Computer Science Department‡
Johns Hopkins University{razvanm,terzis}@cs.jhu.edu
HotNets-VII – Calgary, Alberta, Canada – Oct. 6-7, 2008
2
Energy is the critical resource in wireless embedded systems
Low-Power Listening(idle listening)
DC=2.2%
R. Szewczyk, A. Mainwaring, J. Polastre, D. Culler, “An Analysis of a Large Scale Habitat Monitoring Application”,ACM SenSys’ 04, November, 2004, Baltimore, MD
Therefore, the radio is kept
mostly off and the trend is to
keep it off more
And the radio dominates the power budgeteven at low
duty cycles of 1-2%
And there’s growing interest in operation at 0.1% or 0.01%
3
Asynchronous network wakeup
Q RNode 2
Node 3
Node 4
Q RNode 1
5
2
3
4
1
Node 5
Listen
Listen Q R Listen Q R Listen
Q R Listen
Listen
Q R
Q R
Listen Q R
Q
Q
R
R
frame collisionP. Dutta, D. Culler,, S. Shenker, “Procrastination Might Lead to a Longer and More Useful Life”,HotNets-VI, November, 2007, Atlanta, GA
4
Wait, not so fast! Node 5 might receive a response
• Power capture: One response has a sufficiently higher power than the sum of the others…and it arrives first
• Delay capture: One response frame arrives some time before the remaining ones…and its power is higher than the sum of the others
• Message-in-Message capture: Like power capture, but the highest power frame arrives in the middle of another frame transmission and radio detects elevated energy…and the radio does continuous preamble detection
• These are a lot of caveats…
5
The Query/Response exchange can be mapped to“acknowledged anycast” semantics
• A node– Broadcasts (or multicasts) a query packet– Waits to see whether the packet is ACK’ed– By at least one of its neighboring nodes– And stays awake if an ACK is received– But goes to sleep otherwise
• And the frame collision is like a multicast “ACK implosion”
Node 5 asks all of it neighbors, “should one wake up?”
To which, Nodes 2, 3, and 4 all respond, “Yes”
dst=broadcastsrc=<doesn’t matter>
ACK
5
2
3
4
1
(everyone sends back the same response)
6
Outline
• Introduction• Implementing “acknowledged anycast”• How well does it work?• How much does it cost?• How could it be used?• What are its limitations?
7
Backcast, an “acknowledged anycast” implementation
• Backcast is a link-layer frame exchange– A single radio DATA frame transmission– Triggers zero or more identical ACK frames– Transmitted with tight timing tolerance– So there is minimum inter-symbol interference– And where ACKs collide non-destructively at the
initiator
D AResponder
InitiatorD A
D AResponder
You should be skeptical that this idea might work
8
Backcast using a link-layer DATA/ACK frame exchange
D AReceiver
Sender D A
• Many wireless standards use link-layer automatic ACKs– IEEE 802.11 a/b/g– IEEE 802.15.4
• The DATA/ACK frame turnaround time is tightly-controlled• Creates conditions favorable for power and delay capture• But what should the destination address be?
– 802.11 a/b/g: DON’T ACK broadcast or multicast frames– 802.15.4: Standard is silent on ACK-ing broadcast frames
• We play with the SRC and DST addresses to get around this
9
Outline
• Introduction• Implementing acknowledged anycast• How well does it work?
– Under carefully-controlled conditions?– Under typical operating conditions?
• How much does it cost?• How could it be used?• What are its limitations?
10
Carefully-controlled experiment withequal-power, equal-path delay
Setup Methodology • Platform: Telos mote• Protocol: IEEE 802.15.4• Radio: Texas Instruments
CC2420• Experiment
– 8 responder nodes– Connect w/ splitter/attenuator– Turned on sequentially– Transmit 100 packets– 125 ms inter-packet interval– Log
• RSSI: received signal strength• LQI: chip correlation rate• ARR: ACK reception rate
11
As the number of colliding ACKsgoes from one to eight…
But, for two nodes, LQI exhibits outliers and a lower median
Median RSSI increaseslogarithmically
Median LQI remains nearly constant but is more left-tailedACK reception rate stays practically constant
12
More realistic deployment environment
Setup Methodology • Platform: Telos mote• Protocol: IEEE 802.15.4• Radio: Texas Instruments
CC2420• Experiment
– 12 responder nodes– Located in CS Dept testbed– Turned on sequentially– Transmit 500 packets– 125 ms inter-packet interval– Vary DATA-ACK turnout time– Vary # of preamble bytes– Log
• RSSI: received signal strength• LQI: chip correlation rate• ARR: ACK reception rate
13
As the number of colliding ACKs go from one to twelve…
Since experiments are identical except for the ACK timing, these results suggest more than just
capture is at play
Chip errors increase slightly
ACK reception rate remains at 100%
ACK reception rate starts at 100% and then falls quickly
ACK reception rate is variable and volatile
Chip errors increase dramatically
Chip errors are quite volatile
14
Outline
• Introduction• Implementing acknowledge anycast• How well does it work?• How much does it cost?• How could it be used?• What are its limitations?
15
The cost of a Backcast can be less than 1 ms for 802.15.4
P AResponder
Initiator P A
DATA
DATA
Max data packet
4.256 ms
ACK transmission time 352 µs
RXTX turnaround time: 192 µs
16
Outline
• Introduction• How does it work?• How well does it work?• How much does it cost?• How could it be used?
– Asynchronous network wakeup– Low-Power Unicast– Robust Pollcast
• What are its limitations?
17
Asynchronous network wakeup: a node might broadcast a wakeup Queryand continue to Listen if it receives a Response
Q ANode 2
Node 3
Node 4
Q ANode 1
5
2
3
4
1
Node 5
Listen
Listen Q A Listen Q A Listen
Q A Listen
Listen
Q A
Q A
Listen Q A
Q
Q
A
A
P. Dutta, D. Culler,, S. Shenker, “Procrastination Might Lead to a Longer and More Useful Life”,HotNets-VI, November, 2007, Atlanta, GA
Backcast
DST=0xFFFFSRC=0x0002
18
Low-Power Unicast Communications
P ANode 2
(Receiver)
Node 3(Sender)
P ANode 1(Sender)
Listen
DDST=0x8002SRC=0x0002
D P
P L
MAC=0x8002
P AListen D P-CWMAC=0x8002
P AListen D PMAC=0x8002
P A D P-CW D
CW
D
DST=0x8002SRC=0x0002ACK=0x0023FRM=0x0001
DST=0x0002SRC=0x0001SEQ=0x23
frame collision
Backcast
19
Robust Pollcast
Node 2(Receiver)
Node 3(Sender)
Node 1(Sender)
PredEvent
PredEvent
Pred
M. Demirbas, O. Soysal, and M. Hussain,“A Single-Hop Collaborative Feedback Primitive for Wireless Sensor Networks”,INFOCOM’08, April , 2008, Phoenix, AZ
ListenMAC=0x8765
ListenMAC=0x8765
Listen
P A
P A
P A
Backcast
DST=0xFFFFSRC=0x0002
PRED=elephantMAC=0x8765
EventDST=0x8765
20
Outline
• Introduction• Implementing acknowledged anycast• How well does it work?• How much does it cost?• How could it be used?• What are its limitations?
– Protocol support– Radio support– Other factors
21
Limitations
• Protocol support– Superposition semantically valid for modulation
scheme– Auto ACK with tight timing– ACK frames are identical
• Radio support– Broadcast auto ACKs– Multicast auto ACKs– Multiple MAC addresses for interface– Auto ACKs based on SRC address filtering– Auto ACKs based on DST address filtering
• Other factors– Propagation delay ΔRTT < ½ symbol time– ACK frames do not cancel at PHY layer– Security Easy to spoof
22
Backcast
• Provides acknowledged anycast semantics– Quickly– Efficiently– More robustly than app-level query/response– Avoids ACK implosion problem
• Abstraction enables better implementations– Asynchronous neighbor discovery– Low-power unicast communications– Robust pollcast– …
23
Discussion