2009.02.18.
Bevezetés
P2P elosztott rendszerek napjainkban
► Napjainkban
megkérdıjelezhetetlen az elosztott rendszerek jelentısége jelentısége.. ► A közismert többrétegő architektúrák mellett egyre inkább tért nyernek az egyenrangú résztvevık együttmőködésén alapuló, úgynevezett Peer--to Peer to--Peer (P2 (P2P) rendszerek rendszerek.. ► A sávszélesség növekedés elısegítette a P2P hálózatok fejlıdését. fejlıdését. ► A P2P ma már paradigma (Fájlcserélı hálózatok, osztott rendszerek).
Párhuzamos és Elosztott rendszerek II. Dr. Mileff Péter
2
A P2P tulajdonságai röviden
Mi is az a P2P? ► Olyan
informatikai hálózat, ahol a végpontok közvetlenül egymással kommunikálnak. kommunikálnak. ► Nincs pontos definíció definíció.. ► Nincs központi kitüntetett csomópont csomópont..
►
A P2P fogalom két hasonló fogalomkört takar takar:: 1. számítógépek egyenrangú technológiai szintő kapcsolódási módja egy hálózaton, 2. valamilyen célból közvetlenül kapcsolódó szoftver megoldások mőködési elvét.
► Elınyök:
A közvetlen kapcsolat hibatőrıbb felépítést, skálázhatóságot jelent. ► Hátrányok:
Nehezebb adminisztráció, az erıforrások pazarló használata, a nehezebb megvalósíthatóság. P2P alapú hálózat
Szerver alapú hálózat
3
4
1
2009.02.18.
Peer--toPeer to-Peer rendszerek felépítése
A P2P tulajdonságai röviden ► Az
ügyfél-kiszolgáló kapcsolathoz képest ügyféljelentısen eltérı módon mőködnek: a szerepek nincsenek elıre meghatározva. többnyire követelmény is, hogy az összes résztvevı képes legyen valamilyen erıforrást a rendszer egésze számára elérhetıvé tenni: ► viszonzás
►
A P2P rendszerek úgynevezett overlay („fölöttes”) network létrehozásával mőködnek.
►
Oka: rendszer alapvetıen szomszédossági alapon mőködik, mőködik, ne legyen szükség kitőntetett szerepő résztvevıkre. Elegendı legyen, hogy minden node csak korlátos számú másikkal tartson kapcsolatot. üzenetek továbbítása logikai pontpont-pont kapcsolatokon keresztül történik.
az igénybevett szolgáltatásokért.
►A
megosztható erıforrások általában a következı három kategóriába sorolhatók: fájlok, számítási kapacitás, felhasználói jelenlét (legegyszerőbb esetben csevegés). 5
6
A P2P nem újdonság ►
Egyedi felépítések
Az „ıs „ıs--Internet Internet”” pontosan ugyanígy mőködött
►
minden csomópont útvonalválasztóként is funkcionált, az ügyfélügyfél-kiszolgáló szerepek sem különültek el. Gazdaságossági és technikai okokból a lapos hierarchia folyamatosan kezdett központosodni. ► Végül klienskliens-szerver architektúra. ►
►
A mai Internet erısen specializált, a három szerep tipikusan szeparáltan jelenik meg. Emiatt egy mai P2P elosztott rendszer: saját logikai hálózatot alakít ki saját üzenettovábbító mechanizmusokkal.
►
A P2P terjedésének jó alapot biztosít a sávszélesség és számítási kapacitás növekedése.
7
Saját útvonalválasztó és üzenettovábbító alrendszer szükségessége fontos: Szabadságot jelent: az adott alkalmazás számára protokollszinten biztosíthatunk támogatást. Pl. tartalom szerinti routeroute-olás lehetısége. A megcélzott hardver eszközök és átviteli közeg ismeretében lehet dönteni az alkalmazandó routing algoritmus típusáról. Egy adott algoritmus számításigénye és az általa generált forgalom fordítottan arányosnak tekinthetı. Kialakításuk sok munkát igényel. 8
Elsı verziókat a fájlcserélı alkalmazások hozták el.
2
2009.02.18.
Egyedi felépítések ►
A P2P hálózatok csoportosítása
A P2P rendszerekben az útvonalválasztás ill. a protokoll nem választható el az alkalmazástól:
►
Több szempont alapján lehetséges a csoportosítás.
►
1. A felhasználási célok alapján:
Egy fájl megosztó rendszer alkalmazása esetén elegendı ha legalább 1 példányt megtalálunk egy állományból. Egy csevegés jellegő (chat, whiteboard) whiteboard) együttmőködés esetében az összes résztvevıhöz el kell jussanak az események. ►
Ezek okok miatt általános protokollszintő optimalizációról nem beszélhetünk.
►
Fájlmegosztás (pl.: torrent) torrent) Telefon (pl. skype, skype, voip) voip) Videó és audio streaming Fórumok
2. A centralizáltsági fok alapján. Tiszta P2P hálózatok Nem tiszta (hibrid) P2P hálózatok
9
A P2P hálózatok csoportosítása ►
10
Decentralizált, vagy tiszta P2P
A tiszta P2P hálózatok jellemzıi: pl. fájlmegosztás • A PeerPeer-ek egyenlıként tevékenykednek a kliens és szerver szerepkörök egybeolvasztásával egybeolvasztásával.. Nincs központi szerver, amely menedzselné a hálózatot, Nincs központi router. router. A döntéseket mindig a részvevık hozzák maguk.
►
A hibrid P2P hálózatok jellemzıi: • Létezik egy központi szerver, amely információkat tárol az egyes peer--ekrıl peer ekrıl.. • Az egyes peer-ek felelısek a rendelkezésre álló erıforrások hostolásáért. • A szerver ismeri a peerpeer-ek által megosztásra szánt erıforrásokat erıforrásokat.. Valamint a peerpeer-ek felelısek azért is, hogy mely erıforrásokat 11 teszik osztottá a többi peer felé.
12
3
2009.02.18.
Példák
Egy félig centralizált, vagy hibrid P2P ► Centralizált
P2P hálózat: Napster Napster..
A fájlcserélık ıse. Több millió felhasználó. hibrid, központi szerverfarm. Szerzıi jogsértések miatt bezárták. www.napster.com
► Decentralizált
P2P hálózat: KaZaA
www.kazaa.com
► Strukturált
P2P hálózat: CAN ► Nem strukturált P2P hálózat: Gnutella 13
14
További p2p csoportosítás ► ► ►
További p2p csoportosítás
http://indypeer.org/doc/p2p_networks.php Az indypeer három csoportot különböztet meg: Elsı generációs p2p:
► Harmadik ►
Központi szerver alapú, a kereséshez ezt használják a kliensek. ►
a kliensnek csatlakoznia kell egy megadott szerverhez (egyikéhez)
A szerver tárolja a rendelkezésre álló fájlok globális listáját. Pl.: Audiogalaxy, Audiogalaxy, Napster, Napster, ((Bittorrent Bittorrent). ). ►
► ►
Második generációs (hibrid) p2p: Legismertebb típus. A hálózati infrastruktúrát (Pl. keresés) szupercsomópontok tartják fent, melyek szerverfunkciókat is ellátnak. Ezek magas száma miatt a hálózat globális, nem lehet ellehetetleníteni jogi, technikai eszközökkel. Hátrány: a keresés nem mindig kielégítı. Pl.: eDonkey, eDonkey, Fasttrack. Fasttrack.
generációs p2p:
Mőködésük teljesen elosztott, minden csomópont egyenrangú, A kliens és szerver szerepek keverednek, Fejlıdésüket a CPU és a hálózati sávszélesség növekedése segítette. A kliensek így tudták fokozatosan átvenni a szerver szerepeket. Pl. a rendelkezésre álló fájlok listájának fenntartása, és terjesztése
►
15
Pl.: Overnet , Gnutella (7 mélységben elárasztó keresési algoritmusa hálózatigényes), WinMX, WinMX, kadMule. kadMule. 16
4
2009.02.18.
Centralizált, hibrid dokumentum megosztás
Fájlmegosztás a p2p rendszerekben ►
►
Napjaink legelterjedtebb P2P rendszerei azon rendszerek, amelyek célja alapvetıen a fájl megosztás. Több fejlıdési irány alakult a dokumentumok megosztására a történelem során:
Centralizált, hibrid Teljesen elosztott, homogén Félig elosztott, hierarchikus Elosztott indexelés
Egy hibrid P2P rendszer valójában nem teljesen felel meg a P2P rendszer definíciójának. ► Minden csomópont egyenrangú. ► A felhasználók dokumentumainak attribútumai (fájlnév, szerzı, milyen IPIP-vel rendelkezı gépen található cím, stb.) egy központi szerveren vagy szerver csoporton vannak tárolva. ►
Ezek az elsı generációs P2P hálózatok. Pl.: Napster. Napster. ►
a szerver kiszolgálókiszolgáló-képességének határáig gyors, a keresés az összes dokumentumban történik, viszonylag kis hálózati forgalom. ►
Teljesen elosztott, homogén dokumentum megosztás
Hátrány: A centralizáltság: az egész rendszer mőködése megszőnik a szerver 18 hibája, vagy megszőntetése miatt (Pl.: Napster) Napster)
17
A keresés menete ►
P2P következı generációja, valódi p2p rendszer. Leggyakoribb példa a Gnutella hálózat. ► Az ilyen rendszerben valóban minden résztvevı (csomópont) egyforma: ►
a csomópontok teljesen azonos szerepőek, ugyanazt a feladatot látják el. a dokumentumok adatai nem egy központi szerveren találhatók Csak az adott résztvevı tudja, hogy milyen attribútumokkal rendelkeznek az általa tárolt dokumentumok.
►
Az egyik csomópont megkap egy kérést (keresést), megvizsgálja, hogy nála megtalálhatómegtalálható-e az adott dokumentum, majd ha nem, tovább küldi az általa ismert résztvevıknek, akik szintén ezeket a mőveleteket hajtják végre a kérésen. Hátrányok: keresés lassabb, nagy hálózati forgalmat generál. A keresésnél figyelembe kell venni a résztvevı sávszélességét.
► ►
Elınyök:
Elıny:: egy résztvevı hibából, vagy más okokból történı Elıny
leállása, leállítása nem okoz problémát problémát.. Sok rendszer ezen a megoldáson alapszik. alapszik. ► Pl Pl.: .: LimeWire, LimeWire, Shareaza, Shareaza, Morpheus. Morpheus.
A keresés tehát megnehezedik: A keresés már nem csupán egy központi szerverhez való adatküldésre korlátozódik.
► 19
20
5
2009.02.18.
Résztvevık szerepei
Félig elosztott, hierarchikus p2p ►
►
A gyakorlatban fájlmegosztásra használt rendszerek jelentıs része hierarchikus hierarchikus.. Ekkor:: nem minden csomópont azonos, de azonos Ekkor viselkedési típusok, szerepek közül választhatnak. választhatnak. Pl Pl.: .: Nagyobb hálózati forgalmat vagy számítási kapacitást kiszolgálni képes csomópont kiválaszthatja a neki megfelelı szerepet, amivel a többlet erıforrásai kihasználhatóvá válnak. válnak.
►
►
A kisebb képességő résztvevık közvetlenül nem vesznek részt a keresésben, dokumentumaik információit odaadják egy nagyobb képességő résztvevınek. Közvetlen kapcsolatban állnak.
►
A kérések (keresés) mindig a supersuper-node node--hoz érkezik be
►
A többi társához továbbítja a kérést, akik mind információval rendelkeznek a hozzájuk kapcsolódó kisebb képességő résztvevık dokumentumairól is.
Az ilyen rendszerek jelentıs része kétszintő
►
Kisebb képességő résztvevık, ► Gyengébb
hardver, sávszélesség
►
nagyobb képességő résztvevı (super super--node node)). ► Erıs
hardver, sávszélesség sávszélesség.. 21
►
►
► ►
Az architektúra tehát az elızı két típusú rendszerek elınyeit próbálja ötvözni A legtöbb mai rendszer kétszintő. Pl.: Kazaa, Kazaa, Morpheus,stb. Morpheus,stb.
22
Elosztott indexelés problémáinak kiküszöbölése
Elosztott indexelés ►
Mindaddig, amíg a dokumentumot meg nem találják.
A központi szerver szerepe rábízható a többi résztvevıre is. Egy megfelelıen szervezett struktúra hasonlóan gyors lehet, míg hibákra és egyéb tényezıkre érzéketlen marad az elosztott tárolás következményeként. A megoldás az elosztott indexelés alkalmazása. Az indexek: legtöbbször bináris formába alakítás után egy fa, vagy egy győrő struktúrában tárolhatók. az index utáni keresés logaritmikus mértékő a résztvevık számához képest. Hátrány Hátrány:: többnyire egyszerre csak egy kritérium (például fájlév) indexelését támogatják, ami nem elég flexibilis.
► ►
►
1. Az elızı architektúrákkal való kombinálás segíthet. 2. Speciális struktúrák bevezetése, ahol több, hierarchikus felépítéső indexindex-szerkezet létezik. (indexek indexei) A keresés gyorsítása: a P2P struktúra figyelembe veszi az egyes résztvevık földrajzi elhelyezkedését, vagy a hálózati késleltetést (például Grapes). Grapes).
23
24
6
2009.02.18.
A Gnutella, Gnutella, mint homogén P2P protokoll
Elosztott indexelés ►
►
Elınyök: Teljes elosztott mőködés Gyors Kis hálózati forgalmat generáló keresés a dokumentumok között
►
Hátrányok:
►
Egyik legelterjedtebb fájlmegosztó protokoll. Kevésbé számításigényes, Broadcast Broadcast--ot valósít meg. ► Az egyes kérések által generált forgalmat az úgynevezett TTL (time to live live,, hátralevı élettartam) paraméterrel korlátozza. ►
7-rıl indul és minden továbbításkor csökken eggyel. Mikor eléri a 00-t, a csomag nem kerül továbbításra.
Csökkent mértékő flexibilitás Meglehetısen bonyolult felépítés: Egy index fa, vagy győrő, esetleg egyéb, elhelyezkedésen alapuló struktúra felépítése és karbantartása legtöbbször nem egyszerő algoritmusokat igényel. Pl.: Gridella, Chord, Pastry, Tapestry, Freenet, Grapes. 25
Az utoljára látott n csomag azonosítójának megırzése. Ezt az információt a forrás összeköttetéssel együtt tárolja, és a válaszok back--route back route--olására is felhasználja. ►
A Gnutella, Gnutella, mint homogén P2P protokoll ►
►
A Gnutella kérések ugyanis nem tartalmaznak IP címeket, csak a válaszok. Ez egyfajta névtelenséget biztosít a résztvevık 26 számára.
A Gnutella, Gnutella, mint homogén P2P protokoll
A mai Internet közönsége érthetı okokból bizalmatlan. Leggyakoribb megnyilvánulása a tőzfalak használata erıteljesen elhatárolja a kiszolgálókat és az ügyfeleket. minden P2P rendszernek számolnia kell ezzel.
►
Az egyszer már feldolgozott csomagok újraprocesszálásának és újraküldésének elkerülése:
Az overlay network szempontjából tehát szükséges olyan node--ok jelenléte, amelyek képesek kapcsolatokat fogadni, node nincsenek tőzfal mögött. A nagyobb probléma a fájlátvitel támogatása:
►
A Gnutella specifikáció a legteljesebb mértékben nyitva hagyja a hálózatépítés és a logikai hálózatban megvalósítandó célszerő topológia kérdését. kérdését.
►
Gnutella protokol 0.4: http://www9.limewire.com/developer/gnutella_protocol_0.4.pdf
Gnutella Gnutella:: a két node közül legfeljebb az egyiket védi firewall. firewall. ►
Push Request: Request: a szerver van tőzfal mögött, de ı indítja a fájlátvitelt. Tőzfal átkonfigurálás ekkor nem szükséges.
27
28
7
2009.02.18.
A P2P további alkalmazási területei
A P2P további alkalmazási területei ►
►
Egyre jelentısebb alkalmazási terület a telefonprogramok,, Pl. Skype telefonprogramok Skype..
► ►
Ezek a peerpeer-toto-peer hálózatok által olcsón biztosított infrastruktúrát használják ki, az olcsón telefonos szolgáltatás biztosítása miatt.
►
A Skype készítıi hamar felismerték a P2P P2P--ben rejlı lehetıségeket:
P2PTV: a video streamek (általában TV) P2P hálózatokon P2PTV: való valósidejő elosztására fejlesztették ki. Tulajdonságai: a világ minden csatornája globálissá tehetı. Elınyei megegyeznek a többi P2P szoftverekével. Minden felhasználó feltölt a letöltéssel párhuzamosan, így hozzájárul az összössz-sávszélességhez sávszélességhez.. Minél többen néznek egy csatornát, annál jobb a kép.
befektetett tıke nélkül tudnak magas szintő szolgáltatást nyújtani. ►
Mőködése: Broadcatching techológia techológia.. Kimondottan digitális tartalomra kifejlesztve. A tartalom RSSRSS-en keresztül letölthetı.
2006 2006--ban beindították a Joost internetes tv szolgáltatást. 29
30
Összefoglalás ►A
P2P folyamatosan mindennapjaink részévé válik.
Mobilkommunikáció, internettelefon, tv, stb.
Köszönöm a figyelmet!
► Kitőnı
fejlıdési irány az osztott rendszerek fejlesztésében.
► Számos
GRID is ezen a technológián alapszik.
31
32
8