Számítógépes Hálózatok 7a. Előadás: Hálózati réteg ased on slides from Zoltán Ács ELTE and. hoffnes Northeastern U., Philippa Gill from Stonyrook University, Revised Spring 06 by S. Laki
Legrövidebb út alapú forgalomirányítás LHÁLÓZT REPREZENTÁIÓJ z alhálózat tekinthető egy gráfnak, amelyben minden router egy csomópontnak és minden él egy kommunikációs vonalnak (link) felel meg. z éleken értelmezünk egy w: E R 0 + nem-negatív súlyfüggvényt, amelyek a legrövidebb utak meghatározásánál használunk. G=(V,E) gráf reprezentálja az alhálózatot P útvonal súlya: w P = w(e) eεp 5 kommunikációs vonal (link) router E F súly
Távolságvektor alapú forgalomirányítás inamikus algoritmusoknak csoportja van: távolságvektor alapú illetve (distance vector routing) kapcsolatállapot alapú (link-state routing) Távolságvektor alapú: Minden router-nek egy táblázatot kell karbantartania, amelyben minden célhoz szerepel a legrövidebb ismert távolság, és annak a vonalnak az azonosítója, amelyiken a célhoz lehet eljutni. táblázatokat a szomszédoktól származó információk alapján frissítik. Elosztott ellman-ford forgalomirányítási algoritmusként is nevezik. RPNET eredeti forgalomirányító algoritmusa ez volt. RIP (Routing Information Protocol) néven is ezt használták.
Távolságvektor alapú forgalomirányítás 4 Elosztott ellman-ford algoritmus KÖRNYEZET ÉS MŰKÖÉS E Minden csomópont csak a közvetlen szomszédjaival kommunikálhat. szinkron működés. Minden állomásnak van saját távolság vektora. Ezt periodikusan elküldi a direkt szomszédoknak. kapott távolság vektorok alapján minden csomópont új táblázatot állít elő. Nincs bejegyzés -hez F állomás V táblája él 5 E 4 F Ktsg. Kezdetben csak a közvetlen szomszédokhoz van info Más célállomások költsége = Végül kitöltött vektort kapunk
istance Vector Initialization 5 7 Node est. ost Next 7 Node est. ost Next. Initialization:. for all neighbors V do. if V adjacent to 4. (, V) = c(,v); 5. else 6. (, V) = ; Node est. ost Next 7 Node est. ost Next
istance Vector: st Iteration 6 7 7. loop:. else if (update (V, Y) received from V). for all destinations Y do 4. if (destination Y through V) 5. (,Y) = (,V) + (V, Y); 6. else 7. (, Y) = min((, Y), (, V) + (V, Y)); 8. if (there is a new min. for dest. Y) 9. send (, Y) to all neighbors 0. forever est. ost Next 7 Node 85 (,) = min((,), (,)+(,)) Node = min(7, + ) = Node est. ost Next (,) = min((,), est. ost (,)+(,)) (,)+(,)) Next est. ost Next 7 4 = min(8, min(, 7 + ) ) = 58 Node
istance Vector: End of rd Iteration 7 7 7. loop:. else if (update (V, Y) received from V). for all destinations Y do 4. if (destination Y through V) 5. (,Y) = (,V) + (V, Y); 6. else 7. (, Y) = min((, Y), (, V) + (V, Y)); 8. if (there is a new min. for dest. Y) 9. send (, Y) to all neighbors 0. forever Node est. ost Next 4 Nothing changes, algorithm terminates Until something changes Node est. ost Next Node est. ost Next Node est. ost Next 4
Elosztott ellman-ford algoritmus példa E F ecsült késleltetés -tól kezdetben cost N. Hop - - E E F - vektora -nak 0 E F E vektora -nak E 0 F Új becsült késleltetés -tól cost N. Hop - 6 E E F 4 vektora -nek és E-nek 0 6 E F 4 Új becsült késleltetés -tól cost N. Hop 5 6 E E F 4 8
9 7. loop: 8. wait (link cost update or update message) 9. if (c(,v) changes by d) 0. for all destinations Y through V do. (,Y) = (,Y) + d. else if (update (V, Y) received from V). for all destinations Y do 4. if (destination Y through V) 5. (,Y) = (,V) + (V, Y); 6. else 7. (, Y) = min((, Y), (, V) + (V, Y)); 8. Link if (there ost is a new hanges, minimum for destination Y) 9. send (, Y) to all neighbors 0. forever Good news travels fast lgorithm Starts 4 50 lgorithm Terminates Node 4 Node 5 5 Time
Távolság vektor protokoll Végtelenig számolás problémája (count to infinity) 0 Node 5 Node 4 4 Time
Példa - ount to Infinity Problem Node knows (, ) = 5 However, does not know the path is Thus, (,) ad = 6! news travels slowly 60 4 50 Node 4 6 6 8 Node 5 5 7 7 Time
Elosztott ellman-ford algoritmus Végtelenig számolás problémája PROLÉM jó hír gyorsan terjed. rossz hír lassan terjed. zaz ciklusok keletkezhetnek. Lehetséges megoldás: split horizon with poisoned reverse : negatív információt küld vissza arról a szomszédjának, amit tőle tanult. (RF 058)
Split horizon with Poisoned Reverse Ha -n keresztül irányítja a forgalmat állomáshoz állomás -nek (, ) = távolságot küld zaz állomás nem fog -n keresztül irányítani az -ba menő forgalmat 60 4 50 Node 4 60 60 5 Node 5 5 50 50 Time
Vége Köszönöm a figyelmet!