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: u ( d ) = d α + c (1) A different approach (g is available battery in [0,1]): (2) f ( a ) = 1/ g ( a ) Stojmenovic and Lin classify algorithms minimizing (1) as power-aware, (2) and cost-aware 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 2 A B 3 1 S D 4 3 1 2 C 15
Routing Steps Node checks its route cache If path not available, send Route Request Upon reception of Route Request (1 st 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” S S, A S, A, B S A B D 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? Reactive Source Routing DSR X AODV OLSR DSDV Link-state 23
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 or 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 A Caching of routes can make the E network very unfair! G D F Node G will get H all the traffic B C 26
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 D GEDIR fails With a loop of 2 nodes M S 30
Which Ones Are Loop-Free? Compass is also not loop-free E Worse: loops can be H arbitrarily long D F G 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 f 1 D f 5 f 4 P 3 P 1 S P 2 P 4 f 3 f 2 33
Algorithm FACE-1 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 34
FACE-2 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 35
Will FACE-1 and FACE-2 Always Converge? Consider the path from D S to D The intersection can make the routing fail in FACE-2 C S A We need planar graphs B 36
Recommend
More recommend