Anda di halaman 1dari 8

MDVA: A Distance-Vector Multipath Routing

Protocol
Srinivas Vutukury, J.J. Garcia-Luna-Aceves

Abstract—Routing protocols using the Distributed Bellman-Ford (DBF) do not provide instantaneous loop-freedom which is desirable
algorithm converge very slowly to the correct routes when link costs in- especially when on-line link-cost measurement is used.
crease, and in the case when a set of link failures results in a network parti-
tion, DBF simply fails to converge, a problem which is commonly referred to Several routing algorithms based on distance vectors have
as the count-to-infinity problem. In this paper, we present the first distance been proposed in the literature ([7], [8], [9], [11], [16] to name
vector routing algorithm MDVA that uses a set of loop-free invariants to a few). However, with the exception of DASM[16], all of
prevent the count-to-infinity problem. MDVA, in addition, computes mul-
tipaths that are loop-free at every instant. In our earlier work we shows
them are single-path algorithms. A few routing algorithms
how such loop-free multipaths can be used in traffic load-balancing and have been proposed that use partial topology information (re-
minimizing delays, which otherwise are impossible to perform in current fer [6], [12] and the references therein) to eliminate the main
single-path routing algorithms [15]. limitation of topology-broadcast algorithms; however, these al-
gorithms are not loop-free at every instant. Recently, we intro-
I. I NTRODUCTION duced MPDA [15], which is the first routing algorithm based
Routing protocols construct tables at each node that specify on link-state information that construct multipaths to each des-
for each destination the next-hop to use for data packet forward- tination that are loop-free at every instant. In this paper, we
ing. It is required that the routing tables computed by them be present a new routing algorithm MDVA (Multipath Distance-
free of loops when the network is stable. In dynamic environ- Vector Algorithm), which is the first distance vector algorithm
ments, a more stringent requirement is that the routing tables be that uses the loop-free invariants introduced in [15], solves the
loop-free not only when network is stable but at every instant count-to-infinity problem and computes multipaths to destina-
because, loops even if temporary can rapidly degrade perfor- tions. We provide formal proofs for the safety and liveness prop-
mance. In our recent work [15], we described a load-balancing erties of MDVA, and compare its performance to other routing
routing framework to obtain “near-optimal” delays, a key com- algorithms through simulations.
ponent of which is a fast responsive routing protocol that de- The paper is organized as follows. In Section II we discuss
termines multiple successor choices for packet forwarding such the main convergence problem facing a typical distance-vector
that the routing graphs implied by the routing tables are free of algorithm and outline a solution that addresses those problems.
loops even during network transitions. By load-balancing traffic Section III describes MDVA and Section IV provides the cor-
over these multiple next-hop choices, congestion and delays can rectness proof for the algorithm. A performance comparison
be significantly reduced. Our goal in this paper is therefore to through simulations is provided in Section V. Section VI con-
develop a distance-vector routing algorithm that is suitable for cludes the paper.
implementing near-optimal routing as described in [15].
Though routing is a very old problem in computer net- II. OVERVIEW OF THE A PPROACH
works, most of the solutions to date are unsuitable for load-
balancing and implementing the near-optimal framework men-
tioned above. The widely deployed routing protocol RIP pro-
A. Problem Formulation

 
A computer network is modelled as a graph 

,
vides only one next-hop choice for each destination and does where is set of nodes (routers) and

is the set of edges

   
not prevent temporary loops from forming. Cisco’s EIGRP [1] (links). Let be the set of neighbors of node . The problem
ensures instantaneous loop-freedom but can provide only a sin-
 
consists of finding the successor set at each router for each des-

 
gle loop-free path to each destination at any given router. The tination , denoted by , so that when router receives
link-state protocol OSPF offers a router multiple choices for a packet for destination , it can forward it to one of the neigh-
bor routers in the successor set . By repeating this process

       " ! #$%'&


packet-forwarding only when those choices offer the minimum
distance. When there is fine granularity in link costs metric, as in at every router, the packet is expected to reach the destination.
If the routing graph , a directed subgraph of , is defined

 
the case of optimal routing, there is less likelihood that multiple
paths with equal distance exist between each source-destination

by the directed link set
destined for follows a path in
, a packet
. Two properties determine

 
pair, which means the full connectivity of the network is still not
used for load-balancing. Also, OSPF and other algorithms based the efficiency of the routing graph constructed by the protocol:
on topology-broadcast (e.g., [13], [10] ) incur too much commu- loop-freedom and connectivity. It is required that be free of

 
loops, at least when the network is stable, because routing loops

 
nication overhead when link costs change frequently. Also they

  (
degrade network performance. In a dynamic environment, it is
This work was supported in part by the Defense Advanced Research Projects
 
desirable that
(
be loop-free at every instant, i.e., if and

   ( 
Agency (DARPA) under grants F30602-97-1-0291 and N66001-00-1-8942. are parameterized by time , then should be free of
Srinivas Vutukury is with the Computer Sciences Department and J.J. Garcia-
Luna-Aceves is with the Computer Engineering Department at University of loops at any time . Observe that if there is at most one element
California, Santa Cruz, USA. in each , then is a tree and there is only one path from
TABLE I
converges, and converges fast when distance to destinations de-

 
N OTATION
crease [8]. However, convergence is slow if link-costs increase,

   
Set of nodes in the network and in the extreme case when link failures result in network par-

   
Set of neighbors of node titions, DBF never converges. This is the well-known counting-


to-infinity problem [14]. Intuitively, the count-to-infinity prob-

) * 
Next-hop choices at for destination

  -,.   
Routing graph implied by the of destination lem results due to “circular” computation of distances; that is, a

)/0) + +
node computes its distance to destination using a distance com-

, )  , 
Distance of node to as known to
municated by a neighbor, that happens to be the length of the
Cost of link

12))  
path that passes through the node itself. The node using such
Distance of node to as reported by to
a distance is unaware of this because nodes only exchange dis-

 
Feasible distance is an estimate of

  
tance information with no path information.

3 4   
Distance to reported by node to its neighbors Circular computation of distances that occur in DBF can be
Best distance to through prevented if distance information is propagated along a DAG

579 6 8 6   ( ( 4  ( 4  (
(
Set of neighbors that are waiting for replies rooted at a destination. The key idea is that given a DAG,

  -,. 
A bird’s view of the network at time each node computes its distance using distances reported by

:( Distance of node to in
Cost of link in
the “downstream” nodes and reports its distance to “upstream”
nodes. This method called diffusing computations was first sug-

 
gested by Dijkstra et al [4] to ensure termination of distributed

 
computation; a diffusion computation always terminates due to
any node to . On the other hand, if each has more than one the acyclic ordering of the nodes. DUAL [5], the algorithm on
element, then is a directed acyclic graph (DAG), and has which EIGRP [1] is based, uses diffusing computations to solve
greater connectivity than a simple tree and therefore enabling the count-to-infinity problem. Several other distance vector al-
traffic load balancing. gorithms have been proposed that use diffusing computation to
overcome the counting-to-infinity problem of DBF [8], [9], [16].
The algorithm suggested by Jaffe and Moss [8] allows nodes to
B. Solution Strategy
participate in multiple diffusing computation of the same desti-
Given that there are potentially many directed acyclic graphs nation and requires use of unbounded counters, for which rea-
for a given destination in a graph, a question arises as to which son it may not be practical. In contrast, a node in DUAL and
DAG must be used as a routing graph? The routing graph should DASM [16] participates in only one diffusing computation for
be uniquely defined and it should be easily computable by a dis- any destination at any one time and thus requires only a toggle

   ( ;  <,  ) +  ( >= )    ( ? -,@ A& ) 


tributed algorithm. The natural choice for routing graph is the bit. MDVA presented here follows the later approach.
one defined by the shortest paths. Accordingly, MDVA defines Two questions arise regarding a diffusing computation:
, where is the cost of 1. Because there are potentially many DAGs for a given des-
the shortest path from to measured as the sum of the costs
  tination, which one should be used for diffusing computa-

) 
of the links on the path. The routing graph implied by this tion?
set is unique and is called the shortest multipath. To compute 2. How should a diffusing computation be performed in a dy-

) 
, distributed routing algorithms may exchange any informa- namic environment in which the chosen DAG changes with

( 4 (
tion (distance-vectors or link-states), as long as they ensure that time?
’s converge to the correct distances. Convergence is formally
58 6  (  
The answer to the first question is straightforward: the short-
 
  4 4 (
defined as follows. At time , let denote the topology of est multipath is the right choice given that computing
the network as seen by an “omniscient observer”, and let
denote the distance of to in . (Note that we use bold A  
is our final goal. The second question is not as straightforward.
used for carrying out a diffusing computation can be al-
 
( ( )
font to refer to quantities in .) Assume the network has sta-

  (  578 6  ( ,  
lowed to change if the following conditions hold: (1) is
,
 
ble configuration up to time . We say that the network has acyclic at every instant, and (2) at any instant, if a node reports

(  (B
converged to the correct values at if

(
B (
C
for all a distance through a neighbor in , it must ensure that re-

(BDE(C =GF
and . Now, if a sequence of link cost changes occur between mains in until the end of the diffusing computation. That

)   ( C H 5 8 6  ( C H 5 8 6  ( B
and and none after , then the routing algorithm is said these conditions prevent circular computation of distances can

Q RD STD  W QYX ( P NO (APQUDV ( !


to converge if at some time , it satisfies and be infered from the following argument. Assume that a circular
. In addition, during the conver-
 5I 8 6 )  578 6 computation occurs at time involving nodes , , .. . Let

)  (AOO
gence phase, the algorithm must ensure that ’s are loop-free a node , , compute its distance at using

5I8 6 57 8 6  Q RZD@ ! S D  [O  QYX  P !


at every instant. Note the distinction between and . is
578 6 ) 
the distance reported by , and computes its distance us-
the correct distance, whereas is a local variable and is an ing the distance reported by at . Because is held in
”estimate” of . must eventually equal , if does not the successor set of for and holds until the

)  J    )  +LK * + M,7 N&


change further. diffusing computation ends, we have

)  O    ] a`\  ( P ^ <_  O    ] a`\  (


In Distributed Bellman-Ford (DBF) algorithm, each node re-

 NP   (Nb ^<_


peatedly executes the equation
for each destination , and every time changes it reports it
to all its neighbors. A known property of DBF is that it always NP  (
c c c
c <_ c c  
time, a node initializes all distances in its tables to infinity and

  !  ^

 ! X P   O ( ! ^<_  ! X  P O   ! (
all sets to null. If a link is down its cost is considered infinity.
The distance to unreachable nodes are considered to be infinity.

!   (O !   ( Nodes executing MDVA exchange information using mes-

  (    ( (AfMShg  i i
sages which can have one or more entries. An entry or distance

(
vector is of the form [ , , ], where is the distance of the
Because the implied by , is acyclic at every in-
node sending the message to destination and the type is one of
stant , the above relations indicate a contradiction. Therefore,
QUERY , UPDATE and REPLY . We assume that messages trans-
circular computation is impossible if the above mentioned con-

 
mitted over an operational link are received without errors and
) Nop(qZgMm?(
ditions are enforced. Notice that we intend to propagate the

2
j Y
k Y
l n
m Y
g M
o o
in the proper sequence and are processed in the order received.

) 
distances along the shortest-multipath which itself is com-
puted using the distances. This “bootstrap” approach – comput-

   Nodes invoke the procedure shown in


ing using diffusing computation along and simultane- Figure 1 to process distance vectors. An event is the arrival
ously constructing and maintaining
 
0/ )  ) /0)
– is central to MDVA. of a message, the change in cost of an adjacent link, or a

 12)    
I
change in status (up/down) of an adjacent link. When an ad-

) 
How can we ensure that is always loop-free? To do this
we use a new variable

, called the feasible distance, which

jacent link becomes available, the node sends an update mes-


is an ‘estimate’ of the distance in that is equal to sage [UPDATE, , ] for each destination over the link.
When an adjacent link fails, the neighbor table asso-

)  )  + , 
when the network is in stable state, but to prevent loops during

/0)  )  +  2j kYlYmngYoMo ) Ao(qZgrmn( s<tvuxwzy|{< }F~  *


ciated with neighbor is cleared and the cost of the link is

  ,
periods of network transitions, it is allowed to differ temporar-
ily from . Let be the distance of to as notified to set to infinity, after which, for each destination the procedure

j2kYlYmngYoMo )  No(q0gMm?(  ) !  ! 
is invoked. Similarly,
by . To ensure loop-freedom at every instant , and
when an adjacent link cost to changes, is set to the new
must satisfy the Loop-Free Invariant (LFI) conditions intro-

, j2kY lYmngYoMo ) No(q>gMm?(  (AfMShg -,x i  


cost and (UPDATE, , , ) is invoked
duced in [15]. The LFI conditions capture all previous loop-free for each destination . When a message is received from neigh-

 (AfMShg  i€
conditions ([5], [16]) in a unified form that simplifies protocol bor , is invoked for each en-
design. The conditions are try of the message.
Loop-free Invariant Conditions(LFI) [15]: Computing distances to each destination can be performed in-

/0)   ( D ) +  ( ,d7
dependently. Hence, in the rest of the description, the working

  ( ^  ,H )  +  ( L= /0)   ( ?&  (1)



tion . A node can be in ACTIVE or PASSIVE state with respect
to a destination and is represented by variable o(N‚ƒ(Ng 
of the algorithm is described with respect to a particular destina-

. A node
(2)
is in ACTIVE state when it is engaged in a diffusing computation

  
The invariant conditions (1) and (2) state that, for each desti-
nation , a node can choose a successor whose distance to , as
   and waiting for replies from neighbors. Initially, we assume that
all nodes are in PASSIVEstate. As long as link cost decrease,

) Ao(q0gMm?(
known to , is less than the distance of node to that is known MDVA works identically to DBF and the nodes will remain in

time , then the( 


to its neighbors. Theorem 1 is reproduced here for convenience.

 (
Theorem 1: [15] If the LFI conditions are satisfied at any
implied by the successor sets is
 2
j Y
k
PASSIVE state. This is because the condition on line 9 always

  ( )   /0)   12)  „    )  +…K * +  ,† N&


fails and lines 17-24 are always executed.
works in such a way that when in PASSIVE state, the condition
Y
l n
m Y
g M
o o
loop-free. always holds,
For proof of this theorem the reader is refered to [15]. The which can be infered from lines 8 and 23. However, if the dis-

)  0/ )   
above theorem suggests that any distributed routing protocol tance to a destination increases, either because an adjacent link

)  
(link-state or distance-vector) attempting to find loop-free short- cost changed or a message is received from a neighbor, the con-

 ) 
est multipaths must compute , and such that the dition on line 9 succeeds and the node engages in a diffusing
/0)   5d8 6    
LFI conditions are satisfied, and such that at convergence computation. A diffusing computation is initiated by sending
= minimum distance from to . query messages to all the neighbors with the best distance

3 ‡ 
through , and waiting for the neighbors to reply (lines 14-15).
III. M ULTIPATH D ISTANCE -V ECTOR A LGORITHM
)  If the increase in distance is due to a query from a successor,

   
In essence, MDVA uses DBF to compute and therefore the neighbor is added to to indicate that it is waiting for a
reply so that a reply can be given when the node transits to PAS -
) 
, while always propagating distances along the to pre-
SIVE state (lines 11-12). When all replies are received, the node

  )  0/ )  1e) 
vent count-to-infinity problem and ensure termination. Each

  0/ ) 
node maintains a main table that stores , the successor set can be sure that the neighbors have incorporated the distances

 , the feasible distance , the reported distance , and that the node reported, and is safe to transit to PASSIVE state.

  3     At this point, can be increased and new neighbors can be


, which is the shortest distance possible through the succes-
added to without violating the LFI conditions.

, )  +  
sor set . The table also stores , the set of waiting

  
When in ACTIVE state, if a query message is received from
, ,
neighbors in a diffusing computation. Each node also maintains

* + 
a neighbor not in , a reply is given immediately. On the
,  ) 
a neighbor table for each neighbor that contains the dis-
tance of neighbor to as communicated by . The link table other hand, if the query is from a neighbor in , a test
stores the cost of adjacent link to each neighbor . At startup is made to verify if increased beyond the previously re-
2
j M
k Y
l p
m  M
g M
o o ) No(q0gMm?(  gr( 
‡ i   &
 gr(
00. procedure
i 
))  !    (iˆ.A o  ) lY i‰g‹Š7* gr (  ,d%7ŒZ2 AŽ & 1e 
01. is the type, is the neighbor, is the distance, is the destination
02. begin
03. if ( then send [REPLY, j, 0] to ; endif

) ;          )  +L +K K + * + Ž” ,d“    & 


04. ;

o(N/0‚‰(N) g  …  j0 ‘; " " ) ’‰q   12)  o& (N‚‰(Ng  ‘;•e–…’—q Ž Š * ‚zo(|kYg
S * f2No‹kMgMmngr[˜—gri0™xlMkš
05. ;
06. ;

 ) 0 › 1e )  Ž
07. if then
08. ;
09. if then
o(N‚ƒ gr(N(g  J Œœ‘e2•eŽ –…12’‰ q
3  !  
10. ;
11. if then

12,H) …   ) 


12. ;

 12)  ,
13. endif
14. ;

o(N‚ƒ(Ng   ,dj0I‘e" ž’—q Ž
15. , send [QUERY, , ] to neighbor ;
16. else

W,H 1e3 )    “) ,Ÿ   Šdgr( ~ŒZ0Ž 1212 )  , )  ,


17. ;
18.
19.
20.
foreach
if
else if (
do

send [UPDATE, , œ¡ 


then send [REPLY, ,
] to ;
] to ;
  
123 )   ) 
21. endif
22. done
23.
24. ;
;
2£¢
 gr( J¤ŒZ0 Ž 12  )
25. endif

2112))   3 e  3   ¥ 
26. else
27.
28.
29.
if
if
else send [REPLY, ,
then
  Š7 2›
then
] to ;
;

30. endif

    <,  )  + = /0)  &


31. endif
32. endif
33. ;
34. end

Fig. 1. Distance vector processing in MDVA.

diately. However, if  )   3 ‡


ported distance (line 28). If it did not, a reply is sent imme-
increased, no reply is given and the
change, but the distances to destinations either decrease or re-
main unchanged (2) some link costs increase, resulting in an

bors in
3  
query is blocked by adding to . The replies to neigh-
are deferred until that time when the node is ready
increase in distances to some destinations. MDVA works identi-
cal to DBF when distances to destinations only decrease and the

) 
to transit to PASSIVE state. After receiving all replies, one of

( (
same proof of DBF applies [2]. To state this formally, assume

)   ( ¦ 5d8 6  (
two things can happen: either the ACTIVE phase ends or it the network is stable up to time and all nodes have the correct

(N§ ( DU(N§ = F )   (N§ " 578 6  (


continues. If the distance increased again after receipt of distances. At time , the costs of some links decrease. Since the
all replies, the ACTIVE phase is extended by sending new set distances in the tables are such that , within some

3  
of queries, otherwise the ACTIVE phase ends. In the case the finite time , , .
ACTIVE phase continues, no replies are issued to the pending

)   ( H= 57 8 6  (
MDVA and DBF behave differently, when some link costs

)   /0)   12)       )  + K * +  ,d A&  


queries in . Otherwise, all replies are given and the node increase such that distances between some source-destination
transits to PASSIVE state satisfying the PASSIVE-state invariant
.
pairs increase. In this case,
578 6  (
Both DBF and MDVA first increase
)
for some and .
to a value greater than
, after which the distances monotonically decrease until
IV. C ORRECTNESS P ROOFS

)  ¦ 578 6  (
they converge to the correct distances. MDVA and DBF, how-
To prove the correctness of MDVA consider the following two ever, differ on how they increase the distances. DBF does it step-
mutually exclusive and exhaustive cases: (1) some link costs by-step in small bounded increments until . How-
5 8 6  ( #„F /0)   ( D )  +  ( (   ( ¨  (N§ ­€
)  )  ¦ d5 8 6  ( 12) 
ever, when , this leads to the count-to-infinity prob- In the case that the ACTIVE phase finally ends, we have
lem. In contrast, MDVA uses diffusing computations to quickly for . In the PASSIVE phase,

 (N( ¨¯¨ ®  ( P ¨® P


raise so that , after which it functions similar can only remain constant or decrease until the next AC -
to scenario 1 described above, and the distances converge to the TIVE phase at . Therefore, the LFI conditions are satisfied

(
§
correct values as before. After the end of all diffusing computa- in the interval . On the other hand, if the ACTIVE phase


( § §
/0)   ( D )  +  ( (   (N¨  N( § §°€
tions MDVA works just like DBF. continues, new queries are sent at time . Assume all replies for

to show that: (1) the  


In summary, to show that MDVA terminates, it is sufficient
are loop-free at every instant (Theo-
these queries are received at time . From similar argument as
above, it follows that for . Thus

( ¨ ( ¨® P
rem 2), (2) every diffusing computation completes within a finite irrespective of how long the ACTIVE phase continues, the invari-
time (Theorem 3), and (3) there is a finite number of diffusing ant holds between [ , ]. From induction, therefore, the LFI
computations (Theorem 5). Finally, we show that MDVA con-


verges to correct distances when it terminates in Theorem 5.
Theorem 2: For a given destination , the constructed    
conditions hold at all times. It then follows from Theorem 1 that
is loop-free at all times.
Theorem 3: Every ACTIVE phase has a finite duration.
by MDVA is loop-free at every instant. Proof: An ACTIVE phase may never end due to either of

<©«ª
Proof: The proof is by showing that the LFI conditions
are satisfied during every ACTIVE and PASSIVE phase. Let (-¨ the two reasons: deadlock or livelock. First we show a deadlock
cannot occur. A node that transits to ACTIVE state with respect
be the time when the
 ¬
transition from PASSIVEto ACTIVE
(¨ to a destination sends queries. If the transition is due to a query

0/ )   ¬ D )  +  ¬ ,d
state starts at node for . The proof is by induction on . At from a successor, the node defers the reply to this query until
node initialization time , all distance variables are initialized to it receives the replies to its own queries. Because nodes wait
infinite and hence
conditions are true up to time . Then
,
(¨ . Assume the LFI for replies to their queries before replying to a query, there is a
possibility of “circular” waits leading to a deadlock. But, this

/0)   ( D )  +  ( (   ¬  (N¨ c
is impossible for the following reasons. First, a node in pas-

 ) 
sive state immediately replies to a query if it does not increase
(3) distance to the destination (lines 19). If the query is from a suc-
(  )   ( #¦ )   ( cessor that potentially increases , and the node is ACTIVE

 
At any time , from lines 6, 8, 14 and 23 in the pseudocode in , the query is held until the ACTIVE phase ends (line 28). Be-
Figure 1, and because , if follows that cause the ’s are loop-free at every instant (Theorem 2), a

/0)   ( D 12)   ( (4)


deadlock cannot occur. Thus, a node that issued queries to the
neighbors will eventually receive all the replies and transits to

(¨—X P (N¨
PASSIVE state.

and therefore, for and , we have A livelock is a situation where a node endlessly has back-
to-back ACTIVE phases without ever replying to the pending
/0)   (N¨—X P D 12)   (N¨—X P ? queries from the successors. A livelock cannot occur for the

/0)   ( ¨ D 12)   ( ¨ c (5) following reasons. An ACTIVE phase transition occurs either

 )   ) 
because the link-cost of an adjacent link increases or a query

, (
§ ›  ©«(Nª ¨
(6) from a successor is received that increases . But, we know
(¨
Let the queries sent at , the start time of the ACTIVE phase,
that a query from a successor is blocked if it increases . Be-

( ¨—X P
cause links can change only a finite number of times and there
be received at a particular neighbor at . From Eq. (4)


is only a finite number of neighbors for each node from which
and the fact that the update messages sent, if any, between
the node can receive queries, the node can only have finite num-
and specify non-increasing distances, we have
ber of back to back active phases. A node eventually sends all

/0)   ( D )  +  ( (   ( ¨  ( § € c (7)
pending replies and enters PASSIVE state. A livelock, therefore,
cannot occur.

(N§
Theorem 4: A node can have only a finite number of ACTIVE
Let
12) 
be the time when all replies are received and ACTIVE
phase ends. During the ACTIVE phase the value of remains
/0)  phases.
Proof: Assume towards a contradiction that there is a node
that does go through an infinite number of PASSIVE to ACTIVE

12) 
unchanged and no new is reported during this period (lines
27-31). Furthermore, during PASSIVE phase, only decreasing transitions. An active phase transition occurs either because of a
values of are reported. Then from Eq. (6) it follows that query from a successor or a link-cost increase of an adjacent
link. Because link costs can change only a finite number of
/0)   ( D )  +  ( (   ( §  ( § c (8) ,
times, the infinite PASSIVE-ACTIVE phase transitions must have
been triggered by an infinite number of queries from a neigh- ,
(N§
bor. Let that neighbor be . Now, by the same argument, is
At , irrespective of whether the node transits to PASSIVE state sending an infinite number of queries because it is receiving an
or continues in the ACTIVE phase, from Eq. (4) we have infinite number of queries. But this argument cannot be contin-

/0)   ( § D e1 )   ( § c
ued for ever because there is only a finite number of nodes in the
network. Because the reply to the neighbor in the successor set
(9) causing the phase transition is blocked and the routing graphs
are loop-free at every instant (Theorem 2), there must be a node 12

that transits to ACTIVE state only because of adjacent link cost 11


10
changes. This implies that a link must change its cost infinite 4
13
9
number of times — a contradiction of assumption. Therefore, a 14

) 
node cannot have an infinite number of ACTIVE phases. 1 5

3 15
Theorem 5: After a finite sequence of link-cost changes in the

¬ )   ¬  75 8 6  ¬
6
network, the distances converge to the final correct values. 17
16

Proof: Assume at time that every node has correct dis- 0


2
7
tances to all the distances. In other words, .
Assume that a finite number of link cost changes, link failures

(B (C ¬ (B 8 18

(
BZD±(C ) =   (F C " 578 6  (B ‹ 578 6  (C
and link recoveries occur in the network between time and
and after no more changes occur. We have to show that at Fig. 2. Example topology
some time , such that , all nodes will converge
to the correct distances. That is .
the time it takes for the network to converge after a set of link-
From Theorem 3 and 4, it follows that within a finite time

(
§
cost changes in the network and the communication complexity
after the last link change, all nodes transit to PASSIVE state and
is the amount of message overhead required for propagating a
remain in PASSIVE state thereafter. Therefore, let be the time
set of link-cost changes. In a dynamic environment, the timing

)   (N§ #¦ 5d8 6  ( B
when the last ACTIVE phase ends in the network. We prove the
and range of link cost changes occur in complex patterns that are
following.
)    often determined by the traffic on the network, because of which

(N§ (C
1. for every and .
58 6  (B (C
obtaining closed form expressions for time and communication
2. Between and , all ’s monotonically decrease and

)   (C š 578 6  (B


complexity is impossible. An approximate analysis that is pro-
eventually converge to the correct distances at . vided in [8] for the case in which communication is synchronous
That is .
)   N
( § ²
= throughout the network also apply to MDVA.

5 8 6  ( B )  + ( § š± * +  ( : § K )  +  ( §

Part 1: Assume towards a contradiction that
,³   We use simulations to compare the control overhead and con-
. Let
)   (N§ Ÿ¦ 5 8  (B
for some .
³ vergence time of MDVA with that of DBF, MPDA [15] and
Assume that
I
5
. Also assume that
8 (B  + 9 :6  (B K 5 8:  (B
6 has only
topology broadcast (TOPB). The main purpose of these simu-

* +  (N§ K )  +  (N§ D 9 :6  ( B K )   (N§


lations is to give some qualitative explanation for the behavior
one element. Because we have

* +  (N§ e= 9 :6  ( B )  +  (N§ e= ) +  (N§


of MDVA. The reason for choosing DBF and TOPB is that DBF
, from which we can in-

* +  ( § #= 9«:6 9  6 (B   -,v


is based on vectors of distances and does not use diffusing com-
fer that either , or , or both. If putations, while TOPB represents an ideal upper bound on per-

creased to : (B
, it implies that the link cost of is not yet in-
via a link-cost change event. When it does, the
formance of the widely used routing protocols OSPF and IS-IS.
The reason for choosing MPDA is that it has been shown to

)  +  (N§ #= ) +  (N§
condition on line 9 becomes true and an ACTIVE state transition be very efficient compared to TOPB, in terms of communica-
is triggered. So all ACTIVE phases have not ended. Similarly, if tion overhead. MDVA achieves loop-freedom through diffusing


, then there is message in transit, which when
processed by would trigger a PASSIVE-to-ACTIVE transition.
computations that, in some cases, may span the whole network.
In contrast, MPDA uses only neighbor-to-neighbor synchroniza-

)   (N§ ‡¦ 578 6  (B ³


This means that the ACTIVE phases have not yet ended. A con- tion. It is interesting to see how convergence times and control
tradiction of the assumption. Therefore, when ACTIVE phases message overheads are effected by the synchronization mecha-
end . When has more than one element, nisms. A comparison of several algorithms that does not include
each element will be removed from the successor set one after MPDA and MDVA is given in [3].
the other without triggering the ACTIVE transition until the last Simulations are performed on the topology shown in Fig.(2).
element, when the ACTIVE state transition finally occurs.
Part 2: After every node becomes PASSIVE at time , all the (
§ P
The simulator used is an event-driven real-time simulator called
CPT .
messages in transit can only decrease the distances; otherwise, We assume the computation time to be negligible compared
that would result in a transition to ACTIVE state. At this stage
MDVA works essentially like DBF and the same proof of DBF µ
to the communication times. The bandwidth and propagation
delays of each link are 5MB and 100 s respectively. In back-

5I8 6  (B
applies here. Each time a distance is decreased, the new distance bone networks, links and nodes are highly reliable and change

5 86  ( B
is reported. Because distances cannot decrease forever and are status much less frequently than link costs which are a function
lower bounded by , the distances will eventually converge of the traffic on the link. This is particularly true in near-optimal
to the correct distances . routing of [15], in which the link costs are periodically mea-
sured and reported. For this reason, in this paper we focus on

´ 
  }a U
V. P ERFORMANCE A NALYSIS comparing the algorithms in scenarios when multiple link-cost


  U
The storage complexity is of , as each of the
changes occur.

´
In each experiment, all links are initially set at unit cost and
neighbor tables and the main distance table has a size


then each link cost is changed by amounts determined by the

S.kYlYmngYoMo ) No(q>gMm?(NlMk  c ´ 
  }
of entries. The computation complexity is the time
taken to process a distance vector and it is easy to see that We thank Nokia Wireless Routers for allowing us using the C++ Protocol
takes . The time complexity is Toolkit
Comparison of Convergence Times Comparison of Control Message Overhead
2.4 40
’DBF’ ’DBF’
’MDVA’ ’MDVA’
’MPDA’ ’MPDA’
2.2 ’TOPB’ ’TOPB’
35

2
30
Milliseconds

1.8

Kilobytes
25

1.6

20
1.4

15
1.2

1 10

·>¸¹ ºe¸I» ·>¸¼½r¾¿¹ º0¸¼½r¾ À


0 0.5 1 1.5 2 2.5 3 3.5 4 0 0.5 1 1.5 2 2.5 3 3.5 4
Link-cost Increase Factor K Link-cost Increase Factor: K

Fig. 3. Average convergence times. , . Fig. 6. Average message overhead. , .

Comparison of Control Message Overhead Probability Distribution Function


70 1
’DBF’ ’DBF’
’MDVA’ ’MDVA’
65 ’MPDA’ 0.9 ’MPDA’
’TOPB’ ’TOPB’
0.8
60

0.7
55

0.6

Probability
50
Kilobytes

0.5
45
0.4

40
0.3

35
0.2

30 0.1

25 0

·2¸‡¹ º0¸I» ·>¸‡¹ º0¸7» Æ ¸¹


0 0.5 1 1.5 2 2.5 3 3.5 4 1000 1200 1400 1600 1800 2000 2200 2400
Link-cost Increase Factor: K Convergence Time (ms)

Fig. 4. Average message overhead. , . Fig. 7. PDF of convergence times. , , .

Comparison of Convergence Times Probability Distribution Function


1.6 1
’DBF’ ’DBF’
’MDVA’ ’MDVA’
’MPDA’ 0.9 ’MPDA’
1.5 ’TOPB’ ’TOPB’
0.8

1.4 0.7

0.6
Milliseconds

1.3
Probability

0.5

1.2
0.4

1.1 0.3

0.2
1
0.1

0.9 0

·>¸¼½r¾¿¹ ºe¸‡¼½r¾ À ·>¸‡¹ º2¸7» Æ ¸¹


0 0.5 1 1.5 2 2.5 3 3.5 4 20 25 30 35 40 45 50 55 60 65
Link-cost Increase Factor: K Message overload (Kb)

Fig. 5. Average convergence times. , . Fig. 8. PDF of message overhead. , , .

Á , KTÂ k k Á Â
,
formula , where is a uniform random value in [0, be observed in Fig. 3 the average convergence times are best
1]. The parameters of the experiment and are real values for MDVA. As can be seen in Fig. 4, the average message loads

Á ,
while is a positive integer. After setting the new link costs, are also low and only MPDA has lower message overhead. Fig-
the convergence times and message overheads are measured for ures 5 and 6 show the averages when link costs decrease. Ob-

Â
each routing algorithm. For each experiment with specific , serve that DBF and MDVA perform identically as can be seen

k
and , several trials are made using different random values for in the figures.
,„ R  Á 
R   ±Ã
. The averages and probability distributions obtained for each Fig. 7 and Fig. 8 show the complete distribution for conver-

,
metric and for each set of trials are compared. gence times and message overhead for the case
Fig. 3 and Fig. 4 show the average convergence time and av- . Observe that the distributions are quite uniform com-

Á , K Â k Á  R  Â EÃ @,  ¬  R }ÄzÅ


erage message load, measured over several trials, when the links pared to DBF. When is increase to 5 from 1, the convergence
costs are increased from initial unit cost to a cost using the for- times and message overheads of MDVA, as shown in Fig. 9 and
mula with and . As can Fig. 10, have not changed much, but the performance of DBF
Probability Distribution Function Probability Distribution Function
1 1
’DBF’ ’DBF’
’MDVA’ ’MDVA’
0.9 ’MPDA’ 0.9 ’MPDA’
’TOPB’ ’TOPB’
0.8 0.8

0.7 0.7

0.6 0.6
Probability

Probability
0.5 0.5

0.4 0.4

0.3 0.3

0.2 0.2

0.1 0.1

0 0

·>¸I» º0¸7» Æ ¸‡¹ ·>¸I½ º0¸¼½r¾ À


800 1000 1200 1400 1600 1800 2000 2200 2400 2600 10 15 20 25 30 35 40
Convergence Time (ms) Message Overload (Kb)

Fig. 9. PDF of convergence times. , , . Fig. 12. PDF of message overhead. , .

Probability Distribution Function


1

0.9
’DBF’
’MDVA’
’MPDA’
VI. S UMMARY
’TOPB’
0.8 This paper presented a new distributed distance-vector rout-
0.7
ing algorithm, MDVA, which is free from the count-to-infinity
0.6
problem, provides multiple next-hop choices for each destina-
tion, and the routing graphs implied by them are always loop-
Probability

0.5
free. The novelty of the algorithm lies in its design around a set
0.4
of loop-free invariant conditions which ensures instantaneous
0.3
loop-freedom and correct termination of the protocol. Formal
0.2
proofs are presented to show MDVA’s convergence, correctness
0.1 and loop-freedom. Through simulation we have compared it to
0 some currently used routing protocols.

·>¸7» ºe¸I» ÆL¸¹


20 25 30 35 40 45 50 55 60 65 70 75
Control Message Overhead (Kb)
R EFERENCES
Fig. 10. PDF of message overhead. , , . [1] R. Albrightson, J.J. Garcia-Luna-Aceves, and J. Boyle. EIGRP-A Fast
Routing Protocol Based on Distance Vectors. Proc. Networld/Interop 94,
1
Probability Distribution Function
May 1994.
’DBF’
’MDVA’
[2] D. Bersekas and R. Gallager. Data networks. 2nd ed. Prentice-Hall, pages
0.9 ’MPDA’
’TOPB’
404–410, 1992.
0.8 [3] I. Matta et. al. Transient and Steady-State Performance of Routing Pro-
tocols: Distance Vectors vs. Link State. Journal of Internetworking: Re-
0.7
search and Experience, 6:59–87, 1995.
0.6
[4] E.W.Dijkstra and C.S.Scholten. Termination Detection for Diffusing Com-
putations. Information Processing Letters, 11:1–4, August 1980.
Probabiity

0.5
[5] J.J. Garcia-Luna-Aceves. Loop-Free Routing Using Diffusing Computa-
0.4
tions. IEEE/ACM Trans. Networking, 1:130–141, February 1993.
[6] J.J. Garcia-Luna-Aceves and J. Behrens. Distributed, scalable routing
0.3 based on vectors of link states. IEEE Journal on Selected Areas in Com-
0.2
munications, October 1995.
[7] P. A. Humblet. Another Adaptive Distributed Shortest Path Algorithm.
0.1 IEEE Trans. Commun., 39:995–1003, June 91.
0
[8] J. M. Jaffe and F. H. Moss. A Responsive Distributed Routing Algo-

·>¸7½ ºe¸‡¼½r¾ À
700 800 900 1000 1100
Convergence Time (ms)
1200 1300 1400 rithm for Computer Networks. IEEE Trans. Commun., 30:1758–1762,
July 1982.
Fig. 11. PDF of convergence times. , . [9] P. M. Merlin and A. Segall. A Failsafe Distributed Routing Protocol. IEEE
Trans. Commun., 27:1280–1287, September 1979.
[10] R. Perlman. Fault-tolerant broadcast of routing information. Computer
Networks and ISDN, 7, 1983.
has degraded considerably. This is because of the counting-to- [11] B. Rajagopalan and M. Faiman. A Responsive Distributed Shortest-Path
Routing Algorithm with Autonomous Systems. Internetworking: Re-

Á  ¬
infinity problem, which is does not occur in MDVA.
search and Experience, 2:51–69, March 1991.

 V Ç ¬ c Å
Fig. 11 and Fig. 12 show the convergence time and mes- [12] S. Roy and J.J. Garcia-Luna-Aceves. Using Minimal Source Trees for
sage overhead distribution when link costs decrease ( , On-Demand Routing in Ad Hoc Networks. INFOCOM 2001, 2001.
). (Note that we make sure that link costs do not be- [13] J. Spinelli and R. Gallager. Event Driven Topology Broadcast without
Sequence Numbers. IEEE Trans. Commun., 37:468–474, 1989.
come negative.) Observe that the performance of MDVA and [14] A. Tanenbaum. Computer networks. 3rd ed. Prentice-Hall, pages 357–
DBF are much the same which is because MDVA essentially 358, 1996.
[15] S. Vutukury and J.J. Garcia-Luna-Aceves. A Simple Approximation to
functions like DBF when distances to destinations decrease. Minimum Delay Routing. Proc. of ACM SIGCOMM, Sept. 1999.
From these simulations it appears that MDVA is a good choice [16] W. T. Zaumen and J.J. Garcia-Luna-Aceves. Loop-Free Multipath Rout-
if low convergence times are desired at the expense of high mes- ing Using Generalized Diffusing Computations. Proc. IEEE INFOCOM,
March 1998.
sage overload while MPDA is preferable if low message over-
head is desirable over convergence times.

Anda mungkin juga menyukai