MDVA: A Distance-Vector Multipath Routing Protocol SrinivasVutukury,J.J.Garcia-Luna-Aceves Abstract—RoutingprotocolsusingtheDistributedBellman-Ford(DBF) do not provide instantaneous loop-freedom which is desirable algorithm converge very slowly to the correct routes when link costs in- especiallywhenon-linelink-costmeasurementisused. crease,andinthecasewhenasetoflinkfailuresresultsinanetworkparti- Several routing algorithms based on distance vectors have tion,DBFsimplyfailstoconverge,aproblemwhichiscommonlyreferredto asthecount-to-infinityproblem.Inthispaper,wepresentthefirstdistance beenproposedintheliterature([7],[8],[9],[11],[16]toname vectorroutingalgorithmMDVAthatusesasetofloop-freeinvariantsto a few). However, with the exception of DASM[16], all of preventthecount-to-infinityproblem. MDVA,inaddition,computesmul- them are single-path algorithms. A few routing algorithms tipathsthatareloop-freeateveryinstant. Inourearlierworkweshows have been proposed that use partial topology information (re- how such loop-free multipathscan beused in traffic load-balancingand minimizingdelays,whichotherwiseareimpossibletoperformincurrent fer [6], [12] and the references therein) to eliminate the main single-pathroutingalgorithms[15]. limitationoftopology-broadcastalgorithms;however,theseal- gorithmsarenotloop-freeateveryinstant. Recently,we intro- I. INTRODUCTION duced MPDA [15], which is the first routing algorithm based onlink-stateinformationthatconstructmultipathstoeachdes- Routing protocols construct tables at each node that specify tination that are loop-free at every instant. In this paper, we foreachdestinationthenext-hoptousefordatapacketforward- present a new routing algorithm MDVA (Multipath Distance- ing. Itis requiredthat the routingtables computed bythembe Vector Algorithm), which is the first distance vectoralgorithm free of loops when the network is stable. In dynamic environ- that uses the loop-freeinvariantsintroduced in [15], solvesthe ments,amorestringentrequirementisthattheroutingtablesbe count-to-infinity problem and computes multipaths to destina- loop-free not only when network is stable but at every instant tions.Weprovideformalproofsforthesafetyandlivenessprop- because, loops even if temporary can rapidly degrade perfor- erties ofMDVA,andcompareitsperformancetoother routing mance. Inourrecentwork[15],wedescribedaload-balancing algorithmsthroughsimulations. routingframeworktoobtain“near-optimal”delays,akeycom- The paper is organized as follows. In Section II we discuss ponent of which is a fast responsive routing protocol that de- the main convergenceproblemfacing a typical distance-vector terminesmultiplesuccessorchoicesforpacketforwardingsuch algorithmandoutlineasolutionthataddressesthoseproblems. thattheroutinggraphsimpliedbytheroutingtablesarefreeof Section III describes MDVA and Section IV provides the cor- loopsevenduringnetworktransitions.Byload-balancingtraffic rectness proof for the algorithm. A performance comparison overthesemultiplenext-hopchoices,congestionanddelayscan through simulationsis providedin SectionV. SectionVI con- be significantly reduced. Our goal in this paper is therefore to cludesthepaper. developa distance-vectorrouting algorithm that is suitable for implementingnear-optimalroutingasdescribedin[15]. II. OVERVIEW OF THEAPPROACH Though routing is a very old problem in computer net- works, most of the solutions to date are unsuitable for load- A. ProblemFormulation balancingand implementing the near-optimalframeworkmen- (cid:0)(cid:2)(cid:1)(cid:4)(cid:3)(cid:6)(cid:5)(cid:8)(cid:7)(cid:10)(cid:9)(cid:12)(cid:11) A computer network is modelled as a graph , tioned above. The widely deployed routing protocol RIP pro- (cid:5) (cid:9) where is set of nodes (routers) and is the set of edges vides only one next-hop choice for each destination and does (cid:5)(cid:14)(cid:13) (links). Let bethesetofneighborsofnode(cid:15) . Theproblem notpreventtemporaryloopsfromforming. Cisco’sEIGRP[1] ensuresinstantaneousloop-freedombutcanprovideonlyasin- consistsoffindingthesuc(cid:13) cess(cid:5)(cid:21)or(cid:13) setateachrouter(cid:15) foreachdes- gle loop-free path to each destination at any given router. The tination(cid:16) , denotedby (cid:17) (cid:18)(cid:20)(cid:19) , so thatwhenrouter(cid:15) receives link-state protocol OSPF offers a router multiple choices for apacketfordestination(cid:16) ,itcanfo(cid:13)rwardittooneoftheneigh- bor routers in the successor set (cid:17) (cid:18) . By repeating this process packet-forwardingonlywhenthosechoicesoffertheminimum at everyrouter,the packetis expected to reach the destination. distance.Whenthereisfinegranularityinlinkcostsmetric,asin (cid:0) (cid:0) thecaseofoptimalrouting,thereislesslikelihoodthatmultiple If the routing graph (cid:17) (cid:18) ,(cid:3)(cid:24)(cid:23)(cid:25)a d(cid:7)(cid:27)i(cid:26)(cid:28)re(cid:11)(cid:30)c(cid:29)(cid:26) ted(cid:31) subgr(cid:7)#a(cid:23)$ph o(cid:31)%f(cid:5)’,& is defined pathswithequaldistanceexistbetweeneachsource-destination by the directed link set (cid:22) (cid:0) (cid:17)"(cid:18)! , a packet destinedfor(cid:16) followsapathin (cid:17) (cid:18) . Twopropertiesdetermine pair,whichmeansthefullconnectivityofthenetworkisstillnot theefficiencyoftheroutinggraphconstructedbytheprotocol: usedforload-balancing.Also,OSPFandotheralgorithmsbased (cid:0) ontopology-broadcast(e.g.,[13],[10])incurtoomuchcommu- loop-freedomandconnectivity.Itisrequiredthat(cid:17) (cid:18) befreeof loops,atleastwhenthenetworkisstable,becauseroutingloops nicationoverheadwhenlinkcostschangefrequently.Alsothey degradenetworkperformance. Inadynamicenvironment,itis (cid:0) (cid:13) ThisworkwassupportedinpartbytheDefenseAdvancedResearchProjects desirablethat (cid:17) (cid:18) be loop-free at everyinstant, i.e., if (cid:17) (cid:18) and (cid:0) (cid:0) (cid:3) (cid:11) Agency(DARPA)undergrantsF30602-97-1-0291andN66001-00-1-8942. (cid:17) (cid:18) areparameterizedbytime( ,then(cid:17) (cid:18) ( shouldbefreeof SrinivasVutukuryiswiththeComputerSciencesDepartmentandJ.J.Garcia- Luna-Aceves is with the Computer Engineering Department at University of loopsatan(cid:13) ytime( .(cid:0) Observethatifthereisatmostoneelement California,SantaCruz,USA. in each (cid:17) (cid:18) , then (cid:17) (cid:18) is a tree andthere is only one path from Report Documentation Page Form Approved OMB No. 0704-0188 Public reporting burden for the collection of information is estimated to average 1 hour per response, including the time for reviewing instructions, searching existing data sources, gathering and maintaining the data needed, and completing and reviewing the collection of information. Send comments regarding this burden estimate or any other aspect of this collection of information, including suggestions for reducing this burden, to Washington Headquarters Services, Directorate for Information Operations and Reports, 1215 Jefferson Davis Highway, Suite 1204, Arlington VA 22202-4302. Respondents should be aware that notwithstanding any other provision of law, no person shall be subject to a penalty for failing to comply with a collection of information if it does not display a currently valid OMB control number. 1. REPORT DATE 3. DATES COVERED 2001 2. REPORT TYPE 00-00-2001 to 00-00-2001 4. TITLE AND SUBTITLE 5a. CONTRACT NUMBER MDVA: A Distance-Vector Multipath Routing Protocol 5b. GRANT NUMBER 5c. PROGRAM ELEMENT NUMBER 6. AUTHOR(S) 5d. PROJECT NUMBER 5e. TASK NUMBER 5f. WORK UNIT NUMBER 7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES) 8. PERFORMING ORGANIZATION University of California at Santa Cruz,Department of Computer REPORT NUMBER Engineering,Santa Cruz,CA,95064 9. SPONSORING/MONITORING AGENCY NAME(S) AND ADDRESS(ES) 10. SPONSOR/MONITOR’S ACRONYM(S) 11. SPONSOR/MONITOR’S REPORT NUMBER(S) 12. DISTRIBUTION/AVAILABILITY STATEMENT Approved for public release; distribution unlimited 13. SUPPLEMENTARY NOTES 14. ABSTRACT 15. SUBJECT TERMS 16. SECURITY CLASSIFICATION OF: 17. LIMITATION OF 18. NUMBER 19a. NAME OF ABSTRACT OF PAGES RESPONSIBLE PERSON a. REPORT b. ABSTRACT c. THIS PAGE 8 unclassified unclassified unclassified Standard Form 298 (Rev. 8-98) Prescribed by ANSI Std Z39-18 TABLEI converges,andconvergesfastwhendistancetodestinationsde- NOTATION crease[8]. However,convergenceisslowiflink-costsincrease, (cid:5) andintheextremecasewhenlinkfailuresresultinnetworkpar- Setofnodesinthenetwork (cid:5)(cid:14)(cid:13) titions,DBFneverconverges.Thisisthewell-knowncounting- Setofneighborsofnode(cid:15) (cid:13) to-infinity problem [14]. Intuitively, the count-to-infinity prob- (cid:17) (cid:18) Next-hopchoicesat(cid:15) fordestination(cid:16) (cid:0) (cid:13) lemresultsdueto“circular”computationofdistances;thatis,a (cid:17) (cid:18) Routinggraphimpliedbythe(cid:17) (cid:18) ofdestination(cid:16) ) (cid:13) nodecomputesitsdistancetodestinationusingadistancecom- (cid:18) Distanceofnode(cid:15) to(cid:16) asknownto(cid:15) * (cid:13) (cid:3) (cid:7)-,.(cid:11) municated by a neighbor, that happens to be the length of the + Costoflink (cid:15) ) (cid:13) , , path that passes through the node itself. The node using such (cid:18) + Distanceofnode to(cid:16) asreportedby to(cid:15) /0) (cid:13) ) (cid:13) adistanceisunawareofthisbecausenodesonlyexchangedis- (cid:18) Feasibledistanceisanestimateof (cid:18) tanceinformationwithnopathinformation. 12) (cid:13) (cid:18) Distanceto(cid:16) reportedbynode(cid:15) toitsneighbors Circular computation of distances that occur in DBF can be ) (cid:13) (cid:13) (cid:17) (cid:18) Bestdistanceto(cid:16) through(cid:17) (cid:18) prevented if distance information is propagated along a DAG 3 (cid:5)(cid:14)(cid:13) (cid:18) Setofneighborsthatarewaitingforreplies rooted at a destination. The key idea is that given a DAG, 4 (cid:3) (cid:11) ( Abird’sviewofthenetworkattime( each node computes its distance using distances reported by 576 (cid:3) (cid:11) 4 (cid:3) (cid:11) 8 ( Distanceofnode(cid:15) to(cid:16) in ( the“downstream”nodesandreportsitsdistanceto“upstream” 9 6 (cid:3) (cid:11) (cid:3) (cid:7)-,.(cid:11) 4 (cid:3) (cid:11) : ( Costoflink (cid:15) in ( nodes. Thismethodcalleddiffusingcomputationswasfirstsug- gestedbyDijkstraetal[4]to ensureterminationofdistributed computation;adiffusioncomputationalwaysterminatesdueto (cid:13) anynodeto(cid:16) . Ontheotherhand,ifeach (cid:17) (cid:18) hasmorethanone theacyclicorderingofthenodes. DUAL[5], thealgorithmon (cid:0) element, then (cid:17) (cid:18) is a directed acyclic graph (DAG), and has whichEIGRP[1]isbased,usesdiffusingcomputationstosolve greater connectivity than a simple tree and therefore enabling thecount-to-infinity problem. Severalotherdistancevectoral- trafficloadbalancing. gorithmshavebeenproposedthatusediffusingcomputationto overcomethecounting-to-infinityproblemofDBF[8],[9],[16]. ThealgorithmsuggestedbyJaffeandMoss[8]allowsnodesto B. SolutionStrategy participateinmultiplediffusingcomputationofthesamedesti- Giventhattherearepotentiallymanydirectedacyclicgraphs nation and requires use of unbounded counters, for which rea- foragivendestinationinagraph,aquestionarisesastowhich son it may not be practical. In contrast, a node in DUAL and DAGmustbeusedasaroutinggraph?Theroutinggraphshould DASM [16] participates in only one diffusing computation for beuniquelydefinedanditshouldbeeasilycomputablebyadis- anydestinationatanyonetimeandthusrequiresonlyatoggle tributed algorithm. The natural choice for routing graph is the bit. MDVApresentedherefollowsthelaterapproach. onedefinedbytheshortestpaths. Accordingly,MDVAdefines Twoquestionsariseregardingadiffusingcomputation: (cid:13) (cid:3) (cid:11);(cid:1) ,<(cid:29)) + (cid:3) (cid:11)>= ) (cid:13) (cid:3) (cid:11)?(cid:7)-,(cid:25)(cid:31)@(cid:5)(cid:14)(cid:13)A& ) (cid:13) (cid:17) (cid:18) ( (cid:22) (cid:18) ( (cid:18) ( ,where (cid:18) isthecostof 1. BecausetherearepotentiallymanyDAGsforagivendes- the shortest path from (cid:15) to(cid:16) measured as the sum of the costs tination,whichoneshouldbeusedfordiffusingcomputa- (cid:0) ofthelinksonthepath. Theroutinggraph(cid:17) (cid:18) impliedbythis tion? set is unique and is called the shortest multipath. To compute 2. Howshouldadiffusingcomputationbeperformedinady- ) (cid:13) (cid:18) , distributedroutingalgorithmsmayexchangeanyinforma- namicenvironmentinwhichthechosenDAGchangeswith tion(distance-vectorsorlink-states),aslongastheyensurethat time? ) (cid:13) (cid:18) ’sconvergetothecorrectdistances. Convergenceisformally Theanswertothefirstquestionisstraightforward: theshort- 4 (cid:3) (cid:11) (cid:0) (cid:0) defined as follows. At time ( , let ( denote the topology of estmultipath(cid:17) (cid:18) istherightchoicegiventhatcomputing(cid:17) (cid:18) 5(cid:8)6 (cid:3) (cid:11) thenetworkasseenbyan“omniscientobserver”,andlet 8 ( isourfinalgoal. Thesecondquestionisnotasstraightforward. 4 (cid:3) (cid:11) (cid:0) denote the distance of (cid:15) to (cid:16) in ( . (Note that we use bold A(cid:17) (cid:18) usedforcarryingoutadiffusingcomputationcanbeal- 4 (cid:0) font to refer to quantities in .) Assume the network has sta- lowed to change if the following conditions hold: (1) (cid:17) (cid:18) is ble configuration up to time ( . We say that the network has acyclicateveryinstant,and(2)atanyinstant,ifanodereports ) (cid:13) (cid:3) (cid:11)(cid:8)(cid:1) 576 (cid:3) (cid:11) , (cid:13) , converged to the correct values at ( if (cid:18) ( 8 ( for all adistancethroughaneighbor in (cid:17) (cid:18) ,itmustensurethat re- (cid:13) (cid:15) and(cid:16) . Now,ifasequenceoflinkcostchangesoccurbetween mains in (cid:17) (cid:18) until the end of the diffusing computation. That ( and ((cid:27)B and none after ((cid:10)B , then the routing algorithm is said these conditions prevent circular computation of distances can =GF to converge if at some time ((cid:10)C , it satisfies ((cid:27)B(cid:21)DE((cid:27)C and beinferedfromthefollowingargument. Assumethatacircular ) (cid:13) (cid:3) (cid:11)H(cid:1) 5 6 (cid:3) (cid:11)H(cid:1) 5 6 (cid:3) (cid:11) ge(cid:18)nc(eC phase,t8he( Calgorithm8 (mB u.stIennsaudrdeittihoant,(cid:17) d(cid:0)5Iur(cid:18)i6’nsgarteh)elo(cid:13)coop57n-vf6reere- aconmopdueta(cid:15)(cid:6)Qti,onR(cid:25)oD ccSTursD at(cid:23) ti,mceom( ipnuvtoelvitisngdinsotadnecse(cid:15)NaO t, (cid:15)(cid:27)(APQU, .DV. (cid:15)(! u.sLinegt ateveryinstant. Notethedistinctionbetween 8 and (cid:18) . 8 is thedistance reportedby (cid:15)WQYX P , and (cid:15) O computesitsdistance us- ) (cid:13) the correct distance, whereas (cid:18) is a local variable (cid:15) and is an ing the distance reported by (cid:15) at (AO . Because (cid:15) QYX P is held in 576 ) (cid:13) 5I6 576 ! (cid:23) ”estimate”of 8 . (cid:18) musteventuallyequal 8 ,if 8 doesnot thesuccessorsetof(cid:15) Q for RZD@S(cid:25)D and(cid:15)[O holds(cid:15) untilthe ! changefurther. diffusingcomputationends,wehave InDistributedBellman-Ford(DBF)algorithm,eachnode(cid:15) re- ) (cid:13) (cid:1)J(cid:23) (cid:26) ) (cid:13) * (cid:13) (cid:29)M,7(cid:31)(cid:8)(cid:5)(cid:21)(cid:13)N& peatedlyexecutestheequation (cid:18) (cid:15) (cid:22) (cid:18) +LK + (cid:31) (cid:13)]\ (cid:3) (cid:11)^(cid:1)<_ (cid:31) (cid:13)]\ (cid:3) (cid:11) ) (cid:13) (cid:15) O (cid:17) (cid:18) ( P (cid:15) O (cid:17) (cid:18) ( for each destination(cid:16) , and every time (cid:18) changes it reports it (cid:31) (cid:13)a‘ (cid:3) (cid:11)^(cid:1)<_ (cid:31) (cid:13)a‘ (cid:3) (cid:11) toallitsneighbors. AknownpropertyofDBFisthatitalways (cid:15)NP (cid:17) (cid:18) (Nb (cid:15)NP (cid:17) (cid:18) ( c c c time, a nodeinitializesalldistancesin itstables toinfinityand all sets to null. If a link is down its cost is considered infinity. c c c (cid:31) (cid:3) (cid:11)^(cid:1)<_ (cid:31) (cid:3) (cid:11) Thedistancetounreachablenodesareconsideredtobeinfinity. (cid:15) X P (cid:17) (cid:18)! ( (cid:15) X P (cid:17) (cid:18)! ( ! (cid:31) O (cid:3) ! (cid:11)^(cid:1)<_ ! (cid:31) O (cid:3) (cid:11) Nodes executing MDVA exchange information using mes- (cid:15) ! (cid:17) (cid:18) ( O (cid:15) ! (cid:17) (cid:18) ( sageswhichcanhaveoneormoreentries. Anentryordistance Becausethe (cid:17) (cid:0) (cid:18) (cid:3) ( (cid:11) impliedby (cid:17) (cid:18)(cid:13) (cid:3) ( (cid:11) , isacyclicateveryin- vectorisoftheform[(AfMShg ,(cid:16) , i ],where i isthedistanceofthe nodesendingthemessagetodestination(cid:16) andthetypeisoneof stant ( , the aboverelations indicatea contradiction. Therefore, QUERY, UPDATE and REPLY. We assume that messages trans- circularcomputationisimpossibleiftheabovementionedcon- mitted overan operationallinkare receivedwithouterrors and ditions are enforced. Notice that we intend to propagate the (cid:0) inthepropersequenceandareprocessedintheorderreceived. distancesalongtheshortest-multipath(cid:17) (cid:18) whichitselfiscom- ) putedusingthedistances.This“bootstrap”approach–comput- Nodes invoke the procedure j2kYlYmngYoMo (cid:15)Nop((cid:27)qZgMm?( shown in ing ) (cid:18)(cid:13) usingdiffusingcomputationalong (cid:17) (cid:0) (cid:18) andsimultane- Figure 1 to process distance vectors. An event is the arrival ouslyconstructingandmaintaining(cid:17) (cid:0) (cid:18) –iscentraltoMDVA. of a message, the change in cost of an adjacent link, or a Howcanweensurethat(cid:17) (cid:0) (cid:18) isalwaysloop-free? Todothis change in status (up/down) of an adjacent link. When an ad- /0) (cid:13) jacent link becomes available, the node sends an update mes- weuseanewvariable (cid:18) ,calledthefeasibledistance,which 12) (cid:13) is an ‘estimate’ of the distance ) (cid:18)(cid:13) in that /0) (cid:18)(cid:13) is equal to ) (cid:18)(cid:13) sage [UPDATE, (cid:16) , (cid:18) ](cid:3) fo(cid:7)(cid:10)(cid:23)Ir e(cid:11) ach destination (cid:16) over the link. When an adjacent link (cid:15) fails, the neighbor table asso- whenthenetworkisinstablestate,buttopreventloopsduring (cid:23) ciated with neighbor is cleared and the cost of the link is periods ofnetworktransitions, itis allowedto differtemporar- ) (cid:13) ) (cid:13) , set to infinity, after which, for each destination the procedure ily from (cid:18) . Let (cid:18) + be the distance of to(cid:16) as notifiedto (cid:15) ) (cid:3)(cid:6)s<tvuxwzy|{<(cid:7)(cid:27)(cid:23)(cid:25)(cid:7)}F~(cid:7) (cid:11) , /0) (cid:13) ) (cid:13) j2kYlYmngYoMo (cid:15)Ao(cid:30)((cid:27)qZgrmn( (cid:16) is invoked. Similarly, by . To ensure loop-freedom at every instant (cid:18) , (cid:18) + and (cid:23) * (cid:13) (cid:13) when an adjacent link cost to changes, is set to the new (cid:17) (cid:18) mustsatisfytheLoop-FreeInvariant(LFI)conditionsintro- cost and j2kYlYmngYoMo ) (cid:15)No(cid:30)((cid:27)q0gMm?( (UPDATE, (cid:23) , )! (cid:18)(cid:13) , (cid:16) ) is invoked ducedin [15].TheLFIconditionscaptureallpreviousloop-free ! foreachdestination(cid:16) . Whenamessageisreceivedfromneigh- conditions ([5], [16]) in a unified form that simplifies protocol , ) (cid:3) (cid:7)-,x(cid:7) (cid:7) (cid:11) bor , j2kYlYmngYoMo (cid:15)No(cid:30)((cid:27)q>gMm?( (AfMShg i (cid:16) isinvokedforeachen- design. Theconditionsare (cid:7) (cid:7) try (cid:127)(AfMShg (cid:16) i(cid:129)(cid:128) ofthemessage. Loop-freeInvariantConditions(LFI)[15]: Computingdistancestoeachdestinationcanbeperformedin- dependently. Hence, intherestofthedescription,theworking /0) (cid:13) (cid:3) (cid:11) ) + (cid:3) (cid:11) ,d(cid:31)7(cid:5) (cid:13) ofthealgorithmisdescribedwithrespecttoaparticulardestina- (cid:18) ( D (cid:18) (cid:13) ( (1) tion(cid:16) . AnodecanbeinACTIVE orPASSIVEstatewithrespect (cid:17) (cid:18)(cid:13) (cid:3) ( (cid:11)^(cid:1) (cid:22) ,H(cid:29) ) (cid:18)(cid:13) + (cid:3) ( (cid:11)L= /0) (cid:18)(cid:13) (cid:3) ( (cid:11)?& (2) toadestination(cid:16) andisrepresentedbyvariableo(cid:30)(N(cid:130)(cid:131)(Ng (cid:18)(cid:13) . Anode isinACTIVEstatewhenitisengagedinadiffusingcomputation Theinvariantconditions (1)and(2)statethat,foreachdesti- andwaitingforrepliesfromneighbors.Initially,weassumethat nation(cid:16) ,anode(cid:15) canchooseasuccessorwhosedistanceto(cid:16) ,as all nodes are in PASSIVEstate. As long as link cost decrease, knownto(cid:15) ,islessthanthedistanceofnode(cid:15) to(cid:16) thatisknown MDVAworksidentically to DBF andthe nodeswill remain in toitsneighbors. Theorem1isreproducedhereforconvenience. PASSIVEstate. This is because the condition on line 9 always ) Theorem1: [15] If the LFI conditions are satisfied at any fails and lines 17-24 are always executed. j2kYlYmngYoMo (cid:15)Ao(cid:30)((cid:27)q0gMm?( (cid:0) (cid:3) (cid:11) (cid:13) (cid:3) (cid:11) time ( , then the (cid:17) (cid:18) ( implied by the successor sets (cid:17) (cid:18) ( is worksinsucha waythatwhenin PASSIVE state,thecondition ) (cid:13) (cid:1) /0) (cid:13) (cid:1) 12) (cid:13) (cid:1)(cid:132)(cid:23) (cid:26) ) (cid:13) * (cid:13) (cid:29),(cid:14)(cid:31)(cid:134)(cid:5)(cid:21)(cid:13)N& loop-free. (cid:18) (cid:18) (cid:18) (cid:15) (cid:22) (cid:18) +(cid:133)K + alwaysholds, For proof of this theorem the reader is refered to [15]. The whichcanbeinferedfromlines8and23. However,ifthedis- above theorem suggests that any distributed routing protocol tancetoadestinationincreases,eitherbecauseanadjacentlink (link-stateordistance-vector)attemptingtofindloop-freeshort- costchangedoramessageisreceivedfromaneighbor,thecon- ) (cid:13) /0) (cid:13) (cid:13) est multipaths must compute (cid:18) , (cid:18) and (cid:17) (cid:18) such that the dition on line 9 succeeds and the node engages in a diffusing ) (cid:13) (cid:1) LFIconditionsaresatisfied,andsuchthatatconvergence (cid:18) computation. A diffusing computation is initiated by sending /0) (cid:18)(cid:13) (cid:1) 5d86 =minimumdistancefrom(cid:15) to(cid:16) . querymessagestoalltheneighborswiththebestdistance(cid:17) ) (cid:18)(cid:13) (cid:13) through(cid:17) (cid:18) ,andwaitingfortheneighborstoreply(lines14-15). III. MULTIPATHDISTANCE-VECTORALGORITHM If the increase in distance is due to a query from a successor, In essence, MDVA uses DBF to compute ) (cid:18)(cid:13) and therefore theneighborisaddedto3 (cid:5)(cid:135)(cid:18)(cid:13) toindicatethatitiswaitingfora (cid:17) (cid:0) (cid:18) ,whilealwayspropagatingdistancesalongthe(cid:17) (cid:0) (cid:18) topre- replysothatareplycanbegivenwhenthenodetransitstoPAS- vent count-to-infinity problem and ensure termination. Each SIVEstate(lines11-12). Whenallrepliesarereceived,thenode node maintains a main table that stores ) (cid:18)(cid:13) , the successor set can be sure that the neighbors have incorporated the distances (cid:17) (cid:18)(cid:13) , thefeasibledistance /0) (cid:18)(cid:13) , the reporteddistance 1e) (cid:18)(cid:13) , and that the node /0re)po(cid:13)rted, and is safe to transit to PASSIVE state. ) (cid:13) Atthispoint, (cid:18) canbeincreasedandnewneighborscanbe (cid:17) (cid:18) ,whichistheshortestdistancepossiblethroughthesucces- (cid:13) (cid:13) 3 (cid:5)(cid:14)(cid:13) (cid:13) addedto(cid:17) (cid:18) withoutviolatingtheLFIconditions. sorset (cid:17) (cid:18) . Thetablealsostores (cid:18) (cid:19) (cid:17) (cid:18) ,thesetofwaiting neighborsinadiffusingcomputation. Eachnodealsomaintains When in ACTIVE state, if a query message is received from aneighbortableforeachneighbor , thatcontains ) (cid:18)(cid:13) + thedis- a neighbor not in (cid:17) (cid:18)(cid:13) , a reply is given immediately. On the , , (cid:23) (cid:13) tanceofneighbor to(cid:16) ascommunicatedby . Thelinktable other hand, if the query is from a neighbor in (cid:17) (cid:18) , a test * (cid:13) , ) (cid:13) storesthecost + ofadjacentlinktoeachneighbor . Atstartup is made to verify if (cid:17) (cid:18) increased beyond the previously re- ) (cid:3) (cid:7)(cid:10)(cid:23)(cid:135)(cid:7) (cid:7) (cid:11) 00.procedurej2kMlYmpgMoMo (cid:15)No(cid:30)((cid:27)q0gMm?( gr( i (cid:16) (cid:23) & 01. (cid:22)(cid:12)gr( isthetype, istheneighbor,i isthedistance,(cid:16) isthedestination 02.begin (cid:1) (cid:5) (cid:1)%(cid:140)Z(cid:141)2(cid:142) 1e(cid:143) (cid:11) (cid:23) 03. if((cid:16) ((cid:27)(cid:136).(cid:15)Ao lYi(cid:137)g(cid:139)(cid:138)7gr( thensend[REPLY,j,0]to ;endif ) (cid:13) (cid:1) 04. (cid:18) i ; ) (cid:13) ! (cid:23) (cid:26) ) (cid:13) * (cid:13) (cid:29),d(cid:31)7(cid:5)(cid:14)(cid:13)A& 05. (cid:18);(cid:144) (cid:15) (cid:22) (cid:18) +LK + ; ) (cid:13) (cid:23) (cid:26) ) (cid:13) * (cid:13) (cid:29),d(cid:31) (cid:13) & 06. (cid:17) (cid:18) (cid:144) (cid:15) (cid:22) (cid:18) + K + (cid:17) (cid:18) ; (cid:3) (cid:13) (cid:1) (cid:142)(cid:148)(cid:147) (cid:13) (cid:1) (cid:142) * * (cid:11) 07. if o(cid:30)(N(cid:130)(cid:137)(Ng (cid:18) j0(cid:145);(cid:17)"(cid:17)"(cid:146)(cid:137)q o(cid:30)(N(cid:130)(cid:137)(Ng (cid:18) (cid:145);(cid:149)e(cid:150)(cid:133)(cid:146)(cid:151)q (cid:138) (cid:130)zo(cid:30)(|kYg(cid:10)S f2(cid:15)No(cid:139)kMgMmngr(cid:15)[(cid:152)(cid:151)gri0(cid:153)xlMk(cid:154)(cid:16) then /0) (cid:13) (cid:23) (cid:26) ) (cid:13) (cid:7) 12) (cid:13) & 08. (cid:18)(cid:133)(cid:144) (cid:15) (cid:22) (cid:18) (cid:18) ; (cid:3) ) (cid:13) 1e) (cid:13) (cid:11) 09. if (cid:18)0(cid:155) (cid:18) then (cid:13) (cid:142) 10. o(cid:30)(N(cid:130)(cid:131)(Ng (cid:18) (cid:144) (cid:145)e(cid:149)e(cid:150)(cid:133)(cid:146)(cid:137)q ; (cid:3) (cid:1)J(cid:140)(cid:156)(cid:141)2(cid:142) 12(cid:143) (cid:11) 11. if gr( then 3 (cid:5)(cid:14)(cid:13) (cid:23) 12. (cid:18) (cid:144) ; ! 13. endif 12) (cid:13) ) (cid:13) 14. (cid:18)(cid:133)(cid:144) (cid:17) (cid:18) ; ,H(cid:31)(cid:8)(cid:5)(cid:21)(cid:13) 12) (cid:13) , 15. (cid:157) , send[QUERY,(cid:16) , (cid:18) ]toneighbor ; 16. else (cid:13) (cid:142) 17. o(cid:30)(N(cid:130)(cid:131)(Ng (cid:18) (cid:144) j0(cid:145)e(cid:17)"(cid:17)(cid:158)(cid:146)(cid:151)q ; ,d(cid:31)I(cid:5)(cid:14)(cid:13) 18. foreach do (cid:3)W,H(cid:31) 3 (cid:5)(cid:14)(cid:13) (cid:147)(cid:25)(cid:3)(cid:6),(cid:159)(cid:1)(cid:160)(cid:23) (cid:1)~(cid:140)Z(cid:141)0(cid:142) 12(cid:143) (cid:11)(cid:27)(cid:11) ) (cid:13) , 19. if (cid:18) (cid:138)dgr( thensend[REPLY,(cid:16) , (cid:18) ]to ; 1e) (cid:13) (cid:1) ) (cid:13) (cid:11) 12) (cid:13) , 20. elseif( (cid:18)(cid:156)¡ (cid:18) send[UPDATE,(cid:16) , (cid:18) ]to ; 21. endif 22. done 12) (cid:13) ) (cid:13) 23. (cid:18) (cid:144) (cid:18) ; 3 (cid:5)(cid:21)(cid:13) 24. (cid:18)2(cid:144)£¢ ; 25. endif 26. else (cid:3) (cid:1)J(cid:140)Z(cid:141)0(cid:142) 12(cid:143) (cid:11) 27. if gr( then (cid:3)(cid:24)(cid:23)⁄(cid:31) (cid:13) ) (cid:13) 12) (cid:13) (cid:11) 3 (cid:5)(cid:21)(cid:13) 3 (cid:5)(cid:14)(cid:13) (cid:23) 28. if (cid:17) (cid:18) (cid:138)7(cid:17) (cid:18)2(cid:155) (cid:18) then (cid:18)e(cid:144) (cid:18)(cid:12)¥ ; 12) (cid:13) (cid:23) 29. elsesend[REPLY,(cid:16) , (cid:18) ]to ; 30. endif 31. endif 32. endif (cid:13) ,<(cid:29)) (cid:13) = /0) (cid:13) & 33. (cid:17) (cid:18) (cid:144) (cid:22) (cid:18) + (cid:18) ; 34.end Fig.1. DistancevectorprocessinginMDVA. ported distance (line 28). If it did not, a reply is sent imme- change, but the distances to destinations either decrease or re- ) (cid:13) diately. However, if (cid:17) (cid:18) increased, no reply is given and the main unchanged (2) some link costs increase, resulting in an (cid:23) 3 (cid:5)(cid:135)(cid:13) query is blocked by adding to (cid:18) . The replies to neigh- increaseindistancestosomedestinations.MDVAworksidenti- borsin3 (cid:5)(cid:21)(cid:18)(cid:13) aredeferreduntilthattimewhenthenodeisready caltoDBFwhendistancestodestinationsonlydecreaseandthe to transit to PASSIVE state. After receiving all replies, one of same proofof DBF applies [2]. To state this formally, assume two things can happen: either the ACTIVE phase ends or it thenetworkisstableuptotime( andallnodeshavethecorrect continues. If the distance ) (cid:18)(cid:13) increased again after receipt of distances. Attime( ,thecostsofsomelinksdecrease. Sincethe ) (cid:13) (cid:3) (cid:11)(cid:12)ƒ 5d6 (cid:3) (cid:11) all replies, the ACTIVE phase is extended by sending new set distancesinthetablesaresuchthat (cid:18) ( 8 ( ,withinsome =(cid:160)F ) (cid:13) (cid:3) (cid:11)"(cid:1) 576 (cid:3) (cid:11) of queries, otherwise the ACTIVE phase ends. In the case the finitetime(N§,((cid:12)DU(N§ , (cid:18) (N§ 8 ( . ACTIVE ph3as(cid:5)(cid:14)e c(cid:13) ontinues, no replies are issued to the pending MDVA and DBF behave differently, when some link costs queriesin (cid:18) . Otherwise, allrepliesare givenandthe node increase such that distances between some source-destination t)ra(cid:13)ns(cid:1) its/0t)o(cid:13)PA(cid:1) SS12IV) E(cid:13) s(cid:1)(cid:160)tat(cid:23)e s(cid:26)atis) fy(cid:13) ingt*h(cid:13) e(cid:29),dPA(cid:31)(cid:8)S(cid:5)(cid:21)SI(cid:13)AV&E-state invariant pairs increase. In this case, ) (cid:18)(cid:13) (cid:3) ( (cid:11)H= 5786 (cid:3) ( (cid:11) for some (cid:15) and (cid:16) . (cid:18) (cid:18) (cid:18) (cid:15) (cid:22) (cid:18) + K + . ) (cid:13) BothDBF andMDVAfirstincrease (cid:18) toa valuegreaterthan 576 (cid:3) (cid:11) 8 ( , after which the distances monotonically decrease until IV. CORRECTNESS PROOFS they convergeto the correct distances. MDVAand DBF, how- ToprovethecorrectnessofMDVAconsiderthefollowingtwo ever,differonhowtheyincreasethedistances.DBFdoesitstep- ) (cid:13) ƒ 576 (cid:3) (cid:11) mutually exclusive and exhaustive cases: (1) some link costs by-stepin smallboundedincrementsuntil (cid:18) 8 ( . How- 5 6 (cid:3) (cid:11)#(cid:1)(cid:132)F ever,when 8 ( ,thisleadstothecount-to-infinityprob- In the case that the ACTIVE phase finally ends, we have /0) (cid:13) (cid:3) (cid:11) ) (cid:13) (cid:3) (cid:11) (cid:31) (cid:7) lem. Incontrast,MDVAusesdiffusingcomputationstoquickly (cid:18) ( D (cid:18) + ( for ( (cid:127)( ¤ (N§§›(cid:128). In the PASSIVE phase, ) (cid:13) ) (cid:13) ƒ 5d6 (cid:3) (cid:11) 12) (cid:13) raise (cid:18) so that (cid:18) 8 ( , after which it functions similar (cid:18) can only remain constant or decrease until the next AC- toscenario1describedabove,andthedistancesconvergetothe TIVE phaseat(N¤flfi P . Therefore,theLFIconditionsaresatisfied (cid:7) (cid:11) correctvaluesasbefore. Aftertheendofalldiffusingcomputa- intheinterval(cid:127)( ¤ ( ¤(cid:129)fi P .Ontheotherhand,iftheACTIVEphase tionsMDVAworksjustlikeDBF. continues,newqueriesaresentattime((cid:10)§§.Assumeallrepliesfor In summary, to show that MDVA terminates, it is sufficient thesequeriesarereceivedattime((cid:27)§§§. Fromsimilarargumentas toshowthat: (1) the (cid:17) (cid:0) (cid:18) areloop-freeateveryinstant(Theo- above,itfollowsthat /0) (cid:18)(cid:13) (cid:3) ( (cid:11) D ) (cid:18)(cid:13) + (cid:3) ( (cid:11) for ( (cid:31) (cid:127)(N¤ (cid:7) (N§§§(cid:176)(cid:128). Thus rem2),(2)everydiffusingcomputationcompleteswithinafinite irrespectiveofhowlongtheACTIVEphasecontinues,theinvari- time (Theorem 3), and(3) thereis a finite numberofdiffusing antholdsbetween[( ¤ ,( ¤(cid:129)fi P ].Frominduction,therefore,theLFI computations(Theorem5). Finally, we showthatMDVAcon- conditionsholdatalltimes.ItthenfollowsfromTheorem1that (cid:0) vergestocorrectdistanceswhenitterminatesinTheorem5. (cid:17) (cid:18) isloop-freeatalltimes. (cid:0) Theorem2: For a given destination (cid:16) , the (cid:17) (cid:18) constructed Theorem3: EveryACTIVEphasehasafiniteduration. byMDVAisloop-freeateveryinstant. Proof: An ACTIVE phasemayneverendduetoeitherof Proof: The proof is by showing that the LFI conditions thetworeasons:deadlockorlivelock.Firstweshowadeadlock are satisfied during every ACTIVE and PASSIVE phase. Let (-¤ cannotoccur. AnodethattransitstoACTIVE statewithrespect (cid:26)<'«“ be the time when the transition from PASSIVEto ACTIVE toadestinationsendsqueries. Ifthetransitionisduetoaquery statestartsatnode(cid:15) for(cid:16) . Theproofisbyinductionon ( ¤ . At from a successor, the node defers the reply to this query until nodeinitializationtime‹ ,alldistancevariablesareinitializedto it receives the replies to its own queries. Because nodes wait /0) (cid:13) (cid:3) (cid:11) ) (cid:13) (cid:3) (cid:11) ,d(cid:31)(cid:8)(cid:5)(cid:21)(cid:13) infiniteandhence (cid:18) ‹ D (cid:18) + ‹ , . AssumetheLFI forrepliestotheirqueriesbeforereplyingtoaquery,thereisa conditionsaretrueuptotime((cid:27)¤ . Then possibility of “circular” waits leading to a deadlock. But, this is impossible for the following reasons. First, a node in pas- sive stateimmediatelyreplies toa queryif itdoes notincrease /0) (cid:13) (cid:3) (cid:11) ) (cid:13) (cid:3) (cid:11) (cid:31) (cid:7) (cid:11) (cid:18) ( D (cid:18) + ( ( (cid:127)‹ (N¤ c (3) distancetothedestination(lines19). Ifthequeryisfromasuc- ) (cid:13) cessor that potentially increases (cid:17) (cid:18) , and the node is ACTIVE At anytime ( , from line)s6(cid:13) (cid:3), 8(cid:11)#,ƒ14) a(cid:13)n(cid:3)d(cid:11) 23 in the pseudocode in , the query is held until the ACTIVE phase ends (line 28). Be- Figure1,andbecause(cid:17) (cid:18) ( (cid:18) ( ,iffollowsthat cause the (cid:17) (cid:0) (cid:18) ’s are loop-free at every instant (Theorem 2), a deadlockcannot occur. Thus, a node that issued queriesto the /0) (cid:13) (cid:3) (cid:11) 12) (cid:13) (cid:3) (cid:11) neighbors will eventually receive all the replies and transits to (cid:18) ( D (cid:18) ( (4) PASSIVEstate. A livelock is a situation where a node endlessly has back- andtherefore,for((cid:27)¤(cid:151)X P and(N¤ ,wehave to-back ACTIVE phases without ever replying to the pending queries from the successors. A livelock cannot occur for the /0) (cid:18)(cid:13) (cid:3) (N¤(cid:151)X P (cid:11) D 12) (cid:18)(cid:13) (cid:3) (N¤(cid:151)X P (cid:11)?(cid:7) (5) following reasons. An ACTIVE phase transition occurs either /0) (cid:13) (cid:3) (cid:11) 12) (cid:13) (cid:3) (cid:11) because the link-cost of an adjacent link increases or a query (cid:18) ( ¤ D (cid:18) ( ¤ c (6) fromasuccessorisreceivedthatincreases (cid:17) ) (cid:18)(cid:13) . But,weknow ) (cid:13) (cid:26) '«“ thataqueryfromasuccessorisblockedifitincreases(cid:17) (cid:18) . Be- Letthequeriessentat((cid:27)¤ ,thestarttimeofthe ACTIVEphase, , causelinks canchangeonlya finitenumberoftimesandthere bereceivedataparticularneighbor at ((cid:10)§ (cid:155) (N¤ . FromEq.(4) is onlya finitenumberof neighborsfor each nodefrom which andthefactthattheupdatemessagessent,ifany,between( ¤(cid:151)X P thenodecanreceivequeries,thenodecanonlyhavefinitenum- and( ¤ specifynon-increasingdistances,wehave berof backtobackactive phases. Anode eventuallysends all pendingrepliesandentersPASSIVEstate. Alivelock,therefore, /0) (cid:13) (cid:3) (cid:11) ) (cid:13) (cid:3) (cid:11) (cid:31) (cid:7) cannotoccur. (cid:18) ( D (cid:18) + ( ( (cid:127)( ¤ ( §(cid:128) c (7) Theorem4: AnodecanhaveonlyafinitenumberofACTIVE phases. Let (N§§ be the time when all replies are received and ACTIVE phaseends.DuringtheACTIVEphasethevalueof/0) (cid:18)(cid:13) remains Proof: Assumetowardsacontradictionthatthereisanode unchangedandnonew12) (cid:18)(cid:13) isreportedduringthisperiod(lines thatdoesgothroughaninfinitenumberof PASSIVE to ACTIVE transitions.Anactivephasetransitionoccurseitherbecauseofa 27-31). Furthermore, during PASSIVE phase, only decreasing 12) (cid:13) query from a successor or a link-cost increase of an adjacent valuesof (cid:18) arereported. ThenfromEq.(6)itfollowsthat link. Because link costs can change only a finite number of times,theinfinitePASSIVE-ACTIVEphasetransitionsmusthave /0) (cid:18)(cid:13) (cid:3) ( (cid:11) D ) (cid:18)(cid:13) + (cid:3) ( (cid:11) ( (cid:31) (cid:127)( § (cid:7) ( §§(cid:11) c (8) been triggered by an infin,ite number of queries from a nei,gh- bor. Let that neighbor be . Now, by the same argument, is At(N§§,irrespectiveofwhetherthenodetransitstoPASSIVEstate sendinganinfinitenumberofqueriesbecauseitisreceivingan orcontinuesintheACTIVEphase,fromEq.(4)wehave infinitenumberofqueries. Butthisargumentcannotbecontin- uedforeverbecausethereisonlyafinitenumberofnodesinthe network. Becausethereplytotheneighborinthesuccessorset /0) (cid:13) (cid:3) (cid:11) 1e) (cid:13) (cid:3) (cid:11) (cid:18) ( §§ D (cid:18) ( §§ c (9) causing the phase transition is blocked and the routing graphs areloop-freeateveryinstant(Theorem2),theremustbeanode that transitsto ACTIVE state onlybecauseofadjacentlinkcost 12 changes. This implies that a link must change its cost infinite 4 10 11 13 numberoftimes—acontradictionofassumption. Therefore,a 9 14 nodecannothaveaninfinitenumberofACTIVEphases. 1 5 Theorem5: Afterafinitesequenceoflink-costchangesinthe 3 15 ) (cid:13) network,thedistances (cid:18) convergetothefinalcorrectvalues. 6 16 17 Proof: Assumeattime ‹ thateverynodehascorrectdis- 0 ) (cid:13) (cid:3) (cid:11)(cid:21)(cid:1) 576 (cid:3) (cid:11) 2 tances to all the distances. In other words, (cid:18) ‹ 8 ‹ . 7 Assume that a finite number of link cost changes, link failures 8 18 andlinkrecoveriesoccurinthenetworkbetweentime ‹ and( B and after ((cid:27)B no more changes occur. We have to show that at Fig.2. Exampletopology = F sometime ((cid:27)C , suchthat ((cid:10)BZD–((cid:27)C , allnodeswillconverge ) (cid:13) (cid:3) (cid:11)"(cid:1) 576 (cid:3) (cid:11)(cid:139)(cid:1) 576 (cid:3) (cid:11) tothecorrectdistances. Thatis (cid:18) ((cid:27)C 8 ((cid:27)B 8 ((cid:27)C . thetimeittakesforthenetworktoconvergeafterasetoflink- From Theorem 3 and 4, it follows that within a finite time costchangesinthenetworkandthecommunicationcomplexity afterthelastlinkchange,allnodestransittoPASSIVE stateand is the amount of message overhead required for propagating a remaininPASSIVEstatethereafter. Therefore,let((cid:10)§ bethetime setoflink-costchanges. Inadynamicenvironment,thetiming whenthelastACTIVE phaseendsinthenetwork. Weprovethe andrangeoflinkcostchangesoccurincomplexpatternsthatare following. ) (cid:13) (cid:3) (cid:11)#ƒ 5d6 (cid:3) (cid:11) oftendeterminedbythetrafficonthenetwork,becauseofwhich 1. (cid:18) (N§ 8 ( B forevery(cid:15) and(cid:16) . obtainingclosedformexpressionsfortimeandcommunication ) (cid:13) 2. Between (N§ and ((cid:27)C , all (cid:18) ’s monotonically decrease and complexityisimpossible. Anapproximateanalysisthatispro- 5(cid:8)6 (cid:3) (cid:11) eventually convergeto the correct distances 8 ((cid:27)B at ((cid:27)C . videdin[8]forthecaseinwhichcommunicationissynchronous ) (cid:13) (cid:3) (cid:11)(cid:154)(cid:1) 576 (cid:3) (cid:11) Thatis (cid:18) ((cid:27)C 8 ((cid:27)B . throughoutthenetworkalsoapplytoMDVA. ) (cid:13) (cid:3) (cid:11)†= Part 1: Assume towards a contradiction that (cid:18) (N§ Weusesimulationstocomparethecontroloverheadandcon- 5 6 (cid:3) (cid:11) ) (cid:13) (cid:3) (cid:11)(cid:154)(cid:1)–(cid:3) * (cid:13) (cid:3) (cid:11) ) (cid:13) (cid:3) (cid:11)(cid:10)(cid:11) ,(cid:20)(cid:31)(cid:8)‡ (cid:5) (cid:13) vergence time of MDVA with that of DBF, MPDA [15] and 8 ( B . Let (cid:18) ( § + ( § K (cid:18) + ( § forsome (cid:19) . ) + (cid:3) (cid:11)(cid:159)ƒ 5 : (cid:3) (cid:11) ‡ topology broadcast (TOPB). The main purpose of these simu- Assume that (cid:18) (N§ 8 ((cid:27)B . Also assume that has only 5I6 (cid:3) (cid:11)(cid:160)(cid:1) 9 6 (cid:3) (cid:11) 5 : (cid:3) (cid:11) lations is to give some qualitativeexplanationfor the behavior o* (cid:13)n(cid:3)e (cid:11)elem)en(cid:13)t.(cid:3) B(cid:11) ecau9s6e(cid:3) (cid:11)8 ((cid:27)B ) + (cid:3) (cid:11): ((cid:27)B K 8 ((cid:27)B we have ofMDVA.ThereasonforchoosingDBFandTOPBisthatDBF + (N§ K (cid:18) + (N§ D : ( B K (cid:18) (N§ , from which we can in- isbasedonvectorsofdistancesanddoesnotusediffusingcom- * (cid:13) (cid:3) (cid:11)e= 9 6 (cid:3) (cid:11) ) (cid:13) (cid:3) (cid:11)e= ) + (cid:3) (cid:11) ferthateither + (N§ : ( B ,or (cid:18) + (N§ (cid:18) (N§ ,orboth. If putations,whileTOPBrepresentsanidealupperboundonper- * (cid:13) (cid:3) (cid:11)#= 9«6 (cid:3) (cid:11) (cid:3) (cid:7)-,v(cid:11) + ( § : ((cid:27)B ,itimpliesthatthelinkcostof (cid:15) isnotyetin- formanceofthewidelyusedroutingprotocolsOSPFandIS-IS. 9 6 (cid:3) (cid:11) creasedto : ((cid:27)B viaalink-costchangeevent.Whenitdoes,the The reason for choosing MPDA is that it has been shown to conditiononline9becomestrueandanACTIVEstatetransition be very efficient compared to TOPB, in terms of communica- istriggered. SoallACTIVEphaseshavenotended. Similarly,if tionoverhead.MDVAachievesloop-freedomthroughdiffusing ) (cid:13) (cid:3) (cid:11)#= ) + (cid:3) (cid:11) (cid:18) + (N§ (cid:18) (N§ ,thenthereismessageintransit,whichwhen computationsthat,insomecases,mayspanthewholenetwork. processed by (cid:15) would trigger a PASSIVE-to-ACTIVE transition. Incontrast,MPDAusesonlyneighbor-to-neighborsynchroniza- ThismeansthattheACTIVE phaseshavenotyetended. Acon- tion. Itisinterestingtoseehowconvergencetimesandcontrol tradiction of the assumption. Therefore, when ACTIVE phases messageoverheadsareeffectedbythesynchronizationmecha- ) (cid:13) (cid:3) (cid:11)(cid:135)ƒ 576 (cid:3) (cid:11) ‡ end (cid:18) (N§ 8 ((cid:27)B . When has more than one element, nisms.Acomparisonofseveralalgorithmsthatdoesnotinclude each element willbe removedfrom the successorset one after MPDAandMDVAisgivenin[3]. theotherwithouttriggeringthe ACTIVE transitionuntilthelast SimulationsareperformedonthetopologyshowninFig.(2). element,whentheACTIVEstatetransitionfinallyoccurs. Thesimulatorusedisanevent-drivenreal-timesimulatorcalled P Part2: AftereverynodebecomesPASSIVEattime((cid:10)§,allthe CPT . messages in transit can only decreasethe distances; otherwise, We assume the computation time to be negligible compared that would result in a transition to ACTIVE state. At this stage to the communication times. The bandwidth and propagation MDVAworksessentiallylikeDBFandthesameproofofDBF delays of each link are 5MB and 100(cid:181) s respectively. In back- applieshere. Eachtimeadistanceisdecreased,thenewdistance bone networks, links and nodes are highly reliable and change is reported. Becausedistancescannotdecreaseforeverandare statusmuchlessfrequentlythanlinkcostswhichareafunction 5I6 (cid:3) (cid:11) lowerboundedby 8 ((cid:27)B ,thedistanceswilleventuallyconverge ofthetrafficonthelink.Thisisparticularlytrueinnear-optimal 5 6 (cid:3) (cid:11) tothecorrectdistances 8 ( B . routing of [15], in which the link costs are periodically mea- sured and reported. For this reason, in this paper we focus on V. PERFORMANCE ANALYSIS comparing the algorithms in scenarios when multiplelink-cost (cid:3)(cid:10)(cid:29)(cid:5)(cid:14)(cid:13)}(cid:29)a(cid:29)(cid:5)U(cid:29)(cid:11) changesoccur. The storage complexity is of · , as each of the (cid:5)(cid:21)(cid:13) Ineachexperiment, all linksareinitially setatunitcost and neighbor tables and the main distance table has a size (cid:3)(cid:10)(cid:29)(cid:5)U(cid:29)(cid:11) then each link cost is changed by amounts determined by the of · entries. The computation complexity is the time taken to process a distance vector and it is easy to see that ¶ ) (cid:3) (cid:11) (cid:3)(cid:10)(cid:29)(cid:5)(cid:21)(cid:13)}(cid:29)(cid:11) WethankNokiaWirelessRoutersforallowing ususingtheC++Protocol S.kYlYmngYoMo (cid:15)No(cid:30)((cid:27)q>gMm?(NlMk c takes · . Thetimecomplexityis 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 11..68 Kilobytes 25 20 1.4 15 1.2 1 10 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. Averageconvergencetimes.•>‚(cid:14)„ ,”e‚I» . Fig.6. Averagemessageoverhead.•>‚(cid:21)…(cid:28)‰r(cid:190)¿„ ,”0‚(cid:21)…(cid:28)‰r(cid:190)(cid:192) . Comparison of Control Message Overhead Probability Distribution Function 70 1 ’DBF’ ’DBF’ ’MDVA’ ’MDVA’ 65 ’MPDA’ 0.9 ’MPDA’ ’TOPB’ ’TOPB’ 60 0.8 0.7 55 0.6 Kilobytes 4550 Probability 0.5 0.4 40 0.3 35 0.2 30 0.1 25 0 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. Averagemessageoverhead.•2‚(cid:135)„ ,”0‚I» . Fig.7. PDFofconvergencetimes.•>‚(cid:135)„ ,”0‚7» ,˘(cid:12)‚(cid:14)„ . 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 11..23 Probability 0.5 0.4 1.1 0.3 0.2 1 0.1 0.9 0 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. Averageconvergencetimes.•>‚(cid:14)…(cid:28)‰r(cid:190)¿„ ,”e‚(cid:135)…(cid:28)‰r(cid:190)(cid:192) . Fig.8. PDFofmessageoverhead.•>‚(cid:135)„ ,”2‚7» ,˘(cid:12)‚(cid:14)„ . , formula ` KT´ k , where k 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 forMDVA.AscanbeseeninFig.4,theaveragemessageloads , while is a positive integer. After setting the new link costs, arealsolowandonlyMPDAhaslowermessageoverhead.Fig- theconvergencetimesandmessageoverheadsaremeasuredfor ures 5 and 6 showthe averageswhen link costsdecrease. Ob- , eachroutingalgorithm. Foreachexperimentwithspecific ` , serve that DBF and MDVA perform identically as can be seen and´ ,severaltrialsaremadeusingdifferentrandomvaluesfor inthefigures. k . Theaveragesandprobabilitydistributionsobtainedforeach Fig. 7 and Fig. 8 showthe complete distribution for conver- ,(cid:132)(cid:1) (cid:7) (cid:1) metricandforeachsetoftrialsarecompared. gence times and message overhead for the case R ` (cid:7) (cid:1)–ˆ Fig.3andFig.4showtheaverageconvergencetimeandav- R ´ . Observethatthedistributionsarequiteuniformcom- , eragemessageload,measuredoverseveraltrials,whenthelinks paredtoDBF.When isincreaseto5from1,theconvergence costsareincreasedfrominitialunitcosttoacostusingthefor- timesandmessageoverheadsofMDVA,asshowninFig.9and , (cid:1) (cid:7) (cid:1)Eˆ ,@(cid:1) (cid:7) (cid:7)}˜z(cid:7)(cid:27)¯ mula ` K(cid:160)´ k with ` R ´ and ‹ R . 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 0.5 Probability 0.5 0.4 0.4 0.3 0.3 0.2 0.2 0.1 0.1 0 0 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. PDFofconvergencetimes.•>‚I» ,”0‚7» ,˘(cid:12)‚(cid:135)„ . Fig.12. PDFofmessageoverhead.•>‚I‰ ,”0‚(cid:21)…(cid:28)‰r(cid:190)(cid:192) . Probability Distribution Function 1 ’DBF’ VI. SUMMARY ’MDVA’ 0.9 ’MPDA’ ’TOPB’ This paper presented a new distributed distance-vectorrout- 0.8 ing algorithm, MDVA, which is free from the count-to-infinity 0.7 problem, provides multiple next-hop choices for each destina- 0.6 Probability 0.5 ftiroene., Tanhdetnhoeveroltuytionfgthgeraaplghosriimthpmlielidesbiyntihtsemdesairgenaalwroauynsdloaospe-t 0.4 of loop-free invariant conditions which ensures instantaneous 0.3 loop-freedom and correct termination of the protocol. Formal 0.2 proofsarepresentedtoshowMDVA’sconvergence,correctness andloop-freedom. Throughsimulationwehavecompareditto 0.1 somecurrentlyusedroutingprotocols. 0 20 25 30 35 40 45 50 55 60 65 70 75 Control Message Overhead (Kb) REFERENCES Fig.10. PDFofmessageoverhead.•>‚7» ,”e‚I» ,˘L‚(cid:21)„ . [1] R.Albrightson, J.J.Garcia-Luna-Aceves, andJ. Boyle. EIGRP-AFast RoutingProtocolBasedonDistanceVectors. Proc.Networld/Interop94, Probability Distribution Function May1994. 1 ’DBF’ [2] D.BersekasandR.Gallager.Datanetworks.2nded.Prentice-Hall,pages 0.9 ’’MMDPDVAA’’ 404–410,1992. ’TOPB’ [3] I.Mattaet.al. TransientandSteady-StatePerformanceofRoutingPro- 0.8 tocols: DistanceVectorsvs.LinkState. JournalofInternetworking: Re- 0.7 searchandExperience,6:59–87,1995. [4] E.W.DijkstraandC.S.Scholten.TerminationDetectionforDiffusingCom- 0.6 Probabiity 0.5 [5] Jtpi.uoJt.nasGt.ioaIrnEcsEi.aE-ILn/AfuoCnraMm-AaTtciroeavnnesPs..rNoLceetowsosopirn-kFgirnLegee,tRt1e:or1su3,t0i1n–1g1:14U–1s4,i,FnAegbuDrguiuaffsrutys11i9n98g903C..omputa- 0.4 [6] J.J. Garcia-Luna-Aceves and J. Behrens. Distributed, scalable routing 0.3 basedonvectorsoflinkstates. IEEEJournalonSelectedAreasinCom- munications,October1995. 0.2 [7] P.A.Humblet. AnotherAdaptive Distributed ShortestPathAlgorithm. 0.1 IEEETrans.Commun.,39:995–1003,June91. [8] J. M. Jaffe and F. H. Moss. A Responsive Distributed Routing Algo- 0 700 800 900 1000 1100 1200 1300 1400 rithm for Computer Networks. IEEE Trans. Commun., 30:1758–1762, Convergence Time (ms) July1982. Fig.11. PDFofconvergencetimes.•>‚7‰ ,”e‚(cid:135)…(cid:28)‰r(cid:190)(cid:192) . [9] P.M.MerlinandA.Segall.AFailsafeDistributedRoutingProtocol.IEEE Trans.Commun.,27:1280–1287,September1979. [10] R.Perlman. Fault-tolerantbroadcastofroutinginformation. Computer NetworksandISDN,7,1983. has degradedconsiderably. Thisisbecauseofthe counting-to- [11] B.RajagopalanandM.Faiman. AResponsiveDistributedShortest-Path infinityproblem,whichisdoesnotoccurinMDVA. Routing Algorithm with Autonomous Systems. Internetworking: Re- searchandExperience,2:51–69,March1991. Fig. 11 and Fig. 12 show the convergence time and mes- (cid:1) [12] S. Roy andJ.J.Garcia-Luna-Aceves. UsingMinimal Source Trees for sage overhead distribution when link costs decrease (` ‹ , On-DemandRoutinginAdHocNetworks.INFOCOM2001,2001. (cid:1)V˙ ¯ ´ ‹ c ). (Notethatwemakesurethatlinkcostsdonotbe- [13] J. SpinelliandR.Gallager. EventDriven TopologyBroadcast without SequenceNumbers.IEEETrans.Commun.,37:468–474,1989. come negative.) Observe that the performance of MDVA and [14] A.Tanenbaum. Computernetworks.3rded. Prentice-Hall, pages357– DBF are much the same which is because MDVA essentially 358,1996. functions like DBF when distances to destinations decrease. [15] S.VutukuryandJ.J.Garcia-Luna-Aceves. ASimpleApproximationto MinimumDelayRouting.Proc.ofACMSIGCOMM,Sept.1999. FromthesesimulationsitappearsthatMDVAisagoodchoice [16] W.T.ZaumenandJ.J.Garcia-Luna-Aceves. Loop-FreeMultipathRout- iflowconvergencetimesaredesiredattheexpenseofhighmes- ingUsingGeneralizedDiffusingComputations. Proc.IEEEINFOCOM, March1998. sage overload while MPDA is preferable if low message over- headisdesirableoverconvergencetimes.