1 / 98

Elosztott adatb ázisok és peer-to-Peer (P2P)

Elosztott adatb ázisok és peer-to-Peer (P2P). Simon Csaba simon@tmit.bme.hu. Miről lesz szó?. Mi a P2P? Kell-e nekünk és miért? Struktúrálatlan P2P ----------- DHT ----------- Elosztott P2P adatbázisok. P2P. Mi a P2P?. P2P - napjaink egyik legforróbb témája Alkalmazások

inge
Download Presentation

Elosztott adatb ázisok és peer-to-Peer (P2P)

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. Elosztott adatbázisok és peer-to-Peer (P2P) Simon Csaba simon@tmit.bme.hu

  2. Miről lesz szó? • Mi a P2P? • Kell-e nekünk és miért? • Struktúrálatlan P2P ----------- • DHT ----------- • Elosztott P2P adatbázisok 2

  3. P2P

  4. Mi a P2P? • P2P - napjaink egyik legforróbb témája • Alkalmazások • Kazaa – minden idők legtöbbször letöltött alkalmazása • > 300 millió letöltés • Az Internet forgalom 50-70% P2P • Nehezen mérhető, az eredmények nem megbízhatóak • FastTrack, eDonkey, iMesh • > 7 millió felhasználó (2004. február 8) • Felhasználói statisztikák: http://www.slyck.com/ 4

  5. P2P (II) • Kutatás • 3rd IEEE International Conf. on P2P Computing • P2P „Tutorial” és P2P szekció • Infocom, Sigcomm, stb. • P2P Research Group • IRTF (Internet Research Task Force) http://www.irtf.org/charters/p2prg.html • Internet2 http://p2p.internet2.edu/index.html • Stanford, Berkeley, stb. 5

  6. Definíció • Peer–to–Peer (P2P): • egy alkalmazáscsoport mely kihasználja az Internet peremén levő felhasználók erőforrásait: • Tárolás – merevlemez kapacitás • CPU – számítási kapacitás • Tartalom – adatok, informaciók megosztása • Bármilyen más megosztható erőforrás, szolgáltatás, funkció • Egy alkalmazás rétegbeli Internet a fizikai Internet topológia fölött 6

  7. Definíció (II) • „Peer-to-peer network” = egyenrangú hálózat • „Peer” = veled egyenrangú felhasználó • „Kommunista” rendszer – mindenki egyenlő • A kliens-szerver architektúra ellentéte 7

  8. Ádámtól Ádámig A. Oram, editor. Peer-to-Peer : Harnessing the Power of Disruptive Technologies. O'Reilly & Associates, 2001. 8

  9. Jellemzők • Minden résztvevő peer egyszerre kliens és szerver • Nincs központi vezérlés • Nincs központi adatbázis • Senkinek nincs globális képe a hálózatról • A rendszer globális működése a lokális kölcsönhatások eredménye 9

  10. Jellemzők (II) • Bármilyen megosztott erőforrás elérhető bárki által • Akkor férhetsz mások erőforrásaihoz, ha megosztod a sajátaidat • A peer-ek függetlenek egymástól • A peer-ek és a kapcsolatok alapvetően megbízhatatlanok • Gyakori be- és kilépés 10

  11. Mire jó? • P2P ≠ fájlcsere • Sokminden más: • Elosztott adatbázisok • Elosztott számítás (distributed computing) • Elosztott hálózati szuperszámítógépek (grid computing) • Instant Messaging • CSCW (Computer Supported Cooperative Work) • Vezetéknélküli ad-hoc hálózatok • Alkalmazás rétegbeli multicast szolgáltatás • E-commerce, e-business alkalmazások • Stb, stb, stb.... 11

  12. Miről lehet beszélni P2P kapcsán? OverCast WinMX ICQ Gnutella Jxta Jabber BearShare FastTrack Yoid Freenet Morpheus Chord iMesh MP2P Pastry Blubster CAN Shareaza DirectConnect eDonkey @SETI Grokster RockitNet eBay Napster OceanStore SoulSeek eMule BitTorrent Mojo Nation Farsite IRC Piolet Tapestry LimeWire Kazaa 12

  13. Pontosabban... • Visszatekintés • „korabeli” P2P rendszerek • Usenet, DNS, Telnet, FTP • az Internet átalakulása • az új generációs P2P rendszerek megjelenése • A P2P hálózatok sajátosságai: • Szolgáltatás felderítés, topológia felépítés • Keresés, útvonalválasztás • Hozzáférhetőség, megbízhatóság • Biztonsági kérdések 13

  14. És még... • P2P architektúrák: • Központosított rendszerek – Napster • Elosztott, sík rendszerek – Gnutella • Hierarchikus topológiák – Kazaa • Más fájlcserélő alkalmazások – BitTorrent, stb. • Elosztott hash táblákra (DHT) alapuló keresők: • CAN, Chord, Pastry, Tapestry 14

  15. Továbbá ... • Alkalmazás rétegbeli multicast P2P hálózatokon • A csoportos kommunikáció sajátosságai • A hálózati rétegbeli multicast rövid attekintése • Alkalmazás rétegbeli multicast • Háló-alapú (mesh-first) módszerek – Narada, Gossamer • Fa-alapú (tree-first) módszerek – HMTP, TBCP, Yoid, Overcast, ALMI • Implicit módszerek – CAN-Multicast, Scribe, Bayeux, NICE • Pletykára alapuló járványszerű átvitel – SCAMP , SWIM, Bi-modal multicast 15

  16. P2P és elosztott adatbázisok

  17. Hypothesis • End 2 End arguments in network community • Implement a feature on upper layer as much as we can to have easier deployment for Internet • Fast development of applications • Moore law in computer hardware • Relatively slow change in Internet core • Not too many industrial researchers who work on core networking. (http://www.icir.org/floyd/talks/NSF-Jan03.pdf)

  18. Key problem: Location and Routing • Hard problem in a system like this: • Locating and messaging to resources and data • Goals for a wide-area overlay infrastructure • Easy to deploy • Scalable to millions of nodes, billions of objects • Available in presence of routine faults • Self-configuring, adaptive to network changes • Localize effects of operations/failures

  19. The promise of P2P computing • Reliability: no central point of failure • Many replicas • Geographic distribution • High capacity through parallelism: • Many disks • Many network connections • Many CPUs • Automatic configuration • Useful in public and proprietary settings

  20. 20

  21. DHT implementation challenges • Scalable lookup • Balance load (flash crowds) • Handling failures • Coping with systems in flux • Network-awareness for performance • Robustness with untrusted participants • Programming abstraction • Heterogeneity • Anonymity • Indexing Goal: simple, provably-good algorithms Chord

  22. Pond JNI for crypto, SEDA stages, 280+kLOC Java

  23. Strukturálatlan P2P 23

  24. Visszatekintés • A P2P nem egy új ötlet • A kezdeti Internet peer-to-peer volt • ARPANET - Advanced Research Projects Agency Network • 1969 – US Department of Defense (DoD) • University of California at Los Angeles (UCLA) • Stanford Research Institute (SRI) • University of California Santa Barbara (UCSB) • University of Utah • Különböző operációs rendszerek, egyenrangú felhasználók 24

  25. A kezdeti hálózat 25

  26. 70-es évek • újabb és újabb egyetemek, kutató laboratóriumok csatlakoznak • TCP/IP kidolgozása • Telnet, FTP 26

  27. ARPANET - 1977 27

  28. 80-as évek • 1983. 01. 01 – IP az ARPANET-en • 1984 – MILNET (DoD) • 1986 – NSFNET • NSF – National Science Foundation • 1990 – Az ARPANET bezár 28

  29. MILNET - 1989 29

  30. Irodalom • A History of The Internet: 1962 – 1992 • http://www.computerhistory.org/exhibits/internet_history/ • Hobbes' Internet Timeline • http://www.zakon.org/robert/internet/timeline/ • The Request for Comments Reference Guide • http://www.ietf.org/rfc/rfc1000.txt • History of Arpanet • http://www.dei.isep.ipp.pt/docs/arpa.html 30

  31. A kezdeti hálózat • Egyenrangú felhasználók • Bármely két gép képes volt kommunikálni egymással • Egy nyított és szabad rendszer • Tűzfalak nem léteztek a 80-as évek végéig • Egyetemi kutatók „játszótere” • Biztonsági gondok nem léteztek ... 31

  32. Az első P2P alkalmazások • Telnet, FTP • Nem „vérbeli” P2P alkalmazások • Szigorúan nézve, kliens/szerver rendszerek • Egy Telnet kliens bejelentkezik egy szerverre • Egy FTP kliens fájlokat küld / tölt le egy FTP szerverről • De... • Bárki lehetett kliens is, szerver is • Szimetrikus rendszer 32

  33. Usenet • A mai P2P alkalmazások nagypapija... • Központi vezérlés nélkül fájlokat másol gépek között • 1979 • Tom Truscott, Jim Ellis • University of North Carolina, Duke University • 3 gépből álló hálózat • Unix-to-Unix Control Protocol (UUCP) • Egy UNIX gép automatikus felhívott egy másik gépet • Fájlokat cseréltek • Megszüntették az összeköttetést • Levelek, fájlok, programok cseréje 33

  34. Usenet (II) • Csoportok különböző témakörök körül • Newsgroups • A helyi felhasználók a helyi newsgroup „szerverre” csatlakoznak • A szerverek periodikusan kicserélik információikat • Egy felhasználó üzenete minden érdeklődőt elér • A szerverek egy P2P hálózatot alkotnak 34

  35. Usenet (III) • A hálózat ma hatalmas • Több ezer szerver • Több tízezer témakör • Több millió felhasználó • A rendszert skálázhatóva kellett tenni • Egy szerver csak bizonyos csoportokra iratkozik fel • A szerverek csak az üzenetek fejlécét továbbítják • Ha valaki kiváncsi, lekéri a teljes üzenetet • Korlátozott időtartamú tárolás 35

  36. Usenet - jellemzők • Elosztott rendszer • Nincs központi vezérlés • Egy új témacsoport létrehozása • Demokratikus szavazás alapján • Javaslat küldése a news.admin csoportnak • Vita, szavazás • Bárki szavazhat e-mail-ben • Ha elfogadják, a szerverek elkezdik terjeszteni • Megengedett anarchia • Szavazás nélkül nyitható egy alt.* csoport 36

  37. Usenet • Network News Transport Protocol (NNTP) • TCP/IP alapú • Optimalizált elárasztás • Útvonal az üzenetek fejlécében • Egy szerver csak egyszer kap meg egy üzenetet • Sok új P2P rendszerből hiányzik • Gnutella 37

  38. Usenet fájlcsere • Eredetileg csak text fájlok cseréje • Bináris fájlok átalakíthatóak • Gond – túl hosszú fájlok • 700 Mb film – 15 millió sor • Szerver korlátok – 10.000 soros üzenetek • Több részre vágott fájlok 38

  39. DNS • Domain Name System • Hierarchikus információs rendszer • Fájlmegosztásra találták ki (1983) • hosts.txt 39

  40. IP útvonalválasztás • IP útvonalválasztók (routerek) peer-ek • Felfedezik és fenntartják a topológiát • Egy router nem kliens és nem szerver • Folyamatosan kommunikálnak egymással • Függetlenek egymástól 40

  41. Aztán robbant a Net • Robbant a felhasználók száma • Tudományosból kereskedelmi hálózat • Biztonsági intézkedések váltak szükségessé • Tűzfalak • Megjelentek az otthoni felhasználók • Egy modemes csatlakozó nem volt többé egyenrangú • Elfogytak az IP címek • Dinamikus IP címek, NAT • Megjelent a Web • Új kommunikációs szokások (webkliens – webszerver) 41

  42. Mégis P2P? • Újabb fordulat a kommunikációs szokásokban • Elkülönül a „szerző” és a „forgalmazó” • Nem csak a saját maguk által készített adatokat (pl. weboldal) osztják meg a felhasználók • MP3 – mérföldkő a P2P tekintetében • Lehetővé válik a zenefájlok cseréje • DivX kódolás • 1999-ben megjelenik a Napster 42

  43. Napster 43

  44. Napster • Kronológia • 1999 május – Shawn Fenning és Sean Parker megalapítják a Napster-t • 1999 december – a RIAA elindítja az első pert a Napster ellen • Recording Industry Association of America (RIAA) • 2000 április – Előbb a Metallica, majd Dr. Dre perlik a Napster-t • 2000 július – A bíróság felszólítja a Napster-t a bezárásra • 2001 február 12 – A bíróság a megosztott fájlok szűrésére kötelezi a Napster-t • 2001 február 20 – 1 milliárd dolláros ajánlat a lemezcégeknek • 2001 március 2 – Bevezetik a szűrőket, a felhasználók elpártolnak 44

  45. Napster • Módosítás– fizetős változat • $9,95 – havi bérlet • ¢ 99 – egy fájl • http://www.napster.com/ • Apple – iTunes • http://www.apple.com/itunes/ 45

  46. 46

  47. Boldog zenészek? 47

  48. Egy CD költségei 48

  49. A Napster működése • Nem „igazi” P2P rendszer • Központi szerver tárolja a megosztott fájlok listáját • Keresés a központi szerveren • Közvetlen letöltés a peer-ek között 49

  50. Példa Napster szerver 1. Bejelentkezés (Alíz, Fájl lista) 2. Keresem a ricky.mp3 fájlt 3. Alíztól kérd 4. Közvetlen letöltés Alíz Barbara 50

More Related