Performance of Route Caching Strategies in Dynamic Source Routing

Similar documents
AODV-PA: AODV with Path Accumulation

Performance Comparison of Two On-demand Routing Protocols for Ad Hoc Networks Λ

IN a mobile ad hoc network, nodes move arbitrarily.

Performance Comparison of Two On-demand Routing Protocols for Ad-hoc Networks based on Random Way Point Mobility Model

DYNAMIC ROUTES THROUGH VIRTUAL PATHS ROUTING FOR AD HOC NETWORKS

A Graph-based Approach to Compute Multiple Paths in Mobile Ad Hoc Networks

Performance Analysis of Three Routing Protocols for Varying MANET Size

Performance Comparison of Ad Hoc Routing Protocols over IEEE DCF and TDMA MAC Layer Protocols

Routing in Ad Hoc Wireless Networks PROF. MICHAEL TSAI / DR. KATE LIN 2014/05/14

Gateway Discovery Approaches Implementation and Performance Analysis in the Integrated Mobile Ad Hoc Network (MANET)-Internet Scenario

QoS Routing By Ad-Hoc on Demand Vector Routing Protocol for MANET

ROUTE STABILITY MODEL FOR DSR IN WIRELESS ADHOC NETWORKS

3. Evaluation of Selected Tree and Mesh based Routing Protocols

A COMPARISON OF REACTIVE ROUTING PROTOCOLS DSR, AODV AND TORA IN MANET

Efficient On-Demand Routing for Mobile Ad-Hoc Wireless Access Networks

Analysis of TCP and UDP Traffic in MANETs. Thomas D. Dyer Rajendra V. Boppana CS Department UT San Antonio

Recent Researches in Communications, Information Science and Education

Performance of Ad-Hoc Network Routing Protocols in Different Network Sizes

Simulation Based Performance Analysis of Routing Protocols Using Random Waypoint Mobility Model in Mobile Ad Hoc Network

A Reliable Route Selection Algorithm Using Global Positioning Systems in Mobile Ad-hoc Networks

Minimizing the Routing Delay in Ad Hoc Networks through Route-Cache TTL Optimization

A Distributed Adaptive Cache Update Algorithm for the Dynamic Source Routing Protocol

IN a wireless ad hoc network, individual mobile nodes

Improving TCP Performance over Mobile Ad Hoc Networks by Exploiting Cross-Layer Information Awareness

IMPACT OF MOBILITY SPEED ON PROACTIVE AND REACTIVE ROUTING PROTOCOLS IN MOBILE ADHOC NETWORKS

Performance Analysis and Enhancement of Routing Protocol in Manet

A Performance Comparison of Multi-Hop Wireless Ad Hoc Network Routing Protocols. Broch et al Presented by Brian Card

LECTURE 9. Ad hoc Networks and Routing

Routing Protocols in MANETs

A Performance Comparison of Multi-Hop Wireless Ad Hoc Network Routing Protocols

Dynamic Load-Aware Routing in Ad hoc Networks

Routing Protocols in MANET: Comparative Study

PERFORMANCE EVALUATION OF DSR USING A NOVEL APPROACH

Efficient On-Demand Routing for Mobile Ad-Hoc Wireless Access Networks

Dynamic Source Routing in ad hoc wireless networks

Poonam kori et al. / International Journal on Computer Science and Engineering (IJCSE)

Experiment and Evaluation of a Mobile Ad Hoc Network with AODV Routing Protocol

A COMPARISON OF IMPROVED AODV ROUTING PROTOCOL BASED ON IEEE AND IEEE

A Study of Bellman-Ford, DSR and WRP Routing Protocols with Respect to Performance Parameters for Different Number of Nodes

Performance Evaluation of Various Routing Protocols in MANET

Performance Comparison of MANETs Routing Protocols for Dense and Sparse Topology

Performance Evaluation of Route Failure Detection in Mobile Ad Hoc Networks

Simulation & Performance Analysis of Mobile Ad-Hoc Network Routing Protocol

Efficient Hybrid Multicast Routing Protocol for Ad-Hoc Wireless Networks

Content. 1. Introduction. 2. The Ad-hoc On-Demand Distance Vector Algorithm. 3. Simulation and Results. 4. Future Work. 5.

DSR: The Dynamic Source Routing Protocol for Multi-Hop Wireless Ad Hoc Networks

Volume 3, Issue 6, June 2015 International Journal of Advance Research in Computer Science and Management Studies

A Highly Effective and Efficient Route Discovery & Maintenance in DSR

An Efficient Routing Approach and Improvement Of AODV Protocol In Mobile Ad-Hoc Networks

[Kamboj* et al., 5(9): September, 2016] ISSN: IC Value: 3.00 Impact Factor: 4.116

Performance Comparison of AODV, DSR, DSDV and OLSR MANET Routing Protocols

Performance Enhancement of Reactive on Demand Routing Protocol in Wireless Ad Hoc Network

BRICS: A Building-block approach for analyzing RoutIng protocols in ad hoc networks - a Case Study of reactive routing protocols

UCS-805 MOBILE COMPUTING Jan-May,2011 TOPIC 8. ALAK ROY. Assistant Professor Dept. of CSE NIT Agartala.

PERFORMANCE BASED EVALUATION OF DSDV, AODV AND DSR ROUTING PROTOCOLS IN MANET

Analysis of Black-Hole Attack in MANET using AODV Routing Protocol

PERFORMANCE BASED EVALUATION OF DSDV, AODV AND DSR ROUTING PROTOCOLS IN MANET

Research Paper GNANAMANOHARAN ET AL., INTERNATIONAL JOURNAL OF ADVANCED ENGINEERING TECHNOLOGY E-ISSN

Security Scheme for Malicious Node Detection in Mobile Ad Hoc Networks

A NEW ENERGY LEVEL EFFICIENCY ISSUES IN MANET

A Performance Comparison of Multi-Hop Wireless Ad Hoc Network Routing Protocols

Volume 2 No. 1 ISSN Journal of Emerging Trends in Computing and Information Sciences CIS Journal. All rights reserved.

Braving the broadcast storm: infrastructural support for ad hoc routing

G.Narasa Reddy, 2 A.Avanthi, 3 R.Prasanth Reddy 1

Performance Evaluation and Comparison of On-Demand Routing Protocols for Ad Hoc Networks: DSR, AODV, AOMDV, TORA

Impact of Node Velocity and Density on Probabilistic Flooding and its Effectiveness in MANET

ANewRoutingProtocolinAdHocNetworks with Unidirectional Links

Outline. CS5984 Mobile Computing. Taxonomy of Routing Protocols AODV 1/2. Dr. Ayman Abdel-Hamid. Routing Protocols in MANETs Part I

Overhead Analysis of Query Localization Optimization and Routing

Arvind Krishnamurthy Fall 2003

1 Multipath Node-Disjoint Routing with Backup List Based on the AODV Protocol

The Performance Impact of Traffic Patterns on Routing Protocols in Mobile Ad Hoc Networks

A Review of Reactive, Proactive & Hybrid Routing Protocols for Mobile Ad Hoc Network

Performance Evaluation and Comparison of AODV and AOMDV

A Performance Comparison of Multicast Routing Protocols In Ad hoc Networks

Study of Route Reconstruction Mechanism in DSDV Based Routing Protocols

Keywords: AODV, MANET, WRP

Adaptive local searching and caching strategies for on-demand routing protocols in ad hoc networks

Performance Evaluation of MANET through NS2 Simulation

An Extensive Simulation Analysis of AODV Protocol with IEEE MAC for Chain Topology in MANET

A Comparison of TCP Performance over Three Routing Protocols for Mobile Ad Hoc Networks Λ

Multicasting in Ad-Hoc Networks: Comparing MAODV and ODMRP

Dead Reckoning in Mobile Ad Hoc Networks

Node Density based Performance Analysis of Two Reactive Routing Protocols in Mobile Ad-hoc Networks

Dynamic Source Routing in Ad Hoc Wireless Networks

Appointed BrOadcast (ABO): Reducing Routing Overhead in. IEEE Mobile Ad Hoc Networks

The Effects of Route Information Initialization on Two On-demand Routing Algorithms for wireless Ad Hoc Networks *

Performance of Routing Protocols in Very Large-Scale Mobile Wireless Ad Hoc Networks

Security Scheme for Distributed DoS in Mobile Ad Hoc Networks

Abstract 1.1. OVERVIEW

Behaviour of Routing Protocols of Mobile Adhoc Netwok with Increasing Number of Groups using Group Mobility Model

ENERGY EFFICIENT MULTIPATH ROUTING FOR MOBILE AD HOC NETWORKS

Cache Timeout Strategies for on-demand Routing in MANETs

Throughput Analysis of Many to One Multihop Wireless Mesh Ad hoc Network

Implicit Source Routes for On-Demand Ad Hoc Network Routing

Enhancing the Performance of Mobile Ad Hoc Networks with the Aid of Internet Gateways 1

Figure 1: Ad-Hoc routing protocols.

Performance Evaluation of AODV, DSR, DYMO & ZRP in Cost 231 Walfisch-Ikegami Path Loss Propagation Model

Evaluation of Routing Protocols for Mobile Ad hoc Networks

Exploring the Behavior of Mobile Ad Hoc Network Routing Protocols with Reference to Speed and Terrain Range

Transcription:

Performance of Route Caching Strategies in Dynamic Source Routing Mahesh K. Marina Samir R. Das Department of Electrical & Computer Engineering and Computer Science University of Cincinnati Cincinnati, OH 45221 E-mail: mmarina,sdas@ececs.uc.edu Abstract On-demand routing protocols for mobile ad hoc networks utilize route caching in different forms in order to reduce the routing overheads as well as to improve the route discovery latency. For route caches to be effective, they need to adapt to frequent topology changes. Using an ondemand protocol called Dynamic Source Routing (DSR), we study the problem of keeping the caches up-to-date in dynamic ad hoc networks. Previous studies have shown that cache staleness in DSR can significantly degrade performance. We present and evaluate three techniques to improve cache correctness in DSR namely wider error notification, route expiry mechanism with adaptive timeout selection and the use of negative caches. Simulation results show that the combination of the proposed techniques not only result in substantial improvement of both application and cache performance but also reduce the overheads. 1 Introduction A mobile ad hoc network is a mobile, multi-hop wireless network with no stationary infrastructure. Dynamic topologies due to mobility and limited bandwidth and battery power make the routing problem in ad hoc networks more challenging than traditional wired networks. A key to designing efficient routing protocols for such networks lies in keeping the routing overhead minimal. A new class of on-demand routing protocols (e.g., DSR[10], AODV[13], TORA[12]) attempt to reduce routing overhead by only maintaining routes between nodes taking part in data communication. In these protocols, the source discovers routes on-demand by initiating a route discovery process. This process typically involves networkwide flooding of a route request and waiting for a route reply. Caching provides a mechanism for generating a route reply from an intermediate node en route to the destination. An intermediate node generating a reply also quenches the route request flood at that node and helps reduce the routing overhead to a large extent. Replies from caches also bring down the route discovery latency. This is similar to processor caches where caches reduce the access latency as well as bandwidth demand on the memory bus. The route caches are distributed across different nodes over the entire network. Leveraging caches in the mobile ad hoc networks brings up the challenge of keeping the distributed caches up-to-date even with frequent route changes. Utilizing cached information without robust mechanisms to keep it up-to-date can actually degrade performance and thus making caches counter-productive. Our goal in this paper is to develop and analyze effective caching strategies for the best overall performance. The majority of work related to route caches in mobile ad hoc networks focussed on Dynamic Source Routing (DSR)[10, 1], an on-demand protocol that uses source routing and makes aggressive use of route caches. However, the current specification of DSR lacks a mechanism to determine the relative freshness among routes in the route caches, or even to purge all stale routes from route caches effectively. Some performance studies[11, 6, 3] have observed that caches in DSR can report invalid routes frequently which affects performance negatively. In this paper, we reason further on the effects of caching on the performance of DSR. We present and evaluate three techniques to keep caches up-to-date in DSR. The remainder of the paper is organized as follows. Following section gives an overview of DSR. In section 3, we first point out some drawbacks of the existing caching model in DSR and then we present techniques to overcome those. We perform an evaluation of the proposed techniques in section 4 and follow it with related work and conclusions. 2 Dynamic Source Routing (DSR) Protocol The key feature of Dynamic Source Routing [10, 1] is the use of source routing, i.e., the sender knows the complete hop-by-hop route to the destination. These routes are stored in a route cache. The data packets carry the source route in the packet header.

When a node in the ad hoc network attempts to send a data packet to a destination for which it does not already know the route, it uses a route discovery process to dynamically determine such a route. Route discovery works by flooding the network with route request (also called query) packets. Each node receiving the request for the first time, rebroadcasts it, unless it is the destination or it has a route to the destination in its route cache. Such a node replies to the request with a route reply packet that is routed back to the original source. Route request and reply packets are also source routed. The request builds up the path traversed so far. The reply routes itself back to the source by traversing this path backwards. The route carried back by the reply packet is cached at the source for future use. If any link on a source route is broken (detected by a link-layer feedback resulting from the failure of an attempted data transmission over a link), a route error packet is generated. Route error is unicast back to the source using the part of the route traversed so far, erasing all entries in the route caches along the way that contain the broken link. A new route discovery must be initiated by the source, if this route is still needed and no alternate route is available in the cache. Several optimizations to this basic protocol have been proposed and have been evaluated to be very effective by the authors of the protocol [11]. They are as follows. (i) Salvaging: An intermediate node can use an alternate route from its own cache, when a data packet meets a broken link on its source route. (ii) Gratuitous route repair: A source node receiving an error packet, piggybacks the error in the following route request. This helps cleaning up the caches of other nodes in the network that may have the broken link in one of the cached source routes. (iii) Promiscuous listening: When a node overhears a packet not addressed to itself, it checks if the packet could be routed via itself to gain a shorter route. If so, the node sends a gratuitous reply to the source of the route with this new, better route. Aside from this, promiscuous listening helps a node to learn different routes without directly participating in the routing process. (iv) Non-propagating route requests: A node can perform a non-propagating (one-hop) route discovery before resorting to a network-wide flood. This optimization can reduce the routing overhead in cases where the neighbor caches have a route to the intended destination or when the destination is a neighbor. 3 Route Caching in DSR DSR aggressively uses route caching. By virtue of source routing, it is possible to cache every overheard route without causing loops. Any forwarding node caches any source route in a packet it forwards for possible future use. Also, the destination replies to all requests. Thus the source learns many alternate routes to the destination that are cached. Alternate routes are useful in case the primary (shortest) route breaks. In addition, any intermediate node on a route learns routes to the source and destination as well as other intermediate nodes on that route. Thus, a large amount of routing information is gathered and cached with just a single query-reply cycle. These cached routes may be used in replying to subsequent route queries. Replies from caches provide dual performance advantages. First, they reduce route discovery latency. Second, without replies from caches the route query flood will reach all nodes in the network (request storm). Cached replies quench the query flood early, thus saving on routing overheads. However, without an effective mechanism to remove stale cache entries, caches may contain routes that are invalid. Then, route replies may carry stale routes. Attempted data transmissions using stale routes incur overheads, generate additional error packets and can potentially pollute other caches when a packet with a stale route is forwarded or snooped on. Previous studies (e.g., [11, 6, 3]) have identified the stale route problem and its harmful effects. In the following, we identify three main trouble spots with the DSR protocol that are the root cause of the stale cache problem. Incomplete error notification: When a link breaks, route errors are not propagated to all caches that has an entry with the broken link. Instead, the route error is unicast only to the source whose data packet is responsible for identifying the link breakage via a link layer feedback. Thus only a limited number of caches are cleaned. The failure information is, however, propagated by piggybacking it onto the subsequent route requests from the source. But as the route requests may not be propagated network-wide (because of replies from caches), many caches may remain unclean. No expiry: There is no mechanism to expire stale routes. If not cleaned explicitly by the error mechanism, stale cache entries will stay forever in the cache. Quick pollution: There is no way to determine the freshness of any route information. For example, even after a stale cache entry is erased by a route error, a subsequent in-flight data packet carrying the same stale route can put that entry right back in. This possibility increases at high data rates, as there will be a large number of in-flight data packets upstream carrying the stale route to un-erase the route. This problem is compounded by liberal use of snooping. Stale routes are picked up by any other node overhearing any transmission. Thus, cache pollution can propagate fairly quickly.

We have developed three mechanisms to address these problems. Wider Error Notification - This technique is based on the idea that bad news should be propagated fast and wide. In order to increase the speed and the extent of error propagation, route errors are now transmitted as broadcast packets at the MAC (medium access control) layer. Initially, the node that determines the link breakage (via a link layer feedback, e.g.) broadcasts the route error packet containing the broken link information. Upon receiving a route error, a node updates its route cache so that all source routes containing the broken link are truncated at the point of failure. A node receiving a route error propagates (rebroadcasts) it further only if there exists a cached route containing the broken link and that route was used before in the packets forwarded by the node. Note that using this scheme route errors reach all the sources in a tree fashion starting from the point of failure. In effect, route error information is efficiently disseminated to all the nodes that forwarded packets along the broken route and to the neighbors of such nodes that may have acquired the (broken) route through snooping. Timer-based Route Expiry - Recall that link breakage is detected only by a link layer feedback, when an attempted data transmission fails. Thus loss of a route will go undetected if there is no attempt to use this route. A more proactive timer-based approach will be able to clean up such routes. A timer-based approach is based on the hypothesis that routes are only valid for a specific amount of time Ì (timeout period) from their last use. Each node in a cached route now has an associated timestamp of last use. This timestamp is updated each time the cached route or part thereof is seen in a unicast packet being forwarded by the node. Portions of cached routes unused in the past Ì interval are pruned. Benefit of this approach depends critically on the proper selection of the timeout period Ì. A very small value for the timeout may cause many unnecessary route invalidations, while a very large value may defeat the purpose of this technique. Although well-chosen static values can be obtained for a given network, a single timeout for all the nodes may not be appropriate in all scenarios and for all network sizes. Therefore, a dynamic mechanism is desirable that allows each node to choose timeout values independently based on its observed route stability. We propose a heuristic for adaptive selection of timeouts locally at each node based on the average route lifetime and the time between link breaks seen by the node. When a cached route breaks due to link breakage (known via link layer feedback) or upon receipt of a route error, the lifetime of the broken route is computed as the time elapsed since it was last entered in the cache. Average route lifetime is obtained using the lifetimes of all broken routes in the past. Time of latest link breakage seen by a node is also maintained. Using this information, the timeout period Ì is calculated as follows. Ì Ñ Ü «* average route lifetime, time since last link breakage µ When route breaks occur uniformly in time, average route lifetime itself provides a good estimate of Ì. However when many route breaks occur in short bursts with a large separation in time, the average route lifetime does not accurately predict Ì during the periods of no route breaks. Hence, the second term in the above equation is used to correct the Ì estimates during time intervals when there are no route breaks. The value of Ì is computed periodically and is used to expire stale entries from the cache. In our experiments, Ì is computed every half a second and route cache is then checked for stale entries. We use an «of and the minimum Ì is limited to ½ second. - To improve error handling in DSR, caching of negative information has already been suggested [1]. We make use of this idea in the following way. Every node caches the broken links seen recently via the link layer feedback or route error packets. Within a ÆØ interval of creating this entry if a node is to forward a packet with a source route containing the broken link, (i) the packet is dropped and (ii) a route error packet is generated. In addition, the negative cache is always checked for broken links before adding a new entry in the route cache. Essentially, route cache and negative cache are mutually exclusive with respect to the links present in them. This prevents the cache pollution problem. In our experiments, we used a negative cache size of entries with FIFO replacement policy and entries are expired after ÆØ = 10 seconds. 4 Performance Evaluation We use a detailed simulation study to evaluate the effectiveness of the caching techniques described in the last section. Their performances are compared with the base DSR protocol. In the following, we first describe the simulation environment and the performance metrics used, and then present and analyze the simulation results.

4.1 Simulation Environment We use a detailed simulation model based on ns-2 [5]. In a recent work, the Monarch research group in CMU developed support for simulating multi-hop wireless networks complete with physical, data link and MAC layer models [2] on ns-2. The distributed coordination function (DCF) of IEEE 802.11 [4] for wireless LANs is used as the MAC layer. The radio model uses characteristics similar to a commercial radio interface, Lucent s WaveLAN [14]. Wave- LAN is a shared-media radio with a nominal bit-rate of 2 Mb/sec and a nominal radio range of 250 meters. A detailed description of simulation environment and the models is available in [2, 5] and will not be presented here. Note that the same simulation environment has been used before in several recent performance studies on ad hoc networks [2, 6, 11, 9, 3]. In the following, we mention some of the features of the simulation environment to provide a context for the performance study. The protocol models are layered in the simulator as in a traditional protocol stack. The routing protocol model sees all data packets transmitted or forwarded, and responds by invoking routing activities as specified by the DSR protocol. The routing layer detects link breakage using feedback from the IEEE 802.11 MAC layer. A signal is sent to the routing layer when the MAC layer fails to deliver a unicast packet to the next hop. This is indicated, for example, by failure to receive CTS after a specific number of RTS retransmissions, or absence of an ACK following data transmission. The routing protocol model maintains a send buffer of 64 packets. It buffers all data packets waiting for a route, i.e., packets for which route discovery has started, but no reply has arrived yet. Buffering is done only at the source of the traffic session. To prevent buffering of packets too long, packets are dropped if they wait in the send buffer for more than 30 seconds. Mobility and traffic models are similar to previous reported results using this simulator [2, 9, 3]. The mobility model uses the random waypoint model [2] in a rectangular field. Here, each node starts its journey from a random location to a random destination with a randomly chosen speed (uniformly distributed between 0 20 m/sec). Once the destination is reached, another random destination is targeted after a pause. To change mobility, we vary the pause time, which affects the relative speeds of the mobiles. A 100 node network in a field with dimensions 2200m 600m is used. Traffic sources are CBR (continuous bit-rate). The source-destination pairs are spread randomly over the network. Only 512 byte data packets are used. The number of source-destination pairs is fixed to 25 and the packet sending rate in each pair are varied to change the offered load in the network. All traffic sessions are established at random times near the beginning of the simulation run and they stay active until the end. Simulations are run for 500 simulated seconds. Each data point represents an average of five runs with identical traffic models, but different randomly generated mobility scenarios. Identical mobility and traffic scenarios are used across all protocol variations. 4.2 Performance Metrics We evaluate three key performance metrics: (i) Packet delivery fraction ratio of the data packets delivered to the destination to those generated by the CBR sources; or a related metric received throughput in Kb/sec received at the destination. (ii) Average end-to-end delay of data packets this includes all possible delays caused by buffering during route discovery, queuing delay at the interface, retransmission delays at the MAC, propagation and transfer times; (iii) Normalized overhead the total number of overhead packets including the routing and MAC control packets (e.g., RTS, CTS, ACK) transmitted for each delivered data packet. Each hop-wise transmission of these packets is counted as one transmission. All overhead packets are considered since routing packets alone do not completely account for the overheads incurred by using stale routes. We do not consider route discovery latency since it does not provide useful insight regarding the effectiveness of a caching strategy. For example, a source might receive an invalid route faster from a closer node than a valid route from another node farther away. Thus, a smaller route discovery latency does not necessarily imply that a particular caching strategy is effective. The above metrics evaluate the performance of the routing protocol. However, since we are interested in cache performance, we also use the following two cache-related metrics to evaluate the correctness of route caches: (i) Percentage of good replies percentage of route replies received at the sources that contain a broken link. This metric captures the quality of the cached route replies and has been used in earlier studies[11, 7]; (ii) Percentage of invalid cached routes percentage of the total number of cache hits that result in invalid or stale routes. Smaller value for this metric is desired as the usage of invalid routes incur additional overheads and also cause cache pollution. These two metrics evaluate the effectiveness of a caching strategy to purge stale entries from route caches. Note that a lower percentage of invalid cached routes as well as a higher percentage of good replies are required for the best overall cache performance. 4.3 Simulation Results We present three sets of simulation results. In the first set, we evaluate the effect of various timeout periods on the

Packet delivery fraction Avg. delay (sec) Normalized overhead 0.84 0.82 0.8 0.78 0.76 0.74 0.72 No Timeout 0.7 Static Timeout Adaptive Timeout 0.68 1 10 100 1.1 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 Timeout period (sec) (a) Packet delivery fraction No Timeout Static Timeout Adaptive Timeout 0.2 1 10 100 46 44 42 40 38 36 34 32 30 28 Timeout period (sec) (b) Average delay No Timeout Static Timeout Adaptive Timeout 26 1 10 100 Timeout period (sec) (c) Normalized overhead Figure 1. Performance metrics for different timeout periods. performance and the next two sets of results study the effect of mobility and load on different caching strategies. Fig. 1 shows the packet delivery fraction, average delay and normalized overheads for various static timeout values ranging from 1 to 50 seconds. These results correspond to a pause time of 0 seconds (constant mobility) and a fixed packet rate of 3 packets/sec. The performance of the base DSR (no timeout) and the adaptive timeout mechanism are also shown. As expected, the performance with very small timeout of 1 second is significantly worse, worse than without any timeout! Performance of all the three metrics improves with increase in timeout period till 10 seconds (which is the optimal timeout period for this network) and drops later with further increase in timeout periods. performs worse in all cases except when timeout is too small. Performance of the adaptive timeout selection is similar to that with a well chosen static timeout period and its effectiveness is thus validated. In the rest of the performance comparisons, we show results only for the adaptive timeout selection when considering the timer-based route expiry technique. We now study the performance of the three caching techniques (see section 3) as a function of mobility. Pause time is varied between 0 seconds and 500 seconds. Note that pause time of 0 seconds indicates constant mobility while a pause time of 500 seconds means no mobility. Packet rate is fixed at 3 packets/sec as before. We look at the performance of DSR with wider errors, adaptive route expiry and negative caches independently in comparison with the base DSR. We also consider the variant of DSR with all three techniques combined (referred to as in the plots). Fig. 2 shows the delivery fraction, delay and overheads with varying pause times. DSR performs worse in all metrics in comparison with the other variants except at high pause times while delivers superior performance overall. At constant mobility, in particular, gives an improvement of about 16% and 22% in packet delivery and overheads respectively and about 40% reduction in the average delay. These performance improvements show that the combination of the three techniques are able to effectively remove stale cache entries. Still at most 85% of the packets are delivered at lower pause times. This fact is justified to a large extent given the very high rate of link breaks at low pause times and the fact that majority of the packet losses are due to the packets dropped at the intermediate nodes for lack of a route. Recall that in the DSR model we used, only traffic sources buffer packets and a packet is dropped at the intermediate node if the source route in the packet breaks and there is no alternate route in the local cache to salvage from. Among the three caching techniques, when taken independently, adaptive route expiry shows the most improvement in performance while negative caches gives the least

Packet delivery fraction Avg. delay (sec) 1 0.95 0.9 0.85 0.8 0.75 0.7 0 100 200 300 400 500 0.7 0.6 0.5 0.4 0.3 0.2 0.1 Pause time (sec) (a) Packet delivery fraction 0 0 100 200 300 400 500 Pause time (sec) (b) Average delay Protocol Good Invalid Replies (%) Routes (%) 43.70 42.12 46.71 40.51 51.22 32.15 Adaptive Route Expiry 68.37 26.33 73.69 19.30 Figure 3. Cache-related metrics for different caching techniques. benefit and wider errors performance lies in between. The performance of negative caches is as expected since they try to prevent cache pollution which is prevalent only at high data rates. About the relative performance of wider errors and adaptive route expiry, the former removes only entries containing broken links discovered via link layer feedback while the latter through its proactive mechanism can also remove unused stale route entries. Table 3 shows the behavior of different techniques in terms of cache-related metrics corresponding to the results for the pause time of 0 seconds shown in Fig. 2. Cache performance of different protocol variations show similar relative behavior as before. Effect of load on various caching strategies at constant mobility is shown in Fig 4. As before, outperforms the base DSR and the performance of the individual techniques lie in between these two extremes. Normalized overhead 36 34 32 30 28 26 24 22 20 18 16 0 100 200 300 400 500 Pause time (sec) (c) Normalized overhead Figure 2. Performance metrics with varying pause times (mobility). 5 Related Work A few performance studies have looked at the effects of route caches on DSR s performance. Maltz et al[11] evaluated the benefit of replies from caches on the route discovery latency and routing overhead. In their simulation scenarios, they found the cache hit rates to be around 55%. They argued that this low hit rate was consistent with the on-demand philosophy of maintaining only routes which are needed. They also observed that the percentage of good replies to be around 59% in a 50 node network. Since the packet delivery ratios in their scenarios were above 90%, they claimed that despite having low percentage of good cache replies, the route maintenance in DSR was able to cope up and deliver good performance. However, later performance studies have indicated that this is not always the case. Performance impact of stale routes is largely dependent on the type of traffic (e.g., TCP), load in the network, network size etc. For instance, it was shown in [6, 7] that stale routes in DSR can significantly degrade TCP performance. For a single TCP connection they

Throughput (Kbits/sec) Avg. delay (sec) Normalized overhead 260 240 220 200 180 160 140 120 100 80 60 50 100 150 200 250 300 350 400 450 1.2 1 0.8 0.6 0.4 0.2 48 46 44 42 40 38 36 34 32 30 Offered load (Kbits/sec) (a) Throughput 0 50 100 150 200 250 300 350 400 450 Offered load (Kbits/sec) (b) Average delay 28 50 100 150 200 250 300 350 400 450 Offered load (Kbits/sec) (c) Normalized overhead Figure 4. Performance metrics with increasing offered load. even found the TCP throughput to be much better without replies from caches. Mechanisms similar to those studied in this paper like suitable timeouts, negative caches etc were suggested to overcome stale route problem in DSR[6]. Similar observations were made in [3], where the authors noted that the lack of mechanisms to determine the freshness of routes and the absence of cache expiry mechanisms were important factors for the poor performance of DSR in large networks and in high load situations. More recently, the effects of cache structure, cache capacity, cache timeouts and mobility patterns on the performance of DSR were studied in [8]. Main difference between our work and [8] is that we focus on the performance impact of cache correctness in DSR while they put more emphasis on the cache organization. The performance of DSR using a range of timeout values were studied and an observation similar to ours was made i.e., well-tuned static timers perform as well as those with adaptive timers. The route expiry mechanism they investigated differs from our technique in the underlying cache structure. They used an expiry mechanism based on link caches, while our scheme uses a path cache 1 used in [2]. 6 Conclusions Most of the on-demand protocols for mobile ad hoc networks employ some form of route caching to reduce route discovery latency as well as the routing overhead. In dynamic ad hoc networks, route changes can occur frequently due to node mobility. Unless route caches adapt well to the frequent route changes, they may affect performance adversely. We used Dynamic Source Routing Protocol (DSR) to study the effect of cache correctness on the performance of routing protocol. This work was motivated by prior studies that observed performance degradation of DSR due to stale caches. DSR is a good candidate protocol to study caching strategies as it uses route caching aggressively. However, we expect any other protocol that uses caching moderately also to benefit from our study. An example is AODV[13] that uses caching indirectly when intermediate nodes generate route replies. We evaluated three techniques to improve caching performance in DSR namely wider error notification, route expiry mechanism with adaptive timeout selection and negative caches. The techniques primarily focus on effective removal of stale cache entries and preventing cache pollution. Our simulation results show that the combination of these techniques improve the packet delivery by about 15% at high mobility relative to the base DSR and consistently outperform the base DSR in terms of average delay and 1 Link caches store a set of individual links, organized as a graph data structure. In contrast, path caches store a set of complete paths (sequence of links), each starting at the caching node.

overheads. A significant improvement (around 70%) in the quality of cache replies is also achieved by these techniques. Our future work will concentrate on modifying the caching model in DSR so that the relative freshness of cached routes can be determined. We will also explore the possibility of incorporating techniques proposed in this paper to other ondemand routing protocols. Acknowledgements [12] V. D. Park and M. S. Corson. A highly adaptive distributed routing algorithm for mobile wireless networks. In Proceedings of IEEE INFOCOM 97 Conf., April 1997. [13] C. E. Perkins and E. M. Royer. Ad hoc on-demand distance vector routing. In Proceedings of the 2nd IEEE Workshop on Mobile Computing Systems and Applications, pages 90 100, Feb 1999. [14] B. Tuch. Development of WaveLAN, an ISM band wireless LAN. AT&T Technical Journal, 72(4):27 33, July/Aug 1993. This work is partially supported by NSF CAREER grant ACI-0096186, NSF Networking research grant ANI- 0096264, and Ohio Board of Regents computing research enhancement funds in University of Cincinnati. We would also like to thank the reviewers for their comments. References [1] J. Broch, D. Johnson, and D. Maltz. The dynamic source routing protocol for mobile ad hoc networks. http://www.ietf.org/internet-drafts/draft-ietf-manetdsr-03.txt, Oct 1999. IETF Internet Draft (work in progress). [2] J. Broch, D. Maltz, D. Johnson, Y.-C. Hu, and J. Jetcheva. A performance comparison of multi-hop wireless ad hoc network routing protocols. In Proceedings of IEEE/ACM MO- BICOM 98, pages 85 97, October 1998. [3] S. R. Das, C. E. Perkins, and E. M. Royer. Performance comparison of two on-demand routing protocols for ad hoc networks. In Proceedings of the IEEE INFOCOM 2000 Conference, March 2000. [4] I. S. Department. Wireless LAN medium access control (MAC) and physical layer (PHY) specifications, IEEE standard 802.11 1997, 1997. [5] K. Fall and K. V. (Eds.). ns notes and documentation, 1999. available from http://www-mash.cs.berkeley.edu/ns/. [6] G. Holland and N. H. Vaidya. Analysis of TCP performance over mobile ad hoc networks. In Proceedings of IEEE/ACM MOBICOM 99, pages 219 230, Seattle, August 1999. [7] G. Holland and N. H. Vaidya. Impact of routing and link layers on TCP performance in mobile ad hoc networks. In Proceedings of the IEEE WCNC 1999, September 1999. [8] Y.-C. Hu and D. Johnson. Caching strategies in on-demand routing protocols for wireless ad hoc networks. In Proceedings of IEEE/ACM MOBICOM 00, pages 231 242, August 2000. [9] P. Johansson, T. Larsson, N. Hedman, and B. Mielczarek. Routing protocols for mobile ad-hoc networks - a comparative performance analysis. In Proceedings of IEEE/ACM MOBICOM 99, pages 195 206, August 1999. [10] D. Johnson and D. Maltz. Dynamic source routing in ad hoc wireless networks. In T. Imielinski and H. Korth, editors, Mobile computing, chapter 5. Kluwer Academic, 1996. [11] D. Maltz, J. Broch, J. Jetcheva, and D. Johnson. The effects of on-demand behavior in routing protocols for multi-hop wireless ad hoc networks. IEEE Journal on Selected Areas in Communication, 17(8), August 1999.