peer to peer p2p h l zatok
Download
Skip this Video
Download Presentation
Peer-to-Peer (P2P) hálózatok

Loading in 2 Seconds...

play fullscreen
1 / 27

Peer-to-Peer (P2P) hálózatok - PowerPoint PPT Presentation


  • 115 Views
  • Uploaded on

Peer-to-Peer (P2P) hálózatok. BMEVITT9176 Választható tárgy 2006 március 6. Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications. Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan - MIT. Teljesítmény elemzés. Gyors keresés nagy rendszerekben

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Peer-to-Peer (P2P) hálózatok' - alexandra-brennan


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
peer to peer p2p h l zatok

Peer-to-Peer (P2P) hálózatok

BMEVITT9176

Választható tárgy

2006 március 6

chord a scalable peer to peer lookup service for internet applications

Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications

Ion Stoica, Robert Morris, David Karger,

M. Frans Kaashoek, Hari Balakrishnan - MIT

teljes tm ny elemz s
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

3

chord implement ci
Chord implementáció
  • 3000 soros C++ kód
  • Library amely tetszőleges alkalmazáshoz linkelhető
  • Kis Internet teszthálón kipró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

4

alkalmaz s chord dns
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

5

irodalom
Irodalom
  • I. Stoica, R. Morris, D. Karger, F. Kaashoek, H. Balakrishnan, "Chord: A Scalable Peer-To-Peer Lookup Service for Internet Applications," AC Sigcomm2001, http://www.acm.org/sigcomm/sigcomm2001/p12.html
  • The Chord Project

http://www.pdos.lcs.mit.edu/chord/

6

tapestry a resilient global scale overlay for service deployment

Tapestry: A Resilient Global-scale Overlay for Service Deployment

Ben Y. Zhao, Ling Huang, Jeremy Stribling, Sean C. Rhea, Anthony D. Joseph, and John Kubiatowicz

IEEE Journal on Selected Areas in Communications, January 2004, Vol. 22, No. 1.

tapestry
Tapestry
  • Egy elosztott, hibatűrő, adaptív lokalizáló és útválasztó infrastruktúra
  • Utótag (suffix) alapú hypercube útválasztás
  • A Plaxton algoritmus ötletére alapoz
    • C.G. Plaxton, R. Rajaraman and A.W. Richa,

Accessing Nearby Copies of Replicated Objects in a Distributed Environment.,

9th Annual ACM Symposium on Parallel Algorithms and Architectures (SPAA \'97), pp 311-320, Newport, RI, USA, 1997http://citeseer.ist.psu.edu/plaxton97accessing.html

8

plaxton tapestry c mz s
Plaxton/Tapestry címzés
  • Bármely csomópont lehet:
    • Szerver – állományokat tárol
    • Router – csomagokat továbbít
    • Kliens – kéréseket kezdeményez
  • Név (cím-) tartomány
    • Csomópontok és állományok egyaránt
    • Megfelelően nagy az ütközések elkerüléséhez
      • 160 bit, 40 hexa számjegy, 1640=2160 cím
  • ~ Kiegyensúlyozott eloszlás a tartományon belül
    • Hash algoritmus

9

neighbour map
Neighbour Map
  • Legyen N egy csomópont (IP cím, ID)
    • utótag(N, k) = az utolsó k számjegy az ID-ből
  • Minden csomópontban szomszédossági térkép (neighbour map)
    • Annyi szint, ahány számjegy az ID-ben
    • Minden szinten annyi bejegyzés, ahányas számrendszerben címzünk
    • A j szint (j-1) hosszúságú utótagoknak felel meg
    • Az i bejegyzés a j szinten – a fizikailag legközelebb álló olyan csomópont IP címe, mely ID-je [„i” + utótag(N, j-1)]-re végződik
      • Példa: a 2. bejegyzés a 5712 csomópont térképének 3. szintjén az a 212-re végződő ID-jű csomópont IP címe, mely fizikailag legközelebb áll az 5712 ID-jű ponthoz

10

neighbour map1

N = “5712” (Octal)

0712

x012

xx02

xxx0

1712

x112

5712

xxx1

2712

x212

xx22

5712

3712

x312

xx32

xxx3

4712

x412

xx42

xxx4

5712

x512

xx52

xxx5

6712

x612

xx62

xxx6

7712

5712

xx72

xxx7

4

3

2

1

Útválasztási szintek

Neighbour Map

11

ut tag alap tv laszt s
Utótag alapú útválasztás
  • Pontról pontra való továbbítás, számjegyenként
    • **** → ***0 → **10 → *510 → 7510
  • Hasonlít a longest prefix match alapú IP útválasztásra
  • Mindegy melyik irányból közelítünk
    • Az eredeti Tapestry javaslat – utótag alapú
    • Jelenleg – előtag alapú

12

p lda

7510

4510

3210

5712

0880

0

0

0

0

0

1

1

1

1

1

2

2

2

2

2

4

4

4

4

4

5

5

5

5

5

7

7

7

7

7

3

3

3

3

3

6

6

6

6

6

Példa

5712 → 7510

5712

0880

3210

4510

7510

13

tapestry csom pont n
Tapestry csomópont N
  • Neighbour Map
  • Object Store
    • A helyileg tárolt állományok
  • Object Location Pointers
    • Információk bizonyos állományok tárolási helyéről
    • <ObjectID, NodeID>
  • Back Pointers
    • Azokra a pontokra mutatnak, melyek szomszéduknak tekintik N-t
  • Hotspot Monitor
    • <ObjectID, NodeID, Frequency> - segítenek a cache kezelésében

14

root node plaxton
Root Node (Plaxton)
  • Adott egy A állomány (IDA)
  • Az A állomány gyökere (root node) az az R csomópont, melyre igaz a következő:

utótag(IDA, k) = utótag (IDR, k)

    • és nincs olyan más csomópont X melyre igaz lenne, hogy

utótag(IDA, k+1) = utótag (IDX, k+1)

  • Ha több ilyen pont van, a legnagyobb címmel rendelkező lesz a root

16

a fesz t fa
A feszítőfa
  • Root(A) az a pont, ahova mindeki fordul ha A-ra kiváncsi
  • Minden A állományhoz egy Root(A) gyökerű feszítőfa tartozik
  • A hálózat bármely pontjáról, véges számú lépés alatt eljutunk a feszítőfa gyökeréhez
    • Számjegyenként egyre közelebb kerülünk, ameddig egy üres szomszéd bejegyzéshez érünk
    • Egy utolsó ugrásként egy shortcut vezet a root-hoz
    • Információt szerzünk az A állományról
  • Statikus megoldás, a hálózat teljes ismerete szükséges
    • Az összes shortcut-ot előre ki kell számolni

17

root node tapestry
Root node (Tapestry)
  • Surrogate routing – elosztott megoldás a root kiszámolására
    • Ha egy üres szomszéd bejegyzésre bukkan, kiválasztja az azon a szinten levő következő nem üres bejegyzést
    • Ha egy szinten egyetlen bejegyzés sincs saját magán kívül, megáll
    • Ez a pont lesz a surrogate (root)

18

tapestry mesh ut tag alap tv laszt s

3

4

2

NodeID

0x43FE

1

4

3

2

1

3

4

4

3

2

3

4

2

3

1

2

1

2

3

1

Tapestry Mesh - Utótag alapú útválasztás

NodeID

0x79FE

NodeID

0x23FE

NodeID

0x993E

NodeID

0x43FE

NodeID

0x73FE

NodeID

0x44FE

NodeID

0xF990

NodeID

0x035E

NodeID

0x04FE

NodeID

0x13FE

NodeID

0x555E

NodeID

0xABFE

NodeID

0x9990

NodeID

0x239E

NodeID

0x73FF

NodeID

0x1290

NodeID

0x423E

19

tapestry routing

0111 ?

Tapestry – routing

NodeID

0000

NodeID

1010

NodeID

0100

NodeID

1000

NodeID

0101

NodeID

1110

NodeID

0001

NodeID

0111

NodeID

1001

NodeID

0011

NodeID

0110

NodeID

1111

NodeID

1011

NodeID

1100

NodeID

1101

NodeID

0010

20

lokaliz ci
Lokalizáció
  • Egy szerver S bejelenti hogy rendelkezik az A állománnyal
    • S elküld egy Publish (ObjectID(A), ServerID(S)) üzenetet a Root(A) felé
    • Minden közbeeső router tárolja a linket (A→S)
  • Query(A) → Root (A) felé
    • Ha útközben valaki tárolta a linket, a kérést azonnal továbbküldi a megfelelő helyre

21

hibat r tv laszt s
Hibatűrő útválasztás
  • Hibadetektálás
    • Periódikus hello csomagok a szomszédok között
  • Hibakezelés
    • Minden bejegyzés a Neighbour Map-ban tartalmaz 2 alternatív útvonalat
      • Másodlagos szomszédok
    • Ha hiba történik, nem törli ki a hibás útvonalat
      • Egy bitet átállítva bejegyzi hibásnak
      • Egy bizonyos ideig (egy nap) ellenőrizgeti
      • Ha megjavitották, visszaállítja a bitet
      • Nem kell költségesen újra beilleszteni
      • He letelik a tűrési idő, kitörli a Map-ből

23

d inamikus beilleszt s
Dinamikus beillesztés
  • Több lépésből áll
  • Feltételezzük, hogy N ismeri egy G gateway címét
    • Expanding ring search, web, stb
  • Step 1: Felépíti N Neighbour Map-jét
    • Üzenetet küld minden közbeeső csomópont (H0..Hi) felé a G→ N’ útvonalon, ahol N’ az N-hez legjobban hasonlító pont (IDN’ ~ IDN)
    • Hi visszaküldi az i szintű szomszédai listáját
      • G = H0
      • utótag (Hi, i) = utótag (N, i)
    • N optimizálja azt, ha szükséges
      • Kiszámolja hogy az elsődleges és másodlagos szomszédok közül ki van fizikailag közelebb
      • Megváltoztatja a sorrendet, ha szükséges
    • Ha egy üres bejegyzést talál a Hi -ban a következő ugrásra, megáll
      • Surrogate routing-al eljut az N’-höz, es az N-hez tartozó adatokat (melyekre N lesz az új root) atmásolja az N-hez

24

p lda a dinamikus beilleszt sre

3

2

1

4

3

2

1

3

4

4

3

2

3

4

2

3

1

2

1

3

1

Példa a dinamikus beillesztésre

4

NodeID

0x779FE

NodeID

0xA23FE

NodeID

0x6993E

NodeID

0x243FE

NodeID

0x243FE

NodeID

0x973FE

NodeID

0x244FE

NodeID

0x4F990

NodeID

0xC035E

NodeID

0x704FE

NodeID

0x913FE

NodeID

0xB555E

NodeID

0x0ABFE

NodeID

0x09990

NodeID

0x5239E

NodeID

0x71290

Gateway

0xD73FF

NEW

0x143FE

25

d inamikus beilleszt s ii
Dinamikus beillesztés (II)
  • Step 2: Értesíti jelenlétéről azokat a csomópontokat, melyek üres bejegyzést tárolnak az IDN-re
    • A surrogate node-tól (N’) visszaindul a backlink-eken
    • Egészen addig, ahol már megegyezik az utótag
    • Ezek a csomópontok bejegyzik N-t a saját táblájukba
  • Step 3: Minden értesített csomópont újrapublikálja az érintett állományokat
    • Lehet, hogy N lesz az új surrogate egy állomány számára
    • Értesülnie kell az állomány tárolási helyéről
  • Step 4: Értesít más pontokat is (elsődleges, másodlagos szomszédok) a jelenlétéről
    • Ezek lemérik a távolságot N felé, és átírják a táblájukat ha szükséges

26

irodalom1
Irodalom
  • http://www.cs.ucsb.edu/~ravenben/tapestry/

27

ad