Hálózatok tervezése VITMM215 Maliosz Markosz 2012 12.10.1.10.15. Módszerek, algoritmusok a hálózattervezésben és a forgalom menedzsmentben Hálózattervezés = hálózati kapacitások létesítése a forgalomnak megfelelően Forgalom menedzsment (Traffic Engineering) = a forgalmat oda irányítani, ahol a szabad kapacitások vannak a hálózatban Forgalom menedzsment Minimális költségű többtermékes folyam probléma Lineáris programozás Egy heuriszti tika: Szimulált foglalás (Simulated Allocation) Hálózattervezés és forgalom menedzsment együtt Együttes topológia tervezés és útvonal meghatározás Lineáris programozás Egy heuriszti tika: Minoux mohó algoritmusa 2
Többtermékes folyam probléma Adott: Hálózat: G = (N, A) K db forrás-cél csp. pár: (s 1, t 1 ), (s 2, t 2 ),, (s K, t K ) Forgalmi igények (term termékek): d k, a forgalom nagysága s k -ból t k -ba (i,j) él (szakasz) kapacitása : u ij c ijk : egységnyi forgalom költsége az (i,j) élen a k forgalmi igényből (termékből) Változók: x ij ij k elágazó folyamok: a folyam értéke az (i,j) élen a k forgalmi igényből (termékből) nem elágazó folyamok: bináris indikátor változó, az (i,j) él része a k forgalmi igény útvonalának? 3 Minimális költségű többtermékes folyam probléma Angolul: Minimum Cost Multi-Commodity Flow (MCMF) LP felírás elágazó folyamokra: Min (,) =, ha =, ha =, 0 egyébként # (,) Kapacitás kényszerek Forrás és cél csp-ra vonatkozó kényszerek Köztes csp-ra vonatozó, folyammegmaradási kényszer 0 (,), 4
Minimális költségű többtermékes folyam probléma ILP felírás nem elágazó folyamokra: Min (,) = # (,) 1, ha = 1, ha = 0 egyébként, Kapacitás kényszerek Forrás és cél csp-ra vonatkozó kényszerek Köztes csp-ra vonatozó, folyammegmaradási kényszer &0,1' (,), 5 Probléma osztályok Polinom időben megoldható LP Minimális feszítőfa Legrövidebb út Maximális folyam Minimális költségű folyam Nem ismert polinom idejű algoritmus (NP-nehéz nehéz) ILP Utazó ügynök probléma Travelling Salesman Problem (TSP) Minimális Steiner fa (termin terminálok összekötése köztes pontok segítségével) MCMF nem osztható folyamok esetén 6
Szimulált foglalás MCMF heurisztika 7 Szimulált foglalás Simulated Allocation (SimAll) Michał Pióro Kimondottan hálózat/útvonaltervezésre alkalmas (többtermékes folyamprobléma) mind korlátozott mind korlátlan kapacitás mellett Kiindulás: üres hálózat Lépésenkénti hálózatkialakítás Vagy új útvonalat foglal le Vagy töröl egy vagy több útvonalat Nem mohó algoritmus: visszalépés, amikor már elvezetett folyamokat töröl 8
Szimulált foglalás Algoritmus: Legyen X állapot az üres hálózat Cost min := l := 0 /* lépésszám */ Ismétlés l := l+1 véletlenszám generálás: r [0,1[ ha r < q(x) akkor új útvonal lefoglalása különben egy útvonal törlése a meglévők közül ha X teljes megoldás (minden útvonal el van vezetve) és Cost(X) < Cost min akkor Cost min := Cost(X) X min := X ha X teljes megoldás vagy Cost(X) > Cost min akkor több útvonal tömeges törlése X állapotból amíg l l stop 9 q(x) függvény: Szimulált foglalás Állapot függvényében adja meg a valószínűséget Konvergencia miatt q(x) > 0.5, Gyors konvergenciához 1-hez közeli q(x) Állítható a megoldás részlegességének függvényében Sajátosságok Részleges megoldást is ki kell tudni értékelni Visszalép mindig egy részleges megoldáshoz és onnan építkezik tovább 10
Szubrutinok: Szimulált foglalás Foglalás: egy még nem elvezettet igényre kiszámolja a legrövidebb utat (ez polinom idejű) Törlés: egy adott igényhez tartozó útvonal törlése Tömeges törlés: Pl. egy (vagy több) élen haladó összes útvonal törlése (él kiürítése) 11 Együttes topológia tervezés és útvonal meghatározás 12
Együttes topológia tervezés és útvonal meghatározás Költség modell: lineárisan szeparálható költség egy szakasz (e) létesítése fix költség = β e a forgalomra vonatkozó költség: arányos a terheléssel (load), azaz a folyam értékével (f e ) az (e) szakaszon = α e f e ha egy adott szakaszon nincs forgalom, akkor azt a szakaszt el lehet távolítani a topológiából 13 Együttes topológia tervezés és útvonal meghatározás ILP felírása Az MCMF egy variációja nincsenek kapacitás korlátok létesítési költség a szakaszokra: β e a költség egységes a különböző termékekre (=forgalmi igényekre): α e Adott: Hálózat: G = (N, E) K forrás-cél csp. pár: (s 1, t 1 ), (s 2, t 2 ),, (s K, t K ) Forgalmi igények (termékek mennyisége): d k, forgalmi igény nagysága s k -ból t k -ba Döntési változók: x ek : a k igényhez tartozó forgalom folyam értéke aze szakaszon x k e 0 y e : az e szakasz része a topológiának? y e bináris, nulla-egy értékű 14
Együttes topológia tervezés és útvonal meghatározás ILP felírása min K k β e y e + α e x e e E e E k = 1 d, ha i = s x x k e k e j: e= ( i, j) j: e= ( j, i) x k e y M e, k x k e y e e 0 e, k { 0,1} e k = d k, ha i = t k k 0, egyébként k, i 15 Minoux mohó algoritmusa az együttes topológia tervezés és útvonal meghatározásra Egy adott topológia esetén, ha a legrövidebb utat választjuk a forrás és cél csp. között, akkor a hálózat költsége meghatározható a hálózat költsége csak a topológiától függ Még így is NP-nehéz a lehetséges topológiák nagy száma miatt heurisztika Minoux mohó algoritmusa jelölések: szakasz létesítési költsége: β e a költség egységes a különböző termékekre (=forgalmi igényekre): α e hálózat: G = (N, E) K forrás-cél csp. pár: (s 1, t 1 ), (s 2, t 2 ),, (s K, t K ) Forgalmi igények (termékek mennyisége): d k, forgalmi igény nagysága s k -ból t k -ba f e : terhelés az e szakaszon L: E részhalmaza, a létesített szakaszok halmaza 16
Inicializálás: Minoux mohó algoritmusa n=0 : iteráció számláló L(0)=E : minden szakasz létesítve f(0) : kezdeti terhelés a szakaszokon, a legrövidebb utakkal kiszámolva Iterációs lépések: Minden e=(i,j i,j) L(n) szakaszra, amelyre f e (n)>0, határozzuk meg i és j között a legrövidebb út hosszát, ha az e szakaszt kihagyjuk L-ből (jelölés: p(l-e)) számítsuk ki: e =p(l-e) e)f e (n)-(α e f e (n)+ β e ) e a költség változása, abban esetben ha az e szakaszt eltávolítva a legrövidebb útra tereljük a forgalmat Ha van olyan szakasz, amelyre e <0, akkor a topológián lehet javítani akkor Legyen e =min{ g : g <0, g L(n)} és L(n+1)=L(n)\{e} Minden g L(k) (k)-ra frissítsük a terhelést n=n+1 következő iteráció különben STOP ( e 0 minden e L(n) (n)-re) 17 Minoux mohó algoritmusa Példa Kiindulási állapot: topológia: teljes gráf igény minden csp. pár között legrövidebb utak közvetlen összeköttetések Teljes költség: 55 18
Minoux mohó algoritmusa Példa 1. iteráció legrövidebb út meghatározása e szakasz eltávolítása mellett e -k kiszámítása 19 Minoux mohó algoritmusa Példa e=(1,3) eltávolítása L(1)=L(0) L(1)=L(0)\{(1,3)} Miután frissítettük a terhelési értékeket, a költség kiszámítása: 55-6 = 49 20
Minoux mohó algoritmusa Példa 2. iteráció az L(1)-en dolgozunk tovább e -k újraszámolása : 21 Minoux mohó algoritmusa Példa e=(2,4) eltávolítása L(2)=L(1) L(2)=L(1)\{(2,4)} Miután frissítettük a terhelési értékeket, a költség kiszámítása: 49-4 = 45 22
Minoux mohó algoritmusa Példa 3. iteráció: e k újraszámítása az L(2) hálózaton Végső megoldás: Házi feladat: Ez az optimális megoldás? 23 Minoux gyorsított mohó algoritmusa Az algoritmus sok legrövidebb út számítást igényel Megfigyelés: az algoritmus előrehaladásával, ha egyszer egy adott szakaszhoz tartozó érték pozitív lett, akkor (eltekintve néhány ritka esetet) a értéke már nem vesz fel negatív értéket később minden lépésben csak az addig negatív értéket felvett -kat kell újra kiszámítani Feladat: alkalmazzuk Minoux (gyorsított) mohó algoritmusát az alábbi problémára 24
Virtuális magánhálózat Virtual Private Network (VPN) 25 Virtuális magánhálózat Lényeges tulajdonságok: Biztonságos kommunikáció Zárt felhasználói csoport Erőforrásainak megosztására képes közös hálózaton Összeköthet Távoli klienst a cég belső hálózatával (pl. távmunka) LAN-okat pl. egy cég több telephellyel a telephelyek között legyen közvetlen hálózati kapcsolat, de mégis le legyen választva az Internetről Több különböző definíció, osztályozás, megvalósítás és felhasználási mód létezik VPN-ekre 26
VPN előnyei Egyszerűbb kialakítani, mint a fizikait nem kell kábelezni egyszerűen csak konfiguráljuk gyorsan kialakítható rugalmasság egy fizikai hálózat felett sok különböző virtuális hálózatot lehet kialakítani Végfelhasználók számára ugyanúgy néz ki, mintha egy magánhálózat lenne A VPN-ből nem látszik a külső forgalom Mások nem látják a VPN forgalmát 27 VPN forgalmi modellek Pipe (csővezeték) modell Végpont-végpont közötti forgalom nagysága páronként Forgalmi mátrix Hose modell A felhasználó felülete (interface) a hálózat felé Egy végpont összes, aggregált bejövő és kimenő forgalma a többi végpont felé rugalmasság 28 N. G. Duffield, Pawan Goyal, Albert Greenberg, K. K. Ramakrishnan, and Jacoubs E. van der Merwe, "A flexible model for resource management in virtual private networks," in Proceedings of SIGCOMM, Aug. 1999.
VPN forgalmi modellek Hose modell előnyei a felhasználó szempontjából: Könnyebb megadni (egy /vagy kettő/ bitsebesség végpontonként) Összefogja az összes többi VPN végpont felé menő forgalmat Sávszélességet takaríthat meg a Pipe modellhez képest Viszont: a megvalósítása nagyobb feladat a szolgáltatónak! 29 Adott: VPN topológia tervezés fizikai hálózat topológiája Költségmodell: fix szakaszköltség VPN végpontok 30
VPN topológia tervezés VPN végpontok: A, C, K 1. megoldás: teljes szövevény Minden végpontot minden végponttal összekötünk: n 2 -tel arányos az élek száma Három alagút: A-C, C-K, A-K Teljesen összekötött Nem kell belső útválasztás: a végpontok a megfelelő alagútba küldik a forgalmat 31 VPN topológia tervezés 2. megoldás: Csillag topológia Élek száma n-nel nel arányos Az egyik végpontot is kinevezhetjük a csillag középpontjának A központban kell útválasztás! Hub 32
VPN topológia tervezés 3. megoldás: Steiner-fa probléma (NP-nehéz) Ha nincsenek közvetlen élek, a végpontokon kívül több köztes csomópont is részt vesz a VPN-ben Útválasztók az elágaztató csomópontoknál Heurisztikák: 1. heurisztika minimális feszítőfa meghatározása a fizikai topológián a felesleges élek eltávolítása 2. heurisztika Minden VPN végpont párra felírjuk, hogy a fizikai hálózat alapján mi a minimális költségű út közöttük Ez alapján kapunk egy teljes szövevényt Ebben meghatározzuk a minimális feszítőfát (pl. Kruskal) A min. feszítőfát visszavezetjük az eredeti hálózatra a költségek növekvő sorrendjében 33