Important Note This presentation is based on the following book - - PowerPoint PPT Presentation

important note
SMART_READER_LITE
LIVE PREVIEW

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;


slide-1
SLIDE 1
slide-2
SLIDE 2

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

slide-3
SLIDE 3

Outline of the Presentation

 Routing metrics  Topological-Based Routing

 DSDV

, OLSR, DSR, AODV , DYMO  Geographical-Based Routing

 Routing algorithms  Pre-processing algorithms  Pitfalls

3

slide-4
SLIDE 4

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

slide-5
SLIDE 5

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

slide-6
SLIDE 6

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

slide-7
SLIDE 7

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

slide-8
SLIDE 8

8

slide-9
SLIDE 9

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

slide-10
SLIDE 10

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

slide-11
SLIDE 11

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

slide-12
SLIDE 12

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

slide-13
SLIDE 13

Flooding of TC Messages

 Based on the

topology collected, nodes compute routing tables

 One hop at a time

13

slide-14
SLIDE 14

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

slide-15
SLIDE 15

Routing Steps

 Route discovery simplified with discrete events

A B D C S 1 2 3 3 4 2 1

15

slide-16
SLIDE 16

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

slide-17
SLIDE 17

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

slide-18
SLIDE 18

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

slide-19
SLIDE 19

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

slide-20
SLIDE 20

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

slide-21
SLIDE 21

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

slide-22
SLIDE 22

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

slide-23
SLIDE 23

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

slide-24
SLIDE 24

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

slide-25
SLIDE 25

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

slide-26
SLIDE 26

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

slide-27
SLIDE 27

27

slide-28
SLIDE 28

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

slide-29
SLIDE 29

Some (Greedy) Routing Algorithms

 Greedy Algorithm  Compass Routing Algorithm  GEDIR Algorithm  There are many others!

 E.g., MFR, NC

29

slide-30
SLIDE 30

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

slide-31
SLIDE 31

Which Ones Are Loop-Free?

 Compass is also not

loop-free

 Worse: loops can be

arbitrarily long

G D E H F

31

slide-32
SLIDE 32

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

slide-33
SLIDE 33

Algorithm FACE-1

33

S D P1 P2 P3 P4 f1 f2 f3 f4 f5

slide-34
SLIDE 34

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

slide-35
SLIDE 35

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

slide-36
SLIDE 36

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

slide-37
SLIDE 37

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

slide-38
SLIDE 38

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

slide-39
SLIDE 39

39

slide-40
SLIDE 40

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

slide-41
SLIDE 41

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

slide-42
SLIDE 42

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

slide-43
SLIDE 43

Gabriel Graph

43

A B C

The gray Area must be empty of nodes

slide-44
SLIDE 44

Relative Neighborhood Graph

44

A B C

The gray Area must be empty of nodes

slide-45
SLIDE 45

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
slide-46
SLIDE 46

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)

slide-47
SLIDE 47

Answer: Not Much!

 Routing cost can

grow to Ω(c2), when c is the best cost

47

slide-48
SLIDE 48

Delaunay Triangulation

 A better planarization algorithm

48

slide-49
SLIDE 49

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

slide-50
SLIDE 50

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

slide-51
SLIDE 51

A Visual Comparison of Subgraphs

51

DT RNG GG PLDel UDG

slide-52
SLIDE 52

Some Pitfalls

 A, B, X and Y fail to detect the intersection

52

slide-53
SLIDE 53

Some Pitfalls

 Obstruction causes unidirectional edge in GG

53

A B C A B C

slide-54
SLIDE 54

Some Pitfalls

 Obstruction causes disconnection

54

A B C D A B C D

slide-55
SLIDE 55

Some Pitfalls

 Location error creates unidirectional edge

55

A B C' C A B C' C

slide-56
SLIDE 56

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