A Performance Comparison of Multi-Hop Wireless Ad Hoc Network routing protocols Josh Broch David A Maltz David B. Johnson Yih-Chun Hu Jorjeta Jetcheva Computer Science Departme Carnegie mellon University urgh, PA 15213 http://www.monarch.cs.cmuedu Abstract Many different protocols have been proposed to solve the An ad hoc network is a collection of wireless mobile nodes dynamically hop routing problem in ad hoc networks, each based on forming a temporary network without the use of any existing network infras. assumptions and intuitions. However, little is known about the tructure or centralized administration. Due to the limited transmission range performance of these protocols, and no attempt has previously been of wireless network interfaces, multiple network "hops"may be needed fo ade to directly compare them in a realistic ma one node to exchange data with another across the network. In recent years, This paper is the first to provide a realistic, quantitative analy a variety of new routing protocols targeted specifically at this environment comparing the performance of a variety of multi-hop wireless ad hoc have been developed, but little performance information on each protocol network routing protocols. We present results of detailed simulations and no realistic performance comparison between them is available. This showing the relative performance of four recently proposed ad hoc per presents the results of a detailed packet-level simulation comparin routing protocols: DSDV [18], TORA [14, 15], DSR [9, 10, 21, and four multi-hop wireless ad hoc network routing protocols that cover a range AODV [17]. To enable these simulations, we extended the ns-2 of design choices: DSDV, TORA, DSR, and AoDv. We have extended network simulator [6]to include the ns-2 network simulator to accurately model the MAc and physical-layer navior of the IEEE 802. 11 wireless Lan standard, including a realistic ireless transmission channel model, and present the results of simulations A realistic physical layer including a radio propagation model of networks of 50 mobile nodes supporting propagation delay, capture effects, and carrier sense[20] 1 Introduction Radio network interfaces with properties such as transmission power, antenna gain, and receiver sensitivity In areas in which there is little or no communication infrastructure The IEEE802. 1/ Medium Access Control (MAC) protocol using existing infrastructure is expensive or inconvenient to use, the Distributed Coordination Function (DCF)[8 nobile users may still be able to communicate through the formation of an ad hoc network. In such a network. each mobile node n simulations operates not only as a host but also as a router, forwarding packets an ad hoc routing protocol that allows it to discover"multi-hop" paths 2 Simulation environment is sometimes also called infrastructureless networking [13], since the ns is a discrete event simulator developed by the University of themselves to form their own network"on the fiy. Some examples of substantial support for simulating TCP and other protocols over con- the possible uses of ad hoc networking include students using laptop ventional networks, it provides no support for accurately simulating computers to participate in an interactive lecture, business associates the physical aspects of multi-hop wireless networks or the mac pro- sharing information during a meeting, soldiers relaying information tocols needed in such environments. Berkeley has recently released for situational awareness on the battlefield [12, 21], and emergency ns code that provides some support for modeling wireless LANs, but disaster relief personnel coordinating efforts after a hurricane or this code cannot be used for studying multi-hop ad hoc networks as it does not support the notion of node position; there is no spatial diversity (all nodes are in the same collision domain), and it can only odel dire onnected nod (AFMC) under In this section, we describe some of the modifications we made to contract number F19628-96-C-0061, and by the is to allow accurate simulation of mobile wireless networks IBM Cooperative Fellowship, and Yih-Chun Hu was also supported by an 2.1 Physical and Data Link Layer Model representing the official policies or To accurately model the attenuation of radio waves between anten- endorsements, either express or implied, ofNSF, AFMC, DARPA, the AT&T Foundation, nas close to the ground, radio engineers typically use a model that M, Carnegie Mellon University, or the U.S. Government. attenuates the power of a signal as 1/ at short distances(ris the distance between the antennas), and as 1/r at longer distances The crossover point is called the reference distance, and is typically around 100 meters for outdoor low-gain antennas 1. 5m above the ground plane operating in the 1-2GHz band [20]. Following this Conference on Mobile Computing and Networking(MobiCom 98) practice, our signal propagation model combines both a free space October 25-30, 1998, Dallas, Texas, USA. Copyright 1998 ACM propagation model and a two-ray ground reflection model. When a transmitter is within the reference distance of the receiver, we
A Performance Comparison of Multi-Hop Wireless Ad Hoc Network Routing Protocols Josh Broch David A. Maltz David B. Johnson Yih-Chun Hu Jorjeta Jetcheva Computer Science Department Carnegie Mellon University Pittsburgh, PA 15213 http://www.monarch.cs.cmu.edu/ Abstract An ad hoc network is a collection of wireless mobile nodes dynamically forming a temporary network without the use of any existing network infrastructure or centralized administration. Due to the limited transmission range of wireless network interfaces, multiple network "hops" may be needed for one node to exchange data with another across the network. In recent years, a variety of new routing protocols targeted specifically at this environment have been developed, but little performance information on each protocol and no realistic performance comparison between them is available. This paper presents the results of a detailed packet-level simulation comparing four multi-hop wireless ad hoc network routing protocols that cover a range of design choices: DSDV, TORA, DSR, and AODV. We have extended the ns-2 network simulator to accurately model the MAC and physical-layer behavior of the IEEE 802.11 wireless LAN standard, including a realistic wireless transmission channel model, and present the results of simulations of networks of 50 mobile nodes. 1 Introduction In areas in which there is little or no communication infrastructure or the existing infrastructure is expensive or inconvenient to use, wireless mobile users may still be able to communicate through the formation of an ad hoc network. In such a network, each mobile node operates not only as a host but also as a router, forwarding packets for other mobile nodes in the network that may not be within direct wireless transmission range of each other. Each node participates in an ad hoc routing protocol that allows it to discover “multi-hop” paths through the network to any other node. The idea of ad hoc networking is sometimes also called infrastructureless networking [13], since the mobile nodes in the network dynamically establish routing among themselves to form their own network “on the fly.” Some examples of the possible uses of ad hoc networking include students using laptop computers to participate in an interactive lecture, business associates sharing information during a meeting, soldiers relaying information for situational awareness on the battlefield [12, 21], and emergency disaster relief personnel coordinating efforts after a hurricane or earthquake. This work was supported in part by the National Science Foundation (NSF) under CAREER Award NCR-9502725, by the Air Force Materiel Command (AFMC) under DARPA contract number F19628-96-C-0061, and by the AT&T Foundation under a Special Purpose Grant in Science and Engineering. David Maltz was also supported under an IBM Cooperative Fellowship, and Yih-Chun Hu was also supported by an NSF Graduate Fellowship. The views and conclusions contained here are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either express or implied, of NSF, AFMC, DARPA, the AT&T Foundation, IBM, Carnegie Mellon University, or the U.S. Government. To appear in Proceedings of the Fourth Annual ACM/IEEE International Conference on Mobile Computing and Networking (MobiCom’98), October 25–30, 1998, Dallas, Texas, USA. Copyright © 1998 ACM. Many different protocols have been proposed to solve the multihop routing problem in ad hoc networks, each based on different assumptions and intuitions. However, little is known about the actual performance of these protocols, and no attempt has previously been made to directly compare them in a realistic manner. This paper is the first to provide a realistic, quantitative analysis comparing the performance of a variety of multi-hop wireless ad hoc network routing protocols. We present results of detailed simulations showing the relative performance of four recently proposed ad hoc routing protocols: DSDV [18], TORA [14, 15], DSR [9, 10, 2], and AODV [17]. To enable these simulations, we extended the ns-2 network simulator [6] to include: Node mobility. A realistic physical layer including a radio propagation model supporting propagation delay, capture effects, and carrier sense [20]. Radio network interfaces with properties such as transmission power, antenna gain, and receiver sensitivity. The IEEE 802.11 Medium Access Control (MAC) protocol using the Distributed Coordination Function (DCF) [8]. Our results in this paper are based on simulations of an ad hoc network of 50 wireless mobile nodes moving about and communicating with each other. We analyze the performance of each protocol and explain the design choices that account for their performance. 2 Simulation Environment ns is a discrete event simulator developed by the University of California at Berkeley and the VINT project [6]. While it provides substantial support for simulating TCP and other protocols over conventional networks, it provides no support for accurately simulating the physical aspects of multi-hop wireless networks or the MAC protocols needed in such environments. Berkeley has recently released ns code that provides some support for modeling wireless LANs, but this code cannot be used for studying multi-hop ad hoc networks as it does not support the notion of node position; there is no spatial diversity (all nodes are in the same collision domain), and it can only model directly connected nodes. In this section, we describe some of the modifications we made to ns to allow accurate simulation of mobile wireless networks. 2.1 Physical and Data Link Layer Model To accurately model the attenuation of radio waves between antennas close to the ground, radio engineers typically use a model that attenuates the power of a signal as 1r2 at short distances (r is the distance between the antennas), and as 1r4 at longer distances. The crossover point is called the reference distance, and is typically around 100 meters for outdoor low-gain antennas 1.5m above the ground plane operating in the 1–2GHz band [20]. Following this practice, our signal propagation model combines both a free space propagation model and a two-ray ground reflection model. When a transmitter is within the reference distance of the receiver, we use
the free space model where the signal attenuates as 1/r?. Outside of drop-tail fashion. Each on-demand routing protocol (i.e, TORA, this distance, we use the ground reflection model where the signal DSR, or AODV), can buffer separately an additional 50 packets that falls off as 1/r that are awaiting discovery of a route through the network Each mobile node has a position and a velocity and moves around or a flat grid. The position of using either a digital elevation map 3 Ad Hoc Network Routing Protocols Studied on a topography that is specifie In this section, we briefly describe the key features of the dsdv, a function of time, and is used by the radio propagation model to TORA, DSR, and AoDV protocols studied in our simulations. We calculate the propagation delay from one node to another and to also describe the particular parameters that we chose when imple determine the power level of a received signal at each mobile node Each mobile node has one or more wireless network interfaces enting each protocol The protocols were carefully implemented according to their spec- together by a single physical channel. When a network interface ifications published as of April 1998 and based on clarifications of channel object. This object then computes the propagation delay experimentation with them. In particular, during the process of im- plementing each protocol and analyzing the results from early simu- a"packet reception"event for each. This event notifies the receiving lation runs, we discovered some modifications for each protocol that interface that the first bit of a new packet has arrived. At this time. improved its performance. The key improvements to each protoce ne power level at which the packet was received is compared to two are highlighted in the respective protocol descriptions below.We different values: the carrier sense threshold and the receive threshold also made the following improvements to all of the protocols If the power level falls below the carrier sense threshold, the revent synchronization, periodic broadcas and is discarded as noise. If the received power level is above the ent in response to the reception of a broadcast packet were sense threshold but below the receive threshold, the packet is n jittered using a random delay uniformly distributed between 0 as a packet in error before being passed to the mAc layer. Otherwise, and 10 milliseconds he packet is simply handed up to the MAc layer To insure that routing information propagated through the net- Once the MAC layer receives a packet, it checks to insure that its ork in a timely fashion routing packet ng sent were queued receive state is presently"idle. If the receiver is not idle, one of two for transmission at the head of the network interface transmit things can happen. If the power level of the packet already being ueue, whereas all other packets(ARP and data) were inserted received is at least 10 db greater than the received power level of the at the end of the interface transmit queue new packet, we assume capture, discard the new packet, and allow Each of the protocols used link breakage detection feedback the receiving interface to continue with its current receive operation. from the 802 11 MAC layer that indicated when a packet could Otherwise, a collision occurs and both packets are dropp not be forwarded to its next hop, with the exception of DSDV If the MAC layer is idle when an incoming packet is passed up s explained in Section 3. 1.2 from the network interface, it simply computes the transmission time of the packet and schedules a"packet reception complete "event for 3.1 Destination-Sequenced Distance Vector(DSDV) itself. When this event occurs, the MAC layer verifies that the packet DSDV [18] is a hop-by-hop distance vector routing protocol requir is error-free, performs destination address filtering, and passes the ing each node to periodically broadcast routing updates. The key advantage of DSDV over traditional distance vector protocols is that 2.2 Medium Access Control it guarantees loop-freedom. The link layer of our simulator implements the complete IEEE 802.11 3.1.1 Basic Mechanisms standard [8 Medium Access Control (MAC) protocol Distributed Coordination Function(DCF) in order to accurately model the Each DSDV node maintains a routing table listing t the"next hop"for contention of nodes for the wireless medium dcf is similar each reachable destination. DsDV tags each route with a sequence MACA [II] and MACAW [1 and is designed to use both physi- number and considers a route R more favorable than l if r has a cal carrier sense and virtual carrier sense mechanisms to reduce the greater sequence number, or if the two routes have equal sequence probability of collisions due to hidden terminals. The transmission of numbers but R has a lower metric. Each node in the network ad- each unicast packet is preceded by a Request-to-Send/Clear-to-Sene vertises a monotonically increasing even sequence number for itself. (RTS/CTS) exchange that reserves the wireless channel for trans- When a node b decides that its route to a destination d has broken mission of a data packet. Each correctly received unicast packet is it advertises the route to d with an infinite metric and a sequence number one greater than its sequence number for the route that has followed by an Acknowledgment(ACK to the sender, which retrans- broken(making an odd sequence number). This causes any node mits the packet a limited number of times until this ACK is received A routing packets through B to incorporate the infinite-metric route sense indicate that the medium is clear, but they are not preceded by into its routing table until node a hears a route to D with a higher an RTS/CtS and are not acknowledged by their recipients sequence number. 2.3 Address Resolution 3.1.2 Implementation Decisions We did not use link layer breakage detection from the 802. 11 MAC Unix ims, an implementation of ARP [19], modeled after the BSD protocol in obtaining the DSDv data presented in this paper,because implementation [23], was included in the simulation and used after implementing the protocol both with and without it, we found to resolve IP addresses to link layer addresses. The broadcast nature with the link layer breakage of an ARP REQUEST packet(Section 6.)and the interaction of ArP detection. The reason is that if a neighbor N of a node a detects with on-demand protocols(Section 6. 4)make ARP an importan that its link to A is broken, it will broadcast a triggered route updat detail of the simulation containing an infinite metric for A. The sequence number in this triggered update will be one greater than the last sequence number broadcast by A, and therefore is the highest sequence number existing Each node has a queue for packets awaiting transmission by the anywhere in the network for A. Each node that hears this update will network interface that holds up to 50 packets and is managed in a record an infinite metric for destination A and will propagate the
the free space model where the signal attenuates as 1r2 . Outside of this distance, we use the ground reflection model where the signal falls off as 1r4 . Each mobile node has a position and a velocity and moves around on a topography that is specified using either a digital elevation map or a flat grid. The position of a mobile node can be calculated as a function of time, and is used by the radio propagation model to calculate the propagation delay from one node to another and to determine the power level of a received signal at each mobile node. Each mobile node has one or more wireless network interfaces, with all interfaces of the same type (on all mobile nodes) linked together by a single physical channel. When a network interface transmits a packet, it passes the packet to the appropriate physical channel object. This object then computes the propagation delay from the sender to every other interface on the channel and schedules a “packet reception” event for each. This event notifies the receiving interface that the first bit of a new packet has arrived. At this time, the power level at which the packet was received is compared to two different values: the carrier sense threshold and the receive threshold. If the power level falls below the carrier sense threshold, the packet is discarded as noise. If the received power level is above the carrier sense threshold but below the receive threshold, the packet is marked as a packet in error before being passed to the MAC layer. Otherwise, the packet is simply handed up to the MAC layer. Once the MAC layer receives a packet, it checks to insure that its receive state is presently “idle.” If the receiver is not idle, one of two things can happen. If the power level of the packet already being received is at least 10 dB greater than the received power level of the new packet, we assume capture, discard the new packet, and allow the receiving interface to continue with its current receive operation. Otherwise, a collision occurs and both packets are dropped. If the MAC layer is idle when an incoming packet is passed up from the network interface, it simply computes the transmission time of the packet and schedules a “packet reception complete” event for itself. When this event occurs, the MAC layer verifies that the packet is error-free, performs destination address filtering, and passes the packet up the protocol stack. 2.2 Medium Access Control The link layer of our simulator implements the complete IEEE 802.11 standard [8] Medium Access Control (MAC) protocol Distributed Coordination Function (DCF) in order to accurately model the contention of nodes for the wireless medium. DCF is similar to MACA [11] and MACAW [1] and is designed to use both physical carrier sense and virtual carrier sense mechanisms to reduce the probability of collisions due to hidden terminals. The transmission of each unicast packet is preceded by a Request-to-Send/Clear-to-Send (RTS/CTS) exchange that reserves the wireless channel for transmission of a data packet. Each correctly received unicast packet is followed by an Acknowledgment (ACK) to the sender, which retransmits the packet a limited number of times until this ACK is received. Broadcast packets are sent only when virtual and physical carrier sense indicate that the medium is clear, but they are not preceded by an RTS/CTS and are not acknowledged by their recipients. 2.3 Address Resolution Since the routing protocols all operate at the network layer using IP addresses, an implementation of ARP [19], modeled after the BSD Unix implementation [23], was included in the simulation and used to resolve IP addresses to link layer addresses. The broadcast nature of an ARP REQUEST packet (Section 6.3) and the interaction of ARP with on-demand protocols (Section 6.4) make ARP an important detail of the simulation. 2.4 Packet Buffering Each node has a queue for packets awaiting transmission by the network interface that holds up to 50 packets and is managed in a drop-tail fashion. Each on-demand routing protocol (i.e., TORA, DSR, or AODV), can buffer separately an additional 50 packets that that are awaiting discovery of a route through the network. 3 Ad Hoc Network Routing Protocols Studied In this section, we briefly describe the key features of the DSDV, TORA, DSR, and AODV protocols studied in our simulations. We also describe the particular parameters that we chose when implementing each protocol. The protocols were carefully implemented according to their specifications published as of April 1998 and based on clarifications of some issues from the designers of each protocol and on our own experimentation with them. In particular, during the process of implementing each protocol and analyzing the results from early simulation runs, we discovered some modifications for each protocol that improved its performance. The key improvements to each protocol are highlighted in the respective protocol descriptions below. We also made the following improvements to all of the protocols: To prevent synchronization, periodic broadcasts and packets sent in response to the reception of a broadcast packet were jittered using a random delay uniformly distributed between 0 and 10 milliseconds. To insure that routing information propagated through the network in a timely fashion, routing packets being sent were queued for transmission at the head of the network interface transmit queue, whereas all other packets (ARP and data) were inserted at the end of the interface transmit queue. Each of the protocols used link breakage detection feedback from the 802.11 MAC layer that indicated when a packet could not be forwarded to its next hop, with the exception of DSDV as explained in Section 3.1.2. 3.1 Destination-Sequenced Distance Vector (DSDV) DSDV [18] is a hop-by-hop distance vector routing protocol requiring each node to periodically broadcast routing updates. The key advantage of DSDV over traditional distance vector protocols is that it guarantees loop-freedom. 3.1.1 Basic Mechanisms Each DSDV node maintains a routing table listing the “next hop” for each reachable destination. DSDV tags each route with a sequence number and considers a route R more favorable than R if R has a greater sequence number, or if the two routes have equal sequence numbers but R has a lower metric. Each node in the network advertises a monotonically increasing even sequence number for itself. When a node B decides that its route to a destination D has broken, it advertises the route to D with an infinite metric and a sequence number one greater than its sequence number for the route that has broken (making an odd sequence number). This causes any node A routing packets through B to incorporate the infinite-metric route into its routing table until node A hears a route to D with a higher sequence number. 3.1.2 Implementation Decisions We did not use link layer breakage detection from the 802.11 MAC protocol in obtaining the DSDV data presented in this paper, because after implementing the protocol both with and without it, we found the performance significantly worse with the link layer breakage detection. The reason is that if a neighbor N of a node A detects that its link to A is broken, it will broadcast a triggered route update containing an infinite metric for A. The sequence number in this triggered update will be one greater than the last sequence number broadcast by A, and therefore is the highest sequence number existing anywhere in the network for A. Each node that hears this update will record an infinite metric for destination A and will propagate the 2
Table I Constants used in the dsDv-sQ simulation with respect to the destination. As this packet propagates through the network, each node that receives the upDate sets its height to a value greater than the height of the neighbor from which the UPDATE issed before link declared broken was received. This has the effect of creating a series of directed links from the original sender of the quERy to the node that initially generated the UPDATE. When a node discovers that a route to a destination is no longer Maximum packets buffered per node per destination valid, it adjusts its height so that it is a local maximum with respect to its neighbors and transmits an UPDATE packet. If the node has ne information further. This renders node a unreachable from all nodes ighbors of finite height with respect to this destination, then the in the network until a broadcasts a newer sequence number in node instead attempts to discover a new route as described above it learns of the When a node detects a network partition, it generates a CLEAR packet infinite metric being propagated for it, but large numbers of packets that resets routing state and removes invalid routes from the network can be dropped in the meantime. TORA is layered on top of IMEP, the Internet MANET ur implementation uses both full and incremental updates as Encapsulation Protocol [51 which is required to provide reliable, required by the protocol' s description. However, the published de- in-order delivery of all routing control messages from a node to each scription of DsDv [18) is ambiguous about specifying when trig. of its neighbors, plus notification to the routing protocol whenever a of a new sequence number for a destination should cause a triggered IMEP attempts to aggregate many TORA and IMEP control mes. update. We call this approach DSDV-SQ(sequence number). The sages(which IMEP refers to as objects)together into a single packet outed around as new sequence numbers propagate around the broken uence number and a response list of other nodes from which an ACK link and create alternate routes. The second interpretation, which we has not yet been received, and only those nodes AcK the block when call simply DSDV, is that only the receipt of a new metric should receiving it, IMEPretransmits each block with some period, and con- cause a triggered update, and that the receipt of a new sequence num- tinues to retransmit it if needed for some maximum total period,after which time. the link to each unacknowledged node is declared down ber is not sufficiently important to incur the overhead of propagating and TORA is notified. IMEP can also provide network layer address a triggered update le implemented both DSDV-SQ and DSDV and found that while resolution, but we did not use this service, as we used ARP[19] with DSDV-sQ is much more expensive in terms of overhead, it provides all four routing protocols. For link status ser a much better packet delivery ratio in most cases. The second scheme a list of a node's neighbors, each IMEP node periodically transmits (DSDV) is much more conservative in terms of routing overhead, but a BEACON(or"BEACON-equivalent) packet, which is answered by ecause link breakages are not detected as quickly, more data packet each node hearing it with a hello (or "HELLO-equivalent ket are dropped. All of the results in this paper use DSDv-SQ, with th exception of Section 6.2, which compares thi 3.2.2 Implementation Decisions Table I lists the constants used in our DSDv-SQ simulation. IMEP must queue objects for some period of time to allow poss ble aggregation with other objects, but the IMEP specification [ 5] 3.2 Temporally-Ordered Routing Algorithm( TORA) does not define this time period, and we discovered that the overall reversal"algorithm. It is designed to discover routes on demand, value. After significant experimentation, we chose as the best bal- provide multiple routes to a destination, establish routes quickly, ance between packet overhead and routing protocol convergence, to d minimize communication overhead by localizing algorithmic aggregate HELLo and Ack packets for a time uniformly chosen be- reaction to topological changes when possible. Route optimality tween 150 ms and 250 ms, and to not delay tORa routing messages (shortest-path routing) is considered of secondary importance, and for aggregation. The reason for not delaying these messages is that longer routes are often used to avoid the overhead of discovering the ToRa link reversal process creates short-lived routing loops that ewer routes exist from the time that the link-reversal starts until the time that all The actions taken by toRa can be described in terms of water nodes that need to be aware of the reversal receive the corresponding flowing downhill towards a destination node through a network of UPDATE (Section 5. 2). Delaying the transmission of TORa routing tubes that models the routing state of the real network. The tubes messages for aggregation, coupled with any queuing delay at the represent links between nodes in the network, the junctions of tubes network interface, allows these routing loops to last long enough that represent the nodes, and the water in the tubes represents the packets significant numbers of data packets are dropped flowing towards the destination. Each node has a height with respect The TORA and IMEP specifications [15, 5] do not define the pre- to the destination that is computed by the routing protocol. If a tube cise semantics of reliable object delivery required by TORA,but longer flow through it, the height of A is set to a height greater than vided in order to prevent the creation of long-lived routing loops that of any of its remaining neighbors, such that water will now fle ular, all toRa objects must be delivered reliably and in back out of A(and towards the other nodes that had been routing order, without any duplication. Additionally, all neighboring nodes packets to the destination via A in the ad hoc network must have a consistent picture of the network 3.2./ Basic mechanisms with regard to each destination. This implies that anytime a node a decides its link to a neighbor b has gone down, B must also decide At each node in the network, a logically separate copy of TORA is that the link to a has gone down In for each destination. When a node needs a route to a particular We have implemented IMEP to provide this functional the destination for which it requires a route. This packet propagates specified by IMEP [5]. We chose a retransmission period of t hot destination, it broadcasts a qUERY packet containing the address of the retransmission timeout and total number of attem through the network until it reaches either the destination, or an and a total timeout of 1500 ms, although based up observations intermediate node having a route to the destination. The recipient an adaptive retransmission timer should be added to the protocol. In- of the query then broadcasts an UPDATE packet listing its height order delivery is enforced by, at each receiver node b, only passin
Table I Constants used in the DSDV-SQ simulation. Periodic route update interval 15 s Periodic updates missed before link declared broken 3 Initial triggered update weighted settling time 6 s Weighted settling time weighting factor 7/8 Route advertisement aggregation time 1 s Maximum packets buffered per node per destination 5 information further. This renders node A unreachable from all nodes in the network until A broadcasts a newer sequence number in a periodic update. A will send this update as soon as it learns of the infinite metric being propagated for it, but large numbers of packets can be dropped in the meantime. Our implementation uses both full and incremental updates as required by the protocol’s description. However, the published description of DSDV [18] is ambiguous about specifying when triggered updates should be sent. One interpretation is that the receipt of a new sequence number for a destination should cause a triggered update. We call this approach DSDV-SQ (sequence number). The advantage of this approach is that broken links will be detected and routed around as new sequence numbers propagate around the broken link and create alternate routes. The second interpretation, which we call simply DSDV, is that only the receipt of a new metric should cause a triggered update, and that the receipt of a new sequence number is not sufficiently important to incur the overhead of propagating a triggered update. We implemented both DSDV-SQ and DSDV and found that while DSDV-SQ is much more expensive in terms of overhead, it provides a much better packet delivery ratio in most cases. The second scheme (DSDV) is much more conservative in terms of routing overhead, but because link breakages are not detected as quickly, more data packets are dropped. All of the results in this paper use DSDV-SQ, with the exception of Section 6.2, which compares this with DSDV. Table I lists the constants used in our DSDV-SQ simulation. 3.2 Temporally-Ordered Routing Algorithm (TORA) TORA [14, 15] is a distributed routing protocol based on a “link reversal” algorithm. It is designed to discover routes on demand, provide multiple routes to a destination, establish routes quickly, and minimize communication overhead by localizing algorithmic reaction to topological changes when possible. Route optimality (shortest-path routing) is considered of secondary importance, and longer routes are often used to avoid the overhead of discovering newer routes. The actions taken by TORA can be described in terms of water flowing downhill towards a destination node through a network of tubes that models the routing state of the real network. The tubes represent links between nodes in the network, the junctions of tubes represent the nodes, and the water in the tubes represents the packets flowing towards the destination. Each node has a height with respect to the destination that is computed by the routing protocol. If a tube between nodes A and B becomes blocked such that water can no longer flow through it, the height of A is set to a height greater than that of any of its remaining neighbors, such that water will now flow back out of A (and towards the other nodes that had been routing packets to the destination via A). 3.2.1 Basic Mechanisms At each node in the network, a logically separate copy of TORA is run for each destination. When a node needs a route to a particular destination, it broadcasts a QUERY packet containing the address of the destination for which it requires a route. This packet propagates through the network until it reaches either the destination, or an intermediate node having a route to the destination. The recipient of the QUERY then broadcasts an UPDATE packet listing its height with respect to the destination. As this packet propagates through the network, each node that receives the UPDATE sets its height to a value greater than the height of the neighbor from which the UPDATE was received. This has the effect of creating a series of directed links from the original sender of the QUERY to the node that initially generated the UPDATE. When a node discovers that a route to a destination is no longer valid, it adjusts its height so that it is a local maximum with respect to its neighbors and transmits an UPDATE packet. If the node has no neighbors of finite height with respect to this destination, then the node instead attempts to discover a new route as described above. When a node detects a network partition, it generates a CLEAR packet that resets routing state and removes invalid routes from the network. TORA is layered on top of IMEP, the Internet MANET Encapsulation Protocol [5], which is required to provide reliable, in-order delivery of all routing control messages from a node to each of its neighbors, plus notification to the routing protocol whenever a link to one of its neighbors is created or broken. To reduce overhead, IMEP attempts to aggregate many TORA and IMEP control messages (which IMEP refers to as objects) together into a single packet (as an object block) before transmission. Each block carries a sequence number and a response list of other nodes from which an ACK has not yet been received, and only those nodes ACK the block when receiving it; IMEP retransmits each block with some period, and continues to retransmit it if needed for some maximum total period, after which time, the link to each unacknowledged node is declared down and TORA is notified. IMEP can also provide network layer address resolution, but we did not use this service, as we used ARP [19] with all four routing protocols. For link status sensing and maintaining a list of a node’s neighbors, each IMEP node periodically transmits a BEACON (or “BEACON-equivalent”) packet, which is answered by each node hearing it with a HELLO (or “HELLO-equivalent”) packet. 3.2.2 Implementation Decisions IMEP must queue objects for some period of time to allow possible aggregation with other objects, but the IMEP specification [5] does not define this time period, and we discovered that the overall performance of the protocol was very sensitive to the choice of this value. After significant experimentation, we chose as the best balance between packet overhead and routing protocol convergence, to aggregate HELLO and ACK packets for a time uniformly chosen between 150 ms and 250 ms, and to not delay TORA routing messages for aggregation. The reason for not delaying these messages is that the TORA link reversal process creates short-lived routing loops that exist from the time that the link-reversal starts until the time that all nodes that need to be aware of the reversal receive the corresponding UPDATE (Section 5.2). Delaying the transmission of TORA routing messages for aggregation, coupled with any queuing delay at the network interface, allows these routing loops to last long enough that significant numbers of data packets are dropped. The TORA and IMEP specifications [15, 5] do not define the precise semantics of reliable object delivery required by TORA, but experimentation showed that very strong semantics must be provided in order to prevent the creation of long-lived routing loops. In particular, all TORA objects must be delivered reliably and in order, without any duplication. Additionally, all neighboring nodes in the ad hoc network must have a consistent picture of the network with regard to each destination. This implies that anytime a node A decides its link to a neighbor B has gone down, B must also decide that the link to A has gone down. We have implemented IMEP to provide this functionality, although the retransmission timeout and total number of attempts are not specified by IMEP [5]. We chose a retransmission period of 500 ms and a total timeout of 1500 ms, although based upon our observations, an adaptive retransmission timer should be added to the protocol. Inorder delivery is enforced by, at each receiver node B, only passing 3
Table II Constants used in the ToRA simulation Table llI Constants used in the dsr simulation. Time between retransmitted ROUTE REQUESTS 500ms Time after which a link is declared down if no BEACON or 3s (exponentially backed off) HELLo packets were exchanged Size of eader carrying n addresse 4n+ 4 bytes Time after which an object block is retransmitted if no 500ms Tin Time after which an object block is not retransmitted and the Max rate for sending gratuitous REPLys for a rou link to the destination is declared down Min hello and Ack aggregation delay 150ms a ROUtE ERROR packet. The sender S can then attempt to use any Max heLLo and AcK aggregation delay other route to d already in its cache or can invoke Route Discovery an object block from some node a to TORA if the block has the equence number that IMEP at B next expects from A. Blocks with SIOn.S lower sequence numbers may generate another ACk but are otherwise Using the suggestions from the published description of DSR [101 dropped. Blocks with higher sequence numbers are queued unti we have optimized our implementation in a number of way missing blocks arrive or until the maximum 1500 ms total timeout Although the dsr protocol supports unidirectional routes, IEEE pires, at which point b can be certain the object will never be 802.11 requires an RTS/CTS/Data/ACK exchange for all unicast transmitted. By this point, A will have declared its link to B down, packets, limiting the routing protocol to using only bidirectional since it will not have received an ACK for the missing packet. To links in delivering data packets. We implemented DSR to discover give the routing protocol at B a picture consistent with that seen by only routes composed of bidirectional links by requiring that a node the protocol at A, the IMEP layer at B notifies its routing protocol return all ROUTE REPLY messages to the requestor by reversing the that the link to A is down, then notifies it the link is back up, and path over which the ROUTE REQUEST packet came. If the path taken then processes the queued packets. by a roUtE REQUEST contained unidirectional links, then the cor- Finally, we improved IMEP's method of link status sensing by responding ROUTE REPLY will not reach the requestor, preventing it reducing it to a point that functions with minimum overhead yet from learning the unidirectional link route still maintains all of the required link status information. During In Route Discovery, a node first sends a RoUTE REQUEST with the our experimentation with IMEP, we found that nodes need only maximum propagation limit(hop limit)set to zero, prohibiting its send BEACON messages when they are disconnected from all other neighbors from rebroadcasting it. At the cost of a single broadcast nodes. Suppose two nodes A and B, both of which have neighbors, packet, this mechanism allows a node to query the route caches of transmit a single HELLo listing each of their neighbors once per all its neighbors for a route and also optimizes the case in which the nodes will overhear each other's HELLOs and all other transmissions, search times out, a propagating ROUTE REQUEST is sent. ing each node to create a link to the other with"incoming Nodes operate their network interfaces in promiscuous mode, dis- Is In subsequent HELLo messages, A and b will list each other, abling the interfaces address filtering and causing the network proto- confirming that a bi-directional link exists between them col to receive all packets that the interface overhears. These packets Table ll lists the constants used in our tora simulation are scanned for useful source routes or rouTE ERROR messages and 3.3 Dynamic Source Routing (DSR) then discarded. This optimization allows nodes to learn potentially useful information, while causing no additional overhead on the lim- DSR [9, 10, 2] uses source routing rather than hop-by-hop routing, ited network bandwidth with each packet to be routed carrying in its header the complete, Furthermore, when a node overhears a packet not addressed to advantage of source routing is that intermediat no ust pass. The key itself, it checks the unprocessed portion of the source route in the ordered list of nodes through which the packet maintain up-to-date routing information in order to route the packets this source route could bypass the unprocessed hops preceding it in they forward, since the packets themselves already contain all the the route. The node then sends a gratuitous ROUTE REPLY message Iting decisions. This fact, coupled with the on-demand nature of to the packet's source, giving it the shorter route without these hops the protocol, eliminates the need for the periodic route advertisement Finally, when an intermediate node forwarding a packet discovers and neighbor detection packets present in other protocols that the next hop in the source route is unreachable, it examines its route cache for another route to the destination If a route exists the 33. Basic mechanisms node replaces the broken source route on the packet with the route The DSR protocol consists of two mechanisms: Route Discovery from its cache and retransmits the packet. If a route does not exist in and Route Maintenance. Route Discovery is the mechanism by its cache, the node drops the packet and does not begin a new route hich a node S wishing to send a packet to a destination d obtains Discovery of its own a source route to D. To perform a Route Discovery, the source node Table lli lists the constants used in our dsr simulation s broadcasts a RoUtE REQUEST packet that is flooded through the network in a controlled manner and is answered by a ROUTE rEPLY 3.4 Ad Hoc On-Demand Distance Vector(AODv) acket from either the destination node or another node that knows a AodV [17 is essentially a combination of both DSR and dsdv route to the destination. To reduce the cost of Route Discovery, each It borrows the basic on-demand mechanism of Route Discovery and node maintains a cache of source routes it has learned or overheard, Route Maintenance from DSR, plus the use of hop-by-hop routing, hich it aggressively uses to limit the frequency and propagation of sequence numbers, and periodic beacons from DSDV ROUTE REQUESTS Route maintenance is the sm by which a packets sender 3.4. Basic mechanisms detects if the network top as changed such that it When a node s needs a route to some destination d. it broad- longer use its route to the on d because two nodes listed casts a ROUTE REQUEST message to its neighbors, including the last the route have moved ou f each other. When Route known sequence number for that destination. The ROUTE REQUEST maintenance indicates a source route is broken, s is notified with is flooded in a controlled manner through the network until it reaches
Table II Constants used in the TORA simulation. BEACON period 1 s Time after which a link is declared down if no BEACON or HELLO packets were exchanged 3 s Time after which an object block is retransmitted if no acknowledgment is received 500 ms Time after which an object block is not retransmitted and the link to the destination is declared down 1500 ms Min HELLO and ACK aggregation delay 150 ms Max HELLO and ACK aggregation delay 250 ms an object block from some node A to TORA if the block has the sequence number that IMEP at B next expects from A. Blocks with lower sequence numbers may generate another ACK but are otherwise dropped. Blocks with higher sequence numbers are queued until the missing blocks arrive or until the maximum 1500 ms total timeout expires, at which point B can be certain the object will never be retransmitted. By this point, A will have declared its link to B down, since it will not have received an ACK for the missing packet. To give the routing protocol at B a picture consistent with that seen by the protocol at A, the IMEP layer at B notifies its routing protocol that the link to A is down, then notifies it the link is back up, and then processes the queued packets. Finally, we improved IMEP’s method of link status sensing by reducing it to a point that functions with minimum overhead yet still maintains all of the required link status information. During our experimentation with IMEP, we found that nodes need only send BEACON messages when they are disconnected from all other nodes. Suppose two nodes A and B, both of which have neighbors, transmit a single HELLO listing each of their neighbors once per BEACON period. If a bi-directional link exists between A and B, both nodes will overhear each other’s HELLOs and all other transmissions, causing each node to create a link to the other with “incoming” status. In subsequent HELLO messages, A and B will list each other, confirming that a bi-directional link exists between them. Table II lists the constants used in our TORA simulation. 3.3 Dynamic Source Routing (DSR) DSR [9, 10, 2] uses source routing rather than hop-by-hop routing, with each packet to be routed carrying in its header the complete, ordered list of nodes through which the packet must pass. The key advantage of source routing is that intermediate nodes do not need to maintain up-to-date routing information in order to route the packets they forward, since the packets themselves already contain all the routing decisions. This fact, coupled with the on-demand nature of the protocol, eliminates the need for the periodic route advertisement and neighbor detection packets present in other protocols. 3.3.1 Basic Mechanisms The DSR protocol consists of two mechanisms: Route Discovery and Route Maintenance. Route Discovery is the mechanism by which a node S wishing to send a packet to a destination D obtains a source route to D. To perform a Route Discovery, the source node S broadcasts a ROUTE REQUEST packet that is flooded through the network in a controlled manner and is answered by a ROUTE REPLY packet from either the destination node or another node that knows a route to the destination. To reduce the cost of Route Discovery, each node maintains a cache of source routes it has learned or overheard, which it aggressively uses to limit the frequency and propagation of ROUTE REQUESTs. Route Maintenance is the mechanism by which a packet’s sender S detects if the network topology has changed such that it can no longer use its route to the destination D because two nodes listed in the route have moved out of range of each other. When Route Maintenance indicates a source route is broken, S is notified with Table III Constants used in the DSR simulation. Time between retransmitted ROUTE REQUESTs (exponentially backed off) 500 ms Size of source route header carrying n addresses 4n + 4 bytes Timeout for nonpropagating search 30 ms Time to hold packets awaiting routes 30 s Max rate for sending gratuitous REPLYs for a route 1/s a ROUTE ERROR packet. The sender S can then attempt to use any other route to D already in its cache or can invoke Route Discovery again to find a new route. 3.3.2 Implementation Decisions Using the suggestions from the published description of DSR [10], we have optimized our implementation in a number of ways. Although the DSR protocol supports unidirectional routes, IEEE 802.11 requires an RTS/CTS/Data/ACK exchange for all unicast packets, limiting the routing protocol to using only bidirectional links in delivering data packets. We implemented DSR to discover only routes composed of bidirectional links by requiring that a node return all ROUTE REPLY messages to the requestor by reversing the path over which the ROUTE REQUEST packet came. If the path taken by a ROUTE REQUEST contained unidirectional links, then the corresponding ROUTE REPLY will not reach the requestor, preventing it from learning the unidirectional link route. In Route Discovery, a node first sends a ROUTE REQUEST with the maximum propagation limit (hop limit) set to zero, prohibiting its neighbors from rebroadcasting it. At the cost of a single broadcast packet, this mechanism allows a node to query the route caches of all its neighbors for a route and also optimizes the case in which the destination node is adjacent to the source. If this nonpropagating search times out, a propagating ROUTE REQUEST is sent. Nodes operate their network interfaces in promiscuous mode, disabling the interface’s address filtering and causing the network protocol to receive all packets that the interface overhears. These packets are scanned for useful source routes or ROUTE ERROR messages and then discarded. This optimization allows nodes to learn potentially useful information, while causing no additional overhead on the limited network bandwidth. Furthermore, when a node overhears a packet not addressed to itself, it checks the unprocessed portion of the source route in the packet’s header. If the node’s own address is present, it knows that this source route could bypass the unprocessed hops preceding it in the route. The node then sends a gratuitous ROUTE REPLY message to the packet’s source, giving it the shorter route without these hops. Finally, when an intermediate node forwarding a packet discovers that the next hop in the source route is unreachable, it examines its route cache for another route to the destination. If a route exists, the node replaces the broken source route on the packet with the route from its cache and retransmits the packet. If a route does not exist in its cache, the node drops the packet and does not begin a new Route Discovery of its own. Table III lists the constants used in our DSR simulation. 3.4 Ad Hoc On-Demand Distance Vector (AODV) AODV [17] is essentially a combination of both DSR and DSDV. It borrows the basic on-demand mechanism of Route Discovery and Route Maintenance from DSR, plus the use of hop-by-hop routing, sequence numbers, and periodic beacons from DSDV. 3.4.1 Basic Mechanisms When a node S needs a route to some destination D, it broadcasts a ROUTE REQUEST message to its neighbors, including the last known sequence number for that destination. The ROUTE REQUEST is flooded in a controlled manner through the network until it reaches 4
a node that has a route to the destination Each node that forwards Table Iv Constants used in the aodv-LL simulation the route request creates a reverse route for itself back to node s the ro Time for which a route is considered active node generates a ROUTE REPLY that contains the number of hops Lifetime on a ROUTE REPLY sent by necessary to reach D and the sequence number for D most recentl seen by the node generating the REPly. Each node that participates UTE REQUEST iS retried in forwarding this reply back toward the originator of the route Time for which the broadcast id for a forwarded rouTe REQUEST (node S), creates a forward route to D. The state created REQUEST is kept in each node along the path from S to D is hop-by-hop state, that is, Time for which reverse route information for a route each node remembers only the next hop and not the entire route,as REPLY is kept ould be done in source routing In order to maintain routes, AoDV normally requires that each node periodically transmit a HELLo message, with a default rate of once per second. Failure to receive three consecutive HELLo mes- Our protocol evaluations are based on the simulation of 50 wireless ges from a neighbor is taken as an indication that the link to the nodes forming an ad hoc network, moving about over a rectangular neighbor in question is down. Alternatively, the AODV specification (1500m x 300m)flat space for 900 seconds of simulated time.We efly suggests that a node may use physical layer or link layer meth- chose a rectangular space in order to force the use of longer routes ods to detect link breakages to nodes that it considers neighbors [17].be When a link goes down, any upstream node that has recently density. The physical radio characteristics of each mobile node's net forwarded ets to a destination using that link is notified via an work interface, such as the antenna gain, transmit power, and receiver UNSOLICITED ROUTE REPLY containing an infinite metric for that sensitivity, were chosen to approximate the Lucent WaveLAN [22] destination. Upon receipt of such a ROUTE REPLY, a node must direct sequence spread spectrum radio In order to enable direct, fair comp s between the protocols, described above it was critical to challenge the protocols with identical loads and 3.4.2 Implementation Decisions environmental conditions. Each run of the simulator accepts as input We initially implemented AODV using periodic HELLO messages for exact sequence of packets originated by each node, together with the link breakage detection as described in the AODV specification [17]. exact time at which each change in motion or packet origination is For comparison, we also implemented a version of AoDV that we call to occur. We pre-generated 210 different scenario files with varying AODV-LL (link layer), instead using only link layer feedback from movement patterns and traffc loads, and then ran all four routing mechanism. Such an approach saves the overhead of the periodic was challenged in an identical fashion, we can directly compare the HELLo messages, but does somewhat change the fundamental nature of the protocol; for example, all link breakage detection in AODV-LL is only on-demand, and thus a broken link cannot be detected until 4.1 Movement Model a packet needs to be sent over the link, whereas the periodic HELLo Nodes in the simulation move according to a model that we call the messages in standard AoDV may allow broken links to be detected "random waypoint" model [10]. The movement scenario files we before a packet must be forwarded. Nevertheless, we found our alter- used for eachsimulation are characterized by pause time. Each node nate version AODV-LL to perform significantly better than standard begins the simulation by remaining stationary for pause time seconds AoDV, and so we report measurements from that version here. It then selects a random destination in the 1500m x 300m space and In addition, we also changed our AODV implementation to use a moves to that destination at a speed distributed uniformly between 0 shorter timeout of 6 seconds before retrying a ROUTE REQUEST for and some maximum speed. Upon reaching the destination, the node which no ROUTE REPLY has been received(RREP_WAIT_TIME). pauses again for pause time seconds, selects another destination, and The value given in the AODV specification was 120 seconds, based proceeds there as previously described, repeating this behavior for on the other constants specified there for AODV. However, a route the duration of the simulation. Each simulation ran for 900 seconds REPly can only be returned if each node along the discovered route of simulated time still has a reverse route along which to return it, saved from when the We ran our simulations with movement patterns generated for 7 ROUTE REQUEST was propagated. Since the specified timeout for this different pause times: 0, 30, 60, 120, 300, 600, and 900 seconds everse route information in each node is only 3 seconds, the original A pause time of 0 seconds corresponds to continuous motion, and a ROUTE REPLY timeout value of 120 seconds unnecessarily limited use time of 900( the length of the simulation) corresponds the protocol's ability to recover from a dropped rOUTE REQUEST or motion. ROUTE REPLY packet Because the performance of the protocols is very sensitive to move- Table Iv lists the constants used in our AodV-LL simulation ment pattern, we generated scenario files with 70 different movement patterns, 10 for each value of pause time. All four routing protocols ere run on the same 70 movement patterns We experimented with two different maximum speeds of node The overall goal of our experiments was to measure the ability of movement. We primarily report in this paper data from simulations ne routing protocols to react to network topology change while using a maximum node speed of 20 meters per second(average speed Continuing to successfully deliver data packets to their destinations 10 meters per second), but also compare this to simulations using measure this ability, our basic methodology was to apply to a maximum speed of I meter per second mulated network a variety of workloads, in effect testing with each data packet originated by so der whether the routing protoc 4.2 Communication Model can at that time route to the destination of that packet. We were As the goal of our simulation was to compare the performance of each not attempting to measure the protocols' performance on a particular routing protocol, we chose our traffic to be constant bit rate workload taken from real life, but rather to measure the protocols ( CBr)sources. When defining the parameters of the communication performance under a range of conditions odel, we experimented with sending rates of 1, 4, and 8 packets
a node that has a route to the destination. Each node that forwards the ROUTE REQUEST creates a reverse route for itself back to node S. When the ROUTE REQUEST reaches a node with a route to D, that node generates a ROUTE REPLY that contains the number of hops necessary to reach D and the sequence number for D most recently seen by the node generating the REPLY. Each node that participates in forwarding this REPLY back toward the originator of the ROUTE REQUEST (node S), creates a forward route to D. The state created in each node along the path from S to D is hop-by-hop state; that is, each node remembers only the next hop and not the entire route, as would be done in source routing. In order to maintain routes, AODV normally requires that each node periodically transmit a HELLO message, with a default rate of once per second. Failure to receive three consecutive HELLO messages from a neighbor is taken as an indication that the link to the neighbor in question is down. Alternatively, the AODV specification briefly suggests that a node may use physical layer or link layer methods to detect link breakages to nodes that it considers neighbors [17]. When a link goes down, any upstream node that has recently forwarded packets to a destination using that link is notified via an UNSOLICITED ROUTE REPLY containing an infinite metric for that destination. Upon receipt of such a ROUTE REPLY, a node must acquire a new route to the destination using Route Discovery as described above. 3.4.2 Implementation Decisions We initially implemented AODV using periodic HELLO messages for link breakage detection as described in the AODV specification [17]. For comparison, we also implemented a version of AODV that we call AODV-LL (link layer), instead using only link layer feedback from 802.11 as in DSR, completely eliminating the standard AODV HELLO mechanism. Such an approach saves the overhead of the periodic HELLO messages, but does somewhat change the fundamental nature of the protocol; for example, all link breakage detection in AODV-LL is only on-demand, and thus a broken link cannot be detected until a packet needs to be sent over the link, whereas the periodic HELLO messages in standard AODV may allow broken links to be detected before a packet must be forwarded. Nevertheless, we found our alternate version AODV-LL to perform significantly better than standard AODV, and so we report measurements from that version here. In addition, we also changed our AODV implementation to use a shorter timeout of 6 seconds before retrying a ROUTE REQUEST for which no ROUTE REPLY has been received (RREP WAIT TIME). The value given in the AODV specification was 120 seconds, based on the other constants specified there for AODV. However, a ROUTE REPLY can only be returned if each node along the discovered route still has a reverse route along which to return it, saved from when the ROUTEREQUEST was propagated. Since the specified timeout for this reverse route information in each node is only 3 seconds, the original ROUTE REPLY timeout value of 120 seconds unnecessarily limited the protocol’s ability to recover from a dropped ROUTE REQUEST or ROUTE REPLY packet. Table IV lists the constants used in our AODV-LL simulation. 4 Methodology The overall goal of our experiments was to measure the ability of the routing protocols to react to network topology change while continuing to successfully deliver data packets to their destinations. To measure this ability, our basic methodology was to apply to a simulated network a variety of workloads, in effect testing with each data packet originated by some sender whether the routing protocol can at that time route to the destination of that packet. We were not attempting to measure the protocols’ performance on a particular workload taken from real life, but rather to measure the protocols’ performance under a range of conditions. Table IV Constants used in the AODV-LL simulation. Time for which a route is considered active 300 s Lifetime on a ROUTE REPLY sent by destination node 600 s Number of times a ROUTE REQUEST is retried 3 Time before a ROUTE REQUEST is retried 6 s Time for which the broadcast id for a forwarded ROUTE REQUEST is kept 3 s Time for which reverse route information for a ROUTE REPLY is kept 3 s Time before broken link is deleted from routing table 3 s MAC layer link breakage detection yes Our protocol evaluations are based on the simulation of 50 wireless nodes forming an ad hoc network, moving about over a rectangular (1500m 300m) flat space for 900 seconds of simulated time. We chose a rectangular space in order to force the use of longer routes between nodes than would occur in a square space with equal node density. The physical radio characteristics of each mobile node’s network interface, such as the antenna gain, transmit power, and receiver sensitivity, were chosen to approximate the Lucent WaveLAN [22] direct sequence spread spectrum radio. In order to enable direct, fair comparisons between the protocols, it was critical to challenge the protocols with identical loads and environmental conditions. Each run of the simulator accepts as input a scenario file that describes the exact motion of each node and the exact sequence of packets originated by each node, together with the exact time at which each change in motion or packet origination is to occur. We pre-generated 210 different scenario files with varying movement patterns and traffic loads, and then ran all four routing protocols against each of these scenario files. Since each protocol was challenged in an identical fashion, we can directly compare the performance results of the four protocols. 4.1 Movement Model Nodes in the simulation move according to a model that we call the “random waypoint” model [10]. The movement scenario files we used for each simulation are characterized by a pause time. Each node begins the simulation by remaining stationary for pause time seconds. It then selects a random destination in the 1500m 300m space and moves to that destination at a speed distributed uniformly between 0 and some maximum speed. Upon reaching the destination, the node pauses again for pause time seconds, selects another destination, and proceeds there as previously described, repeating this behavior for the duration of the simulation. Each simulation ran for 900 seconds of simulated time. We ran our simulations with movement patterns generated for 7 different pause times: 0, 30, 60, 120, 300, 600, and 900 seconds. A pause time of 0 seconds corresponds to continuous motion, and a pause time of 900 (the length of the simulation) corresponds to no motion. Because the performance of the protocols is very sensitive to movement pattern, we generated scenario files with 70 different movement patterns, 10 for each value of pause time. All four routing protocols were run on the same 70 movement patterns. We experimented with two different maximum speeds of node movement. We primarily report in this paper data from simulations using a maximum node speed of 20 meters per second (average speed 10 meters per second), but also compare this to simulations using a maximum speed of 1 meter per second. 4.2 Communication Model As the goal of our simulation was to compare the performance of each routing protocol, we chose our traffic sources to be constant bit rate (CBR) sources. When defining the parameters of the communication model, we experimented with sending rates of 1, 4, and 8 packets 5