510 likes | 668 Views
Routing and Location Management in Mobile Ad-hoc Networks. By Sumesh J. Philip (09/20/2001). Contents. Introduction Routing Protocols Table Driven (WRP, DSDV) On Demand (DSR, AODV, TORA) Performance Evaluation Geographic (LAR, DREAM)
E N D
Routing and Location Managementin Mobile Ad-hoc Networks By Sumesh J. Philip (09/20/2001)
Contents • Introduction • Routing Protocols • Table Driven (WRP, DSDV) • On Demand (DSR, AODV, TORA) • Performance Evaluation • Geographic (LAR, DREAM) • Location Management for Large Scale Networks (GLS, SLURP, SLALOM) • References
Collection of mobile nodes forming a network No centralized administration or standard support services Highly co-operative, each host is an independent router Hosts use wireless RF transceivers as network interface Conferences/Meetings Search and Rescue Disaster Recovery Automated Battlefields Mobile Ad-Hoc Network
MaNet Constraints and Issues • Lack of a centralized entity • Network topology changes frequently and unpredictably • Routing and Mobility Management • Channel access/Bandwidth availability • Hidden/Exposed station problem • Lack of symmetrical links • Power limitation
Conventional Routing Protocols ? • Not designed for highly dynamic, low bandwidth networks • “Count-to-infinity” problem and slow convergence • Loop formation during temporary node failures and network partitions • Protocols that use flooding techniques create excessive traffic and control overhead
Proactive Protocols Table driven Continuously evaluate routes No latency in route discovery Large capacity to keep network information current A lot of routing information may never be used! Reactive Protocols On Demand Route discovery by some global search Bottleneck due to latency of route discovery May not be appropriate for real-time communication MaNet Protocols
Wireless Routing Protocol (WRP) • A Path finding algorithm; uses predecessor to destination in the shortest path • Eliminates the “Count-to-infinity” problem and converges faster • Neighbor connectivity via periodic “Hello” messages • Update messages sent upon detecting a change in neighbor link
Each node i maintains a Distance table (iDjk), Routing table (Destination Identifier, Distance iDj ,Predecessor Pj ,the successor Sj), link cost table (Cost, Update Period) • Processing Updates and creating Route Table • Update from k causes i to re-compute the distances of all paths with k as the predecessor • For a destination j, a neighbor p is selected as the successor if p->j does not include i, and is the shortest path to j
(10, I) (10, B) Operation (0, J) J 10 (2, K) B X 5 10 I 1 1 (2, K) 1 K (1, K) (11, B) (, K)
Destination Sequenced Distance Vector (DSDV) • Each Route is tagged with a sequence number originated by destination • Hosts perform periodic & triggered updates, issuing a new sequence number • Sequence number indicates the “freshness” of a route • Routes with more recent sequence numbers are preferred for packet forwarding • If same sequence number, one having smallest metric used
Topology changes • Broken links assigned a metric of ∞ • Any route through a hop with a broken link is also assigned a metric of ∞ • “∞ routes” are assigned new sequence numbers by any host and immediately broadcast via a triggered update • If a node has an equal/later sequence number with a finite metric for an “∞ route”, a route update is triggered
Damping Fluctuations • Routes preferred if later sequence numbers, or smaller metric for same sequence numbers • Problem : Table fluctuations if worse metrics are received first, causing a ripple of triggered updates • Solution : Use average settling time as a parameter before advertising routes • Tantamount to using two tables, one for forwarding packets and another for advertising routes
Dynamic Source Routing (DSR) • Each packet header contains a route, which is represented as a complete sequence of nodes between a source-destination pair • Protocol consists of two phases • route discovery • route maintenance • Optimizations for efficiency • Route cache • Piggybacking • Error handling
DSR Route Discovery • Source broadcasts route request (id, target) • Intermediate node action • Discard if id is in <initiator, request id> or node is in route record • If node is the target, route record contains the full route to the target; return a route reply • Else append address in route record; rebroadcast • Use existing routes to source to send route reply; else piggyback
DSR Route Maintenance • Use acknowledgements or a layer-2 scheme to detect broken links; inform sender via route error packet • If no route to the source exists • Use piggybacking • Send out a route request and buffer route error • Sender truncates all routes which use nodes mentioned in route error • Initiate route discovery
Optimizations for efficiency • Route Cache • Use cached entries for during route discovery • Promiscuous mode to add more routes • Use hop based delays for local congestion • Must be careful to avoid loop formation • Non propagating RREQs
Optimizations • Piggybacking • Data piggybacked on route request Packet • Problem : route caching can cause piggybacked route replies to be discarded • Improved Error Handling • when network becomes partitioned, buffer packets and use exponential back-off for route discovery • Listen to route replies promiscuously to remove entries • Use negative information to ignore corrupt replies
Ad-hoc On DemandDistance Vector (AODV) • On demand protocol that uses sequence numbers (DSDV) to build loop free routes • Key difference from DSR is that source route is no longer required • Path discovery • Reverse Path setup • Forward path setup • Table management and path maintenance • Local connectivity management
AODV Reverse path setup • Counters : Sequence number, Broadcast id • Reverse Path • Broadcast route request (RREQ) < source_addr, source_sequence-# , broadcast_id, dest_addr, dest_sequence_#, hop_cnt > • RREQ uniquely identified by <source_addr , broadcast_id> • Route reply (RREP) if neighbor is the target, or knows a higher dest_sequence_# • Otherwise setup a pointer to the neighbor from whom RREQ was received • Maintain reverse path entries based on timeouts
AODV Forward path setup • RREQ arrives at a node that has current route to the destination ( larger/same sequence number) • unicast request reply (RREP)<source_addr, dest_addr, dest_sequence_#, hop_cnt,lifetime> to neighbor • RREP travels back to the source along reverse path • each upstream node updates dest_sequence_#,sets up a forward pointer to the neighbor who transmit the RREP
X X AODV Operation D S
Protocol Maintenance • Route Table management • Route request expiration timer purges reverse paths that do not lie on active route • Active neighbor relays a packet within active_route_timeout • Route cache timer purges inactive routes • New routes preferred if higher destination sequence number or lower metric
AODV Maintenance • Path maintenance • Upon link breakage, affected node propagates an unsolicited RREP <dest_sequence_#+1, ∞> to all upstream nodes • Source may restart route discovery process • Local connectivity management • Broadcasts used to update local connectivity information • Inactive nodes in an active path required to send “hello” messages
Temporally OrderedRouting Algorithm (TORA) • Link reversal algorithm • Destination oriented Directed Acyclic Graph (DAG) • Full/Partial reversal of links • Assigns a reference level (height) to each node • Adjust reference level to restore routes on link failure • Multiple routes to destination; route optimality not important • Query, Update, Clear packets used for creating, maintaining and erasing routes
QRY UPD QRY UPD UPD UPD QRY UPD QRY UPD UPD Creating Routes A B QRY E C D G (DEST) F H
Route Maintenance UPD A B UPD E C UPD D G (DEST) X F H
Performance Analysis • Simulation Environment • Network Simulator, 50 nodes in a 1500x300m rectangular flat grid • Random waypoint mobility • Constant bit rate traffic • Address resolution : ARP implementation in BSD Unix • Medium Access Control : IEEE 802.11 • Physical Layer model : combines both free space and two ray ground reflection model • Protocols studied : DSDV(SQ), AODV, DSR, TORA
Performance Analysis • Metrics • Packet Delivery Ratio : Ratio of number of packets generated by CBR sources to that received by CBR sinks at destination • Routing Overhead : number of routing packets sent; each transmission counts as one transmission • Path Optimality : Difference between length of actual path took and the length of the shortest path
Packet Delivery Ratio • 95-100% in most cases for DSR, AODV • Stale route entries in DSDV cause drops • Short lived loops in TORA as part of link reversal • All protocols perform well when there is low node mobility
Routing Overhead (packets) • Route caching and non-propagating RREQs in DSR • TORA • Sum of mobility dependant, independent overhead for TORA • Congestive collapse • Nearly constant for DSDV due to periodic updates
Routing Overhead (Bytes) • DSR more expensive than AODV except at high mobility • Smaller packets in AODV, may be more expensive in terms of media access, power and network utilization
Path Optimality • DSDV, DSR use routes close to optimal • TORA not designed to find shortest path • TORA, AODV use paths close to optimum when node mobility is low
Geographic Routing • Not many invariants to play with (IP address, local connectivity) • Nodes physically located closer likely to be connected by a small number of radio hops • Possible to obtain node location via a GPS system • Geographic forwarding • Packet header contains the destination’s location • Most forward with fixed radius
Distance Routing EffectAlgorithm for Mobility (DREAM) • Proactively disseminate location information • Distance Effect : • Closer nodes are updated more frequently • “age” field in location update • Mobility Effect : • rate of location update controlled by mobility • No bandwidth wastage for no movement • Geographic forwarding • If no entry for destination in table, flood • Otherwise forward data to m neighbors in the direction of destination
Location Aided Routing (LAR) • On Demand protocol; used restricted flooding for locating destination • Flooding is restricted to a “request zone”, defined by an “expected zone” • A node forwards a route request only if it belongs to the “request zone” • Tradeoff between latency of route determination and message overhead • Resorts to flooding when prior information of destination is not available
LAR Scheme 1 • Source calculates the “expected zone”, defines a “request zone” in the request packet and initiates route discovery • Node I receiving the route request forwards the request if it falls inside the “request zone”, otherwise discards it • When destination receives the request, replies with a route reply including current location, time and average speed • Size of request zone is large at low and high node speeds
LAR Scheme 2 • Source calculates the distance Dists to destination (xd, yd) and initiates route discovery with both parameters • Node I calculates it’s distance Disti from (xd, yd) and forwards the request only if Disti<= Dists + δ, otherwise discards the request • Node I replaces Dists with Distibefore forwarding the request • Non zero δ increases probability of route discovery
LAR schemes D(xd,yd) D(xd,yd) R = v(t-t0) N I N I J J S (xs,ys) S (xs,ys) Scheme 1 Scheme 2
Issue of Scalability • The number of packets each node has to forward and the amount of state kept at each node grow slowly with the size of the network • Most existing protocols break down for large networks • Table driven • incur large overheads due to routing table maintenance • On-demand • flood the entire network with discovery packets, wastes network resources • long latency for discovery • Protocols which use geographic routing use global flooding to build tables or destination discovery; may not be scalable
Location Management C’s radio range A D F C G B E • A addresses a packet to G’s latitude, longitude • C only needs to know its immediate neighbors to forward packets towards G. • Geographic forwarding needs a location service!
Desirable Properties ofLocation service • Spread load evenly over all nodes. • Degrade gracefully as nodes fail. • Queries for nearby nodes stay local. • Per-node storage and communication costs grow slowly as the network size grows
sibling level-0 squares s n s s s s sibling level-1 squares s s sibling level-2 squares s s Grid Location Service (GLS) • s is n’s successorin that square. • (Successor is the node with “least ID greater than” n )
location table content location update GLS Updates ... Invariant (for all levels): For node nin a square, n’s successor in each sibling square “knows” about n. 9 ... 1 11 1 1 2 ... 3 11, 2 9 6 ... 23 29 2 16 ... 23, 2 7 6 ... ... ... 17 5 ... 26 25 ... ... ... 8 21 4 ... 19
GLS Query ... 9 ... 1 11 1 1 2 ... 3 11, 2 9 6 ... 23 29 2 16 ... 23, 2 7 6 ... ... ... 17 5 ... 26 25 location table content ... ... ... 8 21 4 query from 23 for 1 ... 19
Scalable Location based Routing Protocol (SLURP) • Hybrid Protocol that has a deterministic manner of discovering the destination • Each node selects a ‘home region’ using , which maintains the node’s current location • Nodes that wish to communicate with a node query its ‘home region’ using • Can use most forward with fixed radius without backward progression to send data, once location is known • Routing overhead
Protocol Operation [12] [10]
Scalable Location Management (SLALOM) • Define a hierarchy of grids : Order(3), Order(2), Order(1) • Assign a Order(1) ‘home region’ for each node in an Order(2) grid • Nodes that wish to communicate with another node query its ‘home region’ in their Order(2) grid • To reduce location update overhead, define ‘far’ and ’near’home regions; ‘near’ regions updated frequently • Routing overhead