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

Slides:



Advertisements
Hasonló előadás
A számítógépes hálózatok és az Internet
Advertisements

Hálózati és Internet ismeretek
Készítette:Darázsi LászlóXZ1J94 Muráti ÁkosJNC2FC Szeles JózsefVC4DV7.
A társadalmi tényezők hatása a tanulásra
MSN-kompatibilis egyéni emotikonok kezelése XMPP/Jabber-ben Bemutatás Németh Ádám,
Statisztikák. Foursquare • 2014 Januári adatok forrás: foursquare.com/about • Több mint 45 millió felhasználó • Több mint 5 milliárd check-in • Több mint.
avagy a hálózatok hálózata
Tempus S_JEP Számítógép hálózatok Összefoglalás Összefoglalás Összeállította: Broczkó Péter (BMF)
Az internet és a web A HTML alapjai.  „Úgy gondoljuk, hogy a világpiacon talán öt darab számítógépet tudnánk eladni.” (Thomas Watson, az IBM elnöke,
Számítógépes hálózatok Páll Boglárka. Meghatározás  A számítógépes hálózat, számítógépek és egyéb hardvereszközök egymással összekapcsolt együttese.
A TCP/IP hivatkozási modell
Hálózatok.
SZÁMÍTÓGÉP- HÁLÓZAT.
Erőállóképesség mérése Találjanak teszteket az irodalomban
Számítógép hálózatok.
HÁLÓZATOK.
MATEMATIKA Év eleji felmérés 3. évfolyam
Hálózati architektúrák
Mellár János 5. óra Március 12. v
Az új történelem érettségiről és eredményeiről augusztus Kaposi József.
Peer-to-Peer (P2P) hálózatok
Utófeszített vasbeton lemez statikai számítása Részletes számítás
A tételek eljuttatása az iskolákba
OSI Modell.
Ember László XUBUNTU Linux (ami majdnem UBUNTU) Ötödik nekifutás 192 MB RAM és 3 GB HDD erőforrásokkal.
VÁLOGATÁS ISKOLÁNK ÉLETÉBŐL KÉPEKBEN.
1. IS2PRI2 02/96 B.Könyv SIKER A KÖNYVELÉSHEZ. 2. IS2PRI2 02/96 Mi a B.Könyv KönyvelésMérlegEredményAdóAnalitikaForintDevizaKönyvelésMérlegEredményAdóAnalitikaForintDeviza.
Egy ISA szerver naplója Sárosi György Terméktámogatási Tanácsadó Microsoft Magyarország.
Számítógépes hálózatok világa Készítette: Orbán Judit ORJPAAI.ELTE.
HÁLÓZAT INTERNET. Weblap címek xikon/index.html xikon/index.html.
Sárgarépa piaca hasonlóságelemzéssel Gazdaság- és Társadalomtudományi kar Gazdasági és vidékfejlesztési agrármérnök I. évfolyam Fekete AlexanderKozma Richárd.
DRAGON BALL GT dbzgtlink féle változat! Illesztett, ráégetett, sárga felirattal! Japan és Angol Navigáláshoz használd a bal oldali léptető elemeket ! Verzio.
Domain Name System – DNS keresése az interneten.
P2p Applejuice ABC Azureus BitAnarch BitComet BitSpirit BitTornado BitTorrent BitTorrent++ BitTorrent.Net G3 Torrent mlMac MLDonkey QTorrent SimpleBT Shareaza.
szakmérnök hallgatók számára
Hálózati Bombermen Belicza András Konzulens: Rajacsics Tamás BME-AAIT.
DDoS támadások veszélyei és az ellenük való védekezés lehetséges módszerei Gyányi Sándor.
Hálózati architektúrák
Logikai szita Izsó Tímea 9.B.
2007. május 22. Debrecen Digitalizálás és elektronikus hozzáférés 1 DEA: a Debreceni Egyetem elektronikus Archívuma Karácsony Gyöngyi DE Egyetemi és Nemzeti.
Hálózat kiépítésével lehetőségünk nyílik más számítógépek erőforrásainak használatára. Osztott háttértár használat: egy számítógép merevlemezének megosztásával.
Az elektronikus levelezés a számítógép-hálózatok klasszikus szolgáltatása, az Internet alkalmazásának egyik legnépszerűbb formája. Szövegen kívül lehetőség.
7. Házi feladat megoldása
Hálózati ismeretek ismétlés.
Hálózati alapismeretek
A klinikai transzfúziós tevékenység Ápolás szakmai ellenőrzése
2006. május 15P2P hálózatok 1 Fóliák a vizsgára: 1. előadás  Bevezető: 11-16, 21,  Usenet: előadás:  Bevezető: 3-8  Napster: 
2006. Peer-to-Peer (P2P) hálózatok Távközlési és Médiainformatikai Tanszék.
Az Internet alkalmazásai
A hálózatok működésének alapelvei
Bifrost Anonim kommunikációs rendszer. Bevezetés Egyre több szolgáltatás jelenik meg az interneten, melyek megkövetelik az anonimitiást, pl.: Egészségügyi.
1. Melyik jármű haladhat tovább elsőként az ábrán látható forgalmi helyzetben? a) A "V" jelű villamos. b) Az "M" jelű munkagép. c) Az "R" jelű rendőrségi.
OKOSTELEFON KÖZÉPRÉTEG, VALÓS IDEJŰ TELJESEN ELOSZTOTT ADATFELDOLGOZÁS
Kvantitatív módszerek
Kommunikáció a hálózaton Kommunikáció a hálózaton.
Ingyenes,Multi funkcionális tűzfal szoftver
> aspnet_regiis -i 8 9 TIPP: Az „Alap” telepítés gyors, nem kérdez, de később korlátozhat.
Számítógép hálózatok.
A KÖVETKEZŐKBEN SZÁMOZOTT KÉRDÉSEKET VAGY KÉPEKET LÁT SZÁMOZOTT KÉPLETEKKEL. ÍRJA A SZÁMOZOTT KÉRDÉSRE ADOTT VÁLASZT, VAGY A SZÁMOZOTT KÉPLET NEVÉT A VÁLASZÍV.
Miért a facebook-ot válasszuk kampány felületnek?  2011 júliusától decemberig fő, ezzel elérve a felhasználót  40. hely a világon.
1 Az igazság ideát van? Montskó Éva, mtv. 2 Célcsoport Az alábbi célcsoportokra vonatkozóan mutatjuk be az adatokat: 4-12 évesek,1.
DNS. Az interneten használt osztott név adatbázis, a DNS (Domain Name Service) folyton használatos: –minden web lap letöltésnél, –levél közvetítésnél.
Számítógépes hálózatok Páll Boglárka. Meghatározás A számítógépes hálózat, számítógépek és egyéb hardvereszközök egymással összekapcsolt együttese. Például:
Bevezetés az informatikába 11. előadás Internet. Egyetlen nagy egységes elveken működő világhálózat hálózatok összekapcsolása nagy világhálóvá csomagkapcsolt.
IP alapú hálózatok tervezése és üzemeltetése
Tűzfal (firewall).
Fájlcsere: Technikai megoldások
A HTML alapjai Az internet és a web.
Az elektronikus levelezés a számítógép-hálózatok klasszikus szolgáltatása, az Internet alkalmazásának egyik legnépszerűbb formája. Szövegen kívül lehetőség.
Információtechnológiai alapismeretek
Előadás másolata:

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 2

P2P

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

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

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

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

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

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

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

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

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

Pontosabban... Visszatekintés A P2P hálózatok sajátosságai: „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

É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

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 P2P hálózatok 15

P2P és elosztott adatbázisok

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)

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

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

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

Pond JNI for crypto, SEDA stages, 280+kLOC Java The Staged Event-Driven Architecture (SEDA) is a framework for building scalable, high-performance Internet services that are capable of sustaining enormous variations in load. What is the Dissemination Tree??? And what is its purpose… Secondary replicas self-organize into application-level multicast tree Shield inner ring from request load Save bandwidth on update propagation JNI for crypto, SEDA stages, 280+kLOC Java

Strukturálatlan P2P 23

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

A kezdeti hálózat 25

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

ARPANET - 1977 27

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

MILNET - 1989 29

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

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

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

Usenet A mai P2P alkalmazások nagypapija... 1979 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

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

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

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

Usenet Network News Transport Protocol (NNTP) Optimalizált elárasztás 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

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

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

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

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

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

Napster 43

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

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

46

Boldog zenészek? 47 P2P hálózatok

Egy CD költségei 48 P2P hálózatok

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

2. Keresem a ricky.mp3 fájlt 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 P2P hálózatok

A Napster jellemzői Hátrányok: Előnyök Rossz skálázhatóság Szerverfarmon belüli terheléselosztás A szerver szűk keresztmetszet Könnyen perelhető Titkosság hiánya Freeriding lehetőség Előnyök Gyors keresés Ismert topológia 51

DC++ 52

DirectConnect Központosított rendszer Korlátozott belépés Neo Modus DC Több száz hub Korlátozott belépés Megosztott tartalom mérete (több Gb) IP címtartomány Hozzáférési sebesség Neo Modus DC http://www.neo-modus.com/ 53

DC++ Nyílt forrású (open source) kliens DirectConnect hálózatot használja Előnyök Barátságosabb GUI Több hub-os párhuzamos csatlakozás, keresés Spyware, adware kiiktatva DC++ http://www.indx.f2s.com/index.html http://www.broadbandreports.com/faq/dc 54

eDonkey Központosított hálózat 286 magán szerver A szerverek nem kommunikálnak egymással Több szerverre lehet feliratkozni egyszerre server.met – a szerverek IP címlistája Folyamatosan kell frissíteni Elosztott letöltés Megosztáskor egy hash-t (azonosítót) csatol a fájl-hoz A szerver tárolja a hash-eket Kereséskor egy listát kapunk a lehetséges peer-ekről A fájl darabjait külön helyekről, párhuzamosan tölthetjük le 55

eDonkey http://www.thedonkeynetwork.com/ Kliens X ricky.mp3 (abcdefg) ricky.mp3 (d) Kliens X ricky.mp3 (abcdefg) Kliens Y ricky.mp3 (abc) ricky.mp3 (g) ricky.mp3 (a) ricky.mp3 (b) Kliens Z ricky.mp3 (fg) Kliens W ricky.mp3 () ricky.mp3 (g) http://www.thedonkeynetwork.com/ 56

eMule Népszerű eDonkey kliens Open source változat Nincs spyware, adware http://www.emule-project.net/ 57

Gnutella 58

Gnutella Kronológia 2000 március 14 – Justin Frankle, Nullsoft (winamp) Eredetileg „receptek cseréje” volt a cél GNU General Public License - Nullsoft web szerver Pár óra után az AOL letiltotta Több száz példányt már letöltöttek Kód-visszafejtés (reverse engineering) segítségével Több új kliens jelent meg 59

Gnutella Elosztott rendszer, központi szerver nélkül (v0.4) Elárasztás alapú keresés Minden peer... Megoszt állományokat Továbbítja a szomszédai felé a kapott Query csomagokat Válaszol a Query üzenetekre, ha rendelkezésére áll a keresett fájl 60

Gnutella Keresés Válasz 61

Gnutella fejléc Byte 0 – 15 : Message ID Byte 16 : Function ID Egyéni azonosító V 0.6 – Byte 8: 11111111, Byte 15: 00000000 Byte 16 : Function ID Az üzenet tipusa Byte 17 : TTL (Time To Live) Hányat ugorhat még Byte 18 : Hops Hányat ugrott már Byte 19 – 22 : Payload Length A fejléc utáni adatrész hossza Max csomag hossz: 4 kB 62

Üzenettipusok Function ID 0x00 Ping : peer-ek keresése a gnutella hálózaton 0x01 Pong : válasz egy Ping-re IP cím, port, megosztott fájlok száma, megosztott könyvtár mérete 0x80 Query : keresés indítása Keresési kritérium (szöveg), minimum sávszélesség 0x81 Query Hit : válasz találat esetén IP cím, port, sávszélesség, fájl név, fájl hossz 0x40 Push : „feltöltés” kérése egy tűzfal mögül Kért fájl adatai, cél IP cím/port http://rfc-gnutella.sourceforge.net/developer/stable/ 63

Előnyök Robusztusság, nincs szűk keresztmetszet Egyszerűség Jogilag nehezen támadható Nincs perelhető központi entitás 64

Hátrányok Az elárasztás nem skálázható megoldás TTL-t használva (valamilyen szinten) áthidalható Nem minden szomszédnak küldjük tovább az üzeneteket A Message ID alapján, egy üzenetet csak egyszer továbbít egy peer Egy peer többször megkaphat egy üzenetet 65

Többszöri kézbesítés 66

Hátrányok (II) Nagy hálózati forgalmat generál Példa: 4 link L / peer TTL = 7 Max csomag szám: 26240 csomag 67

Hátrányok (III) A keresés időtartama nem behatárolható A keresés sikerének valószínűsége nem ismert A topológia ismeretlen, az algoritmusok nem tudják felhasználni A peer-ek „hírneve” nincs figyelembe véve Freeriding ... 68

Freeriding Adar, Huberman, Freeriding on Gnutella, 2000 Sept. http://www.firstmonday.org/issues/issue5_10/adar/index.html 24 órás mérések: a kliensek 70%-a nem oszt meg semmit a válaszok 50%-át a peer-ek 1%-a szolgáltatja Társadalmi, és nem technikai probléma Következmények A rendszer hatákonyságának romlása (skálázhatóság?) A rendszer sebezhetőbb „Központosított” Gnutella – jogi problémák 69

Freeriding (II) Mérések elemzése A felhasználók nagy hányada freerider A freerider-ek egyenlően oszlanak el a hálózatban Bizonyos peer-ek olyan fájlokat osztanak meg, melyek senkit sem érdekelnek 70

Gondok és megoldások Freeloading: Megszakadó letöltések Megoldás: A Gnutella hálózat elérhető volt weboldalakról Webes keresés, letöltés, megosztás nélkül Megszakadó letöltések Hosszú letöltési idők a modemes hozzáférés miatt Csak rövid ideig futtaták a gnutella kliens-t (keresés ideje) Megoldás: „Nálam van, de foglalt vagyok. Próbalkozz kesőbb” 2000 végén – letöltések 10%-a sikeres 2001 – a letöltések 25%-a sikeres Megoldás? 71

Gondok és megoldások Kis méretű elérhető hálózat Megoldás: 2000: átlagosan 400-800 elérhető peer Modemes felhasználók – kis sávszélesség a keresések továbbítására routing black holes Megoldás: Peer hierarchia kialakítása Csatlakozási preferenciák Nagy sávszélességű peer-ek előnyben Nagyméretű megosztott állománnyal rendelkezők előnyben Gnutella v0.6 és más hierarchikus rendszerek 72

Irodalom http://www.gnutella.com/ http://www.limewire.com/developer/ 73 P2P hálózatok

KaZaa 74

KaZaa A jelenleg legelterjedtebb P2P alkalmazás A FastTrack hálózatot használja 4 millió felhasználó 3,000 terabyte megosztott adat > 50% az Internet forgalmának Leginkább az USA-ban népszerű A RIAA legnagyobb célpontja 30-40% csökkenés 2003 végén 75

Kronológia Niklas Zennström ötlete 2001 márciusa - Jaan Tallinn, Ahti Heinla és Priit Kasesalu FastTrack, KaZaa - fejlesztés Észtországban Holland cég megbízása – KaZaa BV 2001 – Sharman Networks megveszi a FastTrack-et Székhely: Vanuatu - sziget a Csendes Óceánban Titkos igazgatótanács, titkos részvényesek Kazaa.com – LEF Interactive, Ausztrália LEF – Liberté, Egalité, Fraternité Alkalmazottak mindenhol a világban, nehezen fellelhetők 76

KaZaa vs. RIAA Nemzetközi macska-egér játék Megoldások? Az amerikai jog nem érvényes máshol Nincs központi entitás, nincs kit perelni Megoldások? (Amerikai) felhasználókat perelni? Denial-of-Service (DoS) támadások Vírusok a rendszerben Hash linkekkel elkerülhetőek Weben keresztül megszerezhető hash-ek 77

Architektúra Hierarchikus architektúra A peer-ek egy supernode-hoz csatlakoznak supernode = supernode, hypernode A supernode-ok egyenrangúak A supernode ismeri a hozzá tartozó peer-ek IP címeit, és a megosztott fájl-ok listáját Mini Napster/Gnutella hub 78

Architektúra (II) Titkos forráskód Kód visszafejtés: peer – supernode kommunikáció A supernode – supernode kommunikáció alig ismert Egy supernode ismer sok más supernode-ot Majdnem teljes háló (complete mesh) Bárki lehet supernode Számítási kapacitás, sávszélesség Automatikus kiválasztás Kb 10.000 supernode Kb 200-500 peer/supernode 79

Supernode választás Lehetséges supernode-ok IP címei az alkalmazás letöltésekor Csatlakozás után egy működő supernode keresése Aktuális supernode lista letöltése Ping 5 supernode felé Választás a legkisebb RTT alapján RTT = Round Trip Time Ha a supernode „meghal”, új választás 80

Keresés Kulcsszó alapján A keresést a supernode-hoz küldi A felhasználó beállítja max. hány találatot vár (x) A keresést a supernode-hoz küldi Ha a supernode-nál van x találat, vége Ha nincs, a kérést a supernode más supernode-oknak küldi Ha van x találat, vége Ha nincs, újabb supernode-ok kapják meg a kérést Valószínüleg a kezdeményező supernode indítja az újabb keresést (nem rekurzív) Válaszok hullámokban 81

Kazaa Keresem a ricky.mp3 fájlt B-nek megvan Közvetlen letöltés B A 82

Párhuzamos letöltés Ha több találat, a felhasználó párhuzamos letöltést választhat A fájl több részre osztva HTTP byte-range header alapján különbözö részek különböző peer-ektől Új „szerver” peer választása automatikusan, ha az előző „meghal” 83

Előnyök Skálázható Sorbanállás kezelése Jogilag nehezen támadható Egy központi szerver helyett több ezer supernode Csak a supernode-ek között történik elárasztás Sorbanállás kezelése Előnyt élveznek azok, akiktől sokat töltenek le Hátrány a kis sávszélességgel rendelkezőknek lassan kerülnek kiszolgálásra Jogilag nehezen támadható 84

Más hierarchikus rendszerek FastTrack Kazaa Lite http://www.k-lite.tk/ iMesh http://imesh.com/ Grokster http://www.grokster.com/ 85 P2P hálózatok

Más hierarchikus rendszerek Gnutella v0.6 LimeWire http://www.limewire.com Shareaza http://www.shareaza.com/ BearShare http://www.bearshare.com/ Morpheus http://www.morpheus.com/ 86

BitTorrent

BitTorrent 2002 – Bram Cohen, San Francisco Python kód, open source Népszerű nagyméretű adatok elosztott letöltése Nincs saját keresőmotor Webes keresés Nincsenek megosztott könyvtárak Letöltés közben feltöltés mások számára 88

BitTorrent Hagyományos webes keresés .torrent fájl Tracker Hash információ Egy „tracker szerver” címe Tracker A csatlakozó peer-nek megad egy véletlenszerű listát a lehetséges peer-ekről Statisztika Hány letöltés Hány peer-nél van a teljes fájl Hány peer-nél vannak fájl részek 89

BitTorrent Mag (seed) A fájl több részre osztva A kezdeti forrás Egy peer akinél a teljes állomány megtalálható A fájl több részre osztva 250 kB Minden rész hash információja a .torrent fájlban A részek további alrészekre osztva 90

Alapelvek Párhuzamos letöltés és feltöltés „Leech resistance” – piócák kiszűrése Minél nagyobb a feltöltési sávszélesség, annál több peer-től tölthetsz le részeket párhuzamosan Megbízhatóság maximizálása Csökkenteni a sikertelen letöltések esélyét Bizonyos részek „eltünnek”, a fájl használhatatlan A működés ezen alapelveknek van alárendelve 91

Hogyan működik? Egy rész teljes letöltése Ha egy rész egy alrészét letöltjük, a következő alrészek előnyben részesülnek más részek alrészeivel szemben Gyors letöltést biztosít egy rész számára Ha a rész teljes, a peer ellenőrzi a hash-t Ha OK, jelzi a Tracker-nek A rész feltölthetővé válik mások számára 92

Hogyan működik? A legritkább legelőbb (rarest first) Előnyök Azt a részt tölti le előbb, mellyel a legkevesebb peer rendelkezik Előnyök Növeli a letöltés globális sikerét Ha az a néhány peer (esetleg az egyedüli seed) „meghal”, továbbra is elérhetőek lesznek a ritka részek Biztosítja a további feltöltési kéréseket Ha egy ritka résszel rendelkezem, mások tőlem fogják azt kérni Növelem a letöltési sebességem Növeli a globális letöltési sebességet A seed-től külön részeket kér le minden peer Ugyanazt a részt nem kell többször feltöltenie a seed-nek Különösen előnyös ha „lassú” seed 93

Hogyan működik? Véletlenszerű első rész Ameddig nincs mit feltölteni tőlem, letölteni is nehezen tudok – kevés peer-t ismerek Cél egy részt minél gyorsabban megszerezni Egy ritka részt lassan tudok letölteni Kevés peer rendelkezik az alrészekkel Ha letöltöm, sokan kérik majd, nő a letöltési sebességem Egy népszerű rész letöltése gyors, de nem olyan hasznos Kevesen fogják majd tőlem kérni Nem tudom növelni a letöltési sebességem Megoldás: véletlenszerű választás 94

Tulajdonságok Lassú indulás Változó letöltési sebesség Függ a feltöltés alatt álló résszel rendelkezők számától, feltöltési sebességétől Sikeres letöltés után illik az alkalmazást tovább futtatni Ekkor a peer seed-ként működik 95

BitTorrent vs. eDonkey Hasonló elveken működnek Részekre osztott fájlok Párhuzamos letöltés A BitTorrent-ben csak egy fájl-t töltünk le egyszerre Nagyobb a rendelkezésre álló sávszélesség minden peer-nél (Elvileg) gyorsabb letöltés Az eDonkey-ban nincs „piócaszűrés” A feltöltésből nincs igazán haszna a peer-nek A BitTorrent-ben nincs keresőmotor A .torrent fájlt weben kell megkeresni Jogilag könnyen támadható A tracker szolgáltatása, IP címe nyílvános Felelősségre vonható 96

Egyszerű interfész 97 P2P hálózatok

BitTorrent linkek Hivatalos oldal Protokoll specifikáció FAQ http://bitconjurer.org/BitTorrent Protokoll specifikáció http://bitconjurer.org/BitTorrent/protocol.html FAQ http://www.dessent.net/btfaq/#what Torrent-ek http://www.suprnova.org/ 98