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

Peer-to-Peer (P2P) hálózatok BMEVITT9176 Választható tárgy 2006 március 2.

Hasonló előadás


Az előadások a következő témára: "Peer-to-Peer (P2P) hálózatok BMEVITT9176 Választható tárgy 2006 március 2."— Előadás másolata:

1 Peer-to-Peer (P2P) hálózatok BMEVITT9176 Választható tárgy 2006 március 2

2 P2P hálózatok 2 CAN Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp, Scott Shenker, “A Scalable Content-Addressable Network”, Proceedings of the ACM SIGCOMM'01 Conference, San Diego, CA (August 2001).  Sylvia Ratnasamy, „A Scalable Content-Addressable Network”, Ph.D. Thesis, October 2002 

3 2006 március 2P2P hálózatok 3 CAN Optimalizálás Optimalizációs lehetőségek  Rövidebb utak: kevesebb ugrás a forrás és a cél között  Rövidebb ugrások: két szomszéd közötti ugrás a fizikai topológián  Optimalizált zónafelosztás

4 2006 március 2P2P hálózatok 4 CAN valóságok CAN valóságok (Reality): többszörös koordináta rendszerek Minden csomópont több koordináta rendszer (valóság) része Egy csomópontnak különböző zónai vannak a különböző valóságokban A zónák kiosztásakor a P pontot véletlenszerűen valasztjuk A hash tábla tartalma minden valóságban elérhető – nagyobb rendelkezésre állás Minden valóságban...  Egyenlő a zónák száma  Ugyanazok a tárolt adatok  Ugyanaz a hash függvény

5 2006 március 2P2P hálózatok 5 Útválasztás a valóságokban b. Az üzenetet a legjobb valóságban küldi tovább a. Minden csomópont az útvonalon ellenőrzi, hogy melyik valóságban a legkisebb a távolsága a célhoz 1.A cél minden valóságban ugyanabba a H pontba hash-elődik Minden valóságban más-más csomópont zónájába tartozhat a H pont 2. A hagyományos útválasztás a következő módon egészítjük ki:

6 2006 március 2P2P hálózatok 6 Útválasztás a valóságokban b. Az üzenetet a legjobb valóságban küldi tovább a. Minden csomópont az útvonalon ellenőrzi, hogy melyik valóságban a legkisebb a távolsága a célhoz 1.A cél minden valóságban ugyanabba a H pontba hash-elődik Minden valóságban más-más csomópont zónájába tartozhat a H pont 2. A hagyományos útválasztás a következő módon egészítjük ki:

7 2006 március 2P2P hálózatok 7 Többdimenziós koordináta rendszer A routing hatákonysága függ a koordináták számától Az útvonal átlagos hossza: Ha a dimenziók száma ( d ) nő, az út hossza csökken n = 1000, egyenlő zónák DÚt átlagos hossza

8 2006 március 2P2P hálózatok 8 Több valóság vagy több dimenzió? A dimenziók növelése hatékonyabb az útvonal optimalizálásában mint a valóságok növelése  A valóságok nagyobb hibatűrést és rendelkezésre állást biztosítanak

9 2006 március 2P2P hálózatok 9 Zónák túlterhelése (overloading) Egy zóna – több csomópont A csomópontok melyek ugyanazért a zónáért felelnek: peer-ek MAXPEERS – maximum hány csomópont felelhet egy zónáért Minden csomópont ismeri a peer-jeit A szomszédok száma ugyanannyi A hagyományos routing algoritmust használjuk

10 2006 március 2P2P hálózatok 10 Új csomópont csatlakozása Egy új csomópont (A) csatlakozni: 1. Felfedez egy zónát (melyért B felel) 2. B ellenőrzi hány peer-je van: 3. Ha kevesebb mint MAXPEERS 1.A csatlakozik mint a B új peer-je 2.B elküldi A-nak a peer-ek és szomszédok listáját 4. Másképp 1. B zónája ketté osztódik 2. A peer-ek listája is ketté osztódik 3. A peer-ek és a szomszédok listáját frissíteni kell

11 2006 március 2P2P hálózatok 11 Új csomópont csatlakozása Egy új csomópont (A) csatlakozni: 1. Felfedez egy zónát (melyért B felel) 2. B ellenőrzi hány peer-je van: 3. Ha kevesebb mint MAXPEERS 1.A csatlakozik mint a B új peer-je 2.B elküldi A-nak a peer-ek és szomszédok listáját 4. Másképp 1. B zónája ketté osztódik 2. A peer-ek listája is ketté osztódik 3. A peer-ek és a szomszédok listáját frissíteni kell

12 2006 március 2P2P hálózatok 12 Új csomópont csatlakozása Egy új csomópont (A) csatlakozni: 1. Felfedez egy zónát (melyért B felel) 2. B ellenőrzi hány peer-je van: 3. Ha kevesebb mint MAXPEERS 1.A csatlakozik mint a B új peer-je 2.B elküldi A-nak a peer-ek és szomszédok listáját 4. Másképp 1. B zónája ketté osztódik 2. A peer-ek listája is ketté osztódik 3. A peer-ek és a szomszédok listáját frissíteni kell

13 2006 március 2P2P hálózatok 13 Új csomópont csatlakozása Egy új csomópont (A) csatlakozni: 1. Felfedez egy zónát (melyért B felel) 2. B ellenőrzi hány peer-je van: 3. Ha kevesebb mint MAXPEERS 1.A csatlakozik mint a B új peer-je 2.B elküldi A-nak a peer-ek és szomszédok listáját 4. Másképp 1.B zónája ketté osztódik 2.A peer-ek listája is ketté osztódik 3.A peer-ek és a szomszédok listáját frissíteni kell

14 2006 március 2P2P hálózatok 14 Valóságok és túlterhelés Létrehoztunk egy valóságot

15 2006 március 2P2P hálózatok 15 Valóságok és túlterhelés Ehhez a valósághoz túlterheléssel peereket rendelünk hozzá

16 2006 március 2P2P hálózatok 16 Valóságok és túlterhelés Létrehoztunk egy második valóságot

17 2006 március 2P2P hálózatok 17 Valóságok és túlterhelés A második valósághoz egy más elosztásban rendeljük hozzá a csomópontokat

18 2006 március 2P2P hálózatok 18 Optimalizálás a fizikai topológián Periódikus önfrissítés 1.Szabályos időközönként egy csomópont megkapja a szomszédai peer-jeinek listáját 2. Megméri minden peer felé az RTT-t 3. A fizikailag legközelebb álló peer-t választja szomszédjénak abban az irányban Előnyök Rövidebb utak (kevesebb zóna) Rövidebb ugrások (periódikus önfrissítés) Nagyobb hibatűrés és rendelkezésre állás (több peer tárol egy adatot)

19 2006 március 2P2P hálózatok 19 Egyenletes felosztás 1.A csomópont melyre a zónafelosztás esett osszehasonlítja a zónája méretét a szomszédai zónáinek méretével 2.A legnagyobb zónát osztjuk fel

20 Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan - MIT

21 2006 március 2P2P hálózatok 21 Hogyan találjuk meg az adatot egy elosztott fájlmegosztó rendszerben? Hatékony keresés a fő probléma! Internet Publisher Key=“LetItBe” Value=MP3 data Lookup(“LetItBe”) N1N1 N2N2 N3N3 N5N5 N4N4 Client ? Motiváció

22 2006 március 2P2P hálózatok 22 Követelmények: O(M) állapot M a megosztott állományok száma Központi elem kiesése megbénítja a rendszert Internet Publisher Key=“LetItBe” Value=MP3 data Lookup(“LetItBe”) N1N1 N2N2 N3N3 N5N5 N4N4 Client DB Központi szerver (pl.: Napster) Központosított megoldás

23 2006 március 2P2P hálózatok 23 Legrosszabb esetben O(N) üzenet / keresés N a csomópontok száma Internet Publisher Key=“LetItBe” Value=MP3 data Lookup(“LetItBe”) N1N1 N2N2 N3N3 N5N5 N4N4 Client Elárasztás (pl.: Gnutella, Morpheus) Elosztott megoldások - I

24 2006 március 2P2P hálózatok 24 Internet Publisher Key=“LetItBe” Value=MP3 data Lookup(“LetItBe”) N1N1 N2N2 N3N3 N5N5 N4N4 Client Kizárólag teljes egyezés Elosztott megoldások - II Irányított (Routed) üzenetek (Freenet, Tapestry, Chord, CAN, stb…)

25 2006 március 2P2P hálózatok 25 Keresés kihívásai Kevés ugrás Mérsékelt méretű útválasztó tábla  mérsékelt == „pont megfelelő” Robusztus működés  gyorsan változó résztvevők

26 2006 március 2P2P hálózatok 26 Chord jellegzetességei Hatékony: O(Log N) üzenet keresésenként  ahol N a kiszolgálók (csomópontok) száma Skálázódik: O(Log N) állapot csomópontonként Robosztus: megbirkózik jelentős résztvevő változással Állítások bizonyításai [tech_report]  Feltételezés: nincs rosszakaratú résztvevő

27 2006 március 2P2P hálózatok 27 Chord Azonosítók (IDs) m bites azonosító tér a kulcsoknak és a csomópontoknak  m tetszőleges szám, elég nagy, hogy az ütközés valószínűsége kicsi legyen  SHA-1 (Secure Hash Standard) Kulcs azonosító = SHA-1(key)  KEY=“LetItBe” ! SHA-1 ID=60 Csomópont azonosító = SHA-1(IP address)  IP=“ ” ! SHA-1 ID=123 Egyenletes eloszlással Hogyan lehet a kulcs azonosítókat a csomópont azonosítókhoz rendelni?

28 2006 március 2P2P hálózatok 28 Chord Gyűrű Azonosítók egy azonosító gyűrű mentén elhelyezve modulo 2 m  Chord ring  Példa: m = 6 Minden K kulcs az őt követő legközelebbi N csomópontnál kerül tárolásra  N = successor(k)

29 2006 március 2P2P hálózatok 29 Consistent hashing D. Karger, E. Lehman, T. Leighton, M. Levine, D. Lewin, R. Panigrahy, „Consistent hashing and random trees: distributed caching protocols for relieving hot spots on the World Wide Web”, Proceedings of ACM Symposium on Theory of Computing, El Paso, Texas, Tim-Berners Lee és T. Leighton eredeti ötlete Akamai  MIT spin-off cég  Elosztott cache-rendszer az Interneten  szerver, 1100 hálózat, 69 ország  15% az Internet forgalomnak rajtuk megy keresztül

30 2006 március 2P2P hálózatok 30 N21 N42 N56 0 Hash(“LetItBe”) = K38 N8N8 N32 Hol van a “LetItBe”? “N42 tárolja a K38-at” K38 Consistent hashing Minden csomópont ismeri az összes többi csomópontot  globális információ tárolási kényszer  üzenet továbbítási táblák nagyok O(N) Gyors keresés O(1)

31 2006 március 2P2P hálózatok 31 Chord: alap keresés Minden csomópont ismeri az őt követőt a gyűrűn  Az öt megelőzőt is hasznos ismernie Keresési idő ~ üzenetek száma: O(N)

32 2006 március 2P2P hálózatok 32 Minden egyes csomópont m számú további csomópontot tart nyilván Az előre mutató távolság exponenciálisan növekszik finger[i] = successor (n + 2 ) „Mutató táblák” (Finger tables) i-1

33 2006 március 2P2P hálózatok 33 A mutató táblák segítségével a keresésnek O(log N) csomópontot kell bejárnia Chord: gyors/skálázódó keresés

34 2006 március 2P2P hálózatok 34 A mutató táblák segítségével a keresésnek O(log N) csomópontot kell bejárnia Chord: gyors/skálázódó keresés

35 2006 március 2P2P hálózatok 35 Chord: gyors/skálázódó keresés Minden csomópont m további bejegyzést tartalmaz Minél közelebbi a kulcs annál részletesebb információval rendelkezik róla a csomópont Általában nem biztosítja az azonnali célba jutást

36 2006 március 2P2P hálózatok 36 Új érkezők Három lépésben (alap működés)  Újonnan érkező mutató táblájának feltöltése  Gyűrű csomópontok mutató táblájának frissítése  Kulcsok cseréje „Lusta” vagy kevésbé agresszív működés  Csak a követő csomópont beállítása  Periodikus követő successor, megelőző predecessor ellenőrzés  Periodikus mutató tábla frissítés

37 2006 március 2P2P hálózatok 37 N14 1. Lookup(15,16,18,…,78) N32 N21 N2N2 N8N8 N56 N42 Új érkező: mutató táblák Kiindulás: bármely p ismert csomópontból  Kérjük meg p-t, hogy építse fel a mutató táblánkat  Táblázat visszaadása

38 2006 március 2P2P hálózatok 38 Új érkező A gyűrű csomópontok mutató tábláinak frissítése  új érkező a frissítés funkciót kelti életre a szomszédos csomópontokban  csomópontok rekurzívan frissíttetik a további csomópontok mutató tábláit

39 2006 március 2P2P hálózatok 39 Új érkező N26 belép a rendszerbe N26.successor = N32 N26 értesíti N32-t N32.predecessor = N26

40 2006 március 2P2P hálózatok 40 Új érkező N26 átmásolja a ráeső kulcsokat N21.frissítés: lekéri N32-től a predecessor-t, aki N26

41 2006 március 2P2P hálózatok 41 Új érkező N21.successor = N26 N21 értesíti N26-ot a létezéséről N26.predecessor = N21

42 2006 március 2P2P hálózatok 42 Új érkezők: keresés Korrekt mutató táblák esetén O(log N) Ha csak a követő lánc helyes, akkor is korrekt, de lassabb működés

43 2006 március 2P2P hálózatok 43 Csomópontok kiesése (hiba) helytelen keresést eredményezhet Mi van ha az N14, N21 és N32 egyszerre meghibásodik? Hogyan tud az N8 tudomást szerezni az N38-ról? Hibák kezelése

44 2006 március 2P2P hálózatok 44 Csomópontok kiesése (hiba) helytelen keresést eredményezhet Mi van ha az N14, N21 és N32 egyszerre meghibásodik? Hogyan tud az N8 tudomást szerezni az N38-ról? Hibák kezelése

45 2006 március 2P2P hálózatok 45 Hibák kezelése (II) Követő lista  Az egyetlen követő helyett r soron követő csomópont regisztrációja  Hiba esetén ismeri a soron következő (élő) csomópontot helyes keresés Valószínűségi garancia  r megválasztása, hogy a keresési hiba valószínűsége megfelelően alacsony legyen r ~ O(log N)

46 2006 március 2P2P hálózatok 46 Teljesítmény elemzés Gyors keresés nagy rendszerekben Alacsony szórással a keresési időben Robosztus, még gyakori csomóponti hibák esetén is

47 2006 március 2P2P hálózatok 47 Chord implementáció 3000 soros C++ kód Library amely tetszőleges alkalmazáshoz linkelhető Kis Internet teszthálón kipóbálva Funkciók:  lookup(key): azon csomópont IP címe amely a kulcsért felelős  kulcs-felelősség változások terjesztése

48 2006 március 2P2P hálózatok 48 Alkalmazás: Chord-DNS DNS keresési szolgálat  host name  IP cím Chord-based DNS:  nincsenek root serverek  nincs manuális routing information menedzsment  nincs naming structure

49 2006 március 2P2P hálózatok 49 Irodalom I. Stoica, R. Morris, D. Karger, F. Kaashoek, H. Balakrishnan, "Chord: A Scalable Peer-To-Peer Lookup Service for Internet Applications," AC Sigcomm2001, The Chord Project

50 2006 március 2P2P hálózatok 50


Letölteni ppt "Peer-to-Peer (P2P) hálózatok BMEVITT9176 Választható tárgy 2006 március 2."

Hasonló előadás


Google Hirdetések