Important Note This presentation is based on the following book - - PowerPoint PPT Presentation
Important Note This presentation is based on the following book - - PowerPoint PPT Presentation
Important Note This presentation is based on the following book References to some of the figures and facts can be found in the book Middleware for Network Eccentric and Mobile Applications Garbinato, Benot; Miranda, Hugo;
Important Note
This presentation is based on the following book
References to some of the figures and facts can be
found in the book Middleware for Network Eccentric and Mobile
Applications Garbinato, Benoît; Miranda, Hugo; Rodrigues, Luís (Eds.) 2009, Approx. 465 p., Hardcover ISBN: 978-3-540-89706-4
2
Outline of the Presentation
Routing metrics Topological-Based Routing
DSDV
, OLSR, DSR, AODV , DYMO Geographical-Based Routing
Routing algorithms Pre-processing algorithms Pitfalls
3
Wireless Ad Hoc Network
A definition
(possibly) mobile nodes Equipped with radio No external infrastructure
The problem with routing
Limited and shared bandwidth Frequent topology changes
4
Routing Metrics
Some reasons not to use hop count:
Energy
Congestion
Link quality Energy consumption by Rodoplu and Meng: (1) A different approach (g is available battery in [0,1]): (2) Stojmenovic and Lin classify algorithms minimizing (1) as
power-aware, (2) and cost-aware
u(d) = dα + c f (a)=1/g(a)
5
Routing Metrics
Minimize energy consumed/packet Minimize time to network partition Minimize variance in node power levels Minimize cost/packet Minimize maximum node cost
6
Some Parameters to Classify Routing Protocols
Pro-active or Reactive
Does the node collect routing information only upon
request or only when required? Uniform or Non-Uniform
Does the topology knowledge change with the distance?
Link-state or distance-vector
Well-known difference already in IP routing
Hop-by-hop or source routing?
7
8
Destination-Sequenced Distance-Vector
It is based on RIP
Avoids looping with sequence numbers
Even sequence numbers – new routes Odd sequence numbers – break old routes
Nodes only accept updates from
Higher sequence numbers or Better paths (& same sequence number)
9
Optimized Link State Routing
Link State: nodes collect information of all the
network
No cycles Hop-by-hop routing Extensive flooding
To mitigate flooding, OLSR creates clusters (sort of…) OLSR uses HELLO and Topology Control messages
Nodes don’t propagate HELLO messages
They serve to create a two-hop view of the network And to crate Multipoint Relays (MPRs)
10
HELLO Messages
HELLO Messages contain
List of neighbors with bi-directional links Uni-directional links
Neighbors heard but confirmation not received
HELLO Messages reveal the 2-hop neighborhood
11
Multipoint Relays (MPRs)
Minimize traffic by reducing duplicate transmissions
Each node picks a set of neighbors for its (re-)transimissions
This is the MPR set
The MPR set of N must cover the entire 2-hop neighborhood of N
All links to the MPR set must be bi-directional
Nodes that are not in the MPR don’t re-transmit
This requires each node M to know its MPR selectors
Which nodes use M as an MPR?
MPRs are announce in the HELLO messages
They broadcast this info in their HELLO messages
12
Flooding of TC Messages
Based on the
topology collected, nodes compute routing tables
One hop at a time
13
Dynamic Source Routing
Note the “source routing” in the name Relies on three control messages
Route Request Route Reply Route Error
Nodes keep route caches
Of their own paths Of snooped paths Each route in the cache has an expiration period
14
Routing Steps
Route discovery simplified with discrete events
A B D C S 1 2 3 3 4 2 1
15
Routing Steps
Node checks its route cache If path not available, send Route Request Upon reception of Route Request (1st time)
Node checks its route cache
If no route is known node appends its address and re- broadcasts Route Request
If path available or node is destination send Route Reply Nodes send the Route Reply using the reverse path
What happens if links are not bi-directional?
16
Route Cache Optimizations
A knows the path ABCD If it later discovers the path ABCE, it only adds CE in the
Route Cache
If A later knows it can reach C in a single hop
Automatically shortens paths to D and E
Forwarding nodes can snoop packets Nodes can overhear route replies Nodes delay route replies depending on path lengths
17
Route Maintenance
If the data link layer reports a problem node sends a
Route Error back to the source
Message travels back to source All routes having this hop must be truncated Other mechanisms may substitute the data link layer
reports End-to-end mechanisms might be used in alternative
When communication is not bi-directional
18
Ad Hoc On Demand Distance Vector (AODV)
AODV is a distance-vector protocol It followed DSDV Like DSR, AODV also uses Route Requests and
Route Reply messages
Unlike DSR, Route Messages don’t store routing
information
Upon reception of Route Requests, nodes keep
information of previous hops for some time
19
Ad Hoc On Demand Distance Vector (AODV)
Route Replies to D are sent back using the reverse
path
Route Requests carry a “source sequence number”
This maintains fresh reverse-route paths
Source node also adds a “destination sequence
number”
This discards paths in nodes with lower destination
sequence numbers
Route Replies are propagated if the d.s.n. is the same
and if they contain shorter paths
20
Ad Hoc On Demand Distance Vector (AODV)
Nodes must invalidate paths affected by links broken They use Route Error messages
Either broadcast to many or unicast to one Upon reception of the list of unreachable nodes from F,
node N removes all destinations where F was the next hop Optionally, the node F, upstream the link break, can
issue a Route Request
21
Dynamic MANET On-Demand Routing Protocol (DYMO)
Improves AODV with more topological information This is called “path accumulation”
A B D S S S, A S, A, B D, B, A D, B D
22
A Brief Comparison
Let’s classify the previous routing algorithms
Source routing/Hop-by-hop routing? Reactive/Proactive? Link-state/Distance-vector?
23
Reactive Source Routing DSR X AODV OLSR DSDV Link-state
A Brief Comparison
How does the network recover from broken links?
DSDV:
Generate route update with ∞ cost and odd sequence number
OLSR:
Recalculate routing tables
DSR:
Detection when routing a packet
Route Error sent back to the source
AODV:
Detection when routing, but also when receiving a packet to some unknown destination or if node receives RERR from neighbor for active routes
24
A Brief Comparison
Maybe the most interesting comparison holds between AODV and DSR
There are many different scenarios showing advantage either to one
- r the other
DSR has variable length headers
This creates a routing overhead
And can disturb the MTU info to the upper layers
DSR can provide topological hints to upper layers
DSR doesn’t purge stalled routes
Management of routing tables is much simpler in AODV than in DSR
25
Load-Balancing
Caching of routes
can make the network very unfair!
Node G will get
all the traffic
26
A E F B C G H D
27
Determining Position
Global Positioning System Signal strength information Logical addresses Moreover:
How can nodes determine the position of destination?
E.g., consider the Grid Location Service, or Position-based distributed hash tables
28
Some (Greedy) Routing Algorithms
Greedy Algorithm Compass Routing Algorithm GEDIR Algorithm There are many others!
E.g., MFR, NC
29
Is Greedy Routing Enough?
Greedy Fails in this case GEDIR could succeed!
But it is not difficult to
find a case where GEDIR fails
With a loop of 2
nodes
M D S
30
Which Ones Are Loop-Free?
Compass is also not
loop-free
Worse: loops can be
arbitrarily long
G D E H F
31
Face Routing
The following question is:
Can we ensure routing convergence?
Consider the idea of finding your way in a maze
Put the right hand on the wall Walk until you reach the exit This is called “right-hand routing”
32
Algorithm FACE-1
33
S D P1 P2 P3 P4 f1 f2 f3 f4 f5
Algorithm FACE-1
34
Algorithm 1 Algorithm FACE-1
constant S ← source constant D ← destination constant r ← line segment SD P ← S while P = D do f ← first face that intersects line segment P D from P to D for all edges e of f do if e intersects r at point P and P is closer to D than P then P ← P end if end for traverse f again until reaching edge where P was found end while
FACE-2
35
Algorithm 1 Algorithm FACE-2
constant S ← source constant D ← destination P ← S while P = D do f ← face of G with P on its boundary that intersects P D traverse f until reaching an edge UV that intersects P D at some point P = P P ← P end while
Will FACE-1 and FACE-2 Always Converge?
Consider the path from
S to D
The intersection can
make the routing fail in FACE-2 We need planar graphs
36
S D C A B
Hybrid Position-Based Routing Algorithms
Dilemma:
Greedy algorithms are efficient but unreliable
Face algorithm are reliable but inefficient Idea!
Join both and make a hybrid
E.g., GEDIR-FACE-2-GEDIR (GFG)
Use GEDIR by default When local minimum M is reached switch to FACE-2 Route with FACE-2 until reaching N closer to destination than M
Other examples: Greedy Perimeter Stateless Routing (GPSR), AFR, GOAFR+, …
37
Some “Recently” Discovered Failures
The following
algorithms cannot cope with this case
GPSR GOAFR+
38
S D A B C E F P P' f1 f2
39
Localized Routing Scheme
Routing Scheme
Routing Algorithm + Pre-processing algorithm
It is localized if:
It uses information of the node where it runs Information of neighbors that can be reached in up to n
hops (n constant)
Information of a constant k number of additional
nodes
40
The Unit Disk Graph Model
P and Q are neighbors if and only if
|PQ| <= r
Being r some arbitrary radius
When r = 1 We have UDG
Not a very realistic model
Though very good to take (theoretical) conclusions…
41
Planarization Approaches
Gabriel Graph Relative Neighborhood Graph Triangulations And a couple of questions
How do we know whether the graph is good? How do we know whether the routing algorithm is
good?
42
Gabriel Graph
43
A B C
The gray Area must be empty of nodes
Relative Neighborhood Graph
44
A B C
The gray Area must be empty of nodes
Spanning-Ratio
Gabriel Graph and Relative Neighborhood Graph are Very
Simple
Yet, they are not good sub-graphs! Why?
H is the sub-graph (GG or RNG)
G is the original graph
And is the length of the shortest path between any source-destination pair SD
t-spanner is:
45
ΠG(S,D)
max
∀S,D∈V
ΠH (S, D) ΠG (S, D)
- ≤ t
Competitive-Ratio
A is the algorithm we are measuring means the same as before While the spanning-ratio has to do with the graphs The competitive-ratio has to do with the algorithms Question?
How efficient are localized routing schemes?
46
ΠG(S,D)
competitive-ratio(RS) = max
∀S,D∈V
AG (S, D) ΠG (S, D)
Answer: Not Much!
Routing cost can
grow to Ω(c2), when c is the best cost
47
Delaunay Triangulation
A better planarization algorithm
48
Triangulations
Unfortunately one cannot create a Delaunay
Triangulation in a wireless network
Why?
Use Unit DT?
Very inefficient Why?
Then, a Localized Delaunay Triangulation
Not a perfect DT, but something that seems like one… And keeps a good spanning-ratio
49
Restricted Delaunay Graph
50
Algorithm 1 Algorithm that creates RDG
E(A) ← {AB|AB ∈ UDel(A)} for all edge AB ∈ E(A) do for all C ∈ N(A) do if A, B ∈ N(C) and AB / ∈ UDel(C) then Delete edge AB from E(A) end if end for end for
A Visual Comparison of Subgraphs
51
DT RNG GG PLDel UDG
Some Pitfalls
A, B, X and Y fail to detect the intersection
52
Some Pitfalls
Obstruction causes unidirectional edge in GG
53
A B C A B C
Some Pitfalls
Obstruction causes disconnection
54
A B C D A B C D
Some Pitfalls
Location error creates unidirectional edge
55
A B C' C A B C' C
Conclusions
Topological Routing inherits from IP routing
Requires no additional material (e.g., GPS)
But, can require collection of arbitrarily distant information
Probably OLSR, AODV and DSR are the most representative cases Position-based routing
Has two components: the algorithms and the graphs
Usually based on very simple ideas
Typically requires extra hardware (GPS)
Might fail in some cases
56