Title: Routing Protocols
1Routing Protocols
Saman Aliari Zonouz Amir Houmansadr
2A Review of Current Routing Protocols for Ad Hoc
Mobile Wireless Networks
E. M. Royer C. Toh
University of California Santa Barbara Georgia Institute of Tech.
3Introduction
- Mobile Wireless Networks
- Infrastructured
- Fixed and Wired Gateways
- Connecting to the nearest Base Station
- Ad hoc
- No Fixed Routers
- Moving Nodes
- Dynamic Connections
- Routing Protocols
- Correct and Efficient Route Establishment between
Nodes - Goal
- Minimum Overhead and Bandwidth Consumption
4Classification
- Existing Ad Hoc Routing Protocols
- Table-Driven Routing (Proactive)
- Tables to Store Routing Information
- e.g. Next hop toward destination
- Source-Initiated On-Demand Routing (Reactive)
- Route Creation by the Source Only when Desired
- Source saves the Whole Route to Destination
5Classification
Proactive Reactive
6Classification
Proactive Reactive
7Destination-Sequenced Distance-Vector
Routing(DSDV)
- Based on Bellman-Ford Routing Mechanism
- Loop-Free (Be patient!)
- Routing Tables
- (Destination, of Hops, Seq. No.)
- Periodic Updates
- Full Dump all available routing information
- Incremental Updates Changes since the last full
dump - Drawback
- Periodic Updates regardless of of Network
Topology Changes
8Distance Vector (Broken Link)
1
1
1
D
C
B
A
Dest.c Next Metric
D C 2
Dest. Next Metric
D B 3
Dest. Next Metric
D B 1
Dest. Next Metric
D D ?
9Distance Vector (Loops)
(D, 2)
(D, 2)
1
1
1
D
C
B
A
Dest. Next Metric
D B 3
Dest. Next Metric
D C 2
Dest. Next Metric
D B 3
10Distance Vector (Count to Infinity)
(D,5)
(D,4)
(D,4)
(D,3)
(D,2)
(D,2)
1
1
1
D
C
B
A
Dest. Next Metric
D B 3, 5,
Dest. Next Metric
D B 3, 5,
Dest.c Next Metric
D C 2, 4, 6
11DSDV (no loops, no count to infinity)
2. B does its broadcast-gt no affect on C (C
knows that B has stale information because C has
higher seq. number for destination D) -gt no loop
-gt no count to infinity
1. Node C detects broken Link-gt Increase Seq.
Nr. by 1
(D, 2, D-100)
(D, 2, D-100)
D
C
B
A
Dest.c Next Metric Seq.
D C 2 D-100
Dest. Next Metric Seq.
D B 3 D-100
Dest. Next Metric Seq.
D D ? D-101
12Clusterhead Gateway Switch Routing(CGSR)
Proactive Reactive
13Clusterhead Gateway Switch Routing(CGSR)
- Based on DSDV but Hierarchical Addressing
- First Nodes are Clustered
- Cluster Heads (cluster representative)
- Dynamic Head election
- Forward on behalf of Source nodes
- Gateways
- Nodes in communication range of at least two
cluster heads - Ordinary Nodes
- Cluster-Head-to-Gateway Routing
- S.Node gt S.Cluesterhead gt Gateway gt D.Clusterhead
gt D.Node - Tables, broadcast using the DSDV
- Cluster Member (D.Node gt Clusterhead)
- Routing Table (Clusterhead gt Next Hop)
14Clusterhead Gateway Switch Routing(CGSR)
15Wireless Routing Protocol(WRP)
Proactive Reactive
16Wireless Routing Protocol(WRP)
- Each node maintains 4 Tables
- Distance Table saves distance to destinations
- Routing Table saves next hop
- Link-cost Table saves cost of relaying info in
each neighbor - Message Retransmission List Table saves
retransmission-related entries such as
retransmission counter - Keep track of alive neighbors
- Acknowledgements and other messages
- Periodic hello messages
- Drawback
- Maintaining 4 tables requires large amount of
memory - Periodic hello messages consume resources
17Ad hoc On-Demand Distance Vector Routing(AODV)
Proactive Reactive
18Ad hoc On-Demand Distance Vector Routing(AODV)
- On-demand version of the DSDV ?
- Minimize the Required Broadcasts
- How to send a message?
- Initiate Path Discovery Process
- Broadcasts Route Request (RREQ) to neighbors
- Until either Destination or an Intermediate Node
with Route is found - Nodes Records the Node who sends the First Copy
of RREQ - Establish the Reverse Path!
- Only Supports the Symmetric Links ? (why?)
- Route Table Timer
- Removes stale routes!
- Maintenance
- Link Failure Notification Message
19AODV (Example)
A
L
Y
F
J
B
K
D
Destination
P
G
Source
S
C
E
H
I
T
Z
RREQ
20AODV (Example)
A
L
Y
F
J
B
K
D
Destination
P
G
S
C
Source
E
H
I
T
Z
Reverse Path Setup
21AODV (Example)
A
L
Y
F
J
B
K
D
Destination
P
G
Source
S
C
E
H
I
T
Z
22AODV (Example)
A
L
Y
F
J
B
K
D
Destination
P
G
Source
S
C
E
H
I
T
Z
23AODV (Example)
A
L
Y
F
J
B
K
D
Destination
P
G
S
C
Source
E
H
I
T
Z
RREP
24AODV (Example)
A
L
Y
F
J
B
K
D
Destination
P
G
Source
S
C
E
H
I
T
Z
Forward Path Setup
25AODV (Example)
A
L
Y
F
J
B
K
D
Destination
P
G
Source
S
C
E
H
I
T
Z
26AODV (Example)
A
L
Y
F
J
B
K
D
Destination
P
G
Source
S
C
E
H
I
T
Z
27AODV (Example)
A
L
Y
F
J
B
K
D
Destination
P
G
Source
S
C
E
H
I
T
Z
28Dynamic Source Routing(DSR)
Proactive Reactive
29Dynamic Source Routing(DSR)
- Each node has a Source Route Cache
- Route Discovery
- Broadcast Route Request (source addr, dest addr,
ID) - Receiving node Checks its own Route Cache
- If nothing found? adds its own addr to packet,
and broadcasts - If found? does Route Replying (Coming soon)
- In asymmetric links case, other routes are used
to reply - Route Maintenance
- Route error packets
- Nodes remove routes containing faulty node!
30Route Discovery
Node A sends node F a message
No route to node F
D
destination
F
B
source
C
A
E
31Temporally Ordered Routing Algorithm(TORA)
Proactive Reactive
32Temporally Ordered Routing Algorithm(TORA)
- Based on Link-Reversal Algorithm
33Link-Reversal Algorithm
- Each node has two types of links
- Upstream (incoming)
- Downstream (outgoing)
- When a node has no downstream links,
- It Reverses the Direction of One or More Links
- Links are Directed Based on Height Metric!
- Links are directed from the Higher node to the
Lower node
34Temporally Ordered Routing Algorithm(TORA)
- Key Idea!
- Localization of Control Messages to Nodes NEAR
the Changing part - Height Concept
- Establish a Directed Acyclic Graph (DAG)
35Height Concept in Link-Reversal
36Height Concept in Link-Reversal
37Height Concept in Link-Reversal
38Height Concept in Link-Reversal
39Height Concept in Link-Reversal
40Height Concept in Link-Reversal
41Associativity-Based Routing(ABR)
Proactive Reactive
42Associativity-Based Routing(ABR)
- New metric Degree of Association Stability
(DAS) - Nodes generate periodic Beacons to Announce
Existence - Receiving node increments the DAS tick w.r.t
sending node - High DAS shows low mobility ?
- Low DAS shows high mobility ?
- Route Discovery
- Source node sends Broadcast Query (BQ)
- Receiving Nodes
- Append their addrs, and associativity ticks to
packets - Destination Selects Best Receiving Route and
sends back Reply
43Associativity-Based Routing(ABR)
44Signal Stability Routing(SSR)
Proactive Reactive
45Signal Stability Routing(SSR)
- Route selection based on Signal Strength
- Routes with Stronger Connectivity are Chosen!
- Periodic Beacons
- Records the signal strength of neighboring nodes
- Strong or Weak
- Route Search Process
- First, only Requests from Strong Channels are
processed - If not possible, Weak Channels are also
acceptable! - Path Failure
- Error message back to the source
- Source initiates a new route search process
46Ad hoc Networks Routing Algorithms
47Table-Driven vs. On-Demand
Parameters On-demand Table-driven
Availability of routing information Available when needed Always available regardless of need
Periodic route updates Not required Required
Coping with mobility Use localized route discovery (ABR and SSR) Inform other nodes to achieve a consistent routing table
Signaling traffic Grows with increasing mobility of active routes Greater than that of on-demand routing
48Conclusions!
- Thanks for Attention! ?
- Any Questions? ?
- Next Papers
49Directed Diffusion A Scalable and Robust
Communication Paradigm for Sensor Networks
C. Intanagonwiwat R. Govindan D. Estrin
University of Southern California University of Southern California University of Southern California
50 Distributed sensor networks
- Sensor nodes
- Capable of sensing, communication, and even
computation - Distributed micro-sensing of environmental
phenomena - Inhospitable physical environments , e.g. remote
geographic regions or toxic urban locations,
disasters, - Low maintenance sensing in low accessible
environments, e.g. large industrial plants,
aircraft interiors , human body, - How it works?
- Posing question by human operator to some nodes
- Specific nodes get tasked to collect info
- Collaborate to disambiguate data
- One of nodes reports the result
51Directed Diffusion
- Major Problem with predecessor sensor networks
Energy efficiency - Applying local computation before data
transmission - New organization
- Reduce sampled waveform to event description
(Data-centric) - Intermediate Nodes can refine the estimation
(Aggregation) - A distributed computing system
- Goals
- Scalability
- Robustness to failures
- Minimize energy usage
52Directed diffusion elements
- Naming
- Attribute-value pairs
- Interests
- Sensing tasks
- Gradients
- Network paths
- Data propagation
- Reinforcement
- Manages gradients
53Naming
- Tasks are named by attribute-value pairs
- An interest naming requested data
- A data naming sensed data
-
type four-legged animal interval 20
ms duration 10 seconds rect -100, 100, 200,
400 //based on GPS
type four-legged animal Instance elephant
Location 125, 250 Intensity 0.6 Confidence
0.85 Timestamp 012040
54Interest Dissemination
C
source
B
sink
Sink disseminates interest for a four-legged
animal (36 bytes). Initial interval is large.
55Interest Dissemination
Cs 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.
- Each interest is injected into a random Sink node
- Sink records interests
- Periodically broadcast interest (refresh)
messages to neighbors - Initial interest are exploratory, large interval
- Purges it after duration attribute
56Interest Dissemination
Cs Interest cache
C
Interests Gradients
B 1s
Sink 1s
source 1s
source
B
sink
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.
In the absence of information about which sensor
nodes are likely to be able to satisfy an
interest, interests are broadcast to all
neighbors.
However, a node may suppress a received interest
if it recently re-sent a matching request.
57Data Propagation
Cs Data cache
Cs Interest cache
C
1 eps
Interests Gradients
B 1s
EVENT
Sink 1s
source 1s
1 eps
source
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.
58Data Propagation
Cs Data cache
Cs Interest cache
C
1 eps
Interests Gradients
B 1s
EVENT
match
Sink 1s
source 1s
1 eps
source
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 nodes
neighbors.
If a data cache entry matches the data message,
the message is silently dropped, thus, preventing
loops.
59Reinforcement
Cs Data cache
An empirically low delay path
Cs Interest cache
C
1 eps
100 eps
Interests Gradients
B 1s
EVENT
Sink 1s
S .01s
source 1s
1 eps
source
1 eps
B
1 eps
100 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, base on some local rule, e.g.
first unseen event.
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
60Negative Reinforcement
- Why?
- Removing alternative high quality paths
- Repairing failed paths by intermediate nodes
- Based on local rule
- Form which no event received in a window of N
events or time T (conservative and energy
inefficient ) - The nodes with fewer new events
- How?
- Time out all high data rate gradients unless
explicitly reinforced - Explicitly degrade the other path by sending
lower data rate interest
61Metrics and experiments
- Two metrics
- Average dissipated energy
- Average delay
- No congestion in simulations (future research )
- Event delivery ratio
- Different network sizes with a fixed average
density of nodes - 802.11 MAC layer
- A fixed workload
- 5 sinks and 5 sources
62Comparative Evaluation
- Evaluation with two schemes
- Flooding scheme
- Omniscient multicast representative of IP-based
sensor networks -
63Impact of dynamics
64Impact of various factors
- Two experiments to explain Energy efficiency of
DD - Second effect of negative reinforcement
- First effect of aggregation
- Effect negative reinforcement suppression on
delay -
65Discussion
- Significant energy efficiency
- Due to aggregation and reinforcement
- A network with no routers ? not a general
communication network - Scalability and robustness
- Due to local interactions and rules. What about
clustering? - Sensitive to radio MAC layer design
- 802.11 MAC was the prevalent at the time paper
written. What about S-MAC, and B-MAC? - Novel Features introduced
- Data-centric dissemination
- Reinforcement-based adaptation to best path
- In-network data aggregation
- Data caching
- May be exploited in routing protocols ?!?
66Conclusions!
- Thanks for Attention! ?
- Any Questions? ?
- Next Paper
67Learn on the Fly Data-driven Link Estimation
and Routing in Sensor Network Backbones
H. Zhang A. Arora P. Sinha
Computer Science and Engineering The Ohio State University, USA Computer Science and Engineering The Ohio State University, USA Computer Science and Engineering The Ohio State University, USA
68Link Quality Estimation (LQE)
- Existing Routing Protocols
- LQE by Exchanging Periodic Broadcast Beacons
- Power Consumption Issues!
- Link Quality differs for Unicast Data Broadcast
Beacons(Actual Network Traffic is transmitted
using Unicast) - Learn on the Fly
- LQE based on Actual Data Traffic (Unicast)
69Stargate
- 400 MHz Intel Processor
- Low Power Consumption
- Small, 3.5 x 2.5
- 64 MB SDRAM
- Sensor Network gateway
70Outdoor Indoor Testbeds
- Outdoor
- 29 Stargates in a Straight Line
- Distance Between two Stargates 45 meters
- Linux, kernel 2.4.19
- Wireless Card SMC 2.4GHz 802.11b
- 1.5 meter 9 dBi omni-directional Antenna
- Indoor
- 15 x 13 Stargate grid
- Distance Between two Stargates 0.91 meters
- Wireless Card SMC 2.4GHz 802.11b
- 1.01 meter 2.2 dBi omni-directional Antenna
71Outdoors Experiments Results
? The Stargate at one end acts as the sender!
- Broadcast has longer communication range!
- Due to lower transmission rate
- Unicast non-zero mean delivery rates is higher!
- Retransmission up to 7 times
- Delivery rate variance in unicast is lower!
- Retransmission upon failures
72Difference between Unicast Broadcast
- Difference (U-B)/B
- U, B mean delivery rate for unicast and broadcast
- The difference is significant (up to 94.06)
73How to decrease difference between Unicast and
Broadcast?!
- Previous Ideas!
- ETX Make packets length and transmission rate
similar! - Drawbacks
- Changing packet lengths, not considered
- Temporal link correlations, not modeled
? Idea Link Quality Estimation
via Data Traffic ?
74Routing Metric ELD
- Objective of routing Choose routes that
- Minimize the end-to-end MAC latency to
destination - Or minimize MAC latency per unit-distance to
destination - Routing metric
- MAC latency per unit-distance to destination (LD)
B
A
Ri
distance progress via Ri
D.Ri DA,B DRi, B
- Routing Decision (Greedy!)
- Select a neighbor with the lower ELD
75Learn on the Fly (LOF) Protocol
- Upon boot-up
- Neighborhood discovery using hello-request
messages - Initial Sampling
- When S discovers new neighbor R
- Few samples (not actual data) to get an idea
about link quality
76Learn on the Fly (LOF) Protocol
- When forwarding data packets
- Adapt estimation of ELDs via real-time feedback
- Estimator
- Exponential Weighted Moving Average (EWMA)
- Blacklisting
- Identify unreliable links/neighbors as dead
- Probabilistic Neighbor Switching
- Initial Sampling may not be perfect!
- Miss some good links ?
- Stochastic Neighbor Switching ?
77Probabilistic Neighbor Switching
- After a number of transmissions (switching
interval) next hop is switched with some
probability (switching probability)... - Switching Probability
- A neighbor is chosen with the probability of its
being the best - Switching Interval depends on (is multiplication
of) - How good the current next-hop is
- Number of active neighbors
- Temporal variation in links quality
78Experimental Comparisons
- Network Setup
- Indoor testbed
- Base station (destination)
- Stargate at the left-bottom corner
- Traffic Source
- Stargate at the upper-right corner
- 950 packets are generated at source Stargate
79Experimental Comparisons
- Broadcast Beacon-based Protocols
- ETX
- expected transmission count
- Route with minimum ETX value is adopted
- PRD
- product of packet reception rate distance
traversed to destination - The neighbor with the maximum PRD is selected
- LOF-based Protocols
- L-hop with geographic-uniformity assumption
- L-ns No Probabilistic Neighbor Switching (PNS)
- L-sd Dead neighbors are considered in PNS
- L-se PNS after every packet transmission
80End2End MAC Latency
- LOF has the smallest MAC latency compared with
L- - shows the importance of proper PNS
? Compared with ETX and PRD, LOF reduces MAC
latency by a factor of 3
81Energy Efficiency
? Average of unicast transmissions per packet
received
? Compared with ETX and PRD, LOF improves
efficiency by a factor of 1.49
- LOF is more efficient than L-
82Links Used Reliability and Length
? of transmission failures
? average link length
- LOF uses reliable links
- Failures ETX (1112), PRD (786), and LOF (only
5!)
- L-ns uses reliable but shorter links than LOF
83Future works
- Is Greedy always the best solution?!?
- What if nodes know each others exact locations?
- Graph search algorithms?
- A, Dijkstra,
- Switching Probability and Interval selection
- What are the alternatives?!?
- Are all the factors considered in formulas?
- Security Issues
- How could malicious node ruin the LOF
performance - The counteractions?
- LOF without GPS in Mobile networks!? Nodes
knowledge about others is not perfect is
dynamically updated via communication - Power consumption and Bandwidth overhead issues
- Belief functions (Information spaces)
- Kalman Filtering
- Shaffer Evidence Theory
84Conclusions!
- Thanks for Attention! ?
- Any Questions? ?
- Done!