Peer-to-Peer (P2P) hálózatok 2005 október 12. Tapestry: A Resilient Global-scale Overlay for Service Deployment Ben Y. Zhao, Ling Huang, Jeremy Stribling,

Slides:



Advertisements
Hasonló előadás

Advertisements

Elemi algoritmusok Páll Boglárka.
Kamarai prezentáció sablon
Készítette: Boros Erzsi
Virtualizált Biztonságos BOINC Németh Dénes Deák Szabolcs Szeberényi Imre.
Készítette: Nagy Márton
Hálózati és Internet ismeretek
Készítette:Darázsi LászlóXZ1J94 Muráti ÁkosJNC2FC Szeles JózsefVC4DV7.
Számítógépes hálózatok
A társadalmi tényezők hatása a tanulásra
Tempus S_JEP Számítógép hálózatok Összefoglalás Összefoglalás Összeállította: Broczkó Péter (BMF)
TCP/IP protokollverem
Hálózatok.
Erőállóképesség mérése Találjanak teszteket az irodalomban
MATEMATIKA Év eleji felmérés 3. évfolyam
Hálózati architektúrák
2008. augusztus 6.Budapest New Technology Meetup Group1 Zoltan Kalmar: Hahó Zoltan Kalmar: Hahó Kalmár Zoltán Internet Szolgáltatók.
Mellár János 5. óra Március 12. v
10 állítás a gyerekek internethasználatáról
Műveletek logaritmussal
Az új történelem érettségiről és eredményeiről augusztus Kaposi József.
Peer-to-Peer (P2P) hálózatok 2005 október 5. P2P hálózatok 2 Caching - kiegészítés Szerzői jogokat érintő rendelkezések  DMCA – Digital Millenium Copyright.
Utófeszített vasbeton lemez statikai számítása Részletes számítás
Euklidészi gyűrűk Definíció.
Hatékony gyorsítótár használata legrövidebb utak kereséséhez Bodnár István, Fodor Krisztián, Gyimesi Gábor Jeppe Rishede Thomsen, Man Lung Yiu, Christian.
A tételek eljuttatása az iskolákba
VÁLOGATÁS ISKOLÁNK ÉLETÉBŐL KÉPEKBEN.
A SAT probléma különböző reprezentációinak vizsgálata oktatási szempontból (újratöltve) Az általánosítás fegyvere a kutatásban Kusper Gábor,
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.
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
Számítógépes Hálózatok GY
Számítógépes Hálózatok GY
Peer-to-Peer (P2P) hálózatok BMEVITT9176 Választható tárgy 2006 március 6.
Szerkezeti elemek teherbírásvizsgálata összetett terhelés esetén:
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.
Lineáris egyenletrendszerek (Az evolúciótól a megoldáshalmaz szerkezetéig) dr. Szalkai István Pannon Egyetem, Veszprém /' /
szakmérnök hallgatók számára
A évi demográfiai adatok értékelése
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 réteg.
Hálózati architektúrák
Logikai szita Pomothy Judit 9. B.
Logikai szita Izsó Tímea 9.B.
Lénárt Szabolcs Páll Boglárka
LENDÜLETBEN AZ ORSZÁG A Magyar Köztársaság kormánya.
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.
7. Házi feladat megoldása
Hernyák Zoltán Programozási Nyelvek II.
Csurik Magda Országos Tisztifőorvosi Hivatal
A klinikai transzfúziós tevékenység Ápolás szakmai ellenőrzése
SPSS Predictive Applications Cseh Zoltán Budapest április 20.
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.
QualcoDuna interkalibráció Talaj- és levegövizsgálati körmérések évi értékelése (2007.) Dr. Biliczkiné Gaál Piroska VITUKI Kht. Minőségbiztosítási és Ellenőrzési.
Ágazati GDP előrejelző modell Foglalkoztatási és makro előrejelzés Vincze János Szirák, november 10.
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.
Készítette: Horváth Viktória
Topológiák Hálózati eszközök
Mikroökonómia gyakorlat
> 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 szolgáltatás technikájával – technológiájával kapcsolatos elemzések „EISZ Jövője” Konferencia június 22.
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.
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.
Memóriakezelés feladatok Feladat: 12 bites címtartomány. 0 ~ 2047 legyen mindig.
Tűzfal (firewall).
Fájlcsere: Technikai megoldások
Hálózatok.
Előadás másolata:

Peer-to-Peer (P2P) hálózatok 2005 október 12

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.

2005 október 12P2P hálózatok 3 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 , Newport, RI, USA,

2005 október 12P2P hálózatok 4 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, =2 160 cím ~ Kiegyensúlyozott eloszlás a tartományon belül  Hash algoritmus

2005 október 12P2P hálózatok 5 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

2005 október 12P2P hálózatok 6 Neighbour Map N = “5712” (Octal) Útválasztási szintek 1234 xxx xxx0 xxx3 xxx4 xxx5 xxx6 xxx7 xx xx22 xx32 xx42 xx52 xx62 xx72 x012 x112 x212 x312 x412 x512 x

2005 október 12P2P hálózatok 7 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ú

2005 október 12P2P hálózatok 8 Példa → 7510

2005 október 12P2P hálózatok 9 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  Back Pointers  Azokra a pontokra mutatnak, melyek szomszéduknak tekintik N-t Hotspot Monitor  - segítenek a cache kezelésében

2005 október 12P2P hálózatok 10 Tapestry csomópont

2005 október 12P2P hálózatok 11 Root Node (Plaxton) Adott egy A állomány (ID A ) Az A állomány gyökere (root node) az az R csomópont, melyre igaz a következő: utótag(ID A, k) = utótag (ID R, k)  és nincs olyan más csomópont X melyre igaz lenne, hogy utótag(ID A, k+1) = utótag (ID X, k+1) Ha több ilyen pont van, a legnagyobb címmel rendelkező lesz a root

2005 október 12P2P hálózatok 12 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

2005 október 12P2P hálózatok 13 Root node (Tapestry) Surrogate routing – elosztott megoldás a root kiszámolására Feltételezi, hogy a ID Root(A) = ID A Mivel a címtartomány ritkán „lakott”, valószínüleg nem létezik Ennek ellenére úgy tesz mintha létezne, arra irányítja a csomagokat  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)

2005 október 12P2P hálózatok Tapestry Mesh - Utótag alapú útválasztás NodeID 0x43FE NodeID 0x13FE NodeID 0xABFE NodeID 0x1290 NodeID 0x239E NodeID 0x73FE NodeID 0x423E NodeID 0x79FE NodeID 0x23FE NodeID 0x73FF NodeID 0x555E NodeID 0x035E NodeID 0x44FE NodeID 0x9990 NodeID 0xF990 NodeID 0x993E NodeID 0x04FE NodeID 0x43FE

2005 október 12P2P hálózatok 15 Tapestry – routing NodeID 0001 NodeID 0000 NodeID 1010 NodeID 0100 NodeID 1000 NodeID 0101 NodeID 1110 NodeID 0111 NodeID 1001 NodeID 1011 NodeID 0011 NodeID 0110 NodeID 1111 NodeID 1100 NodeID 1101 NodeID ? 0101x001xx01xxx x101xx11xxx x011xx01xxx x111xx11xxx x011xx01xxx x111xx11xxx x000xx00xxx x100xx10xxx

2005 október 12P2P hálózatok 16 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

2005 október 12P2P hálózatok 17 Lokalizáció

2005 október 12P2P hálózatok 18 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

2005 október 12P2P hálózatok 19 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 (H 0..H i ) felé a G → N’ útvonalon, ahol N’ az N-hez legjobban hasonlító pont (ID N’ ~ ID N )  H i visszaküldi az i szintű szomszédai listáját G = H 0 utótag (H i, 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 H i -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

2005 október 12P2P hálózatok 20 Példa a dinamikus beillesztésre NodeID 0x243FE NodeID 0x913FE NodeID 0x0ABFE NodeID 0x71290 NodeID 0x5239E NodeID 0x973FE NEW 0x143FE NodeID 0x779FE NodeID 0xA23FE Gateway 0xD73FF NodeID 0xB555E NodeID 0xC035E NodeID 0x244FE NodeID 0x09990 NodeID 0x4F990 NodeID 0x6993E NodeID 0x704FE NodeID 0x243FE

2005 október 12P2P hálózatok 21 Dinamikus beillesztés (II) Step 2: Értesíti jelenlétéről azokat a csomópontokat, melyek üres bejegyzést tárolnak az ID N -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

2005 október 12P2P hálózatok 22 Irodalom 

Kademlia: A peer-to-peer information system based on the XOR metric Petar Maymounkov and David Mazieres New York University Proceedings of the 1st International Workshop on Peer-to-Peer Systems (IPTPS '02), pages 53-65, March 2002.

2005 október 12P2P hálózatok 24 Kademlia  P2P adattároló hálózat Kulcs-érték párok tárolása  egyedi, 160 bites kulcsok  Különböző népszerűségű (tárolás, keresés) kulcsok DHT

2005 október 12P2P hálózatok 25 Kademlia Kialakítandó környezet  Bármelyik node bármikor eltűnhessen  A node-ok legyenek egyenletesen terheltek tárolási kapacitás sávszélesség Cél  Gyors adatelérés  Minimális számú vezérlő üzenet

2005 október 12P2P hálózatok 26 Node-ok változékonysága Ideális feltétel  Ha egy node egyszer belépett, soha sem távozik Életszerűbb feltétel  A node-ok 0,5 valószínűséggel nem távoznak a következő órában

2005 október 12P2P hálózatok 27 DHT-k általánosságban Minden node-hoz egy egyedi, 160 bites azonosítót rendelünk Definiálunk egy távolságfüggvényt a 160 bites téren Minden node másik O(log n) node elérhetőségét tárolja Egy olyan keresési algoritmust definiálunk, amely megtalálja egy adott kulcshoz legközelebbi azonosítójú node-ot  A távolságfüggvény egyértelműen meg kell hogy határozzon egy ilyen legközelebbi node-ot Az így meghatározott node-on tároljuk el ill. keressük a kulcs értékét

2005 október 12P2P hálózatok 28 Chord – keresés Minden lépés felezi a távolságot.  Így a célhoz legfeljebb log n lépés alatt elérünk.

2005 október 12P2P hálózatok 29 Chord – routing tábla A címteret logaritmikus régiókra osztjuk  A bejegyzett elérhetőségek ezekből a régiókból valók

2005 október 12P2P hálózatok 30 Chord – routing tábla Merev routing tábla!  Nehezíti a routing tábla helyreállítását node-ok kiesése után  Lehetetlenné teszi a közelségi információ felhasználását

2005 október 12P2P hálózatok 31 Chord – routing tábla A bejövő és kimenő irányú üzenetek eloszlása éppen ellentétes Nem lehet a bejövő forgalmat a routing tábla frissítésére használni

2005 október 12P2P hálózatok 32 A Chord – javítás Két-irányú routing tábla  A tábla kétszer akkorára nő  Kétszerannyi vezérlő üzenetre van szükség

2005 október 12P2P hálózatok 33 Kademlia A routing-tábla rugalmas  Közelségi alapú routing  Laza követelmények  minimális fenntartás Bejövő és kimenő üzenetek eloszlása azonos  A hálózat önmegerősítő Csak log n node elérését kell ismerni

2005 október 12P2P hálózatok 34 Kademlia – routing Minden hop eggyel kisebb ágra visz a cél körül  Az adott ágon belül bármelyik node-hoz ugorhatunk ?

2005 október 12P2P hálózatok 35 XOR - topológia Definíció: d(x,y) = x XOR y A nagyobb helyiértékű bitek eltérése nagyobb távolságot eredményez:   , távolság: = 36 Geometriai értelmezés:  A közös ágon lévő node közelebb van, mint a többi

2005 október 12P2P hálózatok 36 Routing tábla Rugalmasság kialakítás  Mindegy, hogy kit ismerek az adott tartományban A kimenő és bejövő eloszlás azonos A routing tábla log n méretű

2005 október 12P2P hálózatok 37 Adatstruktúrák Kapcsolatok  (nodeID, IP:UDP_port) párok k-vödör (k-bucket)  tárolóegység maximum k db. kapcsolathoz  alapból k=20  Minden node tárol egy k-vödröt olyan node-oknak melyek 2 i és 2 i+1 közötti távolságra vannak tőle, 0 ≤ i < 160 Minden k-vödörben a node-ok sorrendben vannak aszerint, melyikről hallottunk legutóbb Kicsi i értékre a k-vödör általában üres  Nincsenek node-ok az intervallumban Nagy i értékre a k-vödör lehet nagy A k legfrissebb node-ot tárolom  Ha egy Kademlia node kap egy csomagot, a küldőt beteszi a megfelelő k- vödörbe Az a node amelyikről legrégebben hallottam kikerül Routing tábla  Műveletek: kapcsolat berakása, törlése  Egy k-vödrökből álló fa  Minden vödör egy tartományáért felelős

2005 október 12P2P hálózatok 38 Routing-tábla A 00…0-s node routing táblája

2005 október 12P2P hálózatok 39 Routing-tábla A 00…100-s node routing táblája

2005 október 12P2P hálózatok 40 Keresés

2005 október 12P2P hálózatok 41 Keresés Cél: A T célhoz legközelebbi k node megtalálása, ahol T E {0, 1} 160 find_node n (T) : minden olyan címet visszaad n node routing táblájából, amelyik T-hez legközelebbi k-vödörben található Keresés:  n 0 : a keresést végző node  N 1 = find_node n 0 (T)  N 2 = find_node n 1 (T)  …  N l = find_node n l-1 (T)  Ahol n i az N i halmaz tetszőleges címe  A keresés akkor ér véget, ha N l csak olyan címeket tartalmaz, amelyeket n 0 már megkérdezett

2005 október 12P2P hálózatok 42 Keresés Minden lépés felezi a távolságot  vagyis: minden lépés felezi a lehetséges célpontok számát Az egymás utáni find_node n (T) hívások egyre kisebb tartományhoz tartozó k-vödörből adnak választ

2005 október 12P2P hálózatok 43 Párhuzamos keresés Nagyobb forgalomért cserébe gyorsabb keresés Cél  A keresés menjen a gyorsabb / közelebbi gépeken keresztül  Kerüljük el a kilépett node-ok miatti timeout-okat Megoldás:  egyszerre α > 1 párhuzamos find_node n (T)

2005 október 12P2P hálózatok 44 Kapcsolatok fenntartása Ha egy node nem válaszol, töröljük a routing táblából Minden egyes node bekerül a routing táblába, amelyiktől hívást kapunk Az XOR topológia szimmetriája miatt a minket hívó node-ok eloszlása éppen a routing táblánkéval egyező eloszlású lesz

2005 október 12P2P hálózatok 45 Összefoglalás Topológia  Szimmetrikus: d(x,y) = d (y,x). Kevesebb vezérlő üzenet  Egyértelmű: minden X E {0,1} 160 és l E N-hez pontosan egy olyan Y E {0,1} 160 létezik, hogy d(X,Y) = l.  Egyirányúság: Egy rögzített X-hez 2 i db. Y létezik, melyre d(X,Y) ≤ 2 i-1. Párhuzamos kereséssel kikerülhetőek a lassú linkek

2005 október 12P2P hálózatok 46 Alkalmazások A Kademliát használó néhány alkalmazás:  Overnet háló: Overnet, eDonkey, mlDonkey  Kad háló: eMule, mlDonkey, aMule  Directconnect: RevConnect  Trackerless BitTorrent: Azureus, Khashmir, BitSpirit, eXeem

2005 október 12P2P hálózatok 47 Hierarchikus keresés KaZaA – hierarchikus de nem struktúrált Az útválasztás az Interneten hierarchikus  BGP útválasztás az autonóm rendszerek (AS) között  Intra-AS útválasztó protokollok (RIP, OSPF) a rendszeren belül  Skálázhatóság, adminisztrációs autonómia CAN, Chord, Tapestry  Nincs hierarchia  Egyenrangú, homogén peer-ek

2005 október 12P2P hálózatok 48 Hierarchikus DHT Hierarchikus DHT?  A peer-ek csoportokba szerveződnek  Csoportok közötti (inter-group) keresés  Csoporton belüli (intra-group) keresés Előnyök  Csökkenti az ugrások számát keresésenként  Kihasználja a rendszer heterogeneitását  Adminisztrációs autonómia A különböző csoportokon belül különböző DHT megoldások

2005 október 12P2P hálózatok 49 Hagyományos DHT Nincs hierarchia Heterogén peer-ek Heterogén kapcsolatok

2005 október 12P2P hálózatok 50 Hierarchikus DHT A peer-ek csoportokba szerveződnek Azonos ISP Fizikai topológiai szomszédság

2005 október 12P2P hálózatok 51 Hierarchikus DHT A peer-ek különböző szerepeket vállalnak Peer Superpeer

2005 október 12P2P hálózatok 52 Hierarchikus DHT Hierarchikus keresés Melyik a felelős csoport? Melyik a felelős peer?

2005 október 12P2P hálózatok 53 Hierarchikus DHT CARP – Cache Array Routing Protocol K. W. Ross. Hash-routing for collections of shared web caches. IEEE Network Magazine, 11(7):37--44, Nov-Dec 1997.

2005 október 12P2P hálózatok 54 Peer Join Minden csatlakozó p i peer-nek ismernie kell:  Egy másik p f peer-t a hálózatban  A g i csoportnak az ID-ját ahova csatlakozni akar Csatlakozás:  A p i peer megkéri p f peer-t hogy keressen rá a g i csoportra  Ha a csoport nem létezik, p i megalakitja a csoportot  Ha a csoport létezik, egy p d peer válaszol  p i peer a p d peer-en keresztül csatlakozik a csoporthoz

2005 október 12P2P hálózatok 55 Hierarchikus keresés Ha két csoport g i és g k között kapcsolat, akkor minden superpeer s i ismeri legalább egy s k superpeernek az IP címét Adott egy kulcs K A g i csoport felel a K kulcsért, ha ID(g i ) a legközelebb áll K-hoz  A legfelsőbb szintű overlay rendszer metrikájában Transparency  Ha egy kulcs egy csoporton belül a peer-ek között vándorol, az átlátszó a rendszer többi része számára

2005 október 12P2P hálózatok 56 Irodalom Hierarchical Peer-to-peer Systems L. Garcés-Erice, E.W. Biersack, P.A. Felber, K.W. Ross, G. Urvoy-Keller

2005 október 12P2P hálózatok 57 DHT alapú fájlmegosztás Előnyök  Mindig megtalálja a keresett állományt  Gyorsan megtalálja a keresett állományt  Jöbban kihasználhatóak a megosztott erőforrások Hátrányok  Fájlok másolása a rendelkezésre állás biztosítására  Fájlok másolása a terhelés elosztására  Csak teljes kulcs alapú keresés

2005 október 12P2P hálózatok 58 Kulcsszavak A struktúrálatlan fájlcserélő rendszerekben (Gnutella, KaZaa) minden fájlhoz metadata kapcsolódik  Magyarázó, kísérő szöveg, kulcsszavak, stb.  Keresés a metadata felhasználásával DHT esetén csak teljes kulcsszóra alapúló keresés  Legyen kulcs = h(zenész, dal)  Ha ismered a zenészt/dalt, a DHT megtalálja a kulcsért felelős peer-t  Számít a pontos helyesírás, szórend  Mi van ha csak a dal címét, vagy csak az énekest ismered

2005 október 12P2P hálózatok 59 Lehetséges megoldás... Minden állomány rendelkezik egy XML azonosító leírással (d = XML descriptor)  David Bowie Changes Hunky Dory A kulcs az azonosító hash-elt értéke: k = h(d) Az állományt a k kulcsért felelős peer tárolja Lehetséges keresések: q 1 = /song[artist/David Bowie][title/Changes][album/Hunky Dory][size/ ] q 2 = /song[artist/David Bowie][title/Changes] q 3 = /song/artist/David Bowie q 4 = /song/title/Changes Minden lehetséges keresésre generálunk egy kulcsot: k n = h(q n ) Minden k n kulcsért felelős peer tárolja a d azonosítót

2005 október 12P2P hálózatok 60 Lehetséges megoldás... Legyen a keresés a következő:  q 4 = /song/title/Changes A hash függvényt ismerve, generáljuk a q 4 -nak megfelelő kulcsot, és a DHT-t használva rákeresünk A DHT visszaadja a q 4 -ért felelő P peer címét P-től lekérdezzük az összes „Changes” című dal azonosítóját Kiválasztjuk a keresett dalt, melynek azonosítója d Generáljuk a d azonosítónak megfelelő k kulcsot A DHT-t használva rátalálunk a P’ peer-re, mely felelős a keresett dalért

2005 október 12P2P hálózatok 61 Optimális elosztás Sok résztvevő  Ki-be kapcsolódnak a rendszerből(be) Sok megosztott állomány  Egyesek népszerűek, mások kevésbé  A népszerűség változó Hány másolatot kell tárolni egy állományról, és hol? Cél: a rendelkezésre állást (availability) optimizálni

2005 október 12P2P hálózatok 62 Optimális elosztás Egy DHT egy adott kulcsért felelős jelenleg működő peer címét adja meg Legyen J állomány és I peer a rendszerben  A j állomány: keresésének valószínűsége q j mérete b j  Az i peer: működésének valószínűsége p i tárolási kapacitása s i Legyen:  x ij = 1 ha az i peer tárolja a j állomány egy másolatát  x ij = 0 ha nem Cél: maximizálni az elérhetőséget (a keresés sikerét)

2005 október 12P2P hálózatok 63 Optimális elosztás Cél: minimizáljuk a sikertelen keresés valószínűségét úgy, hogy... bármely i=1..I

2005 október 12P2P hálózatok 64 Optimális elosztás X ij є {0,1}  egészértékű programozás (integer programming) speciális esete  NP probléma Egyszerűsített eset: p i = p, bármely i=1..I  Dinamikus programozással megoldható probléma

2005 október 12P2P hálózatok 65 DHT alkalmazások Mire jó a DHT?  Fájl cserélés  Mobilitás kezelés  SOS (Secure Overlay Service)  Stb.

2005 október 12P2P hálózatok 66 DHT alkalmazások P2P alkalmazás réteg P2P alréteg (önszerveződő overlay hálózat) InternetTCP/IP DHT Mobilitás menedzsment FájlmegosztásSOS

2005 október 12P2P hálózatok 67 Mobilitás menedzsment Alíz Barbarával szeretne beszélni  Instant messaging (ICQ, MSN Messenger)  IP telephony - Skype De mi Barbara jelenlegi IP címe?  DHCP  Mobilitás – új ideiglenes cím (Care of Address)

2005 október 12P2P hálózatok 68 Mobilitás menedzsment (II) Barbarának van egy egyéni azonosítója  Az azonosítónak megfelel egy hash-elt kulcs  k = A DHT szabályai alapján a P peer felel a k kulcsért  Barbara rendszeresen értesíti a P peer-t az aktuális IP címéről  P mint egy Mobile IP Home Agent Ha Alíz Barbara IP címére kíváncsi, a DHT-ban rákeres a k kulcsra, és rátalál a P peer-re

2005 október 12P2P hálózatok 69 Secure Overlay Service (SOS) A szolgáltatás megtagadó (Denial of Service, DoS) támadások megelőzésére DoS támadások fontos weboldalak, adatbázisok ellen  “Code Red” féregvírus támadása a whitehouse.gov weboldal ellen  Yahoo, Amazon, eBay MI a DoS?  A megtámadott gépet elárasztani kérésekkel úgy, hogy az ne tudja ellátni szokásos feladatait A DoS-t könnyíti ha...  A céltartalomnak nehéz biztonsági másolatot készíteni Fokozottan titkos, vagy nagyon dinamikus anyagok  A jogosult felhasználók mobilok (fix IP cím nélkül)  Sikerül a támadást elosztott módon vezetni Több gépről egyszerre támadni DDoS – Distributed Denial of Service

2005 október 12P2P hálózatok 70 Tipikus példák Kit érinthet egy DoS támadás?  Fontos adatbázisok  Banki műveletek  Tőzsdei ügyletek  E-commerce A DoS támadások kritikusak a biztonság szempontjából  évente több milliárd dollár kiesést okozhatnak az érintett cégeknek

2005 október 12P2P hálózatok 71 Hogy működik a (D)DoS? Válassz ki egy célállomást melyet meg akarsz támadni Törj be több gépre a hálózatban Használd fel ezeket a gépeket arra, hogy forgalmat generáljanak a célallomás felé Eredmény:  A hálózati erőforrások (sávszélesség) lefoglalása  A célállomás erőforrásainak (CPU) lefoglalása Biztonsági ellenőrzések Opció: A támadó más forrás IP címet használ  Source address „spoofing”  Megnehezíti a támadó felderítését  Az „Ingress filtering” nincs elterjedve RFC 2267, „Network Ingress Filtering: Defeating Denial of Service Attacks which employ IP Source Address Spoofing”, January 1998.

2005 október 12P2P hálózatok 72 Az SOS elemei Célállomás  A peer/szerver melyet a DoS támadástól védünk  Fix IP cím, nem duplikálható tartalom Jogosult felhasználó  Hitelesített felhasználó, mely jogosult a célállomással kommunikálni  Lehet mobil, változó IP címmel Támadó  Megpróbálja meghiúsítani a célállomással való kommunikálást

2005 október 12P2P hálózatok 73 SOS: az ötlet A DDoS támadások hatásosak, mert több pontról irányulnak egy cél felé SOS alapötlet: kommunikáljunk egy overlay hálózaton keresztül  Arra kényszeríti a támadókat, hogy egyszerre több pontot támadjanak a siker érdekében  A hálózat gyorsan tud alkalmazkodni A sok „támadnivaló” pont változik

2005 október 12P2P hálózatok 74 Az SOS célja Lehetővé tenni a jogosult felhasználók számára a célállomás elérését Lehetetlenné tenni a támadók számára a célállomás elérését

2005 október 12P2P hálózatok 75 SOS Ideális megoldás:  Nincs szükség változtatásokra a közbeeső router-eken  Nincs szükség bonyolult, „drága” biztonsági ellenőrzésekre a célállomásnál, vagy annak közelében Feltételek:  A támadók korlátozott erőforrással rendelkeznek csak korlátozott számú peer-t tudnak egyidőben megtámadni  A támadók nem tudják megtámadni a belső útválasztókat (core router)

2005 október 12P2P hálózatok 76 Első lépés: cím alapú szűrés A célállomáshoz közel álló router a forrás IP cím alapján szűri a csomagokat  Csak a jogosult felhasználók által küldött csomagok mennek át, a többi eldobódik  Ezeket a router-eket nehéz megtámadni Gondok: mi van ha...  A támadók és a jogosult felhasználók azonos IP címmel rendelkeznek A támadó bejut egy jogosult gépre  A támadó egy jogosult IP címet használ forráscímként  A jogosult felhasználók mobilak, nincs fix IP címük

2005 október 12P2P hálózatok 77 Második lépés: proxy + filter Proxy szerver a jogosult felhasználó és a célállomás között  A proxy csak hitelesített csomagokat továbbít  Csak a proxy által küldött csömagokat fogadják el a cálállomás szűrői

2005 október 12P2P hálózatok 78 Gondok egy ismert proxy-val Ha a támadó ismeri a proxy IP címét (w.x.y.z), használhatja azt saját csomagjai forráscímeként, hogy elérje a célállomást A proxy-t magát meg lehet támadni

2005 október 12P2P hálózatok 79 Harmadik lépés: Secret Servlets Tartsuk titokban a proxy kilétét (IP címét) A „titkos” proxy – Secret Servlet  Csak a célállomás, és néhány más csomópont ismeri a Secret Servlet címét  A szűrők csak a Secret Servlet-ektől jövő csomagokat engedik át

2005 október 12P2P hálózatok 80 Overlay routing Kérdés: Hogyan küldjünk csomagokat a Secret Servlet-hez, ha nem ismerjük az IP címét? Válasz: egy overlay útválasztást használva Virtuális Overlay Hálózat  Minden résztvevő egy végső felhasználó  Feltételezzük hogy a hálózat kellően nagy, a támadók nem tudják ellenőrizni az összes résztvevő peer-t Service Overlay Access Points (SOAP)  Mindenki ismer egy SOAP halmazt  Egy SOAP egy gateway az overlay hálózathoz A jogosult felhasználó nem tagja az overlay hálózatnak  A SOAP IPSec segítségével ellenőrzi a forgalmat Felhasználó  SOAP  overlay  Secret Servlet  Célállomás

2005 október 12P2P hálózatok 81 Kit támadjak?

2005 október 12P2P hálózatok 82 Overlay routing Hogy jussak el a SOAP-tól a Secret Servlet-ig egy „nehezen előrelátható” módon?  Az útvonal nem szakadhat meg ha peer-ek ki- vagy belépnek a rendszerbe Egy peer „kilép” a rendszerből ha megtámadják Megoldás: egy DHT útválasztás használata (Chord, CAN, Tapestry) Chord emlékeztető:  Elosztott protokoll, a résztvevők egyenrangúak  Egy I azonosítóért (pl. fájlnév) egy bizonyos B peer felelős: h(I) = B  A hálózat bármely pontjáról létezik egy O(logN) overlay hop-ból álló út a B peer felé, ahol N a rendszerben résztvevő peer-ek

2005 október 12P2P hálózatok 83 SOS Beacon Egy Beacon-t használ a Secret Servlet elérésére  Egy B beacon egy A IP cím részére az a peer, melynek az azonosítóját a hash függvény generálja B = h(A) Lépések:  Az A című célállomás kiválaszt néhány Secret Servlet-et  Az S secret servlet a DHT-t használva megkeresi a B beacon-t (B=h(A)), és megkéri arra, hogy az A célcím felé küldött csomagokat felé továbbítsa  A C SOAP szintén a DHT-t használva találja meg a B beacon-t (B=h(A)), és felé továbbítja a hitelesített felhasználó által az A címcél felé küldött csomagokat Különböző hash függvények különböző beacon-okat generálnak  Különböző utak a célállomás felé

2005 október 12P2P hálózatok 84 SOS routing

2005 október 12P2P hálózatok 85 SOS redundancia Bármelyik speciális szerep szükség szerint duplikálható  Bármelyik overlay peer lehet SOAP  A célállomás több Secret Servlet-et választhat  Több Beacon-t generálhatunk különböző hash függvényekkel Ha egy támadó sikeresen megtámad egy SOAP-ot, Secret Servlet-et vagy egy Beacon-t, csak a rendszer egy részét bénítja meg  Ha a rendszer ezt detektálja, adaptálódik

2005 október 12P2P hálózatok 86 Miért nehéz egy SOS-t támadni? A célállomás közvetlen támadása ellen (a servlet ID tudta nélkül) védnek szűrők A servlet-ek támadása  Titkosak  Ha egy servlet „meghal”, a célállomás újat választ A beacon-ok támadása  Ha a beacon „meghal”(kilép a rendszerből), a DHT újraosztja a felelősséget – új beacon  A támadást folytatni kell egy halott peer ellen is, mert ha nem, visszalép a rendszerbe Más overlay peer-ek támadása  Ha a peer-ek meghalnak, az útvonalak adaptálódnak

2005 október 12P2P hálózatok 87 Statikus támadás N peer az overlay-ben Legyen egy adott célcsomópont A  S a Secret Servlet-ek száma  B a Beacon-ok száma  C a SOAP pontok száma Statikus támadás: a támadó véletlenszerűen kiválaszt, és kiiktat M peer-t az N résztvevő közül

2005 október 12P2P hálózatok 88 Sikeres támadás valószínüsége P static = P(N, M, S, B, C) = P{megszűnik a kommunikáció A-val} P(n,b,c) = P{az n peer közül véletlenszerűen kiválasztott b elemből álló peer halmaz magába foglalja a c elemből álló peer halmazt} Sikeres támadás ha kiiktatunk minden SOAP-ot, vagy minden Secret Servlet-et, vagy minden Beacon-t P static = P(N, M, S, B, C)= 1 – (1-P(N,M,S))(1-P(N,M,B))(1-P(N,M,C))

2005 október 12P2P hálózatok 89 Sikeres támadás valószínüsége Majdnem minden peer-t ki kell iktatni egy sikeres támadáshoz

2005 október 12P2P hálózatok 90 Dinamikus támadás Támadás/javítás harca  Az overlay felfedezi, és eltávolítja a rendszerből a megtámadott peer-t  A támadó átirányítja a támadást egy új aktív peer felé  Az eredetileg megtámadott peer visszatér a rendszerbe

2005 október 12P2P hálózatok 91 Irodalom Denial of Service Attacks Detecting Denial of Service Attacks A.D. Keromytis, V. Misra, D. Rubenstein, „SOS: Secure Overlay Services”, Proceedings of ACM/SIGCOMM