1 / 57

Peer-to-peer platformok: JXTA

Peer-to-peer platformok: JXTA. T ávközlési és Médiainformatikai Tanszék. 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?. Peer-to-peer rendszerek. Mindegyikük

Download Presentation

Peer-to-peer platformok: JXTA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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? simon@tmit.bme.hu

  3. 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 simon@tmit.bme.hu

  4. 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 simon@tmit.bme.hu

  5. JXTA simon@tmit.bme.hu

  6. Tartalomjegyzék • JXTA áttekintés • JXTA komponensek • JXTA hálózati architektúra • JXTA protokollok simon@tmit.bme.hu

  7. 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 simon@tmit.bme.hu

  8. 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) simon@tmit.bme.hu

  9. 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 simon@tmit.bme.hu

  10. 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 simon@tmit.bme.hu

  11. JXTA alrétegek v1.0 simon@tmit.bme.hu

  12. JXTA alrétegek v2.0 http://www.jxta.org/project/www/docs/JXTA2.0protocols1.pdf simon@tmit.bme.hu

  13. JXTA komponensek simon@tmit.bme.hu

  14. 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 simon@tmit.bme.hu

  15. Azonosítás • UUID, 128-bitesazonosí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 simon@tmit.bme.hu

  16. Peer végpont (Peer endpoint) • Hálózati interfészek absztrakciója simon@tmit.bme.hu

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

  18. 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 simon@tmit.bme.hu

  19. 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) simon@tmit.bme.hu

  20. 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 simon@tmit.bme.hu

  21. 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 simon@tmit.bme.hu

  22. 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 simon@tmit.bme.hu

  23. Csatornák (Pipes) II. simon@tmit.bme.hu

  24. JxtaSocket, JxtaBiDiPipe • Kétirányú, megbízható kommunikáció simon@tmit.bme.hu

  25. 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 simon@tmit.bme.hu

  26. Példa: Peer hirdetmény (2/1) <?xml version="1.0"?> <!DOCTYPE jxta:PA> <jxta:PA xmlns:jxta="http://jxta.org"> <PID>(peer azonosító) urn:jxta:uuid-9616261646162614A7874615032503356 CFE39F036E4038ABE1801D40772DC803 </PID> <GID>(csoport azonosító) urn:jxta:jxta-NetGroup </GID> <Name>(név) Super Chicken </Name> <SVC>(szolgáltatás leíró) … </SVC> </jxta:PA> simon@tmit.bme.hu

  27. Példa: Peer hirdetmény (2/2) <Svc>(szolgáltatás) <MCID>(module class ID) urn:jxta:uuid-DEADBEEFDEAFBABAFEEDBABE0000000805 </MCID> <Parm>(paraméterek) <Addr>(cím) tcp://198.1.0.70:9701/ </Addr> <Addr>(cím) http://JxtaHttpClientuuid-59616261646162614A78746 15032503356CFE39F036E4038ABE1801D40772DC803/ </Addr> </Parm> </Svc> simon@tmit.bme.hu

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

  29. Üzenet bukolat (envelope) • Forrás - opcionális • Célállomás – absztrakt cél • URI – Fizikai eszköz közti kötés rugalmas Fejléc Üzenet kivonat Cél Forrás simon@tmit.bme.hu

  30. JXTA hálózati architektúra simon@tmit.bme.hu

  31. 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 simon@tmit.bme.hu

  32. Fizikiai/virtuális peer simon@tmit.bme.hu

  33. 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 simon@tmit.bme.hu

  34. 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 simon@tmit.bme.hu

  35. 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 simon@tmit.bme.hu

  36. 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 simon@tmit.bme.hu

  37. Super Peer • Hierarchia • Skálázhatóság • Dedikált célokra • Rendezvous Peer • Relay Peer simon@tmit.bme.hu

  38. 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 simon@tmit.bme.hu

  39. Rendezvous peers simon@tmit.bme.hu

  40. Hirdetmények indexelése • Shared-Resource Distributed Index service • Hirdetmények indexeinek elküldése a rendevous peernek • Szinkron/aszinkron simon@tmit.bme.hu

  41. 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 simon@tmit.bme.hu

  42. 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 simon@tmit.bme.hu

  43. 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 simon@tmit.bme.hu

  44. Relay Peer simon@tmit.bme.hu

  45. JXTA protokollok simon@tmit.bme.hu

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

  47. JXTA Protokollok • Peer Discovery Protocol • Pipe Binding Protocol • Peer Information Protocol • Rendezvous Protocol • (Peer Membership Protocol) • Endpoint Routing Protocol • Peer Resolver Protocol simon@tmit.bme.hu

  48. 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 simon@tmit.bme.hu

  49. 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 simon@tmit.bme.hu

  50. 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 simon@tmit.bme.hu

More Related