Unicast Routing in Mobile Ad-Hoc Networks Sajith Balraj Sumesh John Philip on February 29, 2000 Overview • Introduction • MaNet Protocols • Proactive & Hybrid Protocols – WRP/GSR/FSR/LAR – ZRP • Reactive Protocols – DSR/DSDV/AODV • Challenges in Ad-Hoc Networks • References Mobile Ad-Hoc Network • Collection of mobile nodes forming a temporary network • No centralized administration or standard support services • Each Host is an independent router • Hosts use wireless RF transceivers as network interface • Conferences/Meetings • Search and Rescue • Disaster Recovery • Automated Battlefields MaNet Issues • • • • • • Lack of a centralized entity Network topology changes frequently and unpredictably Channel access/Bandwidth availability Hidden/Exposed station problem Lack of symmetrical links Power limitation – Multipath Fading – Doppler Effect MaNet Protocols • Proactive Protocols – Table driven – Continuously evaluate routes – No latency in route discovery – Large network capacity to keep info. current – Most routing info. 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 commn. Conventional Routing Protocols ??? • DBF shows a degradation in performance • Slow convergence due to “Count to Infinity” Problem • Creates loops during node failure, network partition or congestion • Protocols that use flooding techniques create excessive traffic and control overhead MaNet Protocol Considerations • • • • Simple, Reliable and Efficient Distributed but lightweight in nature Quickly adapt to changes in topology and traffic pattern Protocol reaction to topology changes should result in minimal control overhead • Bandwidth efficient • Mobility Management involving user location management and Hand-off management Wireless Routing Protocol (WRP) • A path-finding algorithm • Utilizes information regarding the the length and the predecessor-to-dest in the shortest path to each destination • Eliminates the “Count to Infinity” Problem and converges faster • An Update message is sent after processing updates from neighbors or a change in link to a neighbor is detected • Each route update from neighbor k causes route entries of other neighbors that use k to be re-computed The Algorithm • Each node i maintains a Distance table (iDjk), Routing table (Destination Identifier, Distance iDj, Predecessor Pj, the successor Sj and a marker tag), link cost table (Cost, Update Period) , message retransmission list (Seq. No., Counter, Acknowledgement flag, Update List) • Listen for updates/ACKs which include i in the response list. Acknowledge each update • Process the Distance table entries. Compute Djb = Dkb + kDj . Update predecessor as reported by k • Update own Distance and predecessor information • Choose neighbor p such that the path from p to j does not include i and iDjp <= iDjx and iDyp <= iDyx • Broadcast new update message. Delete stale entries from MRL for new updates. Decrement counter for all entries in list. • Retransmit MRL entry when counter hits zero, setting response list of update message to those neighbors who have not yet acknowledged • Lack of NULL updates for given HelloInterval indicate change in link to a neighbor. WRP Example Performance Measurements Comparison against DBF and ILS • For a single resource failure, WRP outperforms DBF in terms of number of steps and control overhead • Performance of WRP better for resource recoveries in terms of number of control messages • Average number of control messages least for WRP with node mobility • Average message length comparable to DBF and ILS in most cases Global State Routing (GSR) • • • • Combination of Distance Vector and Link State Global Network Topology stored in a Table Topology Table broadcast to immediate neighbors only Link State/Changes updates are time triggered The Algorithm • Ad-Hoc Network modeled as an undirected graph G(V,E) • L(i,j) formed when D(i,j) less than or equal to RTr • A List and Three Tables are maintained at each Node i: Neighbor list Ai, Topology Table TTi [TTi.LS(j), TTi.SEQ(j)], Next Hop Table Nexti and Distance Table Di • Initialize Ai, TTi. Use pkt.SEQ(j) to update TTi.SEQ(j) • Compute shortest path tree rooted at i. Rebuild the Routing Table • Broadcast information to neighbors periodically Performance Measurements • Routing Inaccuracy : – Link State reacts fastest to topology changes; GSR still outperforms DBF • Control Overhead : – Link State has maximum overhead since it is event triggered – Overhead is constant for GSR & DBF • Mobility Impact : – No impact on control overhead for GSR & DBF – Routing inaccuracy increases for all schemes, but least for ILS Performance Measurements cont. • Update Interval : – Routing inaccuracy may be improved or degraded with change in update interval • Radio Range : – Routing inaccuracy decreases for larger transmission ranges Advantages/Disadvantages of GSR • Advantages : – Avoids Flooding for disconnects/reconnects – Updates are time triggered than event triggered – Greatly reduces control overhead • Disadvantages : – Hogs bandwidth since entire topology table is broadcast with each update – Link state latency depends on update interval • Can GSR be modified to rectify it’s drawbacks ? Fisheye State Routing • The network is logically divided into “Fisheye” circles with respect to each node. The scope of the circle may be defined in terms of number of hops • Reduction in update message achieved by using different exchange periods for different entries in the table • Creates larger latencies for stations that are far • Routes become progressively accurate as the packet gets closer to the destination • FSR scales well to large networks, by keeping the LS exchange overhead low FSR cont. Zone Routing Protocol • A Hybrid Routing Protocol • A Zone is defined for each node • Proactive maintenance of topology within a zone (IARP) Distance Vector or Link State • Reactive query/reply mechanism between zones (IERP) With Route Caching : Reactive Distance Vector W/O Route Caching : Source Routing • Uses ‘Bordercast’ instead of neighbor broadcast • Neighbor Discovery/Maintenance (NMD) and Border Resolution Protocol (BRP) used for query control, route accumulation etc. ZRP Example 1 Hop 2 Hops Multi Hops B F A C D E G H Zone Routing Protocol cont. • Routing Zone and IntrAzone Routing Protocol – Zone Radius may be based on hop count – Identity and distance of each Node within the Zone is proactively maintained • The Interzone Routing Protocol – Check if destination is within the routing zone – Bordercast a route query to all peripheral nodes – Peripheral nodes execute the same algorithm Zone Routing Protocol cont. • Route Accumulation : – Provide reverse path from discovery node to source node – May employ global caching to reduce query packet length • Query Detection/Control : – Terminate Query thread in previously queried regions – Intermediate nodes update a Detected Queries Table[Query Source, ID] • Route Maintenance may be reactive or proactive Location Aided Routing (LAR) • A Modified Flooding Algorithm • Utilizes location information of mobile hosts using a GPS for route discovery • 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 Schemes D(xd,yd) D(xd,yd) R = v(t-t0) N I N I J S (xs,ys) Scheme 1 J S (xs,ys) Scheme 2 LAR cont. • 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 cont. • 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 – None zero δ increases probability of route discovery Performance Comparison • Scheme 2 performs better than Scheme 1 and Flooding • For low transmission ranges and degree of connectivity, LAR schemes are comparable to Flooding • Routing overhead increases with increase in location error • Impact of location error more on Scheme 2 than Scheme 1 • “Local Search” may be employed by intermediate nodes to reconstruct routes, thus reducing “request zone” area and thereby reducing routing overhead Destination-Sequenced Distance Vector Routing • Protocol Overview • Route Advertisements • Routing Table Entry Structure Protocol Overview • Each Routing Table List all destinations and number of hops to each • Each Route is tagged with a sequence number originated by destination • Updates are transmitted periodically and when there is any significant topology change • Routing information is transmitted by broadcast Route Table Entry Structure • Destination’s Address • Number of hops required to reach the destination • Destination Sequence Number Responding to Topology Changes • Broken links indicated by • Any route through a hop with a broken link is also assigned • routes are immediately broadcast • Sequence number of Destination is incremented and information is broadcast • Nodes with same or higher sequence number broadcast their metric information • Limit broadcast by “full dump” and “incremental” Route Selection Criteria • Route broadcast are asynchronous events • Fluctuations are caused due to possibility of receiving routes with worse metric first • Solution is maintain routing tables, one for routing and one for broadcast Example of DSDV Example of DSDV Example of DSDV Example of DSDV Example of DSDV Ad-Hoc On-Demand Distance Vector Routing • • • • • • • Protocol overview and objectives Path Discovery Reverse Path Setup Forward Path Setup Route Table Management Path Maintenance Local Connectivity Management Protocol Overview and Objectives • Pure on-demand protocol • Node does not need to maintain knowledge of another node unless it communicates with it • Broadcast discovery packets only when necessary • Distinguish between local connectivity and general topology maintenance • To disseminate Information about changes in local connectivity to those neighboring nodes that are likely to need it Path Discovery • Initiated whenever nodes want to communicate • Route Request packets are broadcast • RREQ format < source_addr, source_sequence-# , broadcast_id, dest_addr, dest_sequence_#, hop_cnt > • RREQ uniquely identified by <source_addr , broadcast_id> Path Discovery Cont. • Broadcast id incremented with every RREQ • Neighboring nodes satisfy RREQ by sending RREP or broadcast RREQ after incrementing hop_cnt • Each intermediate node keeps following information – Destination Address – Source Address – Broadcast_id Path discovery Cont. – Expiration time for reverse path entry – Source node’s sequence number Reverse Path Setup • Source sequence number is used to maintain freshness about reverse route to source • Destination number specified for freshness of route before accepted by source • Reverse path setup by having link to neighbor Forward Path Setup • Node processing on reception of RREQ – checks if the route is current by comparing dest_seq# – if route is current node unicasts RREP back to neighbor from which it received the RREQ • RREP contains <source_addr, dest_addr, dest_sequence_#, hop_cnt,lifetime> • Node propagates RREP back to source • Updates information on reception of subsequent RREPs Forward Path Setup Route Table Management • Route Request Expiration Timer for purging reverse paths which do not lie on sourcedestination route • Route Caching Timeout for time after which the route is considered invalid • Active_timeout Period used to determine if neighboring node is active Route Table Management • Route Table entry – Destination – Next Hop – Number of hops (metric) – Sequence numbers of Destination – Active Neighbors for this route – Expiration time for the route table entry Path Maintenance • When dest node or intermediate node moves a special RREP is sent • When next hop become unreachable the upstream node sends propagates RREP with fresh sequence number and hop cnt • restart route discovery process from source on receipt of RREP Local Connectivity Management • Node learn of their neighbors in following way – on receipt of broadcast message – on receipt of hello message Dynamic Source Routing • Overview – Constructs a source route in packet header listing source route – Each host maintains a route cache – Route discovery used for routes not in cache Route Discovery • • • • Route Request Packet Route Reply Packet Route Record Unique Request id Route Discovery • Possible scenarios on receipt of route request packet – discard packet if <initiator address, request id> already seen – if host already listed then discard packet – if target address is same as host address then obtain reverse route from route record and send route reply – add host address in case of none of the above Route Maintenance • Route error packet sent on detection of break containing addresses on both sides of error, the host that detected the error and the host to which it was trying to send the packet • All upstream node then deletes routes with that particular hop Optimizations • • • • Full Use of Route Cache Piggy Backing on Route Discoveries Reflecting Shorter Routes Improved Handling of errors Full Use of Route Cache • Each forwarding host can add route information to cache • Nodes can operate in promiscuous mode and add information to cache from any packets that they hear • Each intermediate node having a route can send a route reply packet Piggy Backing on Route Discoveries • Data is piggybacked on Route Request Packet and Route Reply Packet (like SYN for TCP) • While piggybacking on Route Request and intermediate node send Route Reply propagate Route Request with data Reflecting Shorter Routes • D on receipt of packet from B can modify cache and send route reply Improved Handling of errors • In scenario when network becomes partitioned buffer packets and use exponential backoff • Use promiscuous mode to remove entries Performance Comparison of AODV and DSR • DSR has access to significantly greater amount of routing information than AODV by virtue of source routing and promiscuous listening • DSR replies to all requests reaching a destination from a single request cycle whereas AODV only replies once thereby learning only one route • In DSR no particular mechanism to delete stale routes unlike AODV • In AODV the route deletion causes all the nodes using that link to delete it, but in DSR only the nodes on that particular part are deleted Performance Comparison of AODV and DSR • Both protocols do not perform any load balancing • Routing load in DSR is less than AODV but in terms of bits the difference is less • In AODV the path discovery is mostly due to RREQ( but in RREP & RERR’s but in terms of network load both of them are nearly the same) • Both protocols use hop-wise determination of routes Challenges in Ad-hoc Design • Protocols still in Nascent Stage, analysis for which protocol does well in which scenario • QOS issues in Ad-hoc • TCP performance over Ad-hoc • Integration of Ad-Hoc Networks in Internet • Multicasting in Ad-hoc Networks References • S. Murthy and J.J Garcia Luna Aceves, “A Routing Protocol for Packet Radio Networks”, Proc. IEEE Mobicom, Nov. 1995 • A. Iwata, C.C. Chiang, G. Pei, M. Gerla and T. W. Chen, “Scalable Routing Strategies for Ad-Hoc Wireless Networks”, IEEE journal on Selected Areas in Communcations, Aug. 1999 • M. Gerla and T. W. Chen, “Global State Routing : A new routing scheme for Ad-Hoc wireless networks”, Proc. IEEE ICC ‘98 • Z. J. Haas, M. R. Pearlman, “The Zone Routing Protocol for Ad-Hoc networks”, Internet Draft, Aug. 1998 • Y. B. Ko, N. H. Vaidya, “Location Aided Routing in Ad-Hoc networks”, Proceedings of ACM/IEEE Mobicom’98, Dallas, TX, Oct. 1998 References • Charles Perkin's Home Page • http://www.srvloc.org/charliep/charliep.html • Routing in Ad Hoc Networks of Mobile Hosts http://phantom.me.uvic.ca/clesiuk/thesis/reports/adhoc/adhoc.htm l#E18E3 • Wireless Adaptive Mobility LAB, UCLAhttp://www.cs.ucla.edu/NRL/wireless/ • Monarch Project Research Papershttp://www.monarch.cs.cmu.edu/papers.html • Papers on Mobile Computing http://db.nthu.edu.tw/paper/Mobile/ • Simulation Environment for an Ad-Hoc Wireless Network Running the AODV Routing Algorithm References • http://www.ctr.columbia.edu/~angin/e6950/sameh/aodv_final.html • ADHOC Networks Presentation http://www.ittc.ukans.edu/~eshwar/eecs845/intro.html • Mobile Ad hoc Networking http://www.varium.com/~pso/AdhocNetworking.html • Paper Collection on Ad-hoc Networks http://147.46.59.102/~imhyo/papers/papers.html • Ad-Hoc Networking Resource Page http://147.46.59.102/~imhyo/papers/papers.html • Papers on Mobile Computing http://www-sor.inria.fr/~aline/mobile/biblio.html • Papers on Ad-hoc Multihop Wireless Networks http://www.ics.uci.edu/~atm/adhoc/paper-collection/papers.html