Dynamically Adaptive Multipath Routing based on AODV Perumal Sambasivam Ashwin Murthy Elizabeth M. Belding-Royer Department of Computer Science University of California, Santa Barbara peru, ashwin, ebelding @cs.ucsb.edu Abstract— Mobile ad hoc networks are typically char- acterized by high mobility and frequent link failures that result in low throughput and high end-to-end delay. To reduce the number of route discoveries due to such broken paths, multipath routing can be utilized so that alternate paths are available. Current approaches to multipath routing make use of pre-computed routes determined during route discovery. These solutions, however, suffer during high mobility because the alternate paths are not actively maintained. Hence, precisely when needed, the routes are often broken. To overcome this problem, we present an adaptive multipath solution. In this approach, multiple paths are formed during the route discovery process. All the paths are maintained by means of periodic update packets unicast along each path. These update packets measure the signal strength of each hop along the alternate paths. At any point of time, only the path with the strongest signal strength is used for data transmission. In this paper, we present two variations of our protocol and evaluate both with respect to two previously published multipath routing protocols. Simulation results show that the proposed solutions result in significant performance improvement. I. I NTRODUCTION AND MOTIVATION Ad hoc networks are characterized by dynamic topol- ogy, high node mobility, low channel bandwidth and limited battery power. In these scenarios, it is essential to perform routing with maximal throughput and, at the same time, with minimal control overhead. Several on- demand routing protocols have been proposed for ad hoc networks. In such protocols, nodes build and maintain routes as they are needed. Examples of these protocols include the Dynamic Source Routing (DSR) [1] and the Ad hoc On-Demand Distance Vector (AODV) routing protocol [2]. These protocols initiate a route discovery process whenever a node needs a route to a particular destination. In AODV, for example, the source broadcasts a Route Request (RREQ) packet in the network to search for a route to the destination. When a RREQ reaches either the destination or an intermediate node that knows a route to the destination, a Route Reply (RREP) packet is unicast back to the source. This establishes a path between the source and the destination. Data is transfered along this path until one of the links in the path breaks due to node mobility. The source is informed of this link failure by means of a Route Error (RERR) packet from the node upstream of the failed link. The source node then re-initiates a route discovery process to find a new route to the destination. One observation of AODV is that, though the source ac- tually discovers multiple paths during the route discovery process, it chooses only the best route and discards the rest. Also, frequent route breaks cause the intermediate nodes to drop packets because no alternate path to the destination is available. This reduces the overall throughput and the packet delivery ratio. Moreover, in high mobility scenarios, the average end-to-end delay can be significantly high due to frequent route discoveries. Multipath on-demand protocols try to alleviate these problems by computing and caching multiple paths obtained during a single route discovery process. The performance of these protocols tends to increase with node density; at higher node densities, a greater number of alternate paths are available. In such protocols, link failures in the primary path, through which data transmission is actually taking place, cause the source to switch to an alternate path instead of initiating another route discovery. A new route discovery occurs only when all pre-computed paths break. This approach can result in reduced delay since packets do not need to be buffered at the source when an alternate path is available. Current multipath routing protocols cache multiple routes obtained during the route discovery process [1], [3]. The best path, i.e., the path with the shortest hop count, is chosen as the primary path for data transfer while other