istne vetor protool Irene Finohi finohi@i.unirom.it Routing Routing protool Gol: etermine goo pth (sequene of routers) thru network from soure to Grph strtion for routing lgorithms: grph noes re routers grph eges re physil links " link ost: ely, $ost, ongestion level A C Goo pth: minimum ost pth other ef s possile F Clssifition of routing lgorithms istne vetor routing lgorithm View: glol or lol Glol: info out entire network (routers, links) [link stte] Lol: prtil knowlege of remote prts of network [istne vetor] Centrlize or eentrlize one noe mintins view, n istriutes routes to other noes ll noes mintin view Stti or ynmi? Stti: infrequent route hnges infrequent view upte; stti link osts (e.g. up/own) ynmi: frequent perioi route hnges frequent view upte; ynmi link osts (e.g. ely) istriute, synhronous implementtion of the lgorithm y ellmn & For istriute: eh noe ommunites only with iretly-tthe Asynhronous: noes nee not exhnge info or iterte in lok step (synhronize) Itertive: " ontinues until no noes exhnge info " self-terminting: no signl to stop eentrlize, lol, ynmi
istne tle t struture h noe hs its own istne tle One row for eh possile estintion One olumn for eh iretly-tthe neighor of the noe (outgoing links) xmple: t noe S, for estintion T vi neighor : S (T,) = = istne from S to T, vi s next hop w(s,) + min (T,) istne tle: n exmple A (C,) (A,) (A,) C () A w(,) + min { (C,)} = = + = w(,) + min { (A,)} = = + = w(,) + min { (A,)} = = +6 = loop loop estintions A C 6 9 istne tle gives routing tle istne vetor routing: n overview () estintions A C A 6 9 istne tle estintions A C Outgoing link to use, ost A,,,, Routing tle Itertive, synhronous h lol itertion use y: lol link ost hnge messge from neighor v: shortest pth with soure v hs hnge istriute eh noe notifies only when shortest pth to ny estintion hnges " then notify their if neessry h noe: wit for (msg from neighor / hnge in lol link ost) upte istne tle if shortest pth to ny est hs hnge, notify
Assumption For the time eing, on t onsier link ost hnges: we ll remove this ssumption lter In the next slies we show: " How oes the lgorithm work " Why it stilizes n proues in finite mount of time the orret istnes h noe: initiliztion wit for (msg from neighor) upte istne tle if shortest pth to ny est hs hnge, notify istne vetor lgorithm: initiliztion At noe S: for ll jent noes y: S(.,y) = + S(y,y) = w(s,y) for ll estintions t sen min S(t,y) to eh neighor y /* y over ll of S */ istne vetor lgorithm: min loop At noe S: loop wit (until S reeives messge from neighor V) let m = ( V, T, C ) e the messge reeive from V /* pth from V to T of ost C hs een isovere */ upte: S (T,V) = w(s,v) + C if min S (T,) hnges, sen its new vlue to ll the of S forever istne vetor lgorithm: n exmple istne tle t noe just fter the initiliztion Msg estintion Msg/pth soure Pth estintion Cost If msg estintion = pth estintion, messge is useless: is not possile estintion in its own istne tle, n the info rrie y the messge nnot e use to upte ny entry in Won t onsier these messges ny further
istne vetor lgorithm: n exmple Msg estintion Msg/pth soure Pth estintion Cost Messges generte uring the initiliztion istne vetor lgorithm: n exmple Msg estintion Msg/pth soure Pth estintion Cost w(,) + C = + = 9 (,) = 9 9 istne vetor lgorithm: n exmple Msg estintion Msg/pth soure Pth estintion Cost 9 9 istne vetor lgorithm: n exmple Msg estintion Msg/pth soure Pth estintion Cost 9 9 w(,) + C = + = 9 (,) = 9 w(,) + C = + = (,) =
istne vetor lgorithm: n exmple Msg estintion Msg/pth soure Pth estintion Cost 9 9 istne vetor lgorithm: n exmple Msg estintion Msg/pth soure Pth estintion Cost 9 9 w(,) + C = + = (,) = w(,) + C = + = (,) = istne vetor lgorithm: n exmple 9 Msg estintion Msg/pth soure Pth estintion Cost 9 istne vetor lgorithm: n exmple 9 Msg estintion Msg/pth soure Pth estintion Cost 9 w(,) + C = + = (,) = w(,) + C = + = (,) =
istne vetor lgorithm: n exmple 9 Msg estintion Msg/pth soure Pth estintion Cost 9 istne vetor lgorithm: n exmple 9 Msg estintion Msg/pth soure Pth estintion Cost 9 w(,) + C = + = (,) = No more messges remin: the lgorithm hs foun stle onfigurtion Corretness (/) oes the lgorithm stilize n proue (in finite mount of time) the orret istnes? let m = ( V, T, C ) e the messge reeive from V /* pth from V to T of ost C hs een isovere */ upte: S(T,V) = w(s,v) + C if min S(T,) hnges, sen messges Corretness (/) We previously prove the following: If: ) istne estimte xy orrespons to the length of n existing pth from x to y ) ellmn s onitions xz w(x,y) + zy lolly stisfie for eh (x,y) " Then xy = xy for every x,y " V min S (T,) This is just relxtion = ST C = VT The upte is equivlent to the relxtion ST = w(s,v) + VT The lgorithm lwys uses existing rs ) OK If t some point zy ereses, this is notifie with messge to x, tht restores the onition if neessry (n sens in turn messges to its own ) ) OK
eling with link ost hnges eresing the ost of link: n exmple At noe S: loop wit (until S reeives messge from neighor V or the ost of link (S,U) hnges ) if w(s,u) hnges y # /* hnge ost to ll est's vi neighor U y # */ /* # my e positive or negtive */ for ll estintions T: S (T,U) = S (T,U) + # else if m = ( V, T, C ) is the messge reeive from V /* pth from V to T of ost C ws isovere */ upte: S (T,V) = w(s,v) + C for ll estintions T: if min S(T,) hnges, sen its new vlue to ll the of S forever Msg Msg soure Pth Cost 6 9 6 6 In C, erese ll entries in olumn y 6 6 eresing the ost of link: n exmple eresing the ost of link: n exmple 9 6 9 6 9 6 9 6 Msg Msg soure Pth Cost 6 6 6 Msg Msg soure Pth Cost 6 6 6 w(,) + C = + = 9 (,) = 9 w(,) + C = + = (,) =
eresing the ost of link: n exmple eresing the ost of link: n exmple 9 6 9 6 9 6 9 6 Msg Msg soure Pth Cost 6 6 6 Msg Msg soure Pth Cost 6 6 6 w(,) + C = + = (,) = w(,) + C = + = (,) = eresing the ost of link: n exmple eresing the ost of link: n exmple 9 6 9 6 9 6 6 9 Msg Msg soure Pth Cost 6 6 6 Msg Msg soure Pth Cost 6 6 6 w(,) + C = + = (,) = w(,) + C = + = (,) =
eresing the ost of link: n exmple eresing the ost of link: n exmple 9 6 6 9 9 6 6 9 Msg Msg soure Pth Cost 6 6 w(,) + C = + = (,) = 6 Msg Msg soure Pth Cost No more messges remin: the lgorithm hs foun stle onfigurtion 6 6 6 eresing links: goo news trvel fst Why oes the lgorithm stilize? (S,) = r tht we erese y the mount # T = ny estintion Assume for simpliity tht ll yles hve ost > Shortest pth etween ny pir of noes must e simple Consier the pth S T shortest pth from to T simple nnot ontin (S,) The ost of S T ereses y extly # eresing links: goo news trvel fst The ost of $ ST = S T ereses y extly # ) If $ ST ws shortest, the ost of the shortest pth from S to T hnges ) If $ ST ws not shortest, it my eome preferle to the ol shortest pth from S to T In ny se, if $ ST is shortest fter eresing (S,), it must e simple (no yle hs ost ), it is pth relly existing in G n we know extly its ost The messges sent to the of S ontin orret info With similr rguments: the of S will orretly propgte this informtion kwrs
Inresing links: news trvel slow Inresing links: sening wrong info (S,) = r tht we inrese y the mount # T = ny estintion If S T ws shortest efore the upte, it my no longer e the shortest pth fter inresing (S,) 6 9 6 Replement pth = minimum in row T of S The replement pth my not e simple n my ontin (S,) S S T In this se we shoul inrese its ost y #, ut the lgorithm oesn t know when this is neessry The messges sent to the of S my ontin wrong info n the lgorithm my not stilize In n, inrese ll entries in olumns n y 99 In, (,)= is the new minimum in row of, ut there is no pth in the grph from to of ost 6 6 6 Count to infinity prolem Msg estintion Msg/pth soure Pth estintion Cost Count to infinity prolem Msg estintion Msg/pth soure Pth estintion Cost w(,) + C = + = (,) =
Count to infinity prolem Msg estintion Msg/pth soure Pth estintion Cost w(,) + C = + = (,) = Count to infinity prolem 6 Msg estintion Msg/pth soure Pth estintion Cost w(,) + C = + = 6 (,) = 6 6 How to mke things work ifferent solutions propose to solve the prolem (poisone reverse, None of them relly generl To solve the prolem ompletely we shoul keep informtion out the entire pth to estintion (pth vetor protools) ut messges in tht se re muh igger Hierrhil Routing Our routing stuy thus fr - ieliztion ll routers ientil network flt not true in prtie sle: with million estintions: n t store ll est s in routing tles routing tle exhnge woul swmp links ministrtive utonomy internet = network of networks eh network min my wnt to ontrol routing in its own network
Hierrhil Routing ggregte routers into regions, utonomous systems (AS) routers in sme AS run sme routing protool " intr-as routing protool " routers in ifferent AS n run ifferent intr- AS routing protool gtewy routers speil routers in AS run intr-as routing protool with ll other routers in AS lso responsile for routing to estintions outsie AS " run inter-as routing protool with other gtewy routers