A New Algorithm to Compute Alternte Pths in Relile OSPF (ROSPF) Jin Pu *, Eric Mnning, Gholmli C. Shoj, Annd Srinivsn ** PANDA Group, Computer Science Deprtment University of Victori Victori, BC, Cnd Astrct Alternte pths my significntly improve reliility of routing protocols. We develop fst lternte pth-finding lgorithm for our proposed Relile OSPF (ROSPF) routing protocol. This lgorithm is sed on the Dijkstr s shortest pth lgorithm nd logrithmic edge-increment procedure. Three prtilly disjoint pths cn e clculted in time complexity O(N*logN*logW 0 ), where N nd W 0 represent the numer of nodes nd the sum of the weights of ll edges in grph, respectively. We use simultion tests to compre the performnce of our lgorithm nd the MPS K shortest pths lgorithm tht uses the devition pproch. Bsed on the results of simultion, our lgorithm is proved to e n efficient lternte pth-finding method with severl dvntges such s simpler implementtion, fster execution time, etter stility nd fewer shred edges in selected pth set. Key words: OSPF, network reliility 1. Overview of Relile OSPF (ROSPF) Open Shortest Pth First (OSPF) [1, 1] is widely used dynmic link-stte routing protocol for TCP/IP. In OSPF, ech router otins n identicl copy of link-stte dtse, which descries the glol view of the network. Furthermore, every router runs the Dijkstr s shortest pth lgorithm to clculte the shortest pth tree (SPT) with itself s the root for dt trffic. However, OSPF is not suitle for n unstle network, where routers or links my fil often, cusing the Dijkstr s lgorithm to e constntly re-invoked. As result, the convergence time of the network my ecome uncceptle. Deploying lternte pths in routing protocols my significntly improve network reliility. In our proposed Relile OSPF (ROSPF), three pths re used for pcket trnsmission: one is the primry pth nd two re lternte pths. Trditionlly, the shortest pth lgorithms [6] re widely used to clculte primry pths in routing protocols. However, lternte pths re minly clculted y two ctegories of lgorithms in grph theory, e.g. the K shortest pth lgorithms [, 7, 8, 9] nd the disjoint pth lgorithms [,, 10, 11, 1]. These lgorithms hve some drwcks. For the K shortest pth lgorithms, fter ll pths re sorted, n dditionl pth-checking procedure hs to e performed to choose two lternte pths tht stisfy the desired constrints for cceptle pths. Therefore, when the numer of pths from source to destintion is lrge, the K shortest pth lgorithms ecome very inefficient for selecting lternte pths. For the disjoint pth lgorithms, on the other hnd, the lternte pths * Supported in prt y funds from Nortel Networks ** Formerly t Nortel Networks
hve to e determined y pplying flow theorems. The finl pth set clculted y disjoint pth lgorithms is totlly disjoint, ut the primry shortest pth of the network my not e included. To chieve clerer nd simpler clcultion, new lgorithm, sed on the Dijkstr s shortest pth lgorithm [5] nd logrithmic edge weightincrement procedure, is proposed. The rest of this pper is orgnized s follows. Section descries the pth-selecting constrints used for lterntive pths. Section presents our new lterntive pth-finding lgorithm. Section shows the performnce comprisons etween our new lgorithm nd the K shortest pth lgorithms. Section 5 concludes this pper nd proposes some future work.. Alternte pth clcultion constrints This section lists severl typicl constrints used to decide whether or not clculted pth is cceptle. These constrints my e plced y the finl users, the network service providers, or the routing protocol itself. In prctice, imposed constrints my e used individully or concurrently.. mximum pth length (MxLen) MxLen represents the mximum cceptle length of pth, defined s the sum of edge weights w i in the pth. The pth length my represent vrious physicl properties, such s distnce, cost, dely, or filure proility. It cn e represented y n integer or flot vlue. If w i = 1 is true for ll edges, then the pth length is the hop numer from source to destintion.. mximum numer of hops on the pth (MxHop) MxHop represents the mximum cceptle numer of hops on pth. If pth contins k nodes, then its hop numer is k-1. MxHop is n integer vlue. c. mximum numer of shred edges (MxSE) Shred edges mong three pths, lso clled common edges, include two types of edge shring: doule- nd triple-shred edges, respectively. We use integer vlues MxSE dl nd MxSE tri to denote the relted mximum cceptle numer of doule- nd triple-shred edges. This constrint is essentil in cses requiring high network reliility when multiple pths re used etween two routers. In this pper, only edge shring is considered, while node shring is omitted. d. mximum filure proility of three prtilly disjoint pths (MxFilRte) The network reliility decreses s the numer of shred edges mong multiple pths increse. MxFilRte, flot vlue, represents the mximum cceptle filure proility of the selected pth set, i.e. three pths in ROSPF. MxFilRte is comprehensive nd upper level constrint in the procedure for selecting lternte pths [16]. Severl prmeters hve to e used for clculting the overll filure proility F of three pths etween pir of nodes: filure proility of single edge, the numer of edges on ech pth, nd the numer of ll edges shred mong pths. For simplicity, the clcultion for F only considers filure proility cused y edge filures. Node filures re omitted.. A new lgorithm to clculte lternte pths For ckwrd comptiility with OSPF, the shortest pth in network is deployed s the primry pth for trffic trnsmission in ROSPF. Under the ssumption of eqully likely filure proility of every edge in the network, the shortest pth hs the highest reliility. There re two min considertions in clculting lternte pths in ROSPF. One is tht lternte pths should e s short s possile. Another is tht n lternte pth should hve the minimum numer of doule- nd triple-shred edges with other otined pths. These two points re the min gols of our lgorithm. We do not pursue three totlly disjoint pths in our new lgorithm. A clculted pth will e ccepted s n lternte pth if it stisfies constrints predefined in section.
In the Dijkstr s lgorithm [5], n edge (i, j) with hevier weight w(i, j) will hve less proility to e chosen in the clculted shortest pth P st from node s to node t. Ifwesetw(i, j) = INFINITY, then w(i, j) will never show up in P st. Heuristiclly, new shortest pth P st will hve fewer common edges with the previous shortest pth P st if P st is re-clculted fter incrementing ll edge-weights of P st y lrge vlue W. Reference [1] indictes tht lternte pths my e otined y deleting ll edges of pth P st nd re-clculting pth P st y re-invoking the Dijkstr s lgorithm. This is equivlent to setting W =INFINITY. Rouphil [15] developed pretrip route plnning scheme y providing the tourists lternte routes using similr ides. After the shortest pth P 0 ws clculted, he incresed ech edge s weight in P 0 y 0%, 50% nd 100% of its originl weight. The est lternte route for tourists could then e chosen from the cndidte pths s re-clculted y the Dijkstr s lgorithm. Our new lgorithm extends Rouphil s lgorithm, nd is sed on logrithmic edge weight-increment method nd recursive invoction of the Dijkstr s lgorithm. We strt with lrge W on P 0 to ensure the minimum numer of shred edges etween the new clculted shortest pth P 1 nd P 0.IfP 1 fils the tests of the other desired constrints, W is decresed, nd then new P 1 cn e clculted. W my lso e incresed logrithmiclly to clculte etter P 1 with fewer shred edges. Such increse nd decrese opertion is similr to inry-serch-tree. By the sme steps, the second lternte pth P cn e clculted sed on the clculted P 1 nd P 0. 1 Figure 1, Choose the pproprite initil vlue W The initil vlue of W is set to W 0 = w i, the sum of the weights of ll edges in n undirected grph (or rcs in directed grph). For exmple in Figure 1, the primry shortest pth P 0 etween node nd c is c. If we choose W c s the mximum edge weight in the grph, i.e. W =,thenextshortestpthp 1 will still e c. Therefore, W hs to e much igger. If edge (, c) increses its weight y W =W 0 =6, then we cn get the desired P 1 ( c). Oviously, if we choose W >> W 0, the clcultion for P 1 is exctly s sme s choosing W=W 0. Our new lgorithm clcultes lternte pths in series of phses. In every phse, we keep proing one vlid pth y the edge weightincrement procedure in which W logrithmiclly dithers etween W 0 nd 0. Every pth clculted y the Dijkstr s lgorithm is tested y the desired constrints to determine whether it is cceptle. At most one lternte pth is generted within ech phse. When there re multiple cceptle pths in phse, the pth clculted y the lrger vlue of W is preferred. Therefore, the finl pth set (three pths) will include minimum common edges. Figure illustrtes how the new lgorithm works. Node s nd t re the source nd the sink. The totl weight of ll rcs in the grph is W 0 = w i =0. Assume tht the only constrint on lternte pths is the mximum numer of hops on clculted pth, i.e. MxHop <. Other constrints, such s pth length, the numer of shred edges nd filure proility re ll omitted for simplicity. Step 1. In cse A, the primry shortest pth P 0 (s d t) is clculted nd it is selected s the first cceptle pth. The length of P 0 is. Step. In cse B, every edge on P 0 hs its weight incresed y W=W 0 = 0, e.g. w i =w i +W 0. Then, we re-invoke the Dijkstr s lgorithm to otin the nd pth P 1 (s c t). The length of P 1 is 9. However, P 1 hs hops, which violtes the constrint: MxHop <. Therefore, pth P 1 hs to e discrded, lthough it hs 0 common edges with P 0. Step. In cse C, we now try to logrithmiclly reduce W on pth P 0 nd re-clculte the next shortest pth. When W =,the second cceptle pth P (s c d t) cn e otined. P hs hops nd hs the length 6. Becuse no other cceptle
pths cn e found for ny W >,P is chosen s the first lternte pth, lthough it hs 1 common edges with P 0. Step. In cse D, we hve lredy found two vlid pths P 0 nd P. Thus, the edge weight-increment procedure is performed on oth pths. By invoking the Dijkstr s lgorithm gin, the third cceptle pth P is otined. It hs 1 common edge with P 0 ndnocommonedgewithp. The length of P (s t) is 7, nd P lso stisfies the constrint on hop numer. comprison with our new lternte pth-finding lgorithm. Both implementtions of these two lgorithms were written in C. Furthermore, rndom grph genertor ws developed for our simultion tests. For every grph size, 100 different grphs of tht size re rndomly generted. The MPS lgorithm is used to solve the unconstrined K shortest pth prolem, i.e. no other constrints for shortest pth clcultion except pth length re considered. However, our prolem is ctully constrined prolem, in which dditionl constrints concerning common s 1 1 1 1 t s 1 1 1 1 t c d 1 c d 1 A). P 0 : s d t, pth length = P 0 is deployed s the primry pth B). P 1 : s c t, pth length = 9 (Increse ll edges in P 0 y W =W 0 =0, nd then reclculte pth). P 1 violtes MxHop < nd it hs to e discrded. s 1 1 1 t s 1 1 1 1 t c d c d 1 C). P : s c d t, pth length = 8 the rel pth length = 6. (Increse P 0 y W=, nd then re-clculte pth) D). P : s t, pth length = 7 the rel pth length = 7. (Increse P 0 nd P y W=W 0 =0, nd then re-clculte pths) Figure, Mjor steps to clculte the lternte pths (W 0= w i=0). Experimentl testing Mrtins MPS lgorithm [8] uses devition pproch to the K shortest pth lgorithms. It clcultes nd rnks devition pths etween two nodes sed on the primry shortest pth in O(mlogN + Kn) time, where m is the edge numer nd N is the node numer in grph. We implemented the MPS lgorithm for purpose of edges hve to e considered. A typicl solution is to compute K shortest pths, then choose the cceptle ones mong them y considering the dditionl pth selection constrints. Therefore, new prt, which is procedure to select cceptle pths mong cndidte pths y pplying the constrints descried in section, hs to e ppended fter the pth rnking
procedure in the MPS lgorithm. This prt is clled the pth-checking procedure in our extended version of MPS implementtion. In ll of the following tests, we set the dditionl constrints of the mximum numer of douleshred edges MxSE dl =,nd the mximum numer of triple-shred edges MxSE tri =1. execution time (ms) 800 600 00 00 0 0 100 00 00 00 500 600 #ofnodesinthegrph Our new lgorithm Extended MPS lgorithm Figure, Comprison of execution time etween the extended MPS K shortest pths lgorithm nd our lgorithm for different grph sizes. lgorithm versus the extended MPS lgorithm when grph is sprse. As the numer of nodes nd edges increse in the grph, the difference etween the two lgorithms grows. Our lgorithm is out two times fster when the numer of node is 0, nd out four times fster when the numer of node is 550. Moreover, the execution time of our lgorithm increses more slowly nd smoothly. Besides running fster, our new lgorithm hs the dvntge of using fewer shred edges thn the extended MPS lgorithm. The predefined constrints for pth selection re MxSE dl = nd MxSE tri = 1. Three pths clculted y the extended MPS lgorithm my hve smller vrition in pth length ut more shred edges, ecuse the extended MPS lgorithm serches sequentilly for n cceptle pth mong the rnked pths. On the contrry, our new lgorithm my otin three pths tht hve igger vrition of pth length ut fewer shred edges. This feture of fewer shred edges is of course wht we require for our ROSPF protocol. We oserve tht the length of the 1 st lternte pth clculted y our lgorithm is no more thn 0% greter thn the pth clculted Tle 1: Comprisons of numer of edges shred y two pths nd three pths numer of doule-shred edges numer of triple-shred edges node numer extended MPS lgorithm our lgorithm extended MPS lgorithm our lgorithm 0.69 0.6 0. 0.06 50.11 0. 0.5 0.09 100. 0.5 0.7 0.10 150.8 0.7 0.6 0.1 00.67 0.9 0.56 0.09 50.75 0. 0.6 0.0 00.68 0.18 0.66 0.0 50.79 0.0 0.59 0.06 00.85 0.6 0.69 0.06 50.91 0.5 0.81 0.15 500.81 0.61 0.67 0.11 550.57 0.5 0.6 0.1 Figure compres the required execution time to otin three cceptle pths y our new y the extended MPS lgorithm. For the nd lternte pth, it is no more thn 0% greter.
Tle 1 lists the numer of shred edges in oth lgorithms. 5. Conclusion nd future work In this pper, we hve proposed new lternte pth-finding lgorithm for our ROSPF (Relile OSPF). The three pths clculted y our lgorithm my e prtilly disjoint; however, they oserve further constrints, e.g. mximum pth length nd numer of llowle shred edges. We use simultion to compre the performnce of our new lgorithm nd the MPS K shortest pths lgorithm. Bsed on the results of simultion tests, our new lgorithm is proved to e n efficient nd fst lternte pth-finding method. Compred with the MPS lgorithm, our new lgorithm hs severl dvntges, such s simpler implementtion, fster execution time, etter stility nd fewer shred-edges in the selected pth set. In our performnce comprison tests, effects of two prmeters of grph, the connectivity nd dimeter, re omitted. For further work, execution time nlysis when the connectivity nd the dimeter of grphs chnge should e considered. Moreover, future tests in rel network environment should lso e performed. References [1] J. Moy, OSPF Version, RFC8, July 1997 [] D. Eppstein, Finding the K shortest Pths, SIAM J. Computing, 8(): 65-67, 1999 [] S. Evevt nd E. Trjn, Network Flow nd Testing Grph Connectivity, SIAM J. Comput., Vol., Decemer 1975, pp. 507-518 [] E. A. Dinic, Algorithm for Solution of Prolem of Mximum Flow in Network with Power Estimtion, Soviet Mth., Dokl., 11(1970), pp.8-6 [5] Dijkstr, E. W., A Note on Two Prolems in Connexion with Grphs, Numerische Mthemtik, 1959, pp.69-71 [6] G. Gllo nd S. Pllottino, Shortest Pth Methods: A Unifying Approch, Mthemticl Progrmming Study, North- Hollnd, 6 (1986), pp.8-6 [7] E.Q.V. Mrtins, An Algorithm for Rnking Pths tht My Contin Circles, Europen Journl of Opertionl Reserch, 18 (198), pp.1-10 [8] E.Q.V. Mrtins, M.M.B. Pscol, nd J.L.E. Sntos, Devition Algorithms for Rnking Shortest Pths, Interntionl Journl of Foundtions of Computer Science, Vol. 10, No. (1999), pp7-61 [9] V.M. Jimenez nd A. Mrzl, Computing the K Shortest Pths: New Algorithm nd n Experimentl Comprison, Springer-Verlg, Lecture Notes in Computer Science Series, Vol. 1688, pp.15-9, 1999 [10] L.R. Ford nd D.R. Fulkerson, Mximum Flow Through Network, Cndin Journl of Mthemtics, 8 (1956), pp.99-0 [11] J. W. Suurlle, Disjoint Pths in Network, Networks, (197), pp.15-15 [1] D. Torrieri, Algorithms for Finding n Optiml Set of Short Disjoint pths in Communiction Networks, IEEE Trnsctions on Communictions, Vol. 11, Nov. 199, pp.1698-170 [1] J. Moy, OSPF - Antomy of Internet Routing Protocol, Addison Wesley, 1998 [1] A. S. Tnenum, Computer Networks, nd edition, 1988 y Prentice-Hll, Inc. CHAP. 5, SEC. 5.., pp.91-9 [15] N. M. Rouphil, et. l., A Decision Support System for Dynmic Pre-trip Route Plnning, Proceedings of the th ASCE (Americn Society of Civil Engineers) Interntionl Conference on Appliction of Advnced Technologies in Trnsporttion (AATT), New York, June 1995, pp.5-9 [16] Jin Pu, Eric Mnning, G. C. Shoj, Routing Reliility Anlysis of Prtilly Disjoint Pths, will pper in 001 IEEE Pcific Rim Conference on Communictions, Computers nd Signl processing (PACRIM' 01), August, 001, Victori, British Columi, Cnd