Elosztott rendszerek NGM_IN005_1 Peer-to-peer rendszerek Peer-to-peer Egyenl! funkcionális csomópontokból álló elosztott rendszer nagyméret" er!forrás elosztó rendszerek speciális menedzselés" szerverek és a hozzájuk kapcsolódó infrastruktúra nélkül egyszer"bb adminisztráció jobb hibat"rés hálózati munkaállomások számítási er!forrásainak kihasználása (edge resources) szélessávú kapcsolat, elegend! számítási kapacitás 2
Peer-to-peer (folyt.) Hagyományos nagyteljesítmény" kliens-szerver rendszerek szorosan csatolt szerverek klaszterei p2p rendszerek az er!forrás elhelyezési algoritmus fontos elem decentralizált, dinamikusan kiegyenlített, önszervez!d! változékony er!források (volatile), kiszámíthatatlan rendelkezésreállás szétterített felel!sségek anonimitás, rendelkezésre állás biztosítása 3 Peer-to-peer (folyt.) felhasználók biztosítják az er!forrásokat csomópontok azonos funkcionalitással, de eltér! er!forrásokkal nincs szükség centralizált adminisztrációra korlátozott anonimitás biztosítható terhelés elosztás hozzáférési hiba valószín"sége tetsz!legesen kicsivé tehet! replikációval 4
P2p megoldások Logikai hálózati architektúra Decentralizált Félig centralizált n1 n9 n2 n1 D S n2 n7 n8 n6 n3 n7 n8 n6 n3 n5 n4 n5 n4 5 Peer-to-peer generációk 1. generáció struktúrálatlan elrendezés, bizonyos er!források centralizáltak pl. Napster 2. generáció kisebb függés centralizált er!forrásoktól pl. Gnutella, Kazaa, BitTorrent 3. generáció (p2p middleware) struktúrált elrendezés pl. Pastry, Tapestry 6
Peer-to-peer alkalmazások Katonai alkalmazások Személyi szolgáltatások (kommunikáció) Tudományos számítások distributed computation Távoktatási rendszerek Overlay routolás 7 Elosztott számítások Számítás intenzív taszkok háttérfolyamatokként a munkaállomásokon Kevés koordinációt igényl! (független) számítások SETI@home (27.36 teraflops/12 months in 2002) Nagy prímszámok keresése Brute-force kód feltörés 8
Overlay routolás Alkalmazási réteg routolás (IP felett) Nagyobb cím (név) tér csomópontok, er!források Rugalmasabb terhelés elosztás nem topológia korlátozott (forgalmi minták a topológiától elválasztva) Rugalmasabb adminisztráció routolási táblák frissítése jobban szabályozható (nem besteffort) 9 Overlay routolás (folyt.) A s routing knowledge D s routing knowledge C A D B Object: Node: B s routing knowledge C s routing knowledge 10
Overlay routolás (folyt.) Jobb hibat"rés replikált objektum referenciák, útvonalak Könnyebb multicast, routolás a legközelebbi replikához Anonimitás biztosítható 11 Napster Digitális zene fájlok tárolása és letöltése Centralizált indexek replikálás Figyelembe vette a hálózati lokalitást peerek közötti hop szám Gyenge er!forrás replikálás és rendelkezésre állás Jogi felvetésekre bezárták (copyright) 12
Napster (folyt.) peers Napster server Index 1. File location request 2. List of peers offering the file 5. Index update 3. File request 4. File delivered Napster server Index 13 3. generációs rendszerek Üzenetek kézbesítése korlátos számú ugrással Struktúrált replikálás változékonyság, megbízhatóság, terhelés figyelembe vétele Globálisan egyedi azonosítók használata GUID, hash függvények Jól alkalmazható nem változtatható er!források tárolása 14
3. generációs rendszerek (folyt.) Particionált, eloszott er!forrás indexek Funkcionális követelmények egyedi er!források lokalizálása, kommunikáció biztosítása er!források és befogadó szerverek hozzáadása és eltávolítása hozzáférés átlátszó API-n keresztül anonimitás, részvétel megtagadása 15 3. generációs rendszerek (folyt.) Nem funkcionális követelmények globális skálázhatóság terhelés elosztás optimalizálás lokális interakciókra a szomszédos peerek között alkalmazkodás er!sen dinamikus hoszt rendelkezésre álláshoz változó session hosszúság er!forrás újraelosztás Biztonság heterogén megbízhatóságú környezetben 16
Overlay routolás megvalósítása Er!források és csomópontok helyének meghatározása replikációs környezetben legközelebbi él! csomópont kiválasztása Nem átlátszó azonosítók nincs hely információ routolási táblák: elosztott hash táblák (DHT) 17 Overlay routolás megvalósítása (folyt.) Tevékenység kérések célbajuttatása er!források hozzáadása elvétele (put, remove) Replikáció szervezése routolási rétegben replikációs faktor r (r legközelebbi GUID) routolási réteg felett notifikációs megoldás (publish, unpublish) 18
Routolási technikák prefix routolás CIDR-hez hasonlóan távolság metrika d dimenziós attribútum térben GUID XOR mint távolság emberi fogyasztásra szánt címek leképzése GUID-kre BitTorrent: web indexek ->torrentek - tracker info: szolgáltatók listája 19 A Pastry rendszer 128 bit GUID-k csomópontok nyilvános kulcsaiból képzett SHA-1 N résztvev! csomópont esetén üzenetek továbítása O(logN) lépésben kérések közvetlen továbbítása a GUID tér numerikus szomszédságában szállítási protokoll normálisan UDP szomszédos Pastry csomópontok között több IP hop lehet 20
A Pastry rendszer (folyt.) Routolási algoritmus kör-körös GUID tér leaf set: 2l méret" vektor (GUID, IP cím) numerikusan közeli GUID-k (l alatta, l felette) id!vel konvergál az aktuális konzisztens állapothoz az egészrendszerben üzenetek továbbítása a leaf set célcímhez numerikusan legközelebbi tagjának 21 A Pastry rendszer (folyt.) Továbbítás 65A1FC-r!l D46A1Cre leaf set méret: 8 (l=4) fiktív helyzet - továbbítás csak leaf set segítségével 65A1FC 0 FFFFF...F (2 128-1) D471F1 D467C4 D46A1C D13DA3 22
A Pastry rendszer (folyt.) leaf seten kívül továbbításhoz + routolási tábla next hopok hexadecimális GUID prefix releváns csomópontokhoz 23 A Pastry rendszer (folyt.) 0 FFFFF...F (2 128-1) D471F1 D46A1C D467C4 D462BA Továbbítás log16n ugrással D4213F D13DA3 65A1FC 24
A Pastry rendszer (folyt.) Join üzenetek IP értelemben közeli csomópontnak, ez továbbítja a a legközelebbi GUID-hoz IP lokalitás metrika használata hearbeat üzenetek a leaf set elemeinek random variancia kis valószín"séggel nem a leghosszabb egyez! prefixnek hibat"rés javítása 25 A BitTorrent Nagy méret" fájl megosztó p2p protokoll Kezdeti megosztó: seed 2001-ben tervezték és implementálták BitTorrent Inc. kb. 1,1 Petabájt megosztott adat 26
A BitTorrent (folyt.) torrent meta adatok(fájl, tracker) tracker fájl elosztás koordinálása peer kliensek kapcsolódás a trackerhez fájl darabokat tartalmazó másik peerek leírása fájl darabok letöltése legritkább darab el!ször socket kommunikáció 27 A BitTorrent (folyt.) 28
A BitTorrent (folyt.) Torrent fájl tracker URL, fájlnevek, darab méretek, ellen!rz! összeg darabokhoz SHA-1 ellen!rz! összeg trackerless üzemód minden peer tracker is le és feltöltési ráták optimizálása (torrent kliens) tit for tat séma optimistic unchoking sávszélesség hányad fel és letöltésre random peerek felé 29 A BitTorrent (folyt.) Felhasználás film, video, zene letöltés BitTorrent Inc. licencelés média broadcast NRK személyes anyagok cseréje szoftverek nyílt forrású projektek Hálózati hatás 20-40% forgalmi részesedés NAT táblák feltölt!dése 30
Skype Hanghívások Interneten keresztül Instant messaging Fájlátvitel Videokonferencia SkypeIn, SkypeOut 300 millió account 31 Skype protokoll Supernode proxy (relay), online felhasználók listája Közönséges node Login szerver autentikáció, jelenlét hírdetés Overlay network Host cache supernode-ok listája RC4 obfuscated traffic NAT megkerülése: routolás NAT nélküli node-okon keresztül 32
Peer-to-peer kihívások Szabványosítás Er!forrás keresés gyorsítása, megbízhatóság növelése Biztonság, autentikálás, autorizáció és bizalmi kérdések Jogi szabályozás 33