Download presentation
Presentation is loading. Please wait.
Published byShanna Phelps Modified over 6 years ago
1
CS 410/510 Sensor Networks Portland State University
Lecture 4 Multi-hop Routing
2
Why use multi-hop communication?
Optimize energy consumption Transmission power proportional to d^n (n > 2); shorter links better Enable spectrum reuse Can simultaneously transmit at spatially distant parts of the network 11/19/2018 Nirupama Bulusu
3
What is Routing? Act of moving information across a multi-hop network from a source to a destination Includes Path determination: Determining optimal routing paths “Optimal” varies depending on the routing metric. Packet switching: Transporting information groups, called packets through a network 11/19/2018 Nirupama Bulusu
4
Communication Models in Sensor Networks
Dissemination (1-many) Eg. code updates from base station to sensors (eg. Trickle, Deluge) 11/19/2018 Nirupama Bulusu
5
Communication Models in Sensor Networks
Data Gathering (many-1) 11/19/2018 Nirupama Bulusu
6
Communication Models in Sensor Networks
Any-to-any communication Eg. Triggering another sensor To start sensing (eg. GPSR) 11/19/2018 Nirupama Bulusu
7
Example Tree based routing for data collection
Reliable end-to-end packet delivery with minimum number of transmissions (link retransmissions) Advocate stability Simple 11/19/2018 Nirupama Bulusu
8
Routing Techniques Directed Diffusion, DSR, AODV Essence:
reverse path routing by flooding non-shortest path routing (do switch if a shorter path is found) DSR, AODV (On-demand routing) but every node is a source source initiated route request broadcasts “local storm” of replies 11/19/2018 Nirupama Bulusu
9
Tree-based routing drawbacks
Root of the tree is unique point of failure Paths become longer and longer Increased end-to-end packet loss, congestion Decreased network lifetime Poor load balancing => Nodes near the root carry more traffic 11/19/2018 Nirupama Bulusu
10
Clustering: From tree to forest
server WiFi Micro-server Low power radio link (eg. Zigbee) 11/19/2018 Nirupama Bulusu
11
Outline One-many communication example: Trickle
Any-any communication example: GPSR Many-one communication example: Directed Diffusion Issues in sensor net routing 11/19/2018 Nirupama Bulusu
12
Trickle: To Every Node in a Network
Network membership is not static – Loss – Transient disconnection – Repopulation Limited resources prevent storing complete network population information To ensure dissemination to every node, we must periodically maintain that every node has the data. 11/19/2018 Nirupama Bulusu
13
The Real Cost Propagation is costly
Virtual programs (Maté, TinyDB): bytes – Parameters, predicates: 8-20 bytes – To every node in a large, multihop network… But maintenance is more so – For example, one maintenance transmission every minute – Maintenance for 15 minutes costs more than 400B of data – For 8-20B of data, two minutes are more costly! Maintaining that everyone has the data costs more than propagating the data itself. 11/19/2018 Nirupama Bulusu
14
Solution: Trickle “Every once in a while, broadcast what data you have, unless you’ve heard some other nodes broadcast the same thing recently.” Behavior (simulation and deployment): – Maintenance: a few sends per hour – Propagation: less than a minute – Scalability: thousand-fold density changes Instead of flooding a network, establish a trickle of packets, just enough to stay up to date. 11/19/2018 Nirupama Bulusu
15
Detecting That a Node Needs an Update
As long as each node communicates with others, inconsistencies will be found Either reception or transmission is sufficient Define a desired detection latency, t Choose a redundancy constant k – k = (receptions + transmissions) – In an interval of length t Trickle keeps the rate as close to k/ t as possible 11/19/2018 Nirupama Bulusu
16
Trickle Algorithm Time interval of length t
Redundancy constant k (e.g., 1, 2) Maintain a counter c Pick a time t from [0, t] At time t, transmit metadata if c < k Increment c when you hear identical metadata to your own Transmit updates when you hear older metadata At end of t, pick a new t 11/19/2018 Nirupama Bulusu
17
Maintenance with Loss: The logarithmic behavior represents the probability that a single node misses a no. of transmissions. 11/19/2018 Nirupama Bulusu
18
Summary Trickle scales logarithmically with density
Can obtain rapid propagation with low maintenance In example deployment, maintenance of a few sends/hour, propagation of 30 seconds Controls a transmission rate over space Coupling between network and the physical world Trickle is a nameless protocol Uses wireless connectivity as an implicit naming scheme No name management, neighbor lists... Stateless operation (well, eleven bytes) 11/19/2018 Nirupama Bulusu
19
Outline One-many communication example: Trickle
Any-any communication example: GPSR Many-one communication example: Directed Diffusion Issues in sensor net routing 11/19/2018 Nirupama Bulusu
20
Geographic Routing One way of supporting any-any communication
Use location of nodes as addresses for routing Example: GPSR (Greedy Perimeter Stateless Routing) 11/19/2018 Nirupama Bulusu
21
Algorithm : Greedy Forwarding
The next hop from a node is the neighbor that is geographically closest to the packet’s destination. 11/19/2018 Nirupama Bulusu
22
Algorithm: Greedy Forwarding
Beaconing mechanism Provides all nodes with neighbors’ positions. Beacon contains broadcast MAC and position. To minimize costs Piggybacking Promiscuous mode 11/19/2018 Nirupama Bulusu
23
Algorithm: Greedy Forwarding
Drawback !!! 11/19/2018 Nirupama Bulusu
24
Algorithm: Greedy Perimeter Routing
When greedy forwarding fails, switch packet mode to Perimeter Use Perimeter Forwarding 11/19/2018 Nirupama Bulusu
25
Perimeter Forwarding uses Right Hand Rule
When arriving at a node x from node y, the next edge traversed is the next one sequentially counterclockwise about x from edge (x, y) 11/19/2018 Nirupama Bulusu
26
Planarized Graphs A graph in which no two edges cross is known as planar. Right-hand-rule fails on non-planar graphs So, planarize it! Eg. Locally compute Relative Neighborhood Graph (RNG) Gabriel Graph (GG) Run RHR on planar graph 11/19/2018 Nirupama Bulusu
27
GPSR: Pros and Cons Pros: Cons:
Low per router state for large number of network destinations Handles mobility very well Small routing protocol message complexity Cons: GPS location system might not be available everywhere. Overhead in location registration and lookup Planarization affected if nodes within another node’s radio range 11/19/2018 Nirupama Bulusu
28
Outline One-many communication example: Trickle
Any-any communication example: GPSR Many-one communication example: Directed Diffusion Issues in sensor net routing 11/19/2018 Nirupama Bulusu
29
Directed Diffusion Directed diffusion is a new data dissemination paradigm for sensor networks Data-centric Data propagation and aggregation is determined by localized interactions between nodes: hop-to-hop rather than end-to-end Long-range communication requires more energy Hop-to-hop communication provides link diversity, helps overcome obstacles Incorporates application-specific semantics 11/19/2018 Nirupama Bulusu
30
Directed Diffusion Elements
Gradients Network paths Reinforcement Manages gradients Named data Described with attribute-value pairs Interests Describe sensing tasks 11/19/2018 Nirupama Bulusu
31
Naming Task descriptions are named by a list of attribute-value pairs:
Intuitively, the task description specifies an interest for data matching the attributes. For this reason, such a task description is called an interest 11/19/2018 Nirupama Bulusu
32
Interest Dissemination
C’s Interest cache C Interests Gradients source B sink Sink disseminates interest for a four-legged animal (~36 bytes). Initial interval is large. 11/19/2018 Nirupama Bulusu
33
Interest Dissemination
C’s Interest cache C Interests Gradients source B sink Every node contains an interest cache, with separate entries for distinct interests. Entries do not contain info about sinks and therefore scale well. Overlapping entries may be aggregated for efficiency. 11/19/2018 Nirupama Bulusu
34
Interest Dissemination
C’s Interest cache C Interests Gradients | B: 1s Sink: 1s source: 1s source B Each interest cache entry contains a list of gradients; events that match interest entries are propagated back to the sink via these gradients. Gradient entries contain locally unique neighbor IDs, data rates, and interval attributes. sink In the absence of information about which sensor nodes are likely to be able to satisfy an interest, interests are broadcasted to all neighbors. 11/19/2018 Nirupama Bulusu However, a node may suppress a received interest if it recently re-sent a matching request.
35
Data Propagation C | B: 1s source B sink
C’s Data cache C’s Interest cache 1 eps C Interests Gradients EVENT | B: 1s Sink: 1s source: 1s source 1 eps 1 eps B 1 eps 1 eps Initial interests request data at slow rates (e.g. 1 event per second). sink A sensor node that is able to furnish a query-result searches its interest cache for a matching entry; if it finds one, it begins sending data messages (~64 bytes) towards the sink via its gradient list at the highest specified rate. 11/19/2018 Nirupama Bulusu
36
Data Propagation C | B: 1s source B sink
C’s Data cache C’s Interest cache 1 eps C Interests Gradients EVENT match | B: 1s Sink: 1s source: 1s source 1 eps 1 eps B 1 eps 1 eps Upon receiving a data message, nodes check their interest caches. If no match is found, the data message is silently dropped. sink If a match is found, the node checks its data cache, which keeps track of recently seen data items. If no data cache entry matches the message, a new entry is made in the data cache and the message is re-sent to the node’s neighbors. 11/19/2018 If a data cache entry matches the data message, the message is silently dropped, thus, preventing loops. Nirupama Bulusu
37
Reinforcement C | B: 1s source B sink
C’s Data cache C’s Interest cache 100 eps 1 eps C Interests Gradients EVENT | B: 1s Sink: 1s S: .01s source: 1s source 1 eps 1 eps B 100 eps 1 eps 1 eps After the sink starts receiving these low data rate events, it reinforces one particular neighbor in order to “draw down” higher quality (higher data rate) events. sink It does this explicitly by re-sending the original interest message, but with a smaller interval value, to the empirically low delay path node. Nodes update their caches and can then propagate reinforcement messages according to local policies. For example, the node might choose that neighbor from whom it first received the latest event matching the interest 11/19/2018 Nirupama Bulusu
38
Outline One-many communication example: Trickle
Any-any communication example: GPSR Many-one communication example Issues in sensor net routing 11/19/2018 Nirupama Bulusu
39
Theme: Why is sensor net routing challenging?
Explore underlying communication issues and their effects on multi-hop routing protocols Single hop Zhao and Govindan, SenSys 2003 Extra: SCALE (Cerpa et al. CENS TR 2003) Network-level protocol multi-hop routing for data collection. (Woo et al., SenSys 2003) 11/19/2018 Nirupama Bulusu
40
Motivation Why do we care about all these details?
we will experience it! if we want to implement our protocols actual deployment decision 11/19/2018 Nirupama Bulusu
41
Outline Network Services Link estimation Neighborhood management
Reliable multi-hop routing for data collection 11/19/2018 Nirupama Bulusu
42
Link Quality Estimation
Estimate rate of successful reception from neighboring nodes RSSI may not work well Neighbors exchange estimations to derive bi-directional link quality 2 Techniques: Passive vs. Active Key decision factor: broadcast medium Passive: snoop on neighbor packets 11/19/2018 Nirupama Bulusu
43
What is a good Estimator?
For a given error bound and agility, yields the most stable estimation with the smallest memory footprint and the simplest algorithm Agility and stability are at odds with each other 11/19/2018 Nirupama Bulusu
44
Agility and Error Bound
Simulation worst case: 10% error ~ 100 packet time Assuming IID Binomial model, by the central limit theorem Worst case (p = 0.5) requires 10% error with 90% confidence requires ~100 packet opportunities to learn For example: at 30sec/packet 50 minutes for 100 packets forwarding traffic helps to reduce this time but potentially a long delay Major disadvantage 11/19/2018 Nirupama Bulusu
45
Infer Packet Loss Packet sequence number for inferring packet loss
Issue: cannot infer loss until hearing the next packet E.g. dead node or mobility Can infer losses based on time Assume minimum data rate is known Likely to be true in periodic data collection 11/19/2018 Nirupama Bulusu
46
WMEWMA Estimator Compute an average success rate over time, T, and smoothes with an exponentially weighted moving average (EWMA) Average calculation Packets Received over T divided by Max of Number of packets expected over T Number of packets sent over T suggested by sequence number Tuning parameters: T and history size of EWMA Performance Yields agile and stable estimations Uses constant memory, and is very simple 11/19/2018 Nirupama Bulusu
47
Neighbor Table Maintain link estimation statistics and routing information of each neighbor How large should this table be? O(cell density) * meta-data for each neighbor Issue: Density can be high but memory is limited At high density, many links are poor or asymmetric Question: Can we use constant memory to maintain a set of good neighbors regardless of cell density? 11/19/2018 Nirupama Bulusu
48
Neighborhood Management
Question: when table becomes full, should we add new neighbor? If so, evict which old neighbor? Neighbor Goodness Basic one is link quality but it is unknown Signal strength is a hint Rely on frequency of packet reception Assume periodic data packets or beacons Similar to frequency estimation of data streams, or classical cache policy 11/19/2018 Nirupama Bulusu
49
Management Algorithm When we hear a node, if Eviction: (FREQUENCY)
In table: increment a counter for this node Not in table Insert if table is not full down-sample if table is full If successful, insert only if some nodes can be evicted Eviction: (FREQUENCY) Decrement counter for each table entry Nodes with counter = 0 can be evicted Otherwise, all nodes stay in the table 11/19/2018 Nirupama Bulusu
50
Key Results FREQUENCY algorithm can effectively Routing simulation:
utilize 50% to 70% of the table space to maintain a set of good neighbors while being adaptive to neighborhood changes Routing simulation: Neighbor goodness is augmented to avoid maintaining sibling nodes based on routing cost difference 11/19/2018 Nirupama Bulusu
51
Ad Hoc Routing Protocol
creates a many-to-one spanning tree topology self-organizing through local operations simple and efficient explore quality/reliable routing paths to the base station 11/19/2018 Nirupama Bulusu
52
Pitfalls Assumption that links are “inherently” good
assumes link layer abstraction provides good links and pay little attention below network layer Reverse link quality is “as good” routing (DSR, Diffusion, AODV) using reverse path routing Fixed consecutive # of failures = link failures “semi-good” links are easily treated as failures create instability 11/19/2018 Nirupama Bulusu
53
Shortest Path is Good? Sink 90% 50% 90% Source
Exp num. trans. from A->B->Sink Assume link reliability is symmetric 1/(90% * 90%) + 1/(90% * 90%) = 2.47 Routing objective: Minimize (1/(pfi * pri)) where pfi and pri= forward and reverse link reliability at each i along the path 90% Path Hop Count Exp. Num. Trans. A->Sink 1 4 A->B->Sink 2 2.47 50% B 90% A Source 11/19/2018 Nirupama Bulusu
54
Lossy Links clear transitional silent Data = Connectivity
matrix of 20 Micas on a line at a particular trans. power setting. Each dot represents reliability of a directional link at a given distance. 11/19/2018 Nirupama Bulusu
55
Hypothesis Shortest path routing can yield unreliable paths
Build reliability statistics of each neighbor through link estimations Even coarse estimations are better than none End-to-end reliability guarantee is unlikely even if it exists, local actions are building blocks Limited retransmissions per hop Explore reliable paths to route packets E( transmissions) along a path captures both “distance” and “reliability” for routing ARPANET available bandwidth metric leads to congestion 11/19/2018 Nirupama Bulusu
56
Reliable Routing 3 core components for Routing Example
Routing protocol Neighbor table management Link estimation Example Tree based routing for data collection Reliable end-to-end packet delivery with minimum number of transmissions (link retransmissions) Advocate stability Simple 11/19/2018 Nirupama Bulusu
57
Design Issues Shortest path alone yields poor end-to-end success rate
Multi-hop over bad links has exponential loss effect Two approaches Shortest Path over some link quality threshold Minimum expected number of transmissions as routing cost Route damping: New route is not evaluated on every route update Link failure detection using consecutive packet loss leads to instability link quality characterization is better Queuing Policy Two queues Fair allocation between forwarding and originating traffic Cycles Detection vs. loop-free 11/19/2018 Nirupama Bulusu
58
Shortest Path with Threshold (SP)
High threshold (e.g. 70%) fails to form a tree Works fine in simulation! link quality degrades when there is traffic High threshold leads to network partition Echo the observation made in Zhao’s work Lower threshold (e.g. 40%) is also problematic Tree prunes and rebuilds over time when traffic is high 11/19/2018 Nirupama Bulusu
59
Minimum Expected Transmissions (MT)
No predefined threshold is necessary Captures both reliability and energy cost Routing cost builds upon individual estimations along the path Cost = hops + number of expected link retransmissions if link quality = 100%, MT reduces to normal SP routing 11/19/2018 Nirupama Bulusu
60
Routing Techniques to Evaluate
Directed Diffusion, DSR, AODV Essence: reverse path routing by flooding non-shortest path routing (do switch if a shorter path is found) DSR, AODV (On-demand routing) but every node is a source source initiated route request broadcasts “local storm” of replies Evaluation Sink initiated flooding to approximate reverse path routing 11/19/2018 Nirupama Bulusu
61
Routing Techniques to Evaluate
DSDV Essence: “fresher” path overrides “shorter” path fixed number of failure = link failure detection Distance vector based routing Link estimations Simple moving average link estimator Sniff link seq. number in packets Exchange link estimations via route messages Two cost metrics Shortest path Only consider links with 75% reliability or better Exp. number of transmissions along a path 11/19/2018 Nirupama Bulusu
62
Methodology Graph analysis Network simulation Empirical evaluation
Assuming packet loss are independent, following Binomial model Empirical evaluation On site connectivity vs. distance study Find minimum transmit power Transitional/gray area starts at average node distance 11/19/2018 Nirupama Bulusu
63
Simulation Platform Matlab simulator packet level simulation
incorporates loss model based on empirical traces implements TinyOS network stack visualization of the tree evolution 11/19/2018 Nirupama Bulusu
64
Simulation Results 49 nodes layout on a grid
grid interval = length of “effective” com. range simulation time 1000s data rate: 10s/msg route rate: 10s/msg ( s) 50s/msg (200s – 1000s) Simple, coarse link estimation is much better than none Success to B.S. # Retrans. /msg recv. by B.S. Sink Broadcast 35.8% 5.4 DSDV 84.8% 1.42 Shortest Path (75%) 94.7% 0.7 Exp. # Trans. 96.0% 0.54 11/19/2018 Nirupama Bulusu
65
Findings (I) Hop distribution and success rate
longer majority hop-count yields higher success Hop distribution and distance Evidence of long links, potentially reliable Retransmissions are not too effective MT yields ~80% success rate packets delivered only experience 1 retransmission along the path A maximum of 2 retransmission per hop can Needs a maximum of 3 per hop to achieve over 90% end-to-end success rate 11/19/2018 Nirupama Bulusu
66
Findings (II) Link failure detection with consecutive packet loss leads to instability Stability and Congestion link quality fluctuates at congestion period creates global instability BS can hear half the number of neighbors in the network even with a low power setting MT metrics build upon link estimations are stable No cycles are detected 11/19/2018 Nirupama Bulusu
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.