Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

2006. Peer-to-peer platformok: JXTA Távközlési és Médiainformatikai Tanszék.

Hasonló előadás


Az előadások a következő témára: "2006. Peer-to-peer platformok: JXTA Távközlési és Médiainformatikai Tanszék."— Előadás másolata:

1 2006. ápr.20.simon@tmit.bme.hu1 Peer-to-peer platformok: JXTA Távközlési és Médiainformatikai Tanszék

2 2006. ápr.20.simon@tmit.bme.hu2 Peer-to-peer rendszerek Fájlcserélők  Gnutella,  Kazaa  … P2P instant üzenet küldő alkalmazások  Skype Installálni kell alkalmazásként  Mit csinál ez az installált rész?

3 2006. ápr.20.simon@tmit.bme.hu3 Peer-to-peer rendszerek Mindegyikük  Saját protokollt használ  Saját alkalmazás programozás felületet (API) definiál  Külön installálni kell mindegyik alkalmazást Annak ellenére, hogy sok hasonló feladatot látnak el  Üzenetek kezelése  Szomszédok azonosítása  Keresés lebonyolítása

4 2006. ápr.20.simon@tmit.bme.hu4 Peer-to-peer platform Általános elnevezés Egy előre megírt eszköz-tár (tool-kit) API-definíciók  Nyílt forráskód nagyobb rugalmasságot biztosít Együttműködés más protokollokkal  Routing  Címzés  Keresés

5 2006. ápr.20.simon@tmit.bme.hu5 JXTA

6 2006. ápr.20.simon@tmit.bme.hu6 Tartalomjegyzék JXTA áttekintés JXTA komponensek JXTA hálózati architektúra JXTA protokollok

7 2006. ápr.20.simon@tmit.bme.hu7 JXTA röviden Nyílt p2p platform, jogdíjak nélkül használható http://www.jxta.org Konnektivitás ellenőrzése a hálózat szélén (peerekben) Elősegíti a hálózatba szervezett eszközök kommunikációját és együttműködését Támogatott op.rendszerek/platformok: Java 2 Platform, Solaris, Linux, Windows, MacOS  Több eszköztípuson is futtatható Mobil telefonok, PDA-k, szenzorok, PC-k, szerverek SUN és nemzetközi p2p fejlesztői csapat által támogatott bővítés

8 2006. ápr.20.simon@tmit.bme.hu8 JXTA - célkitűzések P2P alkalmazások általánosan használt funkcióinak biztosítása Együttműködés különböző P2P szolgáltatások közt (interoperability) Platform, nyelv és hálózat függetlenség Bármely eszközre (ubiquity)

9 2006. ápr.20.simon@tmit.bme.hu9 JXTA virtuális hálózat Minden fizikai eszközt peerként kezelünk Virtuális Hálózat  Ugyanazok a szolgáltatások  Ugyanazok a modulok

10 2006. ápr.20.simon@tmit.bme.hu10 JXTA Peerek képességei Más peerek felderítése a hálózatban (tűfalon és NAT-on keresztül is) P2P fájlmegosztás Tartalomkeresés a hálózaton Egy adott szolgáltatást nyújtó peer-csoport létrehozása Peerek tevékenységének távfelügyelete (monitoring) (Biztonságos) kommunikáció a hálózaton

11 2006. ápr.20.simon@tmit.bme.hu11 JXTA alrétegek v1.0

12 2006. ápr.20.simon@tmit.bme.hu12 JXTA alrétegek v2.0 http://www.jxta.org/project/www/docs/JXTA2.0protocols1.pdf

13 2006. ápr.20.simon@tmit.bme.hu13 JXTA komponensek

14 2006. ápr.20.simon@tmit.bme.hu14 JXTA alapelemek Cél a konkrét feladattól elvonatkoztatni  Általános  Egységes  Hasonló az öröklés/felülírás elvekhez PeerID – Azonosító  Globális, egységes címtér Peer csoportok  szolgáltatások közös halmazát nyújtó peerek Pipe – Csatorna  Független a végpontoktól Advertisment – Hirdetmény  XML alapú  Minden üzenet

15 2006. ápr.20.simon@tmit.bme.hu15 Azonosítás UUID, 128-bites azonosító Egy entitást (entity) jelöl  Peer, peer csoport, hirdetmény (üzenet, advertisment) Egyediséget biztosít peer-en belül  Peeren kívül (IP cím, név, UUID) egyedi lesz

16 2006. ápr.20.simon@tmit.bme.hu16 Peer végpont (Peer endpoint) Hálózati interfészek absztrakciója

17 2006. ápr.20.simon@tmit.bme.hu17 Peer Csoport I. Szolgáltatások egy halmazát nyújtó peer-ek csoportja

18 2006. ápr.20.simon@tmit.bme.hu18 Peer Csoport II. Tetszőleges csoportosítás (egy peer több csoportnak is tagja lehet) Mindenki tagja a NetPeerGroup-nak A peer csoportok hierarchikus struktúrát alkothatnak Egyedi Peer group ID Mire jó?  Biztonsági tartomány létrehozása  Érvényességi tartomány (scope) létrehozása  Monitor tartomány létrehozása

19 2006. ápr.20.simon@tmit.bme.hu19 Peer csoport III. Egy szolgáltatáson keresztül egymással kapcsolatba kerülő peereknek egy csoportba kell tartozni Alap peer-csoport szolgáltatások  Felderítés  Tagság  Hozzáférés  Csatorna (pipe)  Lekérdezés (resolver)  Felügyelet (monitoring)

20 2006. ápr.20.simon@tmit.bme.hu20 Peer Csoport IV. JXTA kezeli a peer-csoportok  Hirdetését  Felderítését  Csatlakozási folyamatot  Monitorozását Nem kezeli  Mikor és miért jöjjön létre egy új csoport LightweigthPeerGroup

21 2006. ápr.20.simon@tmit.bme.hu21 Hálózati szolgáltatások A peerek együttműködése = hálózat szolgáltatások  Hirdetése  Keresése  Igénybevétele Hálózati szolgáltatások típusai  Peer szolgáltatás  Peer csoport szolgáltatás

22 2006. ápr.20.simon@tmit.bme.hu22 Csatornák (Pipes) I. Aszinkron üzenet küldés/fogadás Egyirányú  Output és Input csatorna Dinamikus kötés (Pipe Binding Protocol)  Adott csatornát „át lehet kötni” más peer-re Point-to-point pipe  Pont-pont kapcsolat Propagate pipe  Pont-többpont kapcsolat Nem szükséges közvetlen fizikai kapcsolat a két peer közt

23 2006. ápr.20.simon@tmit.bme.hu23 Csatornák (Pipes) II.

24 2006. ápr.20.simon@tmit.bme.hu24 JxtaSocket, JxtaBiDiPipe Kétirányú, megbízható kommunikáció

25 2006. ápr.20.simon@tmit.bme.hu25 Hirdetmény XML formátumú dokumentum Erőforrások kezelésére használják  Megnevez  Leír  Hirdet (publish) Lehetséges erőforrások  Peer, peer csoport  Csatorna (pipe)  Szolgáltatás

26 2006. ápr.20.simon@tmit.bme.hu26 Példa: Peer hirdetmény (2/1) (peer azonosító) urn:jxta:uuid-9616261646162614A7874615032503356 CFE39F036E4038ABE1801D40772DC803 (csoport azonosító) urn:jxta:jxta-NetGroup (név) Super Chicken (szolgáltatás leíró) …

27 2006. ápr.20.simon@tmit.bme.hu27 Példa: Peer hirdetmény (2/2) (szolgáltatás) (module class ID) urn:jxta:uuid-DEADBEEFDEAFBABAFEEDBABE0000000805 (paraméterek) (cím) tcp://198.1.0.70:9701/ (cím) http://JxtaHttpClientuuid-59616261646162614A78746 15032503356CFE39F036E4038ABE1801D40772DC803/

28 2006. ápr.20.simon@tmit.bme.hu28 Üzenetek Megbízhatatlan, egyirányú környezetben is Envelope – ‘burkolat’ Protokoll elemek Protokoll elem 1EnvelopeProtokoll elem n

29 2006. ápr.20.simon@tmit.bme.hu29 Üzenet bukolat (envelope) Forrás - opcionális Célállomás – absztrakt cél  URI – Fizikai eszköz közti kötés rugalmas Üzenet kivonatFejléc Forrás Cél

30 2006. ápr.20.simon@tmit.bme.hu30 JXTA hálózati architektúra

31 2006. ápr.20.simon@tmit.bme.hu31 Hálózat jellemzők Heterogén  Infrastruktúra jellegű  Ad hoc jellegű  NAT/firewall Dinamikusan változó  Tranziens hálózati kapcsolatok  Új peerek bármikor csatlakozhatnak vagy távozhatnak

32 2006. ápr.20.simon@tmit.bme.hu32 Fizikiai/virtuális peer

33 2006. ápr.20.simon@tmit.bme.hu33 Universal resource binding Egységes mechanizmus erőforrások feloldására központi infrastruktúra nélkül  Peer ID → IP cím (DNS)  Adott szolgáltatás nyújtó peer keresése  Adott tartalom keresése elosztott fájlrendszerben Minden feloldás művelet hirdetmények felderítésén alapul

34 2006. ápr.20.simon@tmit.bme.hu34 Peer típusok Felosztás szempontja a hirdetmények felderítése során betöltött szerep  Hirdetmények kezelése  Felderítő üzenetek kezelése  Útvonalkeresés Típusok  Minimal edge peer  Full-featured edge peer  Rendevous peer  Relay peer Super-peers

35 2006. ápr.20.simon@tmit.bme.hu35 Minimal edge peer Korlátozott erőforrások (PDA, telefon) Üzenetek küld és fogad De nem tárolja más peerek  Hirdetményeit  Útvonal kereső üzeneteit

36 2006. ápr.20.simon@tmit.bme.hu36 Full-featured edge peer A legtöbb peer ebbe a kategóriába sorolható Hirdetmények tárolja (caching) Válaszol a felderítő üzenetekre Nem továbbítja a felderítő üzeneteket

37 2006. ápr.20.simon@tmit.bme.hu37 Super Peer Hierarchia  Skálázhatóság Dedikált célokra  Rendezvous Peer  Relay Peer

38 2006. ápr.20.simon@tmit.bme.hu38 Rendevous peer Az edge peerek hirdetményeit indexeli (nem tárolja) Továbbítja a felderítő üzeneteket Minden peer csoport nyilvántartja a saját rendevous peerjeit Ha egy peer becsatlakozik egy csoportba, kiválaszt egy rendezvous peert vagy saját maga lesz az

39 2006. ápr.20.simon@tmit.bme.hu39 Rendezvous peers

40 2006. ápr.20.simon@tmit.bme.hu40 Hirdetmények indexelése Shared-Resource Distributed Index service Hirdetmények indexeinek elküldése a rendevous peernek Szinkron/aszinkron

41 2006. ápr.20.simon@tmit.bme.hu41 Rendevous overlay hálózat Gyengén konzisztens  Nem frissíti minden rendevous peer a teljes hálózat állapotát Miért?  Dinamikusan változó ad hoc jellegű hálózat Hibrid megközelítés  Gyengén konzisztens DHT

42 2006. ápr.20.simon@tmit.bme.hu42 Rendezvous Peer View (RPV) Minden egyes rendezvous peer fenntart egy RPV-t Sorrendbe állított rendezvous peer lista Globálisan konvergál  Laza konvergencia Seeding rendezvous  Referencia RPV-t tartalmaz Véletlen szám sorsolás – annál a sorszámnál levő rendezvous peer-nek elküldeni a saját RPV-t „Heartbeat” – szomszédsági viszony fenntartása  +1 and -1 az RPV listában A nem válaszoló rendezvous peer-t törlik az RPV- ből

43 2006. ápr.20.simon@tmit.bme.hu43 Relay peer Más peerek felé vezető útvonalak nyilvántartása Üzenetek továbbítása más peerek nevében (pl. NAT esetén) Tárolják az ideiglenesen elérhetetlen peerek üzeneteit Útvonalkeresés  Adaptív forrás vezérelt útválasztás  Minden üzenet tartalmaz routing információt  Peer ID alapú útválasztás

44 2006. ápr.20.simon@tmit.bme.hu44 Relay Peer

45 2006. ápr.20.simon@tmit.bme.hu45 JXTA protokollok

46 2006. ápr.20.simon@tmit.bme.hu46 JXTA protokollok XML alapú üzenetformátumok Aszinkron, kérés-válasz alapú

47 2006. ápr.20.simon@tmit.bme.hu47 JXTA Protokollok Peer Discovery Protocol Pipe Binding Protocol Peer Information Protocol Rendezvous Protocol (Peer Membership Protocol) Endpoint Routing Protocol Peer Resolver Protocol

48 2006. ápr.20.simon@tmit.bme.hu48 Peer Discovery Protokoll Más peereken található erőforrások (hirdetmények) megtalálására  Peerek, peer csoportok keresésére is használható Alapesetben választott felderítő (discovery) protokoll  Biztosítja az alapszintű kompatibilitást a JXTA peerek között  A Net Peer Group-ban is használják  Le lehet cserélni egy saját fejlesztésű kereső motorra Lehet peer v. peer csoport nevének megadásával szűkíteni a kereséseket  Alapesetben minden megtalált hirdetményt visszaad

49 2006. ápr.20.simon@tmit.bme.hu49 Peer Felderítés (3/1) Peer Discovery Protocol (PDP) LAN alapú felderítés  Helyi elárasztással Meghívás alapján  A peer meghirdet egy szolgáltatást a peer csoportban  Ezután a felderítés közvetlenül neki szól

50 2006. ápr.20.simon@tmit.bme.hu50 Peer Felderítés (3/2) Kaszkádos felderítés  Hasonlóan a Gnutellahoz A peer felderít minden elérhető peert Azok is felderítenek minden általuk elérhető peert Állítható threshold

51 2006. ápr.20.simon@tmit.bme.hu51 Peer Felderítés (3/3) Rendezvous pontok segítségével

52 2006. ápr.20.simon@tmit.bme.hu52 Pipe Binding Protokoll Adott hirdemény hozzárendelése egy pipe bementhez/kimenethez Pipe = üzenet sor, amely absztrakt műveleteket támogat  Létrehoz, megnyit, bezár, töröl, küld, fogad A hozzárendelés a megnyitás során történik  Megszűnik a törlés során

53 2006. ápr.20.simon@tmit.bme.hu53 Peer Information Protokoll Más peerek képességeikről és státusáról lehet infot szerezni  Pl. ping jellegű üzenettel lehet tesztelni az aktív státusát egy peernek Adott peer tulajdonságait is le lehet kérdezni  Tulajdonság = (név, érték) páros

54 2006. ápr.20.simon@tmit.bme.hu54 Rendezvous Protokoll Rendezvous Protocol „propagation service” = továbbítási mechanizmust defineál  A peerek feliratkozhatnak  Fenntarthatják állapotukat

55 2006. ápr.20.simon@tmit.bme.hu55 Peer Membership Protokoll Csoporttagság feltételeit lekérdezni Csoporttagság kérése Csoporttagság megadása  Csoport hirdetményeinek átadása Lemondani a csoporttagságról Azonosító elemek és biztonsági primitívek segítségével elérhető biztonsági szintek

56 2006. ápr.20.simon@tmit.bme.hu56 Peer Endpoint Protokoll Adott cél peer felé vezető útvonalakat lehet lekérdezni Pl. két kommunikáló peer  Más szállítási protokollt használnak  NAT, Firewall választja el őket  ekkor a peer router megadja az útvonal melletti gateway-eket Egy peer eldönti, hogy peer router lesz  A Peer Endpoint Protokoll telepítésével válik azzá

57 2006. ápr.20.simon@tmit.bme.hu57 Peer Resolver Protokoll Generikus lekérdezések kezelése  peer, peer csoport, pipe, egyéb info keresésére Egy peer csoport valamennyi, vagy adott tagjaihoz intézett lekérdezések PRP-re épülő protokollok  Peer Information Protokoll  Peer Discovery Protocol


Letölteni ppt "2006. Peer-to-peer platformok: JXTA Távközlési és Médiainformatikai Tanszék."

Hasonló előadás


Google Hirdetések