200 likes | 230 Vues
ARRIVE. Algorithm for Robust Routing In Volatile Environments. Chris Karlof Joe Polastre. NEST Retreat, Lake Tahoe, June 17-19 2002. End-to-end reliability. Routing resilient to failures is needed for sensor networks Random link or node failures Patterned node failures
E N D
ARRIVE Algorithm for Robust Routing In Volatile Environments Chris Karlof Joe Polastre NEST Retreat, Lake Tahoe, June 17-19 2002
End-to-end reliability • Routing resilient to failures is needed for sensor networks • Random link or node failures • Patterned node failures • Fail-fast vs. Byzantine • Traditional approach: TCP • End-to-end acknowledgements • Assumes the main source of loss in the network is congestion
End-to-end reliability • Sensor networks • Major source of loss is due to packet loss, corruption, and collisions, not congestion • Retransmission over a lossy path is unlikely to be beneficial • Acknowledgements are likely to be lost as well (network links may be asymmetric) • Easy to send packets to the base station, but harder for base station to address individual nodes • Simple solution: Periodic flooding • Expensive in terms of messages sent/power consumption
ARRIVE Design Goals • Reliable (one-way) communication between nodes and the base station • Resilient against isolated and patterned node and link failures • Primary metric is event delivery ratio • Limit the dependency on flooding • Leverage the broadcast medium and high density of nodes • Rely on localized information • Basis for secure routing
Key Ideas • A forward approach to end-to-end reliability • Avoidance vs. detection • Source multiple packets representing a single event • Promote diversity in the paths taken by these packets • Probabilistic determination of the next hop • Weighted by an estimation of link reliability using implicit link layer acknowledgements • Detect packet convergences to prevent packets from using the same nodes or links in their paths • Passive participation • Neighboring nodes can help detect when a transmission has failed and take responsibility for forwarding the packet
Algorithm • Use flooding once to assign each node a level, representing the number of hops to the base station • nodes are not assigned a parent • For a node at level n, • Parents are those nodes within radio range with level n-1 • Neighbors are those nodes within radio range with level n
4 8 Algorithm • Each node maintains a reputation history for each parent and neighbor • Estimation of link/node reliability • Ratio of packets relayed to packets sent (using implicit link acknowledgements) • Sliding window weighted with exponential decay more recent # relayed: 5 2 0 4 1 8 6 Reputation = (.5*128 + 1*64 + .4*32 + .66*8 + .5*4 + 1*2 + 1*1) / 255 = 0.58 # sent: 5 5 1 6 2 8 6 weighting: 128 64 32 16 8 4 2 1
Algorithm • Forwarding probability • Each packet carries a forwarding probability to suggest if the next hop should be a parent or neighbor • The outgoing forwarding probability may be modified by each node • Fanout • Number of packets corresponding to a single event sent by the sourcing node (k)
Algorithm Passive Participation A node may decide to passively accept packets with a different destination. For robustness, passively processing packets and forwarding them can assist in recovery from failures or dropped packets without end-to-end retransmission Threshold Processing: Nodes are filtered by reputation relative to a specified threshold. Convergences of packets representing the same event are detected, and previous recipients are discarded from consideration.
Algorithm Parent or Neighbor? Selection is randomly determined by the forwarding probability included in the received packet. Destination Selection Each node is weighted by their reputation. The destination is randomly chosen from the available nodes remaining after threshold detection. Adjust Forward Probability Outgoing forwarding probability is altered according to the type (parent or neighbor) of the destination and distance from the sink. This process maintains a “beam” from source to sink.
Algorithm Parameters • Changing the Parameters Yields Different Algorithm Behavior: • Reputation History • Currently a sliding window weighted exponentially • Simpler methods may be possible via: • Link layer acknowledgements • Continuous weighted average • Alec Woo’s Max Reliable Path Routing
Algorithm Parameters • Changing the Parameters Yields Different Algorithm Behavior: • Redefining the Pr[forward] Function • We use: (limits pushing near the base) • Or use level-independent pushing: • If forwarding: Lower forwarding probability by: • 1/c * (Pr[f]) • If pushing: Raise forwarding probability by: • 1/d * (1 – Pr[f]) • Intuitionally want 1/c << 1/d
Analysis : Basic Java Simulator Reliability of Multiple Sourced Packets • Nodes are 90% reliable and fixed via random uniform distribution. • Horrible performance for 1 sourced packet over all densities • As sourced packets increase and density increases, reliability increases.
Passive Participation A • When a neighboring node observes that a packet hasn’t been relayed, it relays the packet (with some probability) by passively processing it • For a graph with a density of 10 and 4 sourced packets (fanout): • A 5% chance of passively participating yields a 15% increase in event delivery to the base station C B E D F
Ns-2 Experiments • Alterations to the ns-2 simulator to model the motes’ radio model: • 40kbps radio speed • 802.11 MAC layer set in broadcast mode • no link-layer ACKs • Current consumption of the RFM TR1000 included in model to monitor energy usage
Ns-2 : Patterned node failures Effect of Fanout with Patterned Failures • Increasing fanout dramatically increases reliability • “Network effects”
Discussion • Application of ARRIVE to other routing paradigms • eg: geographic routing • Passive participation vs. link retransmission • Security
Future Work • Future work includes: • Further evaluation of destination selection • Incorporation of new link layer acknowledgements • Evaluation of Alec’s neighbor weighting method • Probability adjustment algorithms • Analysis on Berkeley MICA platform • Implementation exists, not debugged • Applying TDMA/Scheduling for low power operation (wrt passive participation) • Security Analysis
Conclusion • Sensor network routing algorithms should leverage the broadcast medium. • Packets should be sourced over both space and time. • Probabilistic forwarding and maintaining neighbor reputations yield quick recovery to failures and misbehaving nodes. • Visualization!