• Nem Talált Eredményt

Forgalomirányító protokollok

5.4 Hálózati réteg: vezérl˝ osík

5.4.2 Forgalomirányító protokollok

A klasszikus hálózatokban és az internet gerincében ma ilyen protokollok biztosítják a forgalomirányító táblák helyes tartalmát.

Fontos A hálózati réteg forgalomirányító és link szinten modellezi a hálózatot. E modell absztrakt reprezentációja egy gráf amely csomópontjai a forgalomirányítók, míg élei linkek. Az

éleknek súlyai vannak, ezek mentén kell meghatározni a legrövidebb útvonalat (G=(N,E)).

A csomópontok nem hordoznak fontos információt az útvonalválasztás számára ezzel szemben az élek súlya kritikus fontosságú. Hogyan mérjük a jó útvonalat? Mi a legrövidebb útvonal? Egy naiv megközelítés lehet a távolság mérésére az ugrásszám (A és B pont között található forgalomirányítók száma), ez azonban nem veszi figyelembe a linkek kapacitását. Vegyük akkor figyelembe a linkek kapacitását. Mi a jobb egy leterhelt nagy sávszélesség˝u link vagy egy üres kis sávszélesség˝u vonal.

Gyorsan eljutottunk oda, hogy valamilyen fizikai mennyiség dinamikus változó értéke lehet a legjobb metrika. Azt is láttuk azonban, hogy nagyon fontos a forgalomirányítókon átível˝o tudás, / információ homogenitása - azaz minden forgalomirányító ugyanazt kell, hogy lássa a világról.

Minél változékonyabb metrikákat választunk ez annál nehezebben valósítható meg. Majd látni fogjuk, hogy nincs egy mindenhol alkalmas metrika. A hálózat különböz˝o szintjein különböz˝o metrikákat alkalmaznak.

5.17: Hálózat gráf modell1

A forgalomirányító protokollokat többféleképpen tudjuk csoportosítani. Els˝o körben a dinamizmus alapján a forgalomirányítás lehet:

statikus- ekkor az útvonalak be vannak égetve és nem függnek az aktuális valóságtól. Ez egy nagyon kedvez˝otlen megközelítésnek t˝unhet - nem alkalmazkodik a valósághoz. Ahol azonban nincs alternatív útvonal ilyenek például a vég hálózatok, ahol csak egy Internet kijárat van ott célszer˝u ilyen egyszer˝u forgalomirányítást használni. Használjak ezt nagy léptékben is amikor adott típusú forgalmakat adott szabályok szerint szeretnének terelni.

dinamikus- ez a legtermészetesebb, a világképe dinamikus és ez alapján alakítja a forgalomirányító tábláját.

Az információ pontossága alapján lehet:

globális: Ez esetben a résztvev˝o forgalomirányítónak globális és részletes ismerete van a hálózat adott részleteir˝ol. E megközelítésmód el˝onye a pontosság, mivel minden forgalomirányító tud mindenkir˝ol mindent (kinek milyen szomszédai vannak, ezek között milyen linkek vannak), ezért itt minden egyes helyi döntés tökéletes szinkronban van. Ez a megoldás bár jónak t˝unik a skálázhatósága miatt, csak adott méret˝u hálózatig alkalmazható (egyrészt a túl pontos ismeret folyamatos fluktuációt okoz a rengeteg részlet ismerete miatt - miért kell nekem tudnom a legtávolabbi forgalomirányító összes interfészének adott állapotát?, másrészt komoly terhelés okoz az állapotinformáció folyamatos elárasztása). Ebbe az

osztályba tartoznak alink-állapot (link-state)alapú forgalomirányító algoritmusok.

pletyka alapú vagy lokális: Itt senkinek sincs pontos információja, mindenki csak feldolgoztt információt ad át (pl.: “azt hallottam, hogy t˝olem balra x távolságra van a Z hálózat”). Ilyen információval nem lehet egy teljes hálózati gráfot felépíteni, de mivel fel van dolgozva, ezért az atomi változások kevésbé propagálódnak. Ennek a megoldásnak viszont komoly problémája a konvergencia, azaz hogy mennyi id˝o után lesz minden forgalomirányítónak egységes a világképe. Egyes esetekben soha sem lesz az. Ebbe az osztályba tartoznak a távolságvektor (distance vector) és a távolság - út vektor (distance - path vector) algoritmusok.

Alink állapot alapú protokollokalapja az, hogy minden forgalomirányító ismeri minden forgalomirányító szomszédjait és az ezekhez tartozó távolságokat, metrikákat. Ennek az információnak a kialakítása általában elárasztásos megoldással valósul meg: minden változásnál mindenkinek elküldi a változásokat az adott forgalomirányító. Így kialakul minden forgalomirányítóban a G(N,E) gráf adathalmaza. Ezen a gráf adathalmazon futtatja le minden egyes forgalomirányító aDijkstra féle feszít˝ofa keres˝o algoritmust. Így alakítja ki mindenki saját számításokkal a forgalomirányító táblát.

A Dijkstra algoritmus rövid összefoglalása látható a 5.18 árbrán. A jelölések a következ˝oek: D(v) a legkisebb költség˝u útvonal a futtató csomóponttól a v csomópontig az adott iterációban, p(v) az adott csomópont és v csomópont közötti úton a v-t megel˝oz˝o csomópont, N’ azon csomópontok halmaza amelyekhez ismert a legrövidebb útvonal. Dinamikus metrika (pl.: terheltség, aktuális sávszélesség)

5.18: Dijsktra algoritmusa1

esetén a hálózat instabil lesz, mert adott linkek súly változása folyamatos újraszámolást eredményez.

5.19: Változó metrika okozta fluktuáció1

Távolságvektor alapú protokollok esetén nincs meg a precíz információ a világról. Ennek az algoritmus családnak jól ismert képvisel˝oi aBellman Ford egyenl˝oségreépít˝o megoldások. Ez azt mondja ki, hogy az x és y csomópontok között úgy tudjuk meghatározni a legrövidebb útvonalat,

ha minden lehetséges v köztes csomópontra megkeressük a v és y közötti legrövidebb útvonalat.

dx(y) =minv{c(x,v) +dv(y)} (5.1)

Ezen egyenletre alapuló elosztott algoritmus pszeudokódja és egy lefutása látható a 5.20 ábrán. A

5.20: Távolságvektor alapú forgalomirányítás algoritmusa1

távolságvektor alapú protokollok számára ugyanolyan gond a dinamikus metrikák alkalmazása, azonban itt az információ vesztéssel (pletyka) megjelennek olyan problémák, amellyel a link állapot alapú protokollnál nem találkoztunk. Egy ilyen probléma a jó hír gyors (megfelel˝o) terjedése és arossz hír lassú (nem jó) terjedése. Amikor egy útvonalon egy link költsége csökken, akkor ez a hír gyorsan eljut mindenhova, mivel nem tud senki sem ett˝ol jobbat mondani, azaz a hír gyorsan terjed. A rossz hírnél viszont, mivel a hír forrása nem ismert, ezért a náluk lév˝o jobb információt hirdetik meg, míg az ˝o forrásuk el nem évül, de ekkor a meghirdetett információt már a szomszéd is hirdeti (persze teljesen alaptalanul). A 5.21 ábrán B részén az eddig jó útvonalon a 4-es költség felmegy 60-ra. Ezt az y érzékeli, de meghallja z hirdetéseit aki csak annyit állít, hogy tud egy 5 távolságú utat x-hez (ezt ugye y-tól “hallotta”, de ezt nem tartja nyilván). Ezután y is elkezdi hirdetni ezt az útvonalat 6 távolságra. Z ezt meghallva ismét növeli a távolságot és elkezdi hirdetni 7 távolságban, ez addig pattog oda-vissza, míg 50 fölé nem megy, mert akkor az 50-es link már jó lesz. Láthatjuk, tehát, hogy egy igen egyszer˝u hálózatban is komoly gondot okozhat az információvesztés (pletyka). Erre több megoldást is szoktak alkalmazni, de ezek mindegyike csak

5.21: Hír terjedése pletyka alapú hálózaton1 tüneti kezelés, nem oldja meg garantáltan a problémát. Ilyen heurisztikák:

adott szám a végtelen- RIP (Routing Information Protocol) esetén például 15 távolságnál nagyobb távolság esetén azt mondják, hogy nincs útvonal. Ezzel a végtelen ideig tartó iterációt korlátozza, de ezzel egy korlátot ad a hálózat méretére is.

osztott horizont (split horizon)- Itt megjegyzi, hogy honnan hallotta és oda nem mondja vissza ugyanazt az információt. Ez a megoldás egy egyszer˝u háromszög és egy csomóponthoz

kapcsolódó további csomópont esetén sem m˝uködik, ott is visszaér az információ, csak más úton.

mérgezett hirdetések (poisoned updates)- Ekkor egy visszafelé végtelen távolságot hirdetnek meg az útvonalon (amikor z, y után következik az útvonalon akkor y felé nem, hogy nem hirdeti meg ugyanazt, hanem végtelen távolsággal hirdeti azt meg). Itt ismét egy kicsit bonyolultabb topológián visszatérhet a régi információ.

Ebben a fejezetben két elméleti protokollt ismertünk meg, a következ˝o fejezetben ezen elméleti protokollok konkrét megvalósításával fogunk találkozni. Az elméleti és gyakorlati protokollok összevetéséhez számos elvet, metrikát szoktak alkalmazni, ezek közül a legfontosabbak:

üzenet komplexitás- Az információ terjesztéshez mennyi üzenetre van szükség. A link állapot alapú algoritmusoknál ezO(N), azaz a forgalomirányítók számával arányos a küldend˝o üzenetek száma. Ha figyelembe vesszük azt, hogy ezt minden link megváltozásakor meg kell tenni, akkor inkábbO(NE)lesz. Ezzel szemben a távolságvektor alapú forgalomirányításnál nem jelentkezik ez az E tényez˝o (mivel ha adott link változása nem hat a teljes költségre akkor nem is megy frissítés).

konvergencia sebessége- Ez a link állapot alapú algoritmusoknál belátható korlátok közé szorítható, míg a távolságvektor alapú megoldásoknál nincs garantált fels˝o korlátja

robosztusság- Hogyan reagál a rendszer, ha adott csomópont rossz információkat hirdet meg? A link állapot alapú megoldásoknál ez pontszer˝u hiba, nem feltétlenül érinti a rendszer egészét. A távolságvektor alapúnál teljesen át tudja alakítani a világképet egy-egy rossz hirdetés.

Ezekb˝ol a metrikákból is látható, hogy nem létezik optimális megoldás.

Visszaidézve az Internet alapelveit azt láttuk, hogy megkülönböztetjük az adott bels˝o hálózaton belüli forgalomirányító protokollokat azoktól, amelyek ezen rendszere között végzik a forgalomirányítást.

Fontos Ma a világháló forgalomirányítás kétszint˝u, a határokat az autonóm rendszerek képviselik. Autonóm adminisztratív övezetnek tekintjük azokat, ahol egy kézben van az irányítás (cég, ország, szervezet).

Ezekhez viszonyított protokollok az alábbiak:

autonóm rendszeren belüli (IGP intra gateway protocol): Olyan protokollok, amelyek egy-egy autonóm rendszeren belül futnak. Ezen protokollok fókuszában a fizikai képességek maximális kihasználása van. Az eddig látott absztrakciós szinten mozognak (forgalomirányító, mint csomópont link, mint gráf él)

autonóm rendszerek közötti (EGP - exterior gateway protocol): Itt születik meg a hálózatok hálózata. Ezek (ebb˝ol ma egy van) a protokollok az egyes autonóm rendszerek fölött valósítják meg a forgalomirányítást. Itt más az absztrakciós szint. Az autonóm rendszerek mint csomópontok jelennek meg (akár belül több ezer forgalomirányítóval) és az ezek közötti összeköttetések a gráf élei.

A továbbiakban ezen protokollokat tekintjük át.