DOA DSR over AODV Routing for Mobile Ad

DOA: DSR over AODV Routing for Mobile Ad Hoc Networks

Rendong Bai and Mukesh Singhal, Fellow, IEEE

Abstract —We present a lightweight hierarchical routing model, Way Point Routing (WPR), in which a number of intermediate nodes on a route are selected as waypoints and the route is divided into segments by the waypoints. Waypoints, including the source and the destination, run a high-level intersegment routing protocol, while the nodes on each segment run a low-level intrasegment routing protocol. One distinct advantage of our model is that when a node on the route moves out or fails, instead of discarding the whole original route and discovering a new route from the source to the destination, only the two waypoint nodes of the broken segment have to find a new segment. In addition, our model is lightweight because it maintains a hierarchy only for nodes on active routes. On the other hand, existing hierarchical routing protocols such as CGSR and ZRP maintain hierarchies for the entire network. We present an instantiation of WPR, where we use DSR as the intersegment routing protocol and AODV as the intrasegment routing protocol. This instantiation is termed DSR over AODV (DOA) routing protocol. Thus, DSR and AODV—two well-known on-demand routing protocols for MANETs—are combined into one hierarchical routing protocol and become two special cases of our protocol. Furthermore, we present two novel techniques for DOA: one is an efficient loop detection method and the other is a multitarget route discovery. Simulation results show that DOA scales well for large networks with more than 1,000 nodes, incurring about 60 percent-80 percent less overhead than AODV, while other metrics are better than or comparable to AODV and DSR.

Index Terms —Ad hoc networks, routing protocols, scalability, hierarchical, DSR, AODV, MANET.

1 I NTRODUCTION

W Routing has always been one of the key challenges in

IRELESS networks are rapidly becoming a common-

place: Wi-Fi cards are built in computing devices as a MANETs and the challenge becomes more difficult when standard configuration; hotspots are installed in more and the network size increases. Many routing protocols for more places, such as campuses, offices, and hotels. Soon, MANETs have been proposed (see [4] for a review) and numerous mobile and embedded devices will join the these protocols can be classified into different categories revolution of pervasive computing. Existing infrastructure- according to different criteria. If classified by the manner in based networks may become infeasible to support all of which they react to network topology changes, routing these new participants because the number of wireless protocols can be grouped into proactive (or table-driven) devices is increasing exponentially. This leads us to protocols and reactive (or on-demand) protocols (though

several hybrid protocols exist). If classified by the role of envision future large networks where hosts communicate routing nodes and the organization of the network, routing with each other in an ad hoc manner. Such networks are protocols can be grouped into flat protocols and hierarch-

generally termed as mobile ad hoc networks (MANETs). ical protocols. The following is an example of future MANETs. In an area

Proactive protocols propagate topology information such as a campus or a city, portable devices (laptops, PDAs, periodically and find routes continuously, while reactive

smart phones, etc.) communicate with each other according protocols find routes on demand. Performance analysis to a set of ad hoc networking standards and a certain and simulation results [5] show that, generally, reactive number of access points may be installed to form mesh protocols outperform proactive protocols in terms of packet networks. In such an environment, it will become a reality delivery ratio, routing overhead, and energy efficiency. for an individual to talk to anyone digitally from anywhere Therefore, research interests have been mainly focused on (within the area) at no or little cost. There are a number of reactive protocols. Dynamic Source Routing protocol (DSR) ongoing projects that aim to study and prototype large-scale [6] and Ad hoc On-demand Distance Vector routing

ad hoc networks, for example, the ExScal project in OSU [1], protocol (AODV) [7] are two well-known reactive routing the Terminodes project in Switzerland [2], and the Roofnet protocols. project at MIT [3].

DSR and AODV both belong to the category of flat routing protocols, in which all nodes are assigned the same functionalities. Flat routing protocols work well for small

networks containing a few hundred nodes; however, their

. The authors are with the Wireless and Distributed Systems Research

Group, Department of Computer Science, University of Kentucky, James F.

performance degrades rapidly as the network grows

Hardymon Building, Room 207, 301 Rose Street, Lexington, KY 40506. E-mail: {rdbai, singhal}@cs.uky.edu.

because of the routing overhead. Hierarchical routing protocols are developed to solve the scalability problem.

Manuscript received 1 Feb. 2005; revised 5 Aug. 2005; accepted 17 Oct. 2005; published online 16 Aug. 2006.

In these protocols, the network is divided into groups and a

For information on obtaining reprints of this article, please send e-mail to:

subset of nodes are assigned special functionalities, typi-

tmc@computer.org, and reference IEEECS Log Number TMC-0022-0205.

cally, coordinating roles. Clusterhead-Gateway Switch

IEEE TRANSACTIONS ON MOBILE COMPUTING,

VOL. 5, NO. 10, OCTOBER 2006

Fig. 2. A route divided into segments. such as low routing overhead and low end-to-end delay.

Waypoints run a high-level intersegment routing protocol, while nodes on each segment run a low-level intrasegment routing protocol.

Fig. 1. A hierarchy in two dimensions.

Routing (CGSR) [8] is a typical hierarchical routing Compared to hierarchical routing protocols such as protocol. CGSR divides the network into clusters that are CGSR [8] and Zone Routing Protocol (ZRP) [10], WPR is a circular regions with the radius of a predefined hop count. After the network is divided into clusters, local route lightweight scheme for two reasons. First, the hierarchy in

maintenance activities will only affect a few neighboring WPR only involves nodes on active routes, while the clusters, while other clusters remain untouched. Therefore, hierarchy in CGSR and ZRP involves all nodes in the scalability is achieved. However, the overhead to dynami- network. Second, the hierarchy in WPR is easier to cally maintain the hierarchy may be high in mobile maintain. The hierarchy in CGSR and ZRP is more environments.

complicated because it is built in two dimensions, i.e., the As a network grows, routes between sources and network is divided into regions as shown in Fig. 1, while the

destinations become longer. When a route breaks due to hierarchy in WPR is built in one dimension, i.e., a route is node mobility or node failure, flat routing protocols like linearly divided into segments as shown in Fig. 2. More- DSR and AODV typically discard the whole original route over, nodes in WPR work uniformly because the assign- and initiate another round of route discovery to establish a ment of waypoint nodes and nonwaypoint nodes is new route from the source to the destination. When a route specifically for each route. A node may act as a waypoint breaks, usually only a few hops are broken, but other hops node for one route and may act as a nonwaypoint node for are still intact. Thus, this approach wastes the knowledge of another route. This facilitates the uniform consumption of the original route and may cause significant overhead in resources at nodes in MANETs. In hierarchical routing global route discoveries. An optimization to AODV is local protocols such as CGSR, nodes work nonuniformly and a repair, as described in [9]. However, the local repair is center node may become a traffic bottleneck and drain its

suitable for situations where link failures occur near the 1 battery early.

destination. This is because in AODV, intermediate nodes As an instantiation of WPR, we choose DSR and AODV only know the destination and the next hop for a route and as the intersegment and the intrasegment protocols,

the target of the local repair has to be the destination. If a respectively. We term this instantiation as DSR over AODV link failure occurs far from the destination, it would be (DOA) routing protocol. Thus, DSR and AODV—two well- better for the source to discover a new route directly. known routing protocols for MANETs—are combined Therefore, the main motivation of our work is as follows: By hierarchically. Moreover, they become two special cases of establishing and maintaining active routes hierarchically, a

our scheme: When the segment length is set to 1, DOA broken route can be repaired locally wherever the link failure occurs along the route and fewer global route works in DSR mode because each hop is a segment and the

discoveries need to be initiated by the source node. intersegment routing protocol (DSR) dominates; when the Consequently, the new routing protocol incurs less routing segment length is set to a large number, DOA works in overhead and exhibits better scalability and performance.

AODV mode because the whole route is one segment and In this paper, we present a scalable routing model for the intrasegment routing protocol (AODV) dominates. In

MANETs, Way Point Routing (WPR), which maintains a this paper, we also present two novel techniques for DOA; hierarchy only for active routes. In WPR, a number of one is an efficient loop detection method and the other is a intermediate nodes on a route are selected as waypoints multitarget route discovery. and the route is divided into segments by the waypoints.

The remainder of the paper is organized as follows: In The source and the destination are also considered as the next section, we present the Way Point Routing model. waypoints. One distinct advantage of our model is that In Section 3, we describe the DOA routing protocol. when a node on the route moves out or fails, instead of Section 4 presents the simulation setup and results. Related discarding the whole original route and discovering a new work is presented in Section 5. We draw conclusions in

route from the source to the destination, only the two Section 6. waypoints of the broken segment have to find a new

segment. This will have a clear performance advantage, 2 T

HE W AY P OINT R OUTING (WPR) H IERARCHY

1. In Section 6.12 (Local Repair) of AODV draft [9], “When a link break in

Our intuition for the Way Point Routing hierarchy comes

an active route occurs, the node upstream of that break MAY choose to repair the link locally if the destination was no farther than

from a close comparison of DSR and AODV routing

MAX_REPAIR_TTL hops away.”

protocols and from an attempt to make DSR protocol scale

BAI AND SINGHAL: DOA: DSR OVER AODV ROUTING FOR MOBILE AD HOC NETWORKS 1405

to larger networks. Thus, we first present the comparison maintained at the grain of the whole path, i.e., from the and then introduce the WPR routing scheme.

source to the destination. This approach works well for small networks where routes are typically short. When the

2.1 Comparison of AODV and DSR network grows, routes become longer and break more Although both DSR and AODV belong to reactive routing often. If routes are still maintained at the grain of the whole

protocols, they work differently in a number of aspects. A path, the routing overhead will be high because new routes good performance comparison of DSR and AODV can be are discovered and discarded frequently. found in [11]. Below are the major differences between DSR and AODV:

2.2 The Way Point Routing Approach We define a term called manageable grain to describe the

1. The most noticeable distinction between DSR and maintenance of a route. The manageable grain is coarse if a AODV is that the packet header overhead in DSR is route is maintained at the grain of the whole path from the

larger than AODV because data and control packets source to the destination. Flat routing protocols such as in DSR typically carry complete route information. AODV and DSR maintain routes at the coarse manageable The header overhead restricts the scalability of DSR. grain. A path will be discarded if one hop on the path is

2. In terms of route learning capability, DSR can learn broken. Generally, local repair is not applicable because no more routing information from the traffic than finer manageable grain is available.

AODV, because DSR packets contain complete route

A finer manageable grain is required when maintain- information. This generally results in DSR generat- ing routes in larger networks. In our approach, the finer

ing fewer route discoveries. manageable grain is achieved by using a hierarchy of

3. DSR is potentially able to obtain multiple routes nodes on the routes. In the hierarchy, a route is divided through multiple route replies. In DSR, the destina- into several subroutes, which are termed as segments. tion replies to all valid received route requests After dividing the route into segments, we obtain a two-

(RREQs) but, in AODV, the destination replies level hierarchical routing model: the global intersegment only to the first valid received RREQ. Pearlman routing and the local intrasegment routing. At a higher et al. [12] showed that in multiple channel net- level, a global intersegment routing protocol is used from works, multiple path routing can significantly the source to the destination; at a lower level, a local improve the performance.

intrasegment routing protocol is used within each seg-

4. Compared to DSR, AODV is able to run on larger ment. If needed, a hierarchy with more than two levels networks. As observed in our simulations (Section 4), can be established by further dividing the segments. We

DSR delivers 51 percent of data packets for networks

2 , while use the two-level hierarchy in our discussion. In our hierarchical routing model, the manageable grain is a AODV delivers 89 percent of data packets for the segment. The segment manageable grain makes it possible

same configuration. Route information in AODV is for the route maintenance activities to be conducted maintained in a distributed manner—every inter- locally, typically on a segment. mediate node along the route keeps a forwarding

We divide a route into segments by selecting a number of pointer (next hop) toward the destination; while waypoint nodes from the route. Therefore, we call our

route information in DSR is maintained by the hierarchical routing model Way Point Routing (WPR). The source. A distributed manner is more suitable for source and the destination are also waypoint nodes. Other MANETs.

nodes on the route are termed forwarding nodes. Each

5. If security is a major concern, DSR is easier to secure segment starts with a waypoint node called start node and than AODV. In DSR, the source designates the path ends with a waypoint node called end node. The start and that will be used to route data packets. Therefore, end nodes of a segment are generally connected by a

DSR can select a secure route based on the trust of number of forwarding nodes. Two neighboring segments nodes. Lot of work on security in MANETs is based share a common waypoint node, which acts as the end node on DSR [13], [14], [15], [16]. Gupte and Singhal [17] of the upstream segment and the start node of the and Hu and Perrig [18] presented surveys on security downstream segment. issues in MANETs.

The WPR approach has the following advantages: First, In DSR, source routes carried in data packets are likely to since routes are maintained at a finer grain (i.e., a segment), cause significant overhead in larger networks where routes

a broken route can be fixed locally at the level of a segment. are longer. An Internet draft of DSR [19] states that DSR is When a route breaks, usually only a few hops are broken

suitable for MANETs “with up to around 200 nodes.” In and other hops are still intact. Fixing a broken route within both DSR and AODV, when a route breaks due to node

a segment extends the lifetime of the route and saves mobility or node failure, the broken route is discarded and a expensive, time-consuming global route discoveries. Thus, new route is discovered from the source to the destination. WPR will substantially reduce the routing overhead and This will have scalability and performance problems in improve the performance. Second, the length (hop count) of larger networks. The local repair optimization to AODV is each segment on a route can be different and lengths of suitable for situations where link failures occur near the segments on different routes can be different. This makes destination, as discussed in Section 1.

WPR an adaptive routing scheme, which is important for The problems mentioned above are inherent in flat MANETs where various network scenarios exist. For routing protocols. In flat routing protocols, a route is example, if a network is stable and nodes move slowly,

IEEE TRANSACTIONS ON MOBILE COMPUTING,

VOL. 5, NO. 10, OCTOBER 2006

longer segments can be used to reduce the overhead of work for larger networks and limit the overhead of AODV to maintaining the hierarchy; if nodes move faster, shorter

a local range (within a segment). DOA works on an on- segments can be used to facilitate route repairs. Finally, in demand basis. In DSR, the use of promiscuous receive mode WPR the hierarchy only involves nodes on active routes, is optional, and some optimizations can take advantage of its while other nodes save their resources.

availability. However, the use of promiscuous mode Fig. 2 gives an example of how a route from node A to increases CPU processing overhead and power consump- node J is divided into segments. We select nodes D and G tion. Thus, we choose not to use promiscuous mode. Like as waypoint nodes. Source A and destination J are also other on-demand routing protocols, we address four issues

in DOA: route discovery, data forwarding, route main- waypoint nodes. Waypoint nodes D and G divide the route tenance, and loop handling. Additionally, we address the

issue of supporting metrics other than hop count in

G 2 The nodes between the start and end nodes Section 3.5. Four types of control messages are defined: of a segment are forwarding nodes. A segment can be route request (RREQ), route reply (RREP), route error simply identified by its start and end nodes. For example, (RERR), and route activate (RACT). RACT message is used

to set up a reverse path from the end node to the start node of

a segment, and it will be explained at the end of Section 3.1.2

2.3 Combining AODV and DSR in WPR in detail. To distinguish messages used for intersegment For the issue of what protocols are suitable for intersegment routing and intrasegment routing, we add subscript inter or routing and intrasegment routing in WPR, theoretically intra to messages (e.g., RREQ inter and RREQ intra ). many existing protocols can be used. In our instantiation,

DSR is used for global intersegment routing and AODV is 3.1 Route Discovery

used for local intrasegment routing and this instantiation is

3.1.1 Intersegment Route Request termed DSR over AODV (DOA) routing protocol. Our When a source node requires a new route to a destination choice of these protocols is motivated by the following node, it broadcasts an RREQ inter message. A RREQ inter can reasons:

be uniquely identified by the combination of the source

1. DSR and AODV are two well-known on-demand address and the source’s broadcast ID number. Similarly to routing protocols. By combining them hierarchically, DSR routing protocol, the RREQ inter message records the

we expect DOA to inherit the strengths of both DSR list of nodes it has traversed. When an intermediate node and AODV and, thus, exhibit better scalability and receives the RREQ inter , it first determines whether this performance. Our simulation study shows that this request is a duplicate by looking up its request seen table. combination indeed improves the scalability of DSR Duplicate requests are discarded. If the RREQ inter is new greatly and reduces the overhead of AODV and its TTL is greater than zero, the intermediate node significantly.

appends its address to the path recorded in the RREQ inter

2. DOA makes it possible for DSR routing and AODV and rebroadcasts the request to its neighbors. Route reply routing to coexist in the same network. In fact, DSR 3 by intermediate nodes is not enabled in DOA because the

and AODV are two special cases of DOA. When the routes provided by intermediate nodes may be outdated. segment length is set to 1, DOA becomes DSR; when When the RREQ inter message reaches the destination, the the segment length is set to a large number, DOA destination node replies to the request as described next. becomes AODV.

3. For local intrasegment routing, AODV is used

3.1.2 Intersegment Route Reply

because of its efficient operation and its ability to In DSR, for one route discovery identified by a source run on larger networks (though with a rapidly address and a broadcast id, there is no limit on the number increasing routing overhead). Using AODV as the of RREPs that the destination can send to the source; the intrasegment routing protocol allows longer seg- destination will send a RREP whenever it receives a RREQ. ments to exist in WPR. This makes the segment We observe in our simulations that most of the paths division in WPR more flexible. If needed, long discovered by RREQ messages share a large number of segments can be used to reduce the number of common nodes; only the last few hops are different. Based waypoint nodes on a route.

on this observation, for one intersegment route discovery, We now explain the operation of the DOA routing we limit the number of replies that the destination can send protocol in the next section.

to the source by the parameter MAX_REPLY_TIMES (which is set to 2 in our simulations).

If the length of the path recorded in RREQ inter exceeds a

threshold value (DEFAULT_SEGMENT_LEN), the destina- In DOA, DSR runs at the intersegment level and only tion divides the path into segments by selecting waypoint waypoint nodes are listed in headers of data packets as the nodes from the path. It is worth noting that there are several source route option; AODV runs at the intrasegment level. ways to select waypoint nodes. A naive method is selecting By combining DSR and AODV hierarchically, we make DSR waypoint nodes that divide the path into segments evenly,

3 T HE DOA R OUTING P ROTOCOL

2. To distinguish waypoint nodes from forwarding nodes, we use 3. Route reply by an intermediate node means that a node is not the uppercase letters to label waypoint nodes and lowercase letters to label

destination of a route discovery, but it knows how to reach the destination forwarding nodes.

and sends a route reply to the source.

BAI AND SINGHAL: DOA: DSR OVER AODV ROUTING FOR MOBILE AD HOC NETWORKS 1407

i.e., the length (hop count) of each segment is roughly equal packets, while in DOA, it is the end node of a segment and to DEFAULT_SEGMENT_LEN. For example, suppose the is not necessarily the final destination. path from a source A to a destination J is

When an intermediate node receives the RREP inter , it first determines if it is a waypoint node or a forwarding

A node on the replied route. If it is a waypoint node, it and suppose the value of DEFAULT_SEGMENT_LEN is 3. updates both its route cache and its routing table. If it is a

A possible path division would be forwarding node, it updates only its routing table. To update its route cache, the node inserts source routes

A to the destination and to downstream intermediate way- point nodes into its route cache. In our previous example,

which contains three segments: AD, DG, and GJ. The length of each segment is equal to 3. Waypoint nodes can

receiving the RREP inter , node G adds hJ : Ji to its route also be selected according to other criteria, for example, speed or security association. Using lower-speed nodes as cache, node D adds hG : Gi and hJ : GJi to its route cache,

and so on.

waypoint nodes apparently makes routes last longer; using nodes from the same security association makes routes

To update its routing table, the node inserts or updates an entry in its routing table if the intrasegment route

more secure. We use the naive method to divide a path. The (hend node : next hopi) in the RREP inter is new or better. For parameter DEFAULT_SEGMENT_LEN determines how the inserted or updated entry, the end node is the end node

many segments a route is divided into.

of the current segment and the next hop is the last node that The destination generates a RREP

message after the relayed the RREP inter to the current node. Each entry in the path has been divided. The path that includes both waypoint nodes and forwarding nodes is placed into the RREP inter

inter

routing table has a Boolean type field named start node. It is . set to true if the current node is the start node of the current

segment; otherwise, it is set to false. The start node field placed into the RREP inter . The source address is not listed determines whether to forward an intrasegment route error

because it appears as the destination of the RREP inter further, which will be explained in detail in Section 3.3.1. message. This detailed path is used by intermediate nodes

Using the previous example, where the replied route is to establish the route and relay the RREP inter back to the A

source. ceives the RREP inter , it searches for the route to end We need to add more information into the RREP inter node J in its routing table. If no route is found or the found

for intrasegment routing. Similarly to AODV protocol, the route is old, a new route to J will be inserted or updated. sequence number of and the hop count to the end node of For the new route, the next hop is i, and the hop count is 2. the current segment are carried by the RREP inter . These

When the RREP inter arrives at an intermediate waypoint two fields are denoted end_seq and end_hopcount, respec- node, it means that the RREP inter is leaving a segment

tively. They have the same functionalities as in AODV— where the current node is the start node and that the loop prevention and route comparison. In our example, RREP inter is entering an upstream segment where the since the current segment is the last segment and the end current node is the end node. Therefore, this node sets the node is the destination, the destination sets the end seq to end seq in the RREP inter to its own sequence number and its own sequence number and sets the end_hopcount to 1. resets the end_hopcount in the RREP inter to 1.

The RREP inter is unicast to the source along the reverse As with AODV, at the intrasegment level of DOA, a path contained in the RREP inter message. Before explaining reverse path from the end node to the start node of a segment

how intermediate nodes and the source node handle the is needed. In order to let the end node and forwarding nodes RREP inter , we need to introduce two tables maintained by on the segment know the sequence number of and the hop

all nodes in the network: route cache and routing table. Route count to the start node, the start node sends a route activate cache is used for intersegment DSR routing, while routing (RACT) message to the end node. The RACT contains the two table is used for intrasegment AODV routing.

values, denoted start seq and start hopcount, respectively. An entry in the route cache uses hdestination : start seq is set to the sequence number of the start node. The

source route i structure as in the DSR protocol. The route initial value of start hopcount is 1 and it will be increased by cache stores source routes from the current node to forwarding nodes when the RACT is relayed. The RACT

destination nodes. A source route only contains waypoint message is required because when RREQ inter s were propa- nodes. Therefore, any two neighboring nodes on a source gated, although downstream nodes could learn upstream route in DOA are one segment away from each other, nodes list carried by RREQ inter s , the route division into instead of one hop away as in DSR. Typically, one segment segments had not been done yet. contains multiple hops.

When the RREP inter reaches the source node that An entry in the routing table uses hend node : next hopi initiated the intersegment route discovery, the source

structure similarly to the AODV protocol. An end node updates both its route cache and its routing table as corresponds to a destination in AODV. The outing table described above. Now, the source is ready to transmit data stores the next hop to the end node of a segment, where the packets as described next. current node is either a forwarding node or the start node of

this segment. The difference between the AODV routing 3.2 Data Forwarding

table and the DOA routing table is that the destination field To transmit a data packet, the source node first sets the in the AODV routing table is the final destination of data source route option in the data packet for intersegment

IEEE TRANSACTIONS ON MOBILE COMPUTING,

VOL. 5, NO. 10, OCTOBER 2006

routing. The source gets a source route to the destination from its route cache and inserts the source route into the header of the data packet, as in the DSR protocol. The difference is that in DOA, a source route only contains waypoint nodes. Therefore, compared to DSR, our ap- proach reduces the header overhead of data packets and Fig. 3. Intrasegment route repair. improves the scalability of source routing.

After setting the source route option for the data packet, is sent to the source, which subsequently may start another the source node processes intrasegment routing for the first round of global route discovery as described in Section 3.1.1. segment on the route. It gets the next hop to the end node of The start node of the broken segment is the initiator of the first segment by looking up its routing table, like the intrasegment and intersegment repairs. In the following AODV protocol. The difference is that AODV gets the next description, we simply denote the route repair initiator as hop to the final destination, while DOA gets the next hop to the initiator and denote the node that the initiator looks for the end node of the current segment. Next, the source node (e.g., the end node of the broken segment) as the target. sends the packet to the next hop, which, typically, is a forwarding node.

3.3.1 Intrasegment Route Repair

The source route option of a data packet contains a field Intrasegment route repair works in AODV mode. When a named current_seg, which is the index of the current node finds the next hop node is unreachable, it sends a segment on the source route. This index lets intermediate RERR intra message to its precursor nodes, which use the nodes on the route know which segment the data packet is current node as the next hop for some segments. Multiple being routed in. The value of current_seg is maintained by segments will be broken if they all use the broken link as a waypoint nodes. When the data packet leaves an upstream hop. The RERR intra contains the broken link and the end segment and enters a downstream segment at a waypoint nodes of the broken segments. Upon receiving the node, the value of current_seg is increased by 1. This RERR intra

, a precursor node searches for the broken operation belongs to intersegment routing. For intraseg- segments from its routing table and sets the state of the

ment routing, intermediate nodes get the next hop to the broken segments to invalidated. If the current node is not the end node of the current segment from their routing tables start node for some of the broken segments (in its routing

and send the data packet to that next hop. Intersegment table, the start_node values for these segments are false), it routing (occurs only at waypoint nodes) and intrasegment routing (occurs at both waypoint and forwarding nodes) relays the RERR intra until the message reaches the start

nodes of all broken segments.

continue until the data packet reaches the destination. When the start node of a broken segment knows the

3.3 Route Maintenance intrasegment route error, it tries the intrasegment route Due to the dynamic nature of MANETs, links on a route repair and becomes the initiator of the route repair. The

may fail. Route maintenance is the mechanism to handle initiator broadcasts an intrasegment route request route breaks. A node can confirm if a packet is correctly (RREQ intra ) looking for the end node (target of the route received by the downstream node through any of the three discovery) of the broken segment, and the TTL of the types of acknowledgments: link-level, passive (listening to RREQ intra is set to MAX SEGMENT LEN (its value is the forwarding by next hop node), and network-layer.

DEFAULT SEGMENT LEN þ 1 in our simulations). Inter- In flat reactive routing protocols, when a link failure mediate nodes that receive the RREQ intra forward the

occurs, typically a route error message is sent to the source message if it is not a duplicate and its TTL value is greater and the old route is torn down. The source then starts than zero and discard the message otherwise. When the another route discovery. Route maintenance in this manner target receives the first RREQ intra message, it sends a creates a lot of route request overhead. On the other hand, a RREP intra message to the initiator. The RREP intra is relayed route in DOA is composed of segments. Thus, a broken as a unicast message along the reverse path from the target route can be repaired locally, at the level of the broken to the initiator. Intrasegment route repair succeeds if the segment or at the level of a few segments near the broken initiator receives the RREP intra . segment.

Fig. 3 shows an example in which the original path for Two levels of route repairs are defined in DOA: intrasegment route repair and intersegment route repair. breaks. An intrasegment route discovery succeeds and the When a segment is broken, intrasegment route repair is tried first and it works in the range of one segment. If period from initiating the intrasegment route repair to intrasegment route repair succeeds, waypoint nodes on the knowing the result of the repair, the initiator buffers data source route are not changed; thus, the source node does packets it receives that use the route under repair. If the not need to be notified. If intrasegment route repair fails, intrasegment repair succeeds, the initiator transmits the intersegment route repair will be tried next and it works buffered data packets; otherwise, it tries intersegment over multiple segments, including the broken segment and repair and keeps buffering undeliverable data packets. downstream segments. If intersegment route repair suc-

Intrasegment route repair tries to establish a new path ceeds, the repaired source route is sent to the source and the between the start and the end nodes of a broken segment. It source will use the repaired route to transmit data packets may also establish a new path for the previous segment, thereafter. Otherwise, an intersegment route error message even if the previous segment is not broken. The reason is

BAI AND SINGHAL: DOA: DSR OVER AODV ROUTING FOR MOBILE AD HOC NETWORKS 1409

BROKEN: It informs that the route was broken and the intersegment route repair failed. The source node may need to start another global route discovery.

LOOP: It removes a loop on the route. This type of RERR inter message is used for loop detection and will be explained in Section 3.4 in detail.

We denote these three types of RERR inter messages as RERR repair

inter , RERR inter and RERR inter , respectively. As for the details of the intersegment route repair, the initiator starts a localized intersegment route discovery by broadcasting a RREQ inter message. The discovery process is similar to the global intersegment route discovery discussed in Section 3.1. While the intrasegment route repair discovers

broken

loop

Fig. 4. Intrasegment route repair updates the previous segment.

a path to the end node of the broken segment in the range of one segment (MAX SEGMENT LEN), the intersegment that in AODV nodes learn new routes from route request route repair discovers a path to the end node of the messages—a node that receives a RREQ inserts or updates a segment after the broken segment in the range of two route to the RREQ initiator. When the RREQ intra message is broadcast from the initiator, the previous segment is in the ment is the last segment of the route, the target of the route range of the intrasegment route discovery. Fig. 4 shows that discovery will be the destination. an intrasegment route repair at the segment DG also builds

Upon receiving the RREQ inter message, intermediate

a new path for the previous segment AD. The old segment nodes handle the message as described in Section 3.1.1. The

A RREQ inter is propagated if it is not a duplicate and its TTL is When a new path is discovered for the previous segment, it greater than zero. When the target receives the RREQ inter , it may be not activated. Therefore, the start node of the divides the path recorded in the RREQ inter into segments if previous segment sends a RACT message to the initiator to activate the new path. The intrasegment route repair that the path is longer than DEFAULT_ SEGMENT_LEN hops.

happened at the broken segment is also helpful to update The target sends an intersegment route reply (RREP inter ) to the previous segment.

the initiator. After receiving the RREP inter , the initiator If the intrasegment route repair succeeds (simulations repairs the route by replacing the broken segment and a few

show that in most cases it does), the waypoint nodes on the old downstream segments, which are no longer used by the repaired route will not be changed and the source node will repaired route, with the new segments returned by the not be notified because data packets can be forwarded along RREP inter . Then the initiator updates its route cache, sends

the same waypoint nodes. If the intrasegment route repair repair a RERR inter message containing the repaired route to the fails, the initiator will try the intersegment route repair, as source through upstream waypoint nodes, and transmits

described next. buffered data packets using the repaired route. Upon receiving the RERR repair , upstream waypoint nodes update

3.3.2 Intersegment Route Repair

inter

their route cache and transmit buffered data packets using The initiator knows the failure of an intrasegment route the repaired route.

repair by using a timer called Intra_CheckReplied, which is We illustrate the process of the intersegment route repair set when the intrasegment route repair is initiated. If the by using the following example. The original route from the

timer expires and no path to the end node of the broken source A to the destination L is segment exists, the initiator concludes an unsuccessful intrasegment route repair and starts an intersegment route

repair. Briefly, the process of the intersegment route repair includes discovering routes to downstream waypoint nodes on the route, repairing the broken route if the route ment level. Suppose segment DG is broken, denoted as discovery succeeds, and sending the repair result to the A source.

repair. The intrasegment route repair was attempted first Before explaining the detailed repair process, we intro- to discover a path for segment DG, but it failed. Next,

duce the definition of the intersegment route error node D tries the intersegment route repair to discover a (RERR inter ) message in DOA. As described above, several path to the end node J of next segment GJ. Node D types of information, such as whether the repair is initiates a localized intersegment route discovery and the successful or not, are required by upstream waypoint target is J. Suppose the route discovery succeeds and the nodes. We utilize the RERR inter message to carry different new path from D to J is information. A RERR inter message can be any of the

following three types: REPAIR: It informs that the route was broken, and the

Node W is selected as a waypoint node because the hop intersegment route repair succeeded. The repaired route is count from D to J is greater than DEFAULT_SEGMENT_ contained in the message.

LEN (its value is 3) and the path from D to J is divided into

IEEE TRANSACTIONS ON MOBILE COMPUTING,

VOL. 5, NO. 10, OCTOBER 2006

two segments. Initiator D repairs the original route and the memory, etc. Therefore, loop freedom is one of the key repaired route is

requirements for all ad hoc routing protocols. If a loop exists, the route would pass an intermediate

A node more than once. We call this node the loop node. If a loop existed on a route found using DOA, it would involve

level. Node D updates its route cache, particularly, remov- either one segment or multiple segments, which we term intrasegment loop and intersegment loop, respectively. An intrasegment loop is not possible since AODV is used for

Then, D sends a RERR repair

message to source node A, the intrasegment routing and the loop-free characteristic is informing that the intersegment repair succeeded and the ensured by the sequence number mechanism. For an intersegment loop, the loop node belongs to at waypoint nodes update their route caches similarly. Buf- least two segments on a route. Three cases are possible: fered and new data packets will be transmitted using the

inter

Case 1: The loop node appears more than once in a source repaired route.

route that contains only waypoint nodes. This type of loop The initiator sets a timer called Inter_CheckReplied when is easy to detect because source routing is used at the global initiating an intersegment route repair. If no RREP inter is level. During intersegment route discovery, an intermediate received when the timer expires, the initiator concludes that node will not handle an RREQ inter if it finds that its own the intersegment route repair has failed. The initiator then address is already present in the recorded path. When

sends a RERR broken

to the source through upstream forwarding data packets, waypoint nodes are explicitly waypoint nodes, informing that the route is broken and carried in the headers of data packets and duplicate route repairs (intrasegment and intersegment) have failed. waypoint nodes can be easily detected. Upstream waypoint nodes delete routes that use the broken

inter

Case 2: The loop node is a forwarding node of one segment segment from their route caches. Buffered data packets at on the route and is either a forwarding node or a start node of waypoint nodes during route repairs are deleted. The another segment on the route. This is a difficult situation and source node may start another global intersegment route needs to be specially taken care of. discovery to establish a route to the destination.

Case 3: The loop node is a forwarding node of one seg- ment on the route and is also the destination of the route.

3.3.3 Multitarget Route Discovery This situation is possible when the destination moves During the process of an intersegment route repair, the toward the source and becomes a forwarding node of an

initiator conducts a localized intersegment route discovery upstream segment during route repairs. This situation does to find a path to the end node of the next segment. It is no harm because once the network layer finds the possible that end nodes of other downstream segments are destination address of data packets that match its own located in the discovery range. This is for two reasons. First, address, it will stop routing the packets and send them to this discovery covers the range of two segments, which is the higher layer. larger than an intrasegment route discovery that covers one

We designed a simple and efficient method to detect segment. Second, these nodes may move into the range loops belonging to Case 2 and Case 3:

because of the mobility. If these nodes send replies to the Loop Detection : Upon receiving a data packet, an inter- initiator, the intersegment route discovery will be more mediate node checks its intrasegment routing table

likely to succeed and may result in a shorter route (fewer (hend node : next hopi structure. If it has routes (next hop) to number of segments) than the original route. This is the the end node of the current segment as well as to the end node of motivation for the multitarget route discovery.

another downstream segment, then a loop belonging to Case 2 or In a multitarget route discovery, the target field of the Case 3 exists.

intersegment route request ðRREQ inter ) message may If a node finds a loop on a route, it removes the loop by contain more than one node ID, which means the initiator changing the target (end node) of the intrasegment routing.

tries to find paths to multiple targets simultaneously. In It changes the target from the end node of the current DOA, a RREQ inter message can contain up to three targets:

segment to the end node of the downstream segment that it the end nodes of the next two segments after the broken knows the next hop. If the number of hops between the

segment, and the destination. original start node and the new end node is larger than In our previous example, segment DG on route from A MAX_SEGMENT_LEN, the current node becomes a way-

point node on the route after the loop is removed. initiator for the intersegment route repair. When multitarget

route discovery is used, the RREQ inter message that D

A loop belonging to Case 2 is shown in Fig. 5a. A path from source A to destination J is

broadcasts contains J (the end node of the next segment) and L (the destination) in the target field. Both J and L can

send replies to D upon receiving the RREQ inter message. Node c is a forwarding node of segment AD as well as

3.4 Routing Loops Detection and Handling segment GJ. On receiving the first data packet that uses this Because local route repair operates within a limited range route, node c runs the loop detection routine and finds that and lacks global knowledge, it may create routing loops. A its routing table has entries for end node D of the current routing loop is harmful for MANETs because it wastes segment AD as well as for end node J of segment GJ. resources such as bandwidth, processing power, battery, Node c concludes that a loop exists. Node c removes the

BAI AND SINGHAL: DOA: DSR OVER AODV ROUTING FOR MOBILE AD HOC NETWORKS 1411

easily, because they work in source routing manner. The only problem is the intrasegment route repair, which conducts an AODV-style local route discovery. Then, the problem becomes whether AODV can support ETX. We designed a mechanism for AODV to use ETX-like metrics in [21]. Due to space limitations, we could not give the details in this paper.

Fig. 5. Loop detection and removal. (a) A loop is detected. (b) The loop

4 P ERFORMANCE E VALUATION

is removed.

4.1 Simulation Setup

loop by changing the target of intrasegment routing from D We conducted extensive simulations to evaluate the performance of DOA and compare it with AODV and

Fig. 5b. DSR. The simulations were implemented on GloMoSim 2.03

A loop belonging to Case 3 can also be detected by the [22], a scalable simulation environment for wireless net- loop detection method. Suppose a path from source A work systems. GloMoSim uses the parallel discrete-event simulation capability provided by PARSEC [23].

Node J is a forwarding node of segment DG and is also the The MAC layer protocol used in the simulations was the destination. Node e detects the loop because it knows next IEEE standard 802.11 Distributed Coordination Function

hops for end node G of the current segment as well as for (DCF) [24]. DCF uses Request-to-Send (RTS) and Clear-to- end node J of segment GJ. Node e removes the loop and Send (CTS) control packets for unicast data transmissions.

Broadcast data packets and RTS control packets are sent If the node that removes a loop is not the source, it using the unslotted Carrier Sense Multiple Access protocol loop

initiates a RERR inter message, which contains information with Collision Avoidance (CSMA/CA) [24]. The simula- about the location of the loop and the new waypoint node, if tions used the two ray propagation model, 2 Mb/sec radio applicable. The message is sent to the source through bandwidth, and 250m radio range. loop upstream nodes. Upon receiving the RERR inter , upstream

The traffic was constant bit rate (CBR). The source and waypoint nodes remove the loop from their route caches the destination of each CBR flow were randomly selected and the source uses the modified route to transmit data but not identical. Each flow did not change its source and packets thereafter.

destination for the lifetime of a simulation run. Each source transmitted data packets at a rate of four 512-byte data

3.5 Supporting Metrics Other Than Hop Count packets per second. The mobility model was random When choosing a path during a route discovery, hop count waypoint with the speed ranging from 0 m/s to 10 m/s

is the most commonly used metric. However, as pointed out and a pause time of 30 seconds. Exceptions will be noted by de Couto et al. [20], the minimum hop count metric otherwise. performs poorly in their 802.11b testbed. This is because the