Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

An Efficient Routing Protocol for Wireless Networks, Lecture notes of Wireless Networking

The wireless routing protocol (WRP) which reduces the number of cases in which a temporary routing loop can occur, accounting for its fast convergence properties. The performance of WRP is compared by simulation with the performance of other algorithms. the limitations of existing routing protocols and the need for a new routing protocol for wireless networks. The document also presents the counting-to-infinity problem and how it is overcome in existing internet routing protocols.

Typology: Lecture notes

2022/2023

Uploaded on 05/11/2023

ammla
ammla 🇺🇸

4.5

(37)

275 documents

1 / 27

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Baltzer Journals
An Ecient Routing Protocol for Wireless Networks
Shree Murthy and J.J. Garcia-Luna-Aceves
Computer Engineering, University of California,
Santa Cruz, CA 95064
We present the wireless routing protocol (WRP). In WRP, routing nodes commu-
nicate the distance and second-to-last hop for each destination. WRP reduces the
number of cases in which a temporary routing loop can occur, which accounts for
its fast convergence properties. A detailed proof of correctness is presented and its
performance is compared by simulation with the performance of the distributed
Bellman-Ford algorithm (DBF), DUAL (a loop-free distance-vector algorithm)
and an ideal link-state algorithm (ILS), which represent the state of the art of
internet routing. The simulation results indicate that WRP is the most ecient
of the alternatives analyzed.
Keywords
: routing, packet radio, wireless, distance-vector, link-state, shortest-
path
1{Introduction
The routing protocols used in multihop packet-radio networks implemented in
the past [2,3,11]were based on shortest-path routing algorithms that have been
typically based on the distributed Bellman-Ford algorithm (DBF) [4]. According
to DBF, a routing node knows the length of the shortest path from each neighbor
to every network destination and this information is used to compute the shortest
path and successor in the path to each destination. An update message contains a
vector of one or more entries, each of which species as a minimum, the distance to
a given destination. A major performance problem with DBF is that it takes a very
long time to update the routing tables of network nodes after network partitions,
node failures, or increase in network congestion. This performance problem of
DBF stems from the fact that it has no inherent mechanism to determine when a
network node should stop incrementing its distance to a given destination. This
problem is usually called the
counting-to-innity
problem.
The counting-to-innity problem is overcome in one of three ways in existing
This work was supported in part by the Advanced Research Projects Agency (ARPA) under
contract F19628-93-C-0175 and by the Oce of Naval Research under Contract No. N-00014-
92-J-1807.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b

Partial preview of the text

Download An Efficient Routing Protocol for Wireless Networks and more Lecture notes Wireless Networking in PDF only on Docsity!

Baltzer Journals

An Ecient Routing Proto col for Wireless Networks

Shree Murthy and J.J. Garcia-Luna-Aceves Computer Engineering, University of California, Santa Cruz, CA 95064

We present the wireless routing proto col (WRP). In WRP, routing no des commu- nicate the distance and second-to-last hop for each destination. WRP reduces the numb er of cases in which a temp orary routing lo op can o ccur, which accounts for its fast convergence prop erties. A detailed pro of of correctness is presented and its p erformance is compared by simulation with the p erformance of the distributed Bellman-Ford algorithm (DBF), DUAL (a lo op-free distance-vector algorithm) and an ideal link-state algorithm (ILS), which represent the state of the art of internet routing. The simulation results indicate that WRP is the most ecient of the alternatives analyzed. Keywords: routing, packet radio, wireless, distance-vector, link-state, shortest- path

1 { Intro duction

The routing proto cols used in multihop packet-radio networks implemented in the past [2, 3, 11 ] were based on shortest-path routing algorithms that have b een typically based on the distributed Bellman-Ford algorithm (DBF) [4]. According to DBF, a routing no de knows the length of the shortest path from each neighb or to every network destination and this information is used to compute the shortest path and successor in the path to each destination. An up date message contains a vector of one or more entries, each of which sp eci es as a minimum, the distance to a given destination. A ma jor p erformance problem with DBF is that it takes a very long time to up date the routing tables of network no des after network partitions, no de failures, or increase in network congestion. This p erformance problem of DBF stems from the fact that it has no inherent mechanism to determine when a network no de should stop incrementing its distance to a given destination. This problem is usually called the counting-to-in nity problem. The counting-to-in nity problem is overcome in one of three ways in existing This work was supp orted in part by the Advanced Research Pro jects Agency (ARPA) under contract F19628-93-C-0175 and by the Oce of Naval Research under Contract No. N-00014- 92-J-1807.

internet routing proto cols. OSPF [12] relies on broadcasting complete top ology information among routers, and organizes an internet hierarchically to cop e with the overhead incurred with top ology broadcast. BGP [16] exchanges distance vectors that sp ecify complete paths to destinations. EIGRP [1] uses a lo op-free routing algorithm called DUAL [8], which is based on interno dal co ordination that can span multiple hops; DUAL also eliminates temp orary routing lo ops. However, there are signi cant di erences b etween wireless networks and wired internets in which internet routing proto cols are used. A wired internet has rela- tively high bandwidth and top ology that changes infrequently; in contrast, wire- less networks have mobile no des and have limited bandwidth for network control. Accordingly, o o ding, multihop interno dal synchronization and the sp eci cation of complete path information would incur to o much overhead in a multihop ra- dio network with a dynamic top ology. On the other hand, the routing proto cols based on DBF or mo di cations of DBF would take a long time to converge and the frequent top ology changes in a wireless network with mobile no des make the lo op- ing problem of DBF unacceptable. Therefore, there is a need for a new routing proto col which is devoid of all these drawbacks. In the recent past, a numb er of e orts have b een made to address the limitation of DBF and top ology broadcast in mobile wireless networks. One such e ort is the DSDV proto col [14]. In this proto col, each mobile host, which is a sp ecialized router that p erio dically advertises its view of the interconnection top ology with other mobile hosts within the network to maintain up to date information ab out the status of the network. Unfortunately, in DSDV a no de has to wait until it receives the next up date message originated by the destination in order to up date its distance-table entry for that destination. This implicit destination-centered synchronization su ers from the same latency problems of DUAL and similar algorithms based on explicit synchronization. Also, DSDV uses b oth p erio dic and triggered up dates for up dating routing information, which could cause excessive communication overhead. A distributed routing algorithm for mobile wireless networks based on di using computations has b een prop osed by Corson and Ephremides [6]. This proto col relies on the exchange of short control packets forming a query-reply pro cess. It also has the ability to maintain multiple paths to a given destination. This is a destination-oriented proto col in which separate versions of the algorithm run indep endently for each destination. Routing is source-initiated, which means that routes are maintained by those sources which actually desire routes. Even though this algorithm provides multiple paths to the destination, b ecause of the query- based synchronization approach to achieve lo op-free paths, the communication complexity could b e high. Recently, a numb er of distributed shortest-path algorithms have b een pro- p osed [5, 7, 9, 10 , 15 ] that utilize information regarding the length and second-

b etween A and B and A receives up date messages from B. Accordingly, we map a physical broadcast link connecting multiple no des into multiple p oint-to-p oint functional links de ned for these no de paths that consider to b e neighb ors of each other. Then, a functional bidirectional link connecting the no des is assigned a p osi- tive weight in each direction. All messages received (transmitted) by a no de are put in an input (output) queue and are pro cessed in FIFO order. The communi- cation links in the network are such that all up date messages transmitted over an op erational link are received in the order in which they were transmitted within a nite time. A link is assumed to exist b etween two no des only if there is radio connectivity b etween the two no des and they can exchange up date messages reliably with a certain probability of success. When a link fails, the corresp onding distance entries in a no de's distance and routing tables are marked as in nity. A no de failure is mo deled as all links incident on that no de failing at the same time. WRP is designed to run on top of the medium-access control proto col of a wireless network. Up date messages may b e lost or corrupted due to changes in radio connectivity or jamming. Reliable transmission of up date messages is implemented by means of retransmissions. After receiving an up date message free of errors, a no de is required to send a p ositive acknowledgment (ACK) indicating that it has a go o d radio connectivity and has pro cessed the up date message. Because of the broadcast nature of the radio channel, a no de can send a single up date message to inform all its neighb ors ab out changes in its routing table; however, each such neighb or sends an ACK to the originator no de. In addition to ACKs, the connectivity can also b e ascertained with the receipt of any message from a neighb or (which need not b e an up date message). To ensure that connectivity with a neighb or still exists when there are no recent transmissions of routing table up dates or ACKs, p erio dic up date messages without any routing table changes (null up date messages) are sent to the neighb ors. The time interval b etween two such null up date messages is the Hel loInterval. If a no de fails to receive any typ e of message from a neighb or for a sp eci ed amount of time (e.g., three or four times the HelloInterval known as the Router- DeadInterval), the no de must assume that connectivity with that neighb or has b een lost.

2.2 { Information Maintained at Each Node

For the purp ose of routing, each no de maintains a distance table, a routing table, a link-cost table and a message retransmission list. The distance table of no de i is a matrix containing, for each destination j and each neighb or of i (say k ), the distance to j (D ij k ) and the predecessor (pij k ) rep orted by k.

Pro cedure Init when router i initiali zes itself do b egin set a link state table with costs of adjacent links; N i; Ni x j lix < 1 ; for each (x 2 Ni ) do b egin Ni N [ x; tag (^) xi null; six null; pix null; D ix 1 end D ii 0; sii null; pii null; tag ii cor r ect for each j 2 N call Init2(x; j ) for each (n 2 Ni ) do add (0; i; 0 ; i) to LI S Ti (n) x retransmission time; y hello count; z retransmission count; call Send end Pro cedure Init2(x; j ) b egin D (^) ji x 1 ; pij x null; sij x null; seq noij x 0 end Pro cedure Send b egin for each (n 2 Ni ) do b egin if (LI S Ti (n) is not empty) then send messages with LI S Ti (n) to n empty LI S Ti (n) end end Pro cedure Message when router i receives a message on link (i; k ) b egin if (k 62 Ni ) do b egin Ni Ni [ k ; lik cost of new link; if (k 62 N ) b egin N N [ k ; tag ik null; D ik 1 ; pik null; sik null; for each x 2 Ni do call Init2(x; k ) end for each (i; k ; lik ) do send up date(0; k ; D ik ; pik ) end reset HelloTimer; for each entry (ukj ; j; RD kj ; r pkj ) j i 6 = j do b egin if (j 62 N ) then b egin if (RD kj = 1 ) then delete entry else b egin N N [ j ; for each entry x 2 Ni call Init2(x; j ) tag (^) ji null; call DT end end else b egin tag ij null; end end for each entry (ukj ; j; RD kj ; r pkj ) left j i 6 = j do case of ukj 0:1: callcall UpACK date(j;( kj; ) k ) end call Send end

Pro cedure Create RList(seq no) b egin seq no seq no + 1; N eig hbor S et Ni bitmap[] 0; Retr ansmissionT imer x add up dates to RList end Pro cedure Delete RList(seq no) b egin set bitmap[seq no] 1; delete 1 for all n 2 Ni b egin if (bitmap[seq no] = 0) delete 0; end if (delete = 1) delete RList[seqno] end Pro b egin cedure Up date RList(seq^ no) reset RetransmissionTimer send up date RList[seq no]; end Pro b egin cedure Clean RList^ (seq^ no) for all entries in RList delete RList[seq no]; end Pro cedure Connectivity when HelloTimer expires b egin H elloC ount[k ] H elloC ount[k ] + 1; if (H elloC ount[k ] < y ) then reset HelloTimer; else b egin Ni Ni k call Delete RList(k ) lik 1 tag ik null delete column for k in distance table endup^ date^ routing^ table end Pro cedure TimeOut(i; k ) when RetransmissionTimer expires b egin RetransmissionCounter RetransmissionCounter - 1; if (RetransmissionCounter < z) call Up date RList(k ) else b egin Ni Ni k call Delete RList(k ) lik 1 tag ik null delete column for k in distance table up date routing table end end Pro cedure DT when distance table up date has to b e done b egin D ij k lik + D (^) jk ; pij k pkj ; (2) for all neighb ors b do b egin if k is in the path from i to j in the distance table through neighb or b then D (^) ji b D ik b + D kj ; pij b pkj end end

Figure 1: Proto col Sp eci cation

cost of a link could simply b e 1 re ecting the hop count, or the addition of the latency over the link plus some constant bias. The cost of the link from i to k (i; k ) is denoted by l ik. The message retransmission list (MRL) sp eci es one or more retransmission entries, where the mth^ entry consists of the following:

 The sequence numb er of an up date message

 A retransmission counter that is decremented every time no de i sends a new up date message

 An ack-required ag (denoted by aik m ) that sp eci es whether no de k has sent an ACK to the up date message represented by the retransmission entry

 The list of up dates sent in the up date message The ab ove information p ermits no de i to know which up dates of an up date message (each up date message contains a list of up dates) have to b e retransmit- ted and which neighb ors should b e requested to acknowledge such retransmission. No de i retransmits the list of up dates in an up date message when the retransmis- sion counter of the corresp onding entry in the MRL reaches zero. The retrans- mission counter of a new entry in the MRL is set equal to a small numb er (e.g., 3 or 4).

2.3 { Information Exchanged among Nodes

In WRP, no des exchange routing-table up date messages (which we call \up date messages" for brevity) that propagate only from a no de to its neighb ors. An up date message contains the following information:

 The identi er of the sending no de.

 A sequence numb er assigned by the sending no de.

 An update list of zero or more up dates or ACKs to up date messages. An up date entry sp eci es a destination, a distance to the destination, and a pre- decessor to the destination. An ACK entry sp eci es the source and sequence numb er of the up date message b eing acknowledged.

 A response list of zero or more no des that should send an ACK to the up date message. In the event that the message space is not large enough to contain all the up dates and ACKs that a no de wants to rep ort, they are sent in multiple up date messages. An example of this event can b e the case in which a no de identi es a new neighb or and sends its entire routing table.

The resp onse list of the up date message is used to avoid the situation in which a neighb or is asked to send multiple ACKs to the same up date message, simply b ecause some other neighb or of the no de sending the up date did not acknowledge. The rst transmission of an up date message must ask all neighb ors to send an ACK, of course, and this is accomplished by sp ecifying the \all-neighb ors address," which consists of all 1's. When the up date message rep orts no up dates, the \empty address" is sp eci- ed; this address consists of all 0's and instructs the receiving no des not to send an ACK in return. This typ e of up date message is used as a \hello message" from a no de to allow its neighb ors to know that they maintain connectivity, even if no user messages or routing-table up dates are exchanged. As we explain subsequently, an ACK entry refers to an entire up date message, not an up date entry in an up date message, in order to conserve bandwidth.

2.4 { Routing-Table Updating

Figures 1 and 2 sp ecify imp ortant pro cedures of WRP used to up date the routing and distance tables. A no de can decide to up date its routing table after either receiving an up date message from a neighb or, or detecting a change in the status of a link to a neighb or. When a no de i receives an up date message from its neighb or k , it pro cesses each up date and ACK entry of the up date message in order. In WRP, a no de checks the consistency of predecessor information rep orted by al l its neighb ors each time it pro cesses an event involving a neighb or k. In contrast, all previous path- nding algorithms [5, 10, 15] check the consistency of the predecessor only for the neighb or asso ciated with the input event. This unique feature of WRP accounts for its fast convergence after a single resource failure or recovery as it eliminates more temp orary lo oping situations than previous path- nding algorithms.

Pro cessing an Up date: To pro cess an up date from neighb or k regarding des- tination j , the distance and the predecessor entries in the distance table are up- dated. A ag (tag) is set to sp ecify that this entry in the table has b een changed. A unique feature of WRP is that no de i also determines if the path to destina- tion j through any of its other neighb ors fb 2 Ni jb 6 = k g includes no de k. If the path implied by the predecessor information rep orted by no de b includes no de k , then the distance entry of that path is also up dated as D ij b = D (^) ki b + D kj and the predecessor is up dated as pij b = pkj. Thus, a no de can determine whether or not an up date received from k a ects its other distance and routing table entries. To up date its distance and predecessor for destination j (pro cedure RT Up date), no de i cho oses a neighb or p that has rep orted routing information such that:

To pro cess an ACK from neighb or k , no de i scans its MRL for the sequence numb er matching the sequence numb er sp eci ed in the ACK received. Whenever a match is found, no de i resets the ack-required ag for neighb or k ; if aipm = 0 for entry m and every neighb or p of no de i, the retransmission entry is deleted. This scheme obtains short ACKs at the exp ense of additional pro cessing. No de i may receive an ACK for an up date message whose retransmission en- try has b een erased after sending a more recent up date message for the same destinations. In that case, no de i simply ignores the ACK.

Handling Top ology and Link-Cost Changes: To ensure that no des know that they have connectivity even when they do not transmit user messages or routing-table up dates for some time, every no de i must p erio dically send an up- date message rep orting no changes (hello messages). Acknowledgments are not required for such up date messages, and they can b e very short (e.g., a byte for control information and a byte for the no de identi er, since the control informa- tion can imply that there is no sequence numb er, up date list, or resp onse list in the message). Alternatively, a no de may retransmit an up date message if it is not to o long. When a no de k comes up, it transmits a hello message. Given that short p erio dic up date messages are transmitted by every no de, the failure of a link to a neighb or is detected by the lack of any user or up date messages b eing received from that neighb or over a p erio d of time equal to a few up date-message transmission p erio ds. Similarly, new links and no des are detected by means of up date messages or user messages. When no de i receives an up date or user message from no de k and no de k is not listed in its routing table or distance table, it adds the corresp onding entry to its distance or routing table for destination k. An in nite distance to all destinations through no de k is assumed, with the exception of no de k itself and those destinations rep orted in no de k 's up dates, if the message received from k was an up date message. In addition, no de i noti es no de k of the information in its routing table. This information can b e transmitted in one or multiple up date messages that only no de k needs to acknowledge. When a link fails or a link-cost changes, no de i recomputes the distances and predecessors to all a ected destinations, and sends to all its neighb ors an up date message for all destinations whose distance or predecessor have changed.

2.5 { Example

The following example illustrates the working of WRP. Consider a four no de network shown in Figure 3(a). All links and no des are assumed to have the same propagation delays. Link-costs are as indicated in the gure. No de i is the source no de, j is the destination no de and no des k and b are the neighb ors of no de i. The arrows next to links indicate the direction of up dates messages and the lab el in

(10,I)

(b)

(c) (d)

(a)

1 1

1

10 (^105)

(infinity,-)

(infinity,-)

J B I

K (^) K

B I

K

B I

J

J

I

J

K

B

(0,J)

(2,K)

(1,K)

(2,K)

(10,I)

(0,J)

(10,B)

(0,J)

(2,K)

(2,K)

(0,J)

(11,B)

Figure 3: Example of the algorithm's op eration

parentheses gives the distance and the predecessor to destination j. Each up date will b e acknowledged by an ACK message from the neighb or. ACKs are not shown in the gure. The gure fo cuses on up date messages to destination j only. When link (j; k ) fails, no des j and k send up date messages to their neighb oring no des as shown in Figure 3(b). In this example, no de k is forced to rep ort an in nite distance to j as no des b and i have rep orted no de k as part of their path to destination j. No de b pro cesses no de k 's up date and selects link (b; j ) to destination j. This is b ecause of step(2) of WRP which forces no de b to purge any path to no de j involving no de k. Also, when i gets no de k 's up date message, i up dates its distance table entry through neighb or k and checks for the p ossible paths to destination j through any other neighb oring no des. Thus, a no de examines the available paths through its other neighb oring no des and up dates the distance and the routing table entries accordingly. This results in the selection of the link (i; j ) to the destination j (Figure 3(c)). When no de i receives neighb or b's up date rep orting an in nite distance, no de i do es not have to up date its routing table as it already has correct path information (Figure 3(d)). Similarly, up dates sent by no de k rep orting a distance of 11 to destination j will not a ect the path information of no des i and b. This illustrates how the metho d used in WRP to up date a no de's distance table (Step (2) in Pro cedure DT) helps in the reduction of the formation of temp orary lo ops in the explicit paths.

Pro of Let Nv denote the set of neighb ors of router v. Let dij b e the link weight extracted from the routing table of no de v. By de nition 1, the cost of the link can b e extracted from the routing table as (D (^) jv D vi ), the predecessor pvj = i and the successor svi = k , from the function RT U pdate. The pro cedure RT U pdate requires each distance in the routing table to b e the minimum among the rows corresp onding to the same destination in the distance table entry of the router as de ned by the distributed Bellman-Ford algorithm. Therefore, Lemma 1 is true.

Lemma 2 When a node comes up and initializes its distance table, the link weight that can be extracted from any of its distance table entries is the weight of the link.

Pro of The recovery of a router can b e viewed as all the links connected to that router coming up. Initially, when the router is down, its distance table entries will have in nite distance. A link coming up will b e recorded as a single entry in the distance vector, which is nothing but the weight of the link. Therefore, the link weight extracted from any column in the distance table is the weight of that link.

Lemma 3 The link cost change of a link wil l be re ected in the distance and the routing tables of a neighboring router after a nite time T.

Pro of The change in the link cost can b e due to the link coming up, the link going down, or the cost of the link changing. When a link comes up, a new column entry will b e added to the distance table and the new link cost will b e assigned to the corresp onding entry in the distance table. Pro cedure RT Up date will b e called, which eventually up dates the routing table entry. When a link go es down, the column entry will b e deleted and the distance entries in the distance table will b e set to 1. The pro cedure RT Up date again up dates the routing table entries accordingly. When the link cost changes, the distance entry in the distance table is up dated to re ect the new link cost (Step (1) and Step (2)). These changes will b e up dated in the routing table again by the pro cedure RT Up date. From assumption (8) we have, any change that o ccurs in the time interval (0; T ) will b e up dated by time T. This implies that the link cost changes will b e

re ected in the distance and routing tables of no des adjacent to the links within a nite time T.

Prop erty 1 After a nite time interval T , the routing table structures at al l routers wil l form the nal shortest path.

Pro of The pro of consists of the following two parts:

  1. The old top ology information present in the router's routing and distance tables is up dated.
  2. The shortest-path trees are eventually computed.

Let the initial time b e T (0) = T. Let T (K ) b e the time by which all messages that are in transit at time T (K 1); K  0, have arrived at their destination and have b een pro cessed. The pro of is done by induction on K. At time K = 0, the prop erty holds true. Assume that the prop erty is true for 0  K  M. A path of M + 1 links can b e a concatenation of an adjacent link and a path with M links, or a concatenation of next 2 and M 1 links, or next 3 and M 2 links and so on. This we can generalize as the concatenation of l and M l + 1 links. From the assumptions, by time T (M + 1), the routing trees at time T (M ) of the routers have all b een communicated to their neighb oring routers. This is true for any M = M l. By Lemma 3, these link cost changes will b e up dated in the router's distance and routing tables within a nite time T. This proves rst part of the prop erty. The change in the link cost will result in a routing table up date (in pro cedure RT Up date) as required. When a router has to select a new path, the minimum in row entry for that destination router will b e chosen from the distance table entries resulting in the shortest path in the nal graph all along the way. This implies that the routing table structures at all routers form the nal shortest path.

Theorem 1 If the distance entries in the distance and routing tables are nite, then a path can be extracted from the distance and routing table entries and this extracted path is loop-free.

Pro of Let T (K = 0) b e the initial time when the algorithm b egins execution. The theorem is true for K = 0 since no link exists b etween routers at time t = 0. Assume that the prop erty is true for T (M ); 0  M  K 1. By time T (K ),

path. Thus, there must b e some neighb or b that sends nite distances an in nite numb er of times to no de i for no de i to send messages without stopping. Each time router i sends a message, it can b e due to any one of the following reasons

  1. It receives D bj from b and D ij = D bj + dib where dib is the link weight
  2. D ij has b een in router i's distance table when it receives a message from b
  3. Neighb or b is in the path from i to j through another neighb or k ( 6 = b) and D ij k = D (^) bki + D (^) jb (Step (2))

If the rst case happ ens in nite times, router b sends D bj in nite times and D bj = D ij dib < D ij b ecause dib > 0. The second case can happ en in a situation where D ij is not stable. This means that D ij is changed forever, which is similar to the rst case in that there must b e a

neighb or b 0 such that b 0 sends D b

0 j in^ nite^ times^ and^ D^ b^0 j =^ D^ i j ^ dib^0 <^ D^ i j ,^ b^ ecause dib^0 > 0. Else, if D ij b ecomes stable, then there must b e an in nite numb er of times in which router i receives a distance that is shorter than D ij. For the third case to happ en an in nite numb er of times, D ij k must b e changed

forever. This in turn means that a neighb or has to send the distance vector D bj in nite times. This reduces to case (2) and eventually to case (1).

Consequently, there must b e a neighb or b^0 sending D b

00 j in^ nite^ times^ and D b

00 j =^ D^ i j b^00 ^ dib^00 <^ D^

i j ^ dib^00 <^ D^ i j b^ ecause^ dib^00 >^ 0. Therefore, in all of the cases, there must b e a router that will in nitely generate messages with a distance at least w less than D ij , where w is the minimum distance of the nal graph. This will consequently contradict that all the distances are p ositive by recursively applying the ab ove argument.

Prop erty 3 When PFA terminates, the link weights maintained in the distance table must be in the nal graph.

Pro of This pro of is by induction. When a router comes up, its distance entries in the distance and routing tables are maintained correctly by Lemmas 1 and 2 and Prop erty 1. If a link is not in the nal graph, it implies that router must have detected a link failure that caused it to delete the corresp onding column entry from the distance table entry of the router and the distance is marked as in nity. If the distance in the nal graph dij is di erent from the earlier distance, the router

i must have b een noti ed ab out this link-cost change by its neighb or. Thus, the correct distance entries are maintained in the nal graph for all adjacent routers. Assume that the result is true for no des that are k hops away from i. We will show by induction that the result is true for routers that are k + 1 hops away from i. Let j b e a router that is k + 1 hops away from router i and a b e a router that is k hops away from i. Since all routers that are k hops away from i maintain the distance entries correctly, the distance entry is correct for router a. The distance from j to i is the sum of dj a and D (^) ia (step 1 of the algorithm). This is nothing but the minimum of the distances from i to j and hence is the shortest-path from i to j. Therefore, this distance entry will b e present in the nal graph unless the link has gone down b efore the algorithm terminates in which case, an in nite distance will b e maintained. This proves the prop erty.

Theorem 3 When PFA terminates, the distance for any router i to any other router j in the routing table of router i is the shortest distance from i to j in the nal graph and the successor wil l be maintained correctly; furthermore, the distance from router i to any unreachable router is marked as undetermined.

Pro of We prove the theorem by induction.

From Lemma 3, the weight of any link must b e maintained by its adjacent no de. When a link comes up, the cost of the link will b e assigned to the distance table entry (neighb or router) and the predecessor will b e initialized to b e the source router itself. A check is made to see whether the distance table entry is smaller than the routing table entry and the routing table will b e up dated according to the pro cedure RT Up date with the successor and the predecessor entries prop erly set. If the link is in the path to the destination through any other neighb oring routers, then the distance and the routing table entries will also b e up dated. Assume that the result is true for a no de j that is k hops away from router i. We will show by induction that the result is true for a router k + 1 hops away from i. Consider a router j that is k + 1 hops away from i. There must b e a neighb or b of router j that is k hops away from i and that maintains correct distance and routing table entries. Let dj b denote the distance b etween router j and its neighb or router b which are k + 1 and k hops away from i resp ectively. Let D ib b e the distance from i to b. D ib is the shortest path from i to b as D ib is the minimum in row of distance table for router b and each distance table entry represents an existent path, Since b is a neighb or of j , D ij = D ib + dbj is the shortest path from i to j , with dbj b eing the minimum in row entry. The predecessor path will also b e maintained

an up date message from the neighb or n 2 , n 3 and n 4 b efore arriving at the nal graph. This reduces the numb er of up date messages required.

Theorem 4 The time complexity for a single failure/change for WRP is O (h) in the worst- case, where h is the maximum height of the routing tree experienced during the computation.

Pro of Consider a source router i and a destination router j. Let the changed link b e (n; m) and no de m is a router downstream to router n. There are four p ossible situations involving the shortest path from i to j.

  1. (n; m) is not on the shortest path and its length do es not change enough to change the shortest path.
  2. (n; m) is not on the shortest path and its length decreases enough that it b ecomes part of the shortest path.
  3. (n; m) is on the shortest path and its length do es not change enough to mo dify the shortest path (although the length of the shortest path changes).
  4. (n; m) is on the shortest path and its length increases enough that the short- est path changes.

A router with the initial shortest path not going through the changed link (Case (1)) do es not change its routing table since the original shortest path is not changed and the change in the link cost has resulted only in the increase in the path length through other routes. In Case (2), router is aware of the change in the link cost along the shortest path after a delay not exceeding the numb er of links on the new shortest path. In Case (3) the change will b e noticed in the worst case after a delay of at most the numb er of links in the shortest path. For Case (4), let router nk with the original shortest path through the changed link b e k hops away from router n on the initial shortest path. When a link distance changes or a link fails, the no de containing the failed link selects a new neighb or (changes the successor) for a path to a destination j. This changes the routing table entry at router n and the routing vector generated due to link failure will b e sent to all its neighb ors. Each of these neighb ors will up date their table entries and the change in the link cost propagates. This pro cess continues until a stable router which do es not change its successor is encountered. The tables are up dated either on the receipt of an up date message or if the distance up date received from a router's neighb or has any e ect on the router's other distance

table entries. The distance of the stable no de found in the path from i to j in the new shortest path is b ounded by h, the height of the tree. Therefore, in the worst case, the numb er of steps required for a router to converge to its correct distance is O (h).

5 { Simulation Results

To gain insight into the average-case p erformance of WRP in a dynamic environ- ment, we have simulated its op eration using an actor-based, discrete-event sim- ulation language called Drama [17], together with a network simulation library. The library provides a standard input syntax and a framework for constructing simulations consisting of routers attached to each other via links. Drama itself is an extension to C. The network simulation library treats b oth routers and links as actors. Routers send packets over links by using the function-call interface to the link's actors, but they receive packets by resp onding to messages delivered from the input queue. Link failures and recoveries are simulated by sending link status message to the no des at the end p oints of the appropriate links. In the link mo dels used in the simulation, each link resp onds to an up date packet by encapsulating the packet as a message and sending the message to the link itself. No de failures can b e treated as all links connecting to that no de going down at the same time and the link cost changes can b e treated as a link failing and recovering with a new link cost. The connectivity of a mobile no de is said to b e lost when a no de do es not hear from a mobile no de for a certain p erio d of time. The connectivity with a no de will b e reestablished when a no de hears from a mobile no de again. Mobility is mo deled as an arbitrary set of failures and recoveries of a mobile no de at random p oints in time. All simulations are done assuming unit propagation time and zero packet pro cessing time at each no de. If a mobile no de fails when the packets are in transit, the packets are assumed to get dropp ed. Our goal is to compare the p erformance of WRP against the p erformance of routing proto cols based on DBF, DUAL, and ILS. To reduce the complexity of the simulation, we have eliminated those features of the proto cols that were common to all; these features concern the reliable transmission of up dates over unreliable links, and the identi cation of neighb ors. Accordingly, our simulation assumed that, for any of the proto cols simulated, any up date message sent over an op erational link is received correctly, and that a no de always receives enough user messages to know that it continues to have connectivity with a neighb or. According to these assumptions, there is no need to account for acknowledgments, retransmissions of up dates, or p erio dic transmissions of up date messages.

However, our intent in running the simulations was to obtain insight on the