A Proxy Based Indirect Routing Scheme for Ad Hoc ... - CiteSeerX

7 downloads 712 Views 294KB Size Report
ing topologies such as those in mobile ad hoc networks, the short- est single ...... The random mobility generator based on the random way- ..... and Apps., pp.
A Proxy Based Indirect Routing Scheme for Ad Hoc Wireless Networks Wook Choi and Sajal K. Das Center for Research in Wireless Mobility and Networking (CReWMaN) Department of Computer Science and Engineering The University of Texas at Arlington Arlington, TX 76019-0015 choi,das @cse.uta.edu 

Abstract—The majority of the existing ad hoc wireless network routing protocols has a tendency to use the shortest single path from the source to the destination. However, in constantly changing topologies such as those in mobile ad hoc networks, the shortest single path is quite unstable for reachability and also for traffic load equilibrium. In this paper, we propose a novel scheme, called Applicative Indirect Routing (AIR), to control network traffic congestion and refine the route availability by coping with unreliable links quickly. The proposed scheme, acting as a proactive routing protocol, utilizes additional information about the neighbors shared (defined as proxies) by the sender and receiver to find ondemand an alternative for the original path with unreliable links. The additional bandwidth usage in AIR to obtain the information about shared neighbors is so minimal that the bandwidth availability for data packets is not significantly affected. In our scheme, it is possible for the nodes to dynamically reroute incoming packets into alternative paths so the packets will reach their destinations even when the ideal routing path fails. The conducted simulation experiments show that AIR leads to a much improved system performance in terms of packet delivery ratio, average end-to-end packet delay, and network reliability as compared with a conventional proactive protocol, namely Destination-Sequenced Distance Vector (DSDV). AIR is also a competitive protocol in terms of packet delivery ratio as compared with two existing reactive protocols; namely Ad hoc On Demand Distance Vector (AODV) and Dynamic Source Routing (DSR). Index Terms— Ad Hoc Wireless Networks, Alternative Path, Congestion Control, Proxy Based Routing

I. I NTRODUCTION An ad hoc wireless network is a dynamic network without any fixed infrastructure and centralized control system. Indeed all components (nodes) of this network are potentially mobile without any wired connection between them, and any node can act as a router. This freedom of mobility, however, results in frequent link disconnections between the components since they have a limited communicating distance determined by their radio range. Ad hoc wireless networks are normally used for specific strategic purposes, such as military deployment, emergency task force operation or temporary special business activity where it is not possible to have a fixed infrastructure. Due to the constantly varying topology in mobile ad hoc networks, it is quite difficult to maintain the entire network’s routing information accurately and guarantee the message delivery. Therefore, dynamic multihop paths are constructed to route messages while mobile nodes cooperate wandering. Based on the construction of multihop paths, existing ad hoc network

routing protocols can be broadly categorized into proactive and reactive protocols [14]. A proactive protocol, also called a table-driven protocol, is able to offer routing information on the spot. For example, the Destination-Sequenced Distance Vector (DSDV) [14] and Wireless Routing Protocol (WRP) [12] belong to the class of proactive protocols. On the other hand, a reactive protocol, also called a source-initiated on-demand protocol, offers routing information with some latency since it usually needs to launch the route discovery process if it has no pre-discovered route. For example, the Ad hoc On Demand Distance Vector (AODV) routing [15], Temporally-Ordered Routing Algorithm (TORA) [13], and Dynamic Source Routing (DSR) [8] belong to the class of reactive protocols. Compared to the reactive protocols, the proactive protocols incur smaller delay in sending out a packet, plus they keep the entire network topology information. However, they use up more bandwidth since they need to periodically broadcast the routes for all nodes in the network. The bandwidth usage for control messages is proportional to the size of the network. Due to this performance trade-off for both the above categories, hybrid and geographical routing protocols have been proposed in the literature. A hybrid protocol, such as Zone Routing Protocol (ZRP) [7], is a combination of proactive and reactive schemes. It uses proactive scheme for local area routing and reactive scheme for remote area routing. On the other hand, geographical protocols such as Distance Routing Effect Algorithm for Mobility (DREAM) [1], Greedy Perimeter Stateless Routing (GPSR) [10], and Location-Aided Routing (LAR) [11] utilize location information of the nodes in the network to find the route, thus reducing control message overhead. The location information is usually offered by external means such as global positioning system (GPS). Most of the preceding protocols use a single (shortest) path from the source to the destination to deliver messages and perform no load balancing for the network traffic, although some of them [4], [16] keep the multipath information. Due to the characteristics of the wireless medium (such as high bit error rate and low bandwidth) and unpredictable node mobility, it is not wise to depend only on one path to a destination for efficient or successful routing. This is because that single path might be out of date or congested under heavy traffic when it needs to be used, and hence may not always guarantee the reachability to the destination.

0-7803-7476-2/02/$17.00 (c) 2002 IEEE.

A. Our Contributions In this paper, we focus on the problem of broken links and congestion of proactive routing protocols. As mentioned, the broken links and congestion are, respectively, due mainly to the node mobility and the use of single (shortest) path mechanism. To actively cope with this problem, we propose a new proactive routing scheme, called Applicative Indirect Routing (AIR), which deals with network reliability and load balancing since the high percentage of packets dropped from unreliable links cannot be ignored to improve system performance in a dynamic network topology. AIR recovers from unreliable links by offering alternative paths through the cooperation of intermediate nodes (called proxies) on a path from source to destination. The AIR scheme is characterized as follows. Applicative: It limits the additional usage of bandwidth since it does not broadcast independent control packets. It does not also maintain multipath information between a source and a destination to balance traffic and recover from broken links, nor does it depend only on one primary direct path to forward packets when an intermediate node is under congestion or has broken links. 

an alternative path. The AIR is quite active and fast in recovering from broken links and in relieving congestion since it redirects the traffic to a reliable link in an alternative path. Finding an alternative path is possible with local radio connectivity information (i.e., with the help of neighbors) when a node temporarily contains incorrect routing information or experiences congestion. This is because all nodes in an ad hoc wireless network can act as individual routers; meaning every node can change the direction of the en-route packet. As a matter of fact, the concept of AIR can be applied to any existing ad hoc routing protocol with a table-driven structure but the performance is likely to vary, based on the choice of specific protocol used. Let us first introduce some basic definitions and terminology, and then move on to a concrete description of AIR. A. Basic Definitions Ad hoc wireless networks consist of nodes and wireless links representing the direct communication between node pairs within the radio range. Nodes in this network discern a transient topology at the moment when they are in action through wireless links, such as forwarding packets. We shall define this ad hoc wireless network topology as an undirected weighted where and are the set of nodes and graph, wireless links, respectively. A certain probability (weight) is assigned to each edge. The probability is a measure of link forms a path, availability. The sequence of edges in , and . This is considered as a multihop routing path and each node in path acts as an individual router. Each has its be the area of raspecific radio range with radius . Let dio range of . We define ( ) as a and . The nodes in are shared zone between node called shared neighbors of node and , and it is denoted by . Let where , be the set of local neighbors of node . Thus, . When an edge is included in a routing path, , two nodes forming the edge, , should be the receiver and sender. With the aid of this fact, let be the half area of which faces toward the as a core receiver. Then we define and , respectively the sender and receiver. zone of node The in are called proxies of node and . 



Indirect: It finds an alternative and indirect path with the help of the shared neighbors of two communicating nodes. These shared neighbors are not on the primary direct path to the final destination. The neighboring nodes indirectly guide packets to the primary direct path that is one or more hops away, or to the new direct path to the destination by allowing them to bypass unreliable links.





































"



























"

#







"



"



*



-

"

;

=

A

8

9

9

.

"



9

In this section we present our proposed scheme, called the Applicative Indirect Routing (AIR), for rerouting packets along alternative paths to reach the final destination. The AIR is based on the proactive routing mechanism such that it dynamically controls the network traffic and patches the broken links with



7

@

II. A PPLICATIVE I NDIRECT ROUTING (AIR) S CHEME

'





After presenting the details of the proposed scheme and its properties, we report results from our extensive simulation experiments using network simulator ns2. A comparison of our results with the DSDV proactive protocol demonstrate that the AIR scheme increases total throughput and network reliability by improving the packet delivery ratio up to a maximum of 30% and packet forwarding failure ratio up to a maximum of 92%. As a result of providing alternative paths to the congested traffic which lacks valid links, the AIR also improves the average endto-end packet delay. A comparison with the reactive protocols, AODV and DSR, shows that the AIR has higher packet delivery ratio and hence it is very competitive as a proactive protocol. The remainder of this paper is organized as follows. Section II introduces some basic definitions. In Section III, we explain the algorithms for rerouting a packet by finding an alternative path. Section IV describes how AIR can achieve load balancing and enhanced forwarding capability, while Section V discusses the simulation environment and comparison results. Finally, Section VI concludes the paper.



0

*

D

E

8

"



9

;

H

8

9

0

>



=

9

K

M

;

=

A

9

>

C

D




D

A

"

Q

S

U

V

W

X

9

;



\



N

3

_

0

a

c

d

e

g

i



"







N



.

7



0



K

M

n

T

3

W

X

9

;

9



N

"



;

9

3



9

C



;

@




C




"

*

T



i

"

;

9



8



S

x

y

8

8

;

9

;

9

z



9

=

;

9

9

>

=

;

9

>

;

9

@

A

C

D

@

E




D

{



"



N

T

III. D ESCRIPTION OF AIR A LGORITHM The nodes in a mobile ad hoc network usually make endless movements after the network is deployed. They periodically or on-demand exchange control information with local neighbors within their transmission range to adapt with the network dynamicity. However, it is a challenging task to guarantee the acquisition of the neighbors’ location information in a timely manner. To minimize the error of a node’s location acquired in AIR, we set up a time period parameter for the validity of being a neighbor, based on the periodic control message interval. The AIR algorithm consists of three sub-algorithms: proxy discovery and maintenance proxy node selection, rerouting algorithm. The proxy node selection is and the main sub-algorithm. Its worst-case running time is 





0

0

0

0

0

0







0-7803-7476-2/02/$17.00 (c) 2002 IEEE.



}



e



where is the number of neighbors. The storage space require. ment for a proxy table is

procedure ctrl pkt receiver begin if then measure distance to the sender update routing table invoke end if; end procedure;

e

€



}



e

U

"



D

®

D

D

­

"

V

U

x

9

A

®

T

U

A

x

²

³

To cope with the unreliable link problem, the AIR requires information about the neighbors of the next hop node which is a receiver and offers an alternative path resulting from the selection of a proxy node. The required information is collected with the help of routing update packets without sending out any independent control packets. Namely, a node recognizes its local neighbors while these neighbors broadcast their routing update packets, afterward the node broadcasts its routing update packet which contains its local neighbor information. Table I represents the format of two tables for each node in the network: routing table and proxy table. Metric is a route length to a destination from a node. Distance is a physical distance between a node and its neighbor. Reported time is the time at which a node is recognized as a neighbor. Interval is the interval time or flag for rerouting. The proxy discovery and maintenance procedure is detailed below.

´

C

U

;

‚

ƒ

„

…

†

ˆ

Š ;

… ‡

‹

’

“

ˆ



Ÿ

;

„

…

Ž

ˆ

ˆ

A

U

z

A

Q

©

±

D

x

­

U

Q

´

U

z

A

®

T

x

V

¯

®

x

­

©

±

D

x

­

D

x

T

y

µ

¬

ª



a

C

D

A

"

Q

S

U

V

T

U

U

·

§

«

7

¸

a

©

©

9

9

U





g

D

D

a

a



7



#

;

x

®

"

set of the proxy node candidates in the core zone. can be selected from by measuring the angle (shared neighbor , sender , receiver ). That angle should be less than or equal to . is the set of ’s neighbors. The comparison of with helps a packet to flow toward the original forwarding direction as efficiently as possible. Any angle required in the algorithm can be measured by using the law of cosine function and the inverse cosine function in trigonometry. An example is:

TABLE



C

"

³

C

­

a

D

U

©





9

¹



¼



µ



7



a



«

a

D

©



9



7

p

7

«

º

a

¶ 



a

«



a

7



«



a



7



À

Š



…

‘

’

;

€

ˆ

³

²

‚

°

Fig. 1. Proxy table construction-maintenance algorithm



Œ

²

A

­

-



A

U

©

a

€

D

x

©

A

­

procedure proxy manager begin extract update end procedure;

TABLE I ( A ) R OUTING TABLE , ( B ) P ROXY

U

x

©

A. Proxy Discovery and Maintenance Algorithm

V

¯

•

–

–

“ –

Œ



‘ ˜

–

†



™

…

š

‹



;

› •

›

›

œ

ˆ

–

 „

„



Œ

ž

X

X ‚

’

–

˜

–

†



™

…

š

;



˜

–

™

‘

¡

–

š

…

„

¢

;



£

; –

“

ˆ

 

•

– œ

Œ

ˆ

–



„



Œ

ž

a

a

d

h

d

h

The nodes set up the Proxy info field of their neighbors in the routing table with routing control packets broadcasted by , and let the neighbors. Let be an element of the set denote the distance between nodes and . Recall that is the set of local neighbors of node . The distance between the two communicating nodes can be measured by the time of arrival method [5]. Each broadcasts its routing control packets which are received by node during the periodic route update interval, . When receives the control packet of , it measures and sets up the Proxy info of in its routing table. Node broadcasts its control packet with the collected Proxy info to all neighbors in every . Each is able to recognize the current one hop neighbors of node by checking if Proxy info.distance of each node in the control packet broadcasted by node . Based on that Proxy info and the Reported time, each node builds or updates its own proxy table. The proxy table information can be updated periodically and synchronized with the routing table, since it is based on the broadcast routing control packets. The proxy table construction-maintenance algorithm is described in Figure 1.

f

c b

c b

g

e

f

N

M

W

"

X

e

g

¤

"

0

M

W

Y

"

X

M

*

W

X

Shared Zone Core Zone

(a)

0

Y (b)

Fig. 2. Range for Selecting a Node for Rerouting

"

0

¥

0

N

M

¤

M

function select proxy (node s, node r, node s

0

¥

M

*

W

X

Â

Ä

Æ

Ä

S

“

Ç

„



Æ

È

S

Ç

„ €

for

‚

Á

x

y

y

Ê

Ë

€

Ì

Â

€ Ï

‚

Ñ

Ò

Ó

Ô

‚

€ €

‚

Õ

‚

Ä

V

Ê

Ê Î

U

=

A

=

D

È

U

A

D

y 9

x

C

¯

A

D

¯

V

¯

Ê

z

x

D

y

Ç

"

0

¦

Á

) begin –

š

"

§

end for; if ( for (all if ( Ä

Æ

)

U

Ë

S

“

Ç

–

š

„



Ì

Ä

Æ

)

±

Ë

È

S

Ç “

–

š € Ï

‚

V

U

„

 € Ï

‚

±

=

Â

U

= –

š

Ì

×

V

=

„

)

V

= –



š

„



Ì

±

#

0

M

end if end for end if if ( ) then return else Õ

Ø

Ì

C

U

C

­

V

´

a

©

V

V

A

"

U C

C

x "

D

A

®

D

Q

³

y 9

"

­

€

Â

€

€

‚

Ü

‚

Ä

Ì

´

²

±

Ù

U

x

D

A

©

U

D

­

´

¯

­

D

Ú

±

"

­

#

Ù

V

¯

"

C

­

®

D

V

±

x

Î

Ë

Ç

©

Fig. 3.

Proxy Node Selection Algorithm

7

U

a

y

´

²

x

©

Figure 2 depicts the basic concepts of a proxy node selection and Figure 3 describes the corresponding algorithm. Here nodes and are the sender and receiver, respectively; while is the previous sender which forwarded the packet to node node . Furthermore, is the set of neighbors in the shared zone. The boolean overloaded node (w) returns the congestion status of receiver (as detailed in Section 3); is the final

y

V

x

Â

return end if; end function;

B. Proxy Node Selection Algorithm

°

Â

­

D

9

a

«

ª

«

¬

There are two possible scenarios as described in Figure 2 for a proxy node selection. Let be a sender and be a receiver, and the direction between and is the original forwarding direction of the message in both scenarios. Two sets

0-7803-7476-2/02/$17.00 (c) 2002 IEEE.

g

Ý

g

Ý

and are considered as of nodes and in Figures 2 ( ) and 2 ( ), respectively. Thus, d, e and b, d, e, h . Note that is the next hop of node to reach the destination. However, recognizes that the link to is broken. The selection of a node for to reroute the message can be done by choosing a node from the neighbor sets of , and . We should not choose any node behind the sender to restrict the message from flowing backward and through any node under congestion (as explained in Section 3). Thus, are in Figure 2, the shared neighbors that belong only to considered as candidates for selecting a proxy node for rerouting a packet. Based on the above procedure, the final sets of proxy nodes d, e and d, e, h . Beare therefore sides congestion status, as shown in the last two variables (i.e., ) of Figure 3, the distance between two nodes and the reported time are considered to be the key components in finalizing the proxy node selection. €

‚

€

‚

E

®

Ù

W

z

"

procedure AIR begin if then if ((no route exists) (route exists but broken or overloaded) then if (a proxy node already setup) then forward packet to proxy node else call select proxy if (a proxy node exists) then setup (proxy node, routing table)

E

®

Ù

ª

Q

X

H

W

z

X

ª

W

x

z

"

Q

X

H

W

z

X

T

€

®

=

C




;

@

C




ñ

M

M

function overloaded node (node j) begin if (detect mode explicit) then if ( current time) then return true else return false end if; else return end if; end function;

0

M

Õ

"



M

N



;

>

¹

0

"

Õ

;

>

ñ

ý

is equal to the queuing delay transmission, in node . As part of the explicit method, a congested node broadcasts two explicit messages (EM) only to local neighbors when it is under congestion and out of congestion. Thereby, local neighbors can recognize the congestion status of the node through those two EMs. We define as the interval time or the flag in node for rerouting incoming traffic directed to node and for retrial of forwarding a packet to . To decide congestion status in a node, the delay or the EM is used depending on the way of detecting congestion. If a node detects congestion through the implicit as method, AIR sets up where CurrentTime is the time when AIR acquires ForwardDelay(i). In the case of explicit message, the EM.status (congestion status), which contains a boolean value, is set up as . is being set up, AIR establishes an alternative path to As reroute the packets directed to node by selecting a proxy node as a substitute for node . Thereafter, when node receives a packet and the next hop is node , it checks the congestion status parameter of . For instance, if the current time is smaller than of , then infers that node still experiences congestion and reroutes the packet to the alternative path. Otherwise, retries forwarding the packet to the original routing path.

ó

"

ñ



M

0

M

N

0

;

0

>

ñ

function rerouting time ( ) begin propagation delay from i to j processing delay of j ò

Â

ô

;

õ

>

ö

Â

>

€

÷

‚

ö Â

´

­

D

ô

"

#



current time Ú

ø

;

õ

# >

>

ò

return R time end function;

b c

Fig. 6.

d

Congestion Control Algorithm

g

a e

f

As part of the implicit method, the nodes on a path calculate the approximate waiting time of the packet to be forwarded when the next hop node is under congestion. This is done by using acknowledgment (ACK) of the packet which is transmitted earlier. We define the one-hop total delay, , as the time between the departure of a packet from the network layer and the arrival of the ACK of that packet to the link layer. The link layer notifies AIR of if it exceeds a certain predefined threshold. The one-hop total delay, , contains a queue delay, a processing delay and a propagation delay [2]. The queue delay, considered as a dominant component in , is the time that elapses before a packet is forwarded. It varies according to the interval of idle channel acquisition and the amount of traffic. For instance, suppose there are number of nodes within the radio range of a certain node and let be the average interval time when there is no contention for an idle channel. In this case, if nodes simultaneously compete for the same idle channel to forward packets to node , the average interval time becomes and the probability of the channel acquisition becomes , hence, the time elapsed in the queue will proportionally increase. The approximate forwarding delay is derived as where , are the sender and receiver, respectively and , are respectively the average propagation and processing delays. If there is no re-

h

Fig. 7. Rerouting due to Congestion

ú

ú

ú

ú

e

î

7

e

î

7

û



e

p

q





C

ý

¹

7

«

d

7

_

¤

i

ÿ

d



0





ú

p



"

=

N

û

-



p





N

0

M

As an example, Figure 7 illustrates the rerouting concept to alleviate congestion under AIR. In this figure, is the source node and is the destination. Let node be experiencing heavy traffic. While packets arrive at node , this node detects congestion in node . Thus reroutes incoming traffic which would otherwise go through node . Node first builds the candidate = , and then selects a proxy node from . Let set be chosen as the proxy node since has lower traffic than . The width (boldness) of a line in Figure 7 represents is selected its traffic status. Node as the proxy node for the next hop in node , since is still under congestion while the packets are rerouted to . Node finally forwards the packet to the destination . Thus, the original path of results in the AIR path . The total forwarding delay of a path can be derived as , where is the set of nodes without the destination on the path and is a time unit. Under the congestion control scheme of AIR, the parameter F(t) can be reduced by splitting the traffic load into alternative paths. d

X

i

g

i

g

i



_

\

*

_

Ý

g

n





_

Ý

D

å

*

\

\

W

¯

X

H

W

X

n

p



n

_

i

_

X

d

d

â

Þ

â

g

â

â

Þ

_

ý

â

â

g

å

â

â

i

â

X

X

ý



c









¹

"

Ë

7

«

d

7

_

¤

i

ÿ

d



0



Suggest Documents