Mobile and Wireless Compu2ng CITS4419 Week 9 & 10: Holes in WSNs Rachel Cardell-Oliver School of Computer Science & So8ware Engineering semester-2 2018
MoBvaBon Holes cause WSN to fail its role Holes can be unintended (sensing, roubng) Holes can be caused by a malicious akacker
Topics What are WSN holes? Sensing holes RouBng holes Jamming holes Black hole holes Reading: The Holes Problem in WSNs A Survey, Ahmed et al, Mobile CompuBng and CommunicaBons Review, 1(2), 2005
WSNs and Holes
Sensing Holes
Sensing Coverage Unit Disk
Mobile Coverage Source: Flying Ad-Hoc Networks: A survey, Ad Hoc Networks 11(3) 2013
Coverage with Mobile Nodes Assume: Nodes are mobile so can adjust their posibon Assume: Nodes know their GPS locabon, or at least accurate distance to neighbours Approach (virtual forces): Each node adjusts its posibon to balance the distance to all neighbours Algorithms: DSS, VEC, IDCA (see Ahmed2005 for details)
StaBc Nodes: Graph Model The unit disk sensing model is unrealisbc and inflexible Instead, we can model network as a graph with edges from each node to the places it can measure Usually we aim for k-coverage with k >= 1 If more than k-nodes cover some place, then we can remove excess nodes, or rest them
Choosing nodes by Minimum Set Cover Algorithm 1. Let P be a set of predictor sensors and C the pool of candidate sensors for a sensor network S. 2. IniBally P = and C = S = U 3. For each iterabon, we chose a sensor s C that covers (i.e. is able to predict) the highest number of yet to covered sensors. 4. Add this chosen s to the set of permanent sensors and remove s and its ε-neighbors from the sets of candidate and uncovered sensors. 5. Repeat the sensor selecbon steps unbl all candidate sensors are exhausted with C =. 6. Since every sensor can, at worst, predict itself, this will always terminate. 7. The algorithm returns P the set of permanent sensors to be deployed and the virtual sensors are V = S \ P
BuildSense: Long-term, fine-grained building monitoring with minimal sensor infrastructure, Cardell-Oliver and Sarkar, BuildSys 2017
Sensing Coverage Graph
RouBng Holes
RouBng Holes Source: Babak Pazand, PhD thesis UWA 2008, LocaBon-free node scheduling schemes for energy efficient, fault tolerant and adapbve sensing in wireless sensor networks
RouBng Holes Node A communicates with B by a learned path, say C, D, E Suppose node D fails, then A s messages will no longer be delivered SoluBons: MulBpath roubng algorithms: Flooding (and variants) AdapBve roubng algorithms that idenbfy holes and relearn routes
Flooding Idea: sender broadcasts a packet, every receiver forwards it PRO: very robust to holes since every possible route will be followed CON: many redundant transmissions so slow and energy inefficient
Flooding Improved Gossiping = ProbabilisBc flooding Nodes forward with probability, p PROs Simple Fault Tolerant Load balanced CONS Assumes homogenous topology, does not allow for changes How to choose p?
Hole-Resistant Path RouBng CollecBon Tree Protocol A protocol that computes routes to one or more sinks Builds and maintains minimum cost tree(s) with the sinks as root Source for following slides: 2011-03-22_marBn-lanter_collecBon.pdf
Collection Tree Protocol A look into datapath validation and adaptive beaconing. Speaker: Martin Lanter
Collection Protocols Why do we need collection protocols? Collecting data at a base station is a common requirement of sensor network applications. The general approach used is to build one or more collection trees, each of which is rooted at a base station. When a node has data which needs to be collected, it sends the data up the tree, and it forwards collection data that other nodes send to it. [TinyOS TEP 119] Requirements 1. Reliability: > 90% of packets 2. Robustness 3. Efficiency: Use a minimum of transmissions 4. Hardware Independence
Collection Tree Protocol (CTP) Is a protocol that computes routes to one or more sinks Builds and maintains minimum cost tree(s) with the sink(s) as root http://sing.stanford.edu/gnawali/ctp/
Challenges for CTP Link dynamics Wireless links can have coherence as small as 500 ms Routing Inconsistencies Inconsistencies/routing changes might lead to loops http://www.tdwess.de/nepal/nepal.htm http://tinyurl.com/6x9dh4r
How to find a route Minimize transmission costs ETX = Expected number of transmissions Every node maintains an estimate of the cost of a route to a collection point
Routing in CTP 3 hops 4 hops source sink
CTP Architecture Forwarts data packets Computes ETX and Route to sink Computes ETX to neighboors [Colesanti and Santini, 2010]
Parent Selection j i k sink l Link estimator: - ETX 1hop (i,j) - ETX 1hop (i,k) - ETX 1hop (i,l) Routing Engine: - ETX multihop (i,j) = ETX 1hop (i,j) + ETX multihop (j) - ETX multihop (i,k) = ETX 1hop (i,k) + ETX multihop (k) - ETX multihop (i,l) = ETX 1hop (i,l) + ETX multihop (l)
Link estimator Link estimator: - ETX 1hop (i,j) - ETX 1hop (i,k) - ETX 1hop (i,l) http://sing.stanford.edu/gnawali/ctp/
Parent Selection j i k sink l Link estimator: - ETX 1hop (i,j) - ETX 1hop (i,k) - ETX 1hop (i,l) Routing Engine: - ETX multihop (i,j) = ETX 1hop (i,j) + ETX multihop (j) - ETX multihop (i,k) = ETX 1hop (i,k) + ETX multihop (k) - ETX multihop (i,l) = ETX 1hop (i,l) + ETX multihop (l)
Data vs. Control Traffic Data packets Unicast Control Beacons Broadcast [Colesanti and Santini, 2010]
Control Beacon Control beacon has Two fields: Parent and cost Two control bits: Pull bit (P) Congestion bit (C) [Colesanti and Santini, 2010] [Colesanti and Santini, 2010]
Link Dynamics Other protocols typically use periodic beacons to update network topology and link estimates Faster rates lead to higher cost Slower rates lead to misinterpretations But CTP uses adaptive beaconing!
Adaptive Beaconing CTP uses the Trickle Algorithm [Levis, 2004] In CTP: Start with lowest interval of 64 ms When interval expires double it up to 1 hour Node resets the interval if It is asked to forward a packet from a node whose ETX is lower or equal to its own Is routing cost degrees significantly It receives a packet with the P bit set
Data Plane Design Per-client Queuing One single outstanding packet per client (process) Hybrid Send Queue Route through- and locally-generated traffic buffer Transmit Timer Wait two packet times between transmissions Transmit Cache Avoid duplicates
Retransmission and Duplicates j k l [Colesanti and Santini, 2010] [Colesanti and Santini, 2010]
Evaluation CTP Others: - MultiHopLQI - Hyper - RBC - Dozer Others
References [TEP 119] R. Fonseca, O. Gnawali, K. Jamieson, S. Kim, P. Levis, and A. Woo. TEP 119: Collection Protocol, Feb. 2006. [TEP 123] R. Fonseca, O. Gnawali, K. Jamieson, S. Kim, P. Levis, and A. Woo. TEP 123: The Collection Tree Protocol, Aug. 2006. [Gnawali, 2009] Gnawali et al.: Collection Tree Protocol, 2009. [Colesanti and Santini, 2010] U. Colesanti, S. Santini. Tech report: A Performance Evaluation Of The Collection Tree Protocol Based On Its Implementation For The Castalia Wireless Sensor Networks Simulator. [Levis, 2004] P. Levis, N. Patel, D. Culler, and S. Shenker. Trickle: A selfregulating algorithm for code maintenance and propagation in wireless sensor networks. In Proc. of the USENIX NSDI Conf., San Francisco, CA, Mar. 2004. [Fonseca, 2007] R. Fonseca, O. Gnawali, K. Jamieson, and P. Levis. Four Bit Wireless Link Estimation. In Hotnets-VI, Atlanta, GA, Nov. 2007.
Summary: CTP roubng 2 principles for wire-less roubng protocols Datapath valida2on: data traffic quickly discovers and fixes roubng inconsistencies Adap2ve beaconing: extending the Trickle algorithm to roubng control traffic reduces route repair latency and sends fewer beacons Source: CollecBon Tree Protocol, Gnawali et al SenSys 2009
Next week: Jamming Holes Black Holes
Homework Reading The Holes Problem in WSNs A Survey, Ahmed et al, Mobile CompuBng and CommunicaBons Review, 1(2), 2005 See other references on the cits4419 schedule page