Mobile Networks Ad hoc on demand multipa

Ad hoc on-demand multipath distance vector routing

Mahesh K. Marina 1*,† and Samir R. Das 2

1 Computer Science Department, University of California, Los Angeles, CA 90095-1596, U.S.A.

2 Computer Science Department, State University of New York at Stony Brook, Stony Brook, NY 11794-4400, U.S.A.

Summary We develop an on-demand, multipath distance vector routing protocol for mobile ad hoc networks. Specifically, we

propose multipath extensions to a well-studied single path routing protocol known as ad hoc on-demand distance vector (AODV). The resulting protocol is referred to as ad hoc on-demand multipath distance vector (AOMDV). The protocol guarantees loop freedom and disjointness of alternate paths. Performance comparison of AOMDV with AODV using ns-2 simulations shows that AOMDV is able to effectively cope with mobility-induced route failures. In particular, it reduces the packet loss by up to 40% and achieves a remarkable improvement in the end-to-end delay (often more than a factor of two). AOMDV also reduces routing overhead by about 30% by reducing the frequency of route discovery operations. Copyright © 2006 John Wiley & Sons, Ltd.

KEY WORDS: mobile ad hoc networks; multihop wireless networks; on-demand routing; multipath routing;

alternate path routing; fault tolerant routing; distance vector routing; disjoint paths

1. Introduction

the goal of minimizing the routing overhead. These protocols reactively discover and maintain only the

A mobile ad hoc network is a mobile, multihop needed routes, in contrast to proactive protocols (e.g., wireless network that does not rely on any pre-

DSDV [6]) which maintain all routes regardless of their existing infrastructure. Mobile ad hoc networks

usage. The key characteristic of an on-demand protocol are characterized by dynamic topologies due to

is the source-initiated route discovery procedure. uncontrolled node mobility, limited and variable shared

Whenever a traffic source needs a route, it initiates a wireless channel bandwidth, and wireless devices

route discovery process by sending a route request for constrained by battery power. One of the key challenges

the destination (typically via a network-wide flood) and in such networks is to design dynamic routing protocols

waits for a route reply. Each route discovery flood is that are efficient, that is, consume less overhead.

associated with significant latency and overhead. This

A new class of on-demand routing protocols is particularly true for large networks. Therefore, for (e.g., DSR [1,2], TORA [3], AODV [4,5]) for

on-demand routing to be effective, it is desirable to mobile ad hoc networks has been developed with

keep the route discovery frequency low.

*Correspondence to: Mahesh K. Marina, Computer Science Department, University of California, Los Angeles, CA 90095-1596, U.S.A. † E-mail: [email protected]

Contract/grant sponsor: NSF; contract/grant number: ANI-0308631. Copyright © 2006 John Wiley & Sons, Ltd.

M. K. MARINA AND S. R. DAS

Among the on-demand protocols, multipath proto- protocol required for the development of AOMDV in cols have a relatively greater ability to reduce the route

the following section.

discovery frequency than single path protocols. On- demand multipath protocols discover multiple paths

2.1. Route Discovery and Route Maintenance between the source and the destination in a single route

discovery. So, a new route discovery is needed only In on-demand protocols, route discovery procedure is when all these paths fail. In contrast, a single path

used by nodes to obtain routes on an ‘as needed’ basis. protocol has to invoke a new route discovery whenever

In AODV, route discovery works as follows. Whenever the only path from the source to the destination fails.

a traffic source needs a route to a destination, it initiates Thus, on-demand multipath protocols cause fewer

a route discovery by flooding a route request (RREQ) for interruptions to the application data traffic when routes

the destination in the network and then waits for a route fail. They also have the potential to lower the routing

reply (RREP). When an intermediate node receives the overhead because of fewer route discovery operations.

first copy of a RREQ packet, it sets up a reverse path In this paper, we develop a new on-demand

to the source using the previous hop of the RREQ as multipath protocol called ad hoc on-demand multipath

the next hop on the reverse path. In addition, if there is distance vector (AOMDV). AOMDV is based on a

a valid route available for the destination, it unicasts a prominent and well-studied on-demand single path

RREP back to the source via the reverse path; otherwise, protocol known as ad hoc on-demand distance vector

it re-broadcasts the RREQ packet. Duplicate copies of (AODV) [4,5]. AOMDV extends the AODV protocol

the RREQ are immediately discarded upon reception at to discover multiple paths between the source and

every node. The destination on receiving the first copy the destination in every route discovery. Multiple

of a RREQ packet forms a reverse path in the same paths so computed are guaranteed to be loop-free and

way as the intermediate nodes; it also unicasts a RREP disjoint . AOMDV has three novel aspects compared

back to the source along the reverse path. As the RREP to other on-demand multipath protocols. First, it does

proceeds towards the source, it establishes a forward not have high inter-nodal coordination overheads like

path to the destination at each hop. some other protocols (e.g., TORA [3], ROAM [7]).

Route maintenance is done by means of route error Second, it ensures disjointness of alternate routes via

(RERR) packets. When an intermediate node detects a distributed computation without the use of source

link failure (via a link-layer feedback, e.g.), it generates routing. Finally, AOMDV computes alternate paths

a RERR packet. The RERR propagates towards all traffic with minimal additional overhead over AODV; it does

sources having a route via the failed link, and erases all this by exploiting already available alternate path

broken routes on the way. A source upon receiving the routing information as much as possible.

RERR initiates a new route discovery if it still needs the The remainder of the paper is organized as follows.

route. Apart from this route maintenance mechanism, Section 2 reviews the AODV protocol. In Section 3,

AODV also has a timer-based mechanism to purge stale we develop the AOMDV protocol. We also discuss the

routes.

loop freedom and disjointness properties of AOMDV in this section. Section 4 compares the performance of AODV and AOMDV using ns-2 simulations. We

2.2. Sequence Numbers and Loop Freedom discuss related work in Section 5. Section 6 presents

Sequence numbers in AODV play a key role in our conclusions.

ensuring loop freedom. Every node maintains a monotonically increasing sequence number for itself. It also maintains the highest known sequence number

2. Ad hoc On-Demand Distance

for each destination in the routing table called the

Vector Routing

‘destination sequence number.’ Destination sequence numbers are tagged on all routing messages. They

AODV [4,5] is an on-demand, single path, loop-free are used to determine the relative freshness of two distance vector protocol. It combines the on-demand

pieces of routing information generated by two route discovery mechanism in DSR [1] with the concept

nodes for the same destination—the node with a of destination sequence numbers from DSDV [6].

higher destination sequence number has the more However, unlike DSR which uses source routing,

recent routing information. The AODV protocol AODV takes a hop-by-hop routing approach. Below

prevents routing loops by maintaining an invariant that we give an overview of some key features of the AODV

destination sequence numbers along any valid route

AOMDV ROUTING

Fig. 1. AODV route update rules. A node i applies these rules whenever it receives a route advertisement for destination d from a neighbor j. The variables seq num d i , hop count d , and next hop i d i denote the destination sequence number, the hop count and the next hop, respectively, for destination d at node i.

monotonically increase towards the destination [4]. has a unique identifier (UID) (e.g., IP address), a This idea is again elaborated below because AOMDV

typical assumption with ad hoc routing protocols. also uses a similar invariant for loop freedom.

For simplicity, we also assume that all links are In AODV, a node can receive a routing update via

bidirectional, that is, a link exists between a node i to j

a RREQ (RREP) packet either forming or updating a if and only if there is a link from j to i. AOMDV can be reverse (forward) path. In the rest of the paper, we

applied even in the presence of unidirectional links with refer to such routing updates obtained via RREQs or

additional techniques to help discover bidirectional RREP s as ‘route advertisements.’ The update rules

paths in such scenarios [8].

in Figure 1 are invoked by a node upon receiving

a route advertisement. It is easy to see how these rules aid in maintaining loop freedom. Consider the

3.1. Protocol Overview

tuple (−seq num d , hop count i d i ) where seq num d i rep-

AOMDV shares several characteristics with AODV. resents the sequence number for destination d at node

It is based on the distance vector concept and uses

i , and hop count d

i represents the hop count from node i

hop-by-hop routing approach. Moreover, AOMDV

also finds routes on demand using a route discovery (−seq num d j , hop count d j ) if and only if either

to destination d. Define (−seq num d , hop count d

i )>

procedure. The main difference lies in the number

seq num d i d < seq num j , or seq num d i = seq num d j

of routes found in each route discovery. In AOMDV,

and hop count d > hop count d (i.e., lexicographic

RREQ propagation from the source towards the

j ordering among (−seq num d , hop count d i destination establishes multiple reverse paths both i ) tuples). at intermediate nodes as well as the destination. AODV route update rules (Figure 1) impose a Multiple RREPs traverse these reverse paths back to total ordering among nodes on any ‘valid’ route form multiple forward paths to the destination at the to a destination d, based on lexicographic ordering source and intermediate nodes. Note that AOMDV also

among (−seq num d i , hop count d i ) tuples, implying

provides intermediate nodes with alternate paths as loop freedom. Note that the update rules in Figure 1

they are found to be useful in reducing route discovery ensure loop freedom even in the presence of link

frequency [9].

failures due to an additional mechanism. In AODV, The core of the AOMDV protocol lies in ensuring when a link failure from node i to node j breaks a

that multiple paths discovered are loop-free and prior valid route from i to destination d, node i locally

disjoint, and in efficiently finding such paths using increments seq num d i d and sets hop count i to ∞. This

a flood-based route discovery. AOMDV route update prevents i from later forming a route to d through a

rules, applied locally at each node, play a key role in previously upstream node, thus making AODV loop- maintaining loop-freedom and disjointness properties. free at all times. Here we discuss the main ideas to achieve these

two desired properties. Next subsection deals with incorporating those ideas into the AOMDV protocol

3. Ad hoc On-Demand Multipath

including detailed description of route update rules

Distance Vector Routing

used at each node and the multipath route discovery procedure.

Our objective in this section is to extend the AODV AOMDV relies as much as possible on the routing protocol to compute multiple disjoint loop-free paths

information already available in the underlying AODV in a route discovery. We assume that every node

protocol, thereby limiting the overhead incurred in

M. K. MARINA AND S. R. DAS

discovering multiple paths. In particular, it does forms a path via L resulting in a loop. Such a situation not employ any special control packets. In fact,

occurs because a node (I here) advertises a shorter extra RREPs and RERRs for multipath discovery and

path (I – D) when it also has an alternate longer path maintenance along with a few extra fields in routing

(I – M – N – O – P – D).

control packets (i.e., RREQs, RREPs, and RERRs) Figure 2(b) shows another potential loop situation. constitute the only additional overhead in AOMDV

Here node D is the destination. Node J has a three relative to AODV.

hop path to D via K (J – K – I – D). Node L also has a three hop path to D via M (L – M – N – D). Suppose I obtains a four hop path to D from L. In

3.1.1. Loop freedom this case, I cannot ascertain whether or not L is an AODV route update rules (Figure 1) limit a node

upstream node because J can also provide a four hop to have at most one path per destination. Therefore,

path to D. Therefore, accepting a longer path after modifications to these route update rules are needed

having advertised a shorter path to neighbors may cause to have more than one path per destination at a node.

a routing loop.

These modifications, however, should be done in such Based on the above discussion, we formulate below

a set of sufficient conditions for loop-freedom. These issues arise when computing multiple loop-free paths

a way that loop freedom is not compromised. Two

conditions allow multiple paths to be maintained at a at a node for a destination. First, which one of the

node for a destination.

multiple paths should a node offer or advertise to others? Since each of these paths may have different

3.1.1.1. Sufficient Conditions hop counts, an arbitrary choice can result in loops.

Second, which of the advertised paths should a node

1. Sequence number rule: Maintain routes only for accept? Again, accepting all paths naively may cause

the highest known destination sequence number. loops.

For each destination, we restrict that multiple paths Figure 2 illustrates these problems using simple

maintained by a node have the same destination examples. In Figure 2(a), node D is the destination

sequence number. With this restriction, we can and node I has two paths to D—a five hop path via

maintain a loop freedom invariant similar to AODV. node M (I – M – N – O – P – D), and a direct one

Once a route advertisement containing a higher hop path (I – D). Suppose that I advertises the path

destination sequence number is received, all routes

I – M – N – O – P – D to node J and then the path corresponding to the older sequence number are

I – D to node K. Then both J and K have a path to discarded. However, as in AODV, different nodes

D through I, but each of them has a different hop (on a path) may have different sequence numbers count. Later, if I obtains a four hop path to D from

for the same destination.

L (L – K – I – D), I cannot determine whether L is

2. For the same destination sequence number, upstream or downstream to itself, as only the hop count

(a) Route advertisement rule: Never advertise a information is included in the route advertisements

route shorter than one already advertised. (as noted in Subsection 2.2, route advertisements in

(b) Route acceptance rule: Never accept a route our context refer to RREQ and RREP packets). So I

longer than one already advertised.

Fig. 2. Examples of potential routing loop scenarios with multiple path computation.

AOMDV ROUTING

To maintain multiple paths for the same sequence number, AOMDV uses the notion of an ‘advertised hop count .’ Every node maintains a variable called advertised hop count for each destination. This variable is set to the length of the ‘longest’ available path for the destination at the time of first advertisement for a particular destination sequence number. The advertised hop count remains unchanged until the sequence number changes. Advertising the longest path length permits more number of alternate paths to be maintained. In Subsection 3.2, we will formally define the advertised hop count along with a description of the actual route update rules. We will also present a proof

Fig. 3. Paths maintained at different nodes to a destination of loop freedom in Subsection 3.3.1.

may not be mutually disjoint. Here D is the destination. Node A has two disjoint paths to D: A – B – D and A – C – D. Similarly, node E has two disjoint paths to D: E – C – D

3.1.2. Disjoint paths and E – F – D. But the paths A – C – D and E – C – D are not disjoint; they share a common link C – D. Besides maintaining multiple loop-free paths,

AOMDV seeks to find disjoint alternate paths. For our short-lived nature of paths in mobile ad hoc networks purpose of improving fault tolerance using multiple

and arguably higher overheads associated with paths, disjoint paths are a natural choice for selecting

distributed computation of optimal (e.g., maximum an effective subset of alternate paths from a potentially

cardinality, shortest) set of alternate disjoint paths. large set because the likelihood of their correlated

AOMDV can find either link or node disjoint and simultaneous failure is smaller compared to

paths. Here we present the main idea behind link overlapping alternate paths. We consider two types

disjoint path computation, but postpone the proof of disjoint paths: link disjoint and node disjoint. Link

until Subsection 3.3.2. A simple modification of this disjoint set of paths between a pair of nodes have no

mechanism that computes node disjoint paths will also common links, whereas node-disjointness additionally

be discussed in Subsection 3.3.2. precludes common intermediate nodes.

In distributed routing algorithms of the distance Unlike the general disjoint paths problem found in

vector type, a node forms paths to a destination in- graph theory and algorithms literature, our notion of

crementally based on paths obtained from downstream disjointness is limited to one pair of nodes and does

neighbors towards the destination. So finding a set of not consider disjointness across different node pairs.

link disjoint paths at a node can be seen as a two step Specifically, we guarantee that at any node P , for a

process: (1) identifying a set of downstream neighbors destination D, all paths that can be traced from P to

having mutually link disjoint paths to the destination;

D are disjoint. This does not necessarily mean that (2) forming exactly one path via each of those all paths that exist in the network leading to D are

downstream neighbors. Note that the second step is disjoint. For clarity, we illustrate this difference using

trivial—the node simply needs to ensure that every path an example in Figure 3. Note that our restricted notion

has a unique next hop, which is a purely local operation. of disjointness is sufficient from the fault tolerance

However, performing the first step requires knowledge perspective and is in fact used in most disjoint multipath

of some or all downstream nodes on each path. routing protocols [10–12].

In a typical distance vector protocol (including In finding disjoint paths, we do not explicitly

AODV), a node only keeps track of the next hop and optimize either cardinality or length of alternate paths.

distance via the next hop for each path. This limited one In fact, as will be elaborated in Subsection 3.2.2 while

hop information is insufficient for a node to ascertain describing the detailed protocol operation, the number

whether two paths obtained from two distinct neighbors and quality of disjoint paths discovered by AOMDV

are indeed link disjoint (Figure 4). Thus, additional is largely determined by the dynamics of the route

information is required for each path to check for discovery process; however, it is possible to control

link disjointness. As one possibility, every node could these attributes by placing a limit on number and

maintain complete path information for every path length of alternate paths maintained at each node (see

as with source routing. In such a case, checking link Subsection 4.3.1). Our approach is justified given the

disjointness becomes straightforward. However, this

M. K. MARINA AND S. R. DAS

routing table. RREQs and RREPs in AOMDV must also carry the last hop information. Note that the last hop on the route will actually be the first hop taken by these routing packets. The detailed operation of the protocol is described in the following subsection.

3.2. Detailed Protocol Description In this subsection, we describe the protocol in four

components: routing table structure, route discovery, route maintenance, and data packet forwarding. Here we describe the link disjoint version of the protocol

Fig. 4. Next hop information is insufficient to guarantee link in detail, so all references to disjointness actually disjointness. Here D is the destination. Node A has a path

imply link disjointness. As we will discuss in via I to D (A – I – D). Similarly, node B also has a path via

Subsection 3.3.2, a straightforward modification to this I to D (B – I – D). Node P knowing only the next hops A

and B cannot determine whether paths from A and B to D protocol yields node disjoint paths instead.

(A – I – D and B – I – D, respectively) are link disjoint. So if P forms paths via A and B then the resulting set of paths

3.2.1. Routing table

from P are not link disjoint even though the next hops (A and B ) are distinct.

Figure 8 shows the difference in the routing table entry structure between AODV and AOMDV. AOMDV

solution has a high overhead of communicating and route table entry has a new field for the advertised maintaining complete path information at each node.

hop count . Besides a route list is used in AOMDV We develop a mechanism that does not require

to store additional information for each alternate path complete path information at each node, yet guarantees

including: next hop, last hop, hop count, and expiration link disjointness. Specifically, the proposed mechanism

timeout. As already discussed, last hop information is requires the maintenance of last hop information for ev-

useful in checking the disjointness of alternate paths. ery path (in addition to next hop). Here, the last hop of a

Consider a destination d and a node i. Whenever path from a node P to a destination D refers to the node

the destination sequence number for d at i is immediately preceding D on that path. For a single hop

updated, the corresponding advertised hop count is path, next hop is D and last hop is the node P itself.

initialized. For a given destination sequence number, For a two hop path, the next hop is also the last hop.

let hop count d ik denote the hop count of kth path (for The following simple and straightforward

some k) in the routing table entry for d at i, that is (next hop d d d observation is the basis of our mechanism to d ik , last hop ik , hop count ik ) ∈ route list i .

find link disjoint paths: If two paths from a node P to When i is about to sends its first route advertisement

a destination D are link disjoint, then they must have for d, it updates the advertised hop count as follows: unique next hops as well as unique last hops. ‡ Note that

advertised hop count the converse of this observation is not necessarily true. d i := max { hop count d ik }

However, the converse also holds true in general with an additional restriction: if every node on a path ensures

:= 0, otherwise. that all paths to the destination from that node differ

in their next and last hops (Figure 5). This implication Whenever a node receives a route advertisement, provides us with a tool to determine whether two paths

it invokes the AOMDV route update rules listed in via two unique downstream neighbors are link disjoint.

Figure 9. Note that lines (1) and (10) in Figure 9 They simply need to have unique last hops. Figure 6

ensure loop freedom, whereas lines (12) and (15) check highlights the role of last hop information, and Figure 7

for link disjointness. Proofs for loop freedom and illustrates the computation of the link disjoint paths.

disjointness properties along with related discussions In order to implement the above idea, we need to

are deferred until Subsection 3.3. maintain the last hop information for every path in the

3.2.2. Route discovery As in AODV, when a traffic source needs a route to

‡ This observation also holds true for node disjoint paths.

a destination, the source initiates a route discovery

AOMDV ROUTING

Fig. 5. Idea behind link disjoint path computation. (a) The two paths shown from P to D satisfy the differing next and last hop condition. But they are not link disjoint. However, note that the intermediate node I does not satisfy the condition. If all nodes on every path satisfy the condition, then the paths will be link disjoint. In that case, only one path is possible (see Subpart (b)).

However, in subpart (c) two link disjoint paths are possible.

Fig. 6. Role of last hop information. Here D is the destination. Node J has two link disjoint paths to D via X and Y . Since a

Fig. 7. Illustration of link disjoint path computation. Here D node cannot have two paths with the same next hop, node I

is the destination. Node I determines that the paths X – D will form only one path via J with last hop being either X or Y .

and Y – D are trivially link disjoint since both X and Y are Suppose I forms a path via J with the last hop X; this prevents

distinct neighbors of D. So I incrementally forms two link the path via Y from being propagated upstream. When I

disjoint paths to D via X and Y . Suppose I advertises the advertises its path to D with the last hop X to upstream nodes

paths via X and Y to A and B respectively. Note that each A and B, each of them forms a path via I with the last hop

path advertisement includes the last hop of the path. Then X . P determines that paths from A and B to D are not link

paths from A and B to D are link disjoint as they have distinct disjoint, as they have the same last hop X. So, P forms only

last hops (X and Y ). Now P can incrementally form two link one path (say via A).

disjoint paths to D via A and B.

M. K. MARINA AND S. R. DAS

Fig. 8. Routing table entry structure in (a) AODV and (b) AOMDV.

process by generating a RREQ. Since the RREQ is When an intermediate node obtains a reverse path flooded network-wide, a node may receive several

via a RREQ copy, it checks whether there are one or copies of the same RREQ. In AODV, only the first copy

more valid forward paths to the destination. If so, the of the RREQ is used to form reverse paths; the duplicate

node generates a RREP and sends it back to the source copies that arrive later are simply discarded. Note that

along the reverse path; the RREP includes a forward some of these duplicate copies can be gainfully used to

path that was not used in any previous RREPs for this form alternate reverse paths. Thus, all duplicate copies

route discovery. In this case, the intermediate node does are examined in AOMDV for potential alternate reverse

not propagate the RREQ further. Otherwise, the node paths, but reverse paths are formed only using those

re-broadcasts the RREQ copy if it has not previously copies that preserve loop-freedom and disjointness

forwarded any other copy of this RREQ and this among the resulting set of paths to the source. This is as-

copy resulted in the formation/updation of a reverse certained by applying the route update rules in Figure 9.

path.

Fig. 9. AOMDV route update rules. A node i invokes these rules whenever it receives a route advertisement for a destination d from a neighbor j. The variables seq num i d , advertised hop count i d and route list d i represent the sequence number, the advertised ik d and last hop ik d represent the next and last hops of kth path (for some k) in the routing table entry for d at i, that is, (next hop ik d , last hop d ik , hop count ik d )∈

route list i d .

AOMDV ROUTING

When the destination receives RREQ copies, it also forms reverse paths in the same way as intermediate nodes. However, it adopts a somewhat ‘looser’ policy for generating a RREP. Specifically, the destination generates a RREP in response to every RREQ copy that arrives via a loop-free path to the source even though it forms reverse paths using only RREQ copies that arrive via loop-free and disjoint alternate paths to the source. The reason behind the looser RREP generation policy at the destination is as follows. The RREQ flooding mechanism, where each node locally broadcasts a RREQ once, suppresses some RREQ copies at intermediate nodes and duplicates other RREQ copies. Figure 10 shows an example where the node

I duplicates the RREQ copy via A and suppresses the RREQ copy via B. As a result, multiple disjoint paths can get coalesced at intermediate nodes and appear as a single path at the destination. Again referring to Figure 10, destination D will only know about the path S – A – I – X – D, but not S – B – I – Y – D. We call this the ‘route cutoff’ problem. Clearly, the route cutoff problem prevents the discovery of all disjoint reverse paths. This in turn would severely limit the number of disjoint forward paths found at the source if the destination sends RREPs only along disjoint reverse paths. Therefore, we let the destination send back a RREP along each loop-free reverse path even though it is not disjoint with previously established reverse paths. Such additional RREPs alleviate the route cutoff problem and increase the possibility of finding more disjoint forward paths. See Figure 10 for an illustration. Note that these additional RREPs do not require any special action at intermediate nodes and the source for ensuring disjointness of alternate paths as the rules in Figure 9 independently applied at each node still work.

Fig. 10. Benefit of additional RREPs by the destination. The second copy of RREQ via B is suppressed at intermediate node I. However, two copies of the first copy (via A) still reach the destination D. D replies to both of them even though reverse path is formed only via X (assuming the first copy reaches D via X earlier). The two replies will merge at I which will forward them along two disjoint paths (via A and

B ). Thus S will obtain two link disjoint paths to D.

When an intermediate node receives a RREP, it follows route update rules in Figure 9 to form a loop- free and disjoint forward path to the destination, if possible; else, the RREP is dropped. Supposing that the intermediate node forms the forward path and has one or more valid reverse paths to the source, it checks if any of those reverse paths was not previously used to send a RREP for this route discovery. If so, it chooses one of those unused reverse paths to forward the current RREP ; otherwise, the RREP is simply dropped. Note that our choice of forwarding the RREP along a unique reverse path, as opposed to duplicating it along all available reverse paths, does not hurt AOMDV route discovery latency. This is because the latency of a route discovery is determined by the amount of time source has to wait before it obtains the first route, and RREP s in AOMDV (as with AODV) use fairly reliable ARQ-based unicast MAC layer transmissions. On the contrary, duplicating the RREP will cause a route cutoff problem similar to that mentioned above, reducing the number of disjoint paths found at the source.

3.2.3. Route maintenance Route maintenance in AOMDV is a simple extension

to AODV route maintenance. Like AODV, AOMDV also uses RERR packets. A node generates or forwards

a RERR for a destination when the last path to the destination breaks. AOMDV also includes an optimization to salvage packets forwarded over failed links by re-forwarding them over alternate paths. This is similar to the packet salvaging mechanism in DSR [2].

The timeout mechanism similarly extends from a single path to multiple paths (Figure 8) although the problem of setting proper timeout values is more difficult for AOMDV compared to AODV. With multiple paths, the possibility of paths becoming stale is more likely. But using very small timeout values to avoid stale paths can limit the benefit of using multiple paths. In our experiments, we use a moderate setting of timeout values and additionally use HELLO messages to proactively remove stale routes. Thus, the timeouts in the current version of AOMDV primarily serve as a soft-state mechanism to deal with unforeseen events such as routing table corruption and to a lesser extent for promptly purging stale routes. In another work [13], we have devised an adaptive timeout selection mechanism for purging stale cached routes in DSR [2], which can be applied to AOMDV with appropriate modifications. As an alternative, timeout selection can be based on analytical characterization

M. K. MARINA AND S. R. DAS

of link behavior in ad hoc networks [14]. In future,

3.3.1. Loop freedom

we plan to investigate the benefit of such sophisticated techniques for timeout selection.

The argument for AOMDV loop freedom is similar to the one for AODV we gave in Subsection 2.2 except that hop counts are now replaced with advertised hop

3.2.4. Data packet forwarding counts. Below we establish loop freedom more directly For data packet forwarding at a node having multiple

from AOMDV route update rules somewhat along the lines of Reference [4].

paths to a destination, we adopt a simple approach of using a path until it fails and then switch to an alternate

Theorem 1. AOMDV route update rules (Figure 9) path; we use paths in the order of their creation.

yield loop free routes.

There are other alternatives for data packet forwarding which concurrently use all paths. Though

Proof . The proof is by contradiction. we do not pursue these alternatives in this work, we

Suppose that a loop of size m, (i 1 ,i 2 ,...,i m ,i 1 ) briefly discuss them below for completeness sake. With

forms in a route to a destination d. Note that nodes i ‘diversity coding’ [15], an overhead is added to each

and j in the code in Figure 9 are two consecutive nodes data packet (coding) and the resulting coded packet is

in the route, and

split into smaller blocks each of which is transmitted along a different path. With adequate redundancy, this

seq num d i ≤ seq num d scheme can improve the packet delivery probability

in highly dynamic mobile networks. This scheme can also employed in a selective way to ensure delivery of

Therefore, the following must be true among the nodes in the loop so formed

‘important’ packets. In another alternative, alternate paths are used simultaneously for ‘load balancing’ where data packets

seq num d ≤ seq num i d 1 i 2 ≤···≤ seq num d i m ≤ seq num d i 1

are distributed over the available paths, thereby improving the network utilization and end-to-end

which implies

delay. In addition to the well-known issues of adaptive seq num d = seq num d d traffic splitting across multiple paths and dealing with d i 1 i 2 =···= seq num i m = seq num i 1

the possibility of packet re-ordering, effective load balancing in ad hoc networks has to address the unique

This in turn implies the following condition holds in problem of ‘route coupling’ arising from interference

line 10 (Figure 9)

between alternate paths [16]. Using an earlier version of the AOMDV protocol, Reference [17] observes the

advertised hop count d i 1 > advertised hop count d i 2 >···> ineffectiveness of multipath routing for load balancing

advertised hop count d d in single channel mobile ad hoc networks due to route

i m > advertised hop count i 1

coupling and the benefit of using multichannel CSMA MAC protocols. Besides assistance from lower layers

Then,

such as the availability of multiple non-interfering advertised hop count channels, it is also important to find alternate paths d i > advertised hop count d 1 i 1

suitable for load balancing. In particular, we need a more restricted notion of disjointness than node or link

which clearly is impossible. Thus, routes formed by disjointness that additionally accounts for interference

AOMDV are loop free.

among alternate paths. A recent work [18] addresses the problem of selecting maximally zone-disjoint routes

Note that AOMDV maintains loop freedom even in to minimize route coupling in ad hoc networks with

highly dynamic scenarios when links (and routes) fail. directional antennas.

This is done in a similar manner as AODV, that is, when all links from a node i leading to a destination d

break, then node i locally increments the seq num d and

sets the advertised hop count d i to ∞. Also the use of In this section, we prove the loop freedom and

3.3. Protocol Properties

destination sequence numbers makes AOMDV robust disjointness properties of AOMDV, and discuss related

to out-of-order packet delivery like AODV. Rare events issues.

such as node reboots can also be dealt as in AODV [5].

AOMDV ROUTING

3.3.2. Path disjointness in multiple sessions, or as destination for different traffic sources. In the case of second optimization,

In the following we prove the link disjointness of since not every route failure is promptly propagated alternate paths in AOMDV.

upstream by intermediate nodes, upstream nodes may Theorem 2. If all nodes in the network have unique

carry some invalid routes with an older destination identifiers (UIDs) and all nodes on a path from node

sequence number. Due to these optimizations, all nodes

X to destination D have identical destination sequence may not have the most recent routing information at numbers, then alternate paths maintained by AOMDV

all times, which in turn may cause temporary overlap from X to D are link disjoint.

among alternate paths. However, we believe this is a reasonable compromise given the prohibitive overhead

Proof . It is sufficient to prove that a pair of paths of constantly maintaining up-to-date information at from X to D are link disjoint. We can then apply the

every node (using frequent destination-initiated routing same argument for every pair of paths between X and

updates, e.g.).

D to prove that all alternate paths are link disjoint.

3.3.2.1. Node disjoint paths. Unlike the link Consider two paths from X to D formed according

disjoint case, ensuring the uniqueness of next and last to AOMDV route update rules (Figure 9). For ease of

hops of alternate paths at every node is not sufficient to

guarantee node disjointness. For example, in Figure 7 by the sequence of node identifiers from X to D. In

reference, let us call them P 1 and P 2 . Paths are defined

even though every node ensures the uniqueness of

next and last hops, paths P – A – I – X – D and tuple < D, next hop, last hop >. Because of the update

the routing table of X, P 1 , and P 2 are identified by the

P – B – I – Y – D are not node disjoint. However, rules, P 1 and P 2 have different next and last hops.

with an additional restriction we can obtain node

We want to show that P 1 and P 2 are link disjoint.

disjoint paths. The basic idea is as follows: If common

nodes in a set of link disjoint paths (such as I not link disjoint. This means they have at least one

By way of contradiction, suppose that P 1 and P 2 are

in Figure 7) prevent other upstream nodes (such common link. Let I – J be such a link. By unique next

as P in Figure 7) from having more than one hop condition, node I can have only one path to D via

path through them, then we obtain node disjoint J in its routing table. This implies that I will propagate

paths. This can be achieved by stipulating that for upstream only one path to D that goes through J along

a given destination sequence number, every node with the corresponding last hop, even though J may

always advertises one single designated path to other have more than one path to D each with a different

nodes. This is straightforward to do with a little last hop. This in turn implies that nodes upstream of I

bookkeeping.

sharing the link I – J cannot have more than one path via I. Since X is upstream of I having two paths with a

3.3.2.2. Unique path identifiers and data for- common link I – J , this presents a contradiction. Thus,

warding on disjoint paths. Having unique path the paths P 1 and P 2 must be link disjoint.

identifiers is particularly useful when we want to forward a data packet along a specific path. This

In the above proof, we have assumed that nodes can be done by including the path identifier in the on all alternate paths between node X and destination

packet and using that identifier at each intermediate

D have the same destination sequence number as node to find the next hop from that node along the rules for link disjointness are enforced under this

specified path. A simple example of a unique path condition (see lines (10), (12) and (15) in Figure 9).

identifier is the ordered sequence of nodes on a path However, this condition may be violated sometimes

(source route).

especially because of two optimizations in the AOMDV In AOMDV, the last hop of a path serves as a unique protocol: (i) RREP generation by intermediate nodes

path identifier provided all nodes have up-to-date rout- whenever feasible (see Subsection 3.2.2) to limit

ing information. This means that knowing the last hop route request flood; (ii) delayed propagation of RERRs

of a path at a node is sufficient to construct the complete (see Subsection 3.2.3) to reduce route maintenance

path from that node till the destination by repeated path overhead and postpone initiating a new route discovery

lookups at each intermediate node using the last hop as long as possible. The violation of the condition

and following the corresponding next hop pointers. The with the first optimization can be seen by considering

uniqueness of the path identifier requires that there is no scenarios where a node simultaneously participates in

ambiguity during the path lookup at any intermediate more than one session either as destination and source

node, that is, path lookup at a node with the unique

M. K. MARINA AND S. R. DAS

path identifier does not return more than one next hop. retransmissions of DATA. While many studies with The last hop of a path in AOMDV obeys this property

AODV reported in recent literature do not use HELLO because no node can have two paths for a destination

messages (e.g., Reference [22]), multipath protocols with different next hops but identical last hops.

need HELLOs to be able to invalidate stale routes that are not currently being used. Link layer feedback is able to invalidate only the route that is currently being

4. Performance Evaluation

used.

We consider 100 node networks in a rectangular We study AOMDV performance using ns-2 [19]

field of dimensions 1000 m × 1000 m. The nodes are simulations. Our main objective is to evaluate the

initially placed uniformly at random in the field. Note effectiveness of AOMDV relative to AODV in the

that a 100 node network is quite large to stress a flat presence of mobility-related route failures. Other

routing protocol like AODV or AOMDV. The random objectives include: understanding the effect of traffic

waypoint mobility model [20] is used to simulate node pattern on the benefit of multiple paths, and evaluating

movements. Pause time is always set to zero. We vary the number of alternate disjoint paths that can be found

the mean node speed v to vary the rate of mobility. using AOMDV.

The actual node speeds are chosen randomly with a uniform distribution from the range [0.9v, 1.1v]. Table I

4.1. relates the mean node speed to the mean link failure rate Simulation Environment observed in our simulation scenarios. We use a detailed simulation model based on

Traffic pattern consists of several CBR/UDP con- ns-2 [19]. The Monarch research group in CMU

nections between randomly chosen source-destination developed support for simulating multi-hop wireless

pairs. Note that with this traffic pattern, a node may networks complete with physical, data link, and MAC

appear in more than one connection as source or layer models [20] on ns-2. The distributed coordination

destination. Each connection starts at a random time function (DCF) of IEEE 802.11 [21] for wireless LANs

during the initial 100 s of the simulation and stays till is used as the MAC layer. The radio model uses char-

the end. We vary the number of connections or the acteristics similar to a commercial radio interface, Lu-

packet generation rate of each connection to obtain cent’s WaveLAN. WaveLAN is a shared-media radio

different traffic patterns. Data packets have a fixed size with a nominal bit-rate of 2 Mb/s and a nominal radio

of 512 bytes in all the experiments. range of 250 m. We use an error-free wireless channel

Each simulation is run for 1000 s with the initial 250 s model in our simulations in order to isolate the effects

taken as the warmup period. Each data point in the plots of node mobility. More details about the simulator can

is an average of five such runs with different randomly

be found in References [19,20]. This simulator has been generated mobility scenarios for the same mean speed. used for evaluating performance of earlier versions of

Identical traffic and mobility scenarios are used across the AODV protocol (e.g., References [20,22]).

all protocol variations.

The AODV model in our simulations is based on

4.2. Performance Metrics the AOMDV simulation model for ns-2. In our simulations, we disable the expanding ring search

a recent protocol specification [5]. We developed

We primarily consider the following four performance when doing route discovery in both the protocols. This

metrics: (i) Packet loss percentage—percentage of data is done to simplify the analysis of simulation results.

packets dropped in the network either at the source Note that the expanding ring search technique is

or at intermediate nodes; (ii) Average end-to-end complementary to the multipath technique we develop

here, and so can be used with either protocol for

Table I. Mean link failure rate as a function of mean node speed.

containing the route discovery flood. Link breaks are detected using HELLO messages as well as the 802.11

Mean node speed

Mean link failure rate

link layer feedback mechanism, whichever detects the (per second) link break earlier. Failure to receive a HELLO message

(m/s)

from a neighbor for some period of time signals loss

the link to that neighbor. The 802.11 MAC layer

7.5 reports a link failure when it fails to receive CTS after 24.84

several RTS attempts, or to receive ACK after several

AOMDV ROUTING

Fig. 11. Performance with varying mobility. (a) Packet loss; (b) route discovery frequency; (c) average delay and (d) route

discovery latency.

delay of data packets—this includes all possible of our decision to use alternate paths one at a time. delays caused by buffering during route discovery,

When multiple paths are used simultaneously, these queuing delay at the network interface, retransmission

two variations may perform differently. We only show delays at the MAC, propagation and transfer times;

results for the link disjoint version in this paper unless (iii) Route discovery frequency—the aggregate number

mentioned otherwise. Furthermore, we restrict the of route requests generated by all sources per second;

number of paths per routing table entry to three and (iv) Routing overhead—the total number of routing

ignore alternate paths which are more than one hop packets ‘transmitted’ per second. Each hop-wise

longer than the shortest available path. This is to avoid transmission of a routing packet is counted as one

using very long alternate paths. Prior work [9] indicates transmission.

that such paths do not contribute much to performance.

4.3. Simulation Results

4.3.1. Varying mobility Figures 11–14 show the results with varying mean node

speeds. Traffic pattern in these set of results consists of 50 CBR/UDP connections with each CBR source sending at the rate of 1 packets/s. This corresponds to an offered load of around 200 kb/s, which is a moderate load.

AOMDV in the plots refers to the link disjoint version of the protocol. We also experimented with the node disjoint version, but the results look similar to the link disjoint version. We believe this is because

Fig. 12. Overhead per route discovery with varying mobility.

M. K. MARINA AND S. R. DAS

Fig. 13. Routing packet overhead with varying mobility. (a) Routing overhead; (b) route discovery overhead; and (c) route

maintenance overhead.

Figure 11(a) compares the packet loss performance The number of packet drops with both protocols of AOMDV and AODV. Note that packet losses here

increases with the mean node speed. But AOMDV are largely due to mobility. An intermediate node drops

always drops fewer packets with improvements up to

a packet when it does not have a route to forward the 40%. Smaller packet loss with AOMDV is because packet. The source also drops packets when the buffer

of the availability of alternate paths to forward the overflows or when it fails to get a route after several

packets when one path fails. AODV, on the other futile route discovery attempts. With moderate load and

hand, has to resort to a new discovery when the almost always connected topologies drops because of

only path fails. This is also evident from significant the latter cause are very few in these set of results.

Dokumen yang terkait

Analisis Komparasi Internet Financial Local Government Reporting Pada Website Resmi Kabupaten dan Kota di Jawa Timur The Comparison Analysis of Internet Financial Local Government Reporting on Official Website of Regency and City in East Java

19 819 7

Anal isi s L e ve l Pe r tanyaan p ad a S oal Ce r ita d alam B u k u T e k s M at e m at ik a Pe n u n jang S MK Pr ogr a m Keahl ian T e k n ologi , Kese h at an , d an Pe r tani an Kelas X T e r b itan E r lan gga B e r d asarkan T ak s on om i S OL O

2 99 16

Docking Studies on Flavonoid Anticancer Agents with DNA Methyl Transferase Receptor

0 55 1

EVALUASI PENGELOLAAN LIMBAH PADAT MELALUI ANALISIS SWOT (Studi Pengelolaan Limbah Padat Di Kabupaten Jember) An Evaluation on Management of Solid Waste, Based on the Results of SWOT analysis ( A Study on the Management of Solid Waste at Jember Regency)

4 28 1

The correlation intelligence quatient (IQ) and studenst achievement in learning english : a correlational study on tenth grade of man 19 jakarta

0 57 61

An analysis of moral values through the rewards and punishments on the script of The chronicles of Narnia : The Lion, the witch, and the wardrobe

1 59 47

Pengaruh kualitas aktiva produktif dan non performing financing terhadap return on asset perbankan syariah (Studi Pada 3 Bank Umum Syariah Tahun 2011 – 2014)

6 101 0

Aplikasi Objek Wisata Di Kota Bandung Pada Perangkat Mobile Berbasis Android

32 124 111

Mobile device ui testing

0 0 2

Mobile ui testing tools

0 0 3