Routing in Mobile Ad hoc Networks
Sumesh J. Philip CSE620 Fall 2004
Contents
Introduction to Ad hoc networks Conventional routing drawback
Table Driven (WRP, DSDV) On Demand (DSR, AODV, TORA) Performance Evaluation Location based routing (LAR, DREAM) Hybrid routing (ZRP) Summary
Mobile Ad hoc Network
Collection of mobile nodes forming a network Hosts use wireless RF transceivers as network interface
Omni directional (broadcast) Highly directional (point – point) Combination
Arbitrary movement and coverage pattern Connectivity in the form of random, multi-hop graphs Highly co-operative, each host is an independent router
Applications
“Ad hoc” – centric
Conferences/meetings Search and Rescue Automated battlefields Collecting information in large, dynamic, energy constrained networks (sensors) Increasing coverage and capacity
Data – centric
Revenue – centric
Constraints and Issues
No centralized administration or standard support services Frequent and unpredictable network topology changes 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 for DV Loop formation during temporary node failures and network partitions Protocols that use flooding techniques (for e.g. LS) create excessive traffic and control overhead
Ad hoc Routing Protocols
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 global search Bottleneck due to latency of route discovery May not be appropriate for real-time communication
Wireless Routing Protocol (WRP)
Predecessor to destination (next to last hop) in the shortest path used 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
Operation
(0, J)
J 1 K 10 B (10, (2, K) I)
X
5 10 1 (10, B) (2, K) 1
I
(, B) (11, K) (1, 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
DSDV Operation
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 Route cache Piggybacking Error handling
Optimizations for efficiency
DSR Route Discovery
Source broadcasts route request (id, target) Intermediate node action Discard if id is in or node is in route record Else append address in route record; rebroadcast If node is the target, route record contains the full route to the target; return a route reply 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 Expanding ring search
Optimizations
Piggybacking
Data piggybacked on route request Packet Problem : route caching can cause piggybacked data to be discarded 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
Improved Error Handling
Ad-hoc On Demand Distance 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 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) 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
AODV Operation
D
X
X
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 to all upstream nodes Source may restart route discovery process Broadcasts used to update local connectivity information Inactive nodes in an active path required to send “hello” messages
Local connectivity management
Temporally Ordered Routing 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
Creating Routes
A
UPD QRY C UPD QRY UPD QRY
B
UPD E
UPD QRY D
G (DEST)
F
UPD QRY UPD
H
Route Maintenance
UPD
A
UPD C
B
E
UPD
D
X
H
G (DEST)
F
Erasing Invalid Routes
Performance Analysis
Simulation Environment
Network Simulator, 50 nodes in a 1500x300m rectangular flat grid Random waypoint mobility (Average 10 m/sec) Constant bit rate traffic (UDP)
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-LL, 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 nonpropagating 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
Using Location Information
Several solutions for locating wireless devices
Location represented as {latitude, longitude, altitude}/{x,y,z}
GPS positioning, Cellular Network based RADAR, Cricket system
Outdoor environment
Indoor environment
Beacon algorithms for ad hoc networks
Ad hoc Positioning System (APS)
How to incorporate locations into routing ?
Distance Routing Effect Algorithm for Mobility (DREAM)
Proactively disseminate location information Distance Effect :
Closer nodes are updated more frequently “age” field in location update rate of location update controlled by mobility No bandwidth wastage for no movement If no entry for destination in table, flood Otherwise forward data to m neighbors in the direction of destination
Mobility Effect :
Routing policy
Example of Dream
How to determine ?
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 Disti before forwarding the request Non zero δ increases probability of route discovery
LAR schemes
D(xd,yd) R = v(t-t0) N I D(xd,yd)
N
I
J
S (xs,ys) S (xs,ys)
J
Scheme 1
Scheme 2
Zone Routing Protocol (ZRP)
Proactive/reactive protocols have scalability issues for large networks
Tables updates Flooding aspect
Zone routing
Zone (hop based) defined for each node Interior nodes, peripheral nodes Proactive topology maintenance within a zone (IARP) Reactive bordercast within zones (IERP)
ZRP example
Summary
Introduced ad hoc networks and multi- hop relaying in wireless environment Mobility imposes considerable challenge in routing
Rapidly dynamic topology Conventional routing protocols not designed to withstand such rapid changes
Proactive vs. Reactive protocols Presented the tip of an iceberg; literature is filled with routing protocols, performance studies etc.