Strukturované a nestrukturované P2P sítě, DHT

Slides:



Advertisements
Podobné prezentace
SÍŤOVÉ PROTOKOLY.
Advertisements

Úvod do počítačových sítí Úvod. Úvod do počítačových sítí •Úvod, síťové protokoly, architektury,standardy •Fyzická úroveň •Linková úroveň •Lokální počítačové.
Základy databázových systémů
Přednáška č. 1 Úvod, Historie zpracování dat, Základní pojmy
Počítačové sítě.
1 Počítačové sítě Úvodní přednáška Cíl předmětu –seznámit se s principy datové komunikace –seznámit se s principy distribučních systémů –seznámit se s.
Přednáška č. 5 Proces návrhu databáze
Architektury a techniky DS Tvorba efektivních příkazů I Přednáška č. 3 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Přínosy virtualizace a privátního cloudu
Komunikace v DS Přednášky z distribuovaných systémů Ing. Jiří Ledvina, CSc.
Přínosy a druhy počítačových sítí. Jednou z nejvýznamnějších technologií používaných v oblasti výpočetních systémů jsou již řadu let počítačové sítě.
Adresářová služba Active directory
Pravidelné zálohování dat
Databázové systémy Mgr. Lenka Švancarová. Úvod Doposud jsme uvažovali jen o modelu databázového systému, kde jsou veškerá data a systém řízení báze dat.
VLAN Projektování distribuovaných systémů Lekce 2 Ing. Jiří ledvina, CSc.
Architektura databází Ing. Dagmar Vítková. Centrální architektura V této architektuře jsou data i SŘBD v centrálním počítači. Tato architektura je typická.
Protokol TCP/IP a OSI model
Databázové systémy. Práce s daty Ukládání dat Aktualizace dat Vyhledávání dat Třídění dat Výpočty a agregace.
Databázové systémy Architektury DBS.
Metainformační systém založený na XML Autor: Josef Mikloš Vedoucí práce: Ing. Jan Růžička, Ph.D. V/2004.
Informatika pro ekonomy II přednáška 10
Public Key Infrastructure Přednášky z Distribuovaných systémů Ing. Jiří Ledvina, CSc.
Shrnutí A – Principy datové komunikace B – TCP/IP 1.
Firewall.
Copyright (C) 2000 Vema, a. s.1 V3 klient Michal Máčel Provozní integrace G2, HR/Win a internetu.
CZ.1.07/1.4.00/ VY_32_INOVACE_168_IT 9 Výukový materiál zpracovaný v rámci projektu Vzdělávací oblast: Informační a komunikační technologie Předmět:Informatika.
DATABÁZOVÉ SYSTÉMY. 2 DATABÁZOVÝ SYSTÉM SYSTÉM ŘÍZENÍ BÁZE DAT (SŘBD) PROGRAM KTERÝ ORGANIZUJE A UDRŽUJE NASHROMÁŽDĚNÉ INFORMACE DATABÁZOVÁ APLIKACE PROGRAM.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Application Layer Functionality and Protocols Network Fundamentals – Chapter 3.
Asynchronous Transfer Mode Projektování distribuovaných systémů Lekce 1 Ing. Jiří ledvina, CSc.
2 Petr Žitný znalosti.vema.cz 3 Báze znalostí Nová služba zákazníkům ▸Báze naplněná informacemi, ke které mají uživatelé přímý přístup Základní cíl ▸Poskytovat.
Základy informatiky část 6
Databázové systémy Informatika pro ekonomy, př. 18.
Strukturované a nestrukturované P2P sítě, DHT Projektování distribuovaných systémů Lekce 14 Ing. Jiří Ledvina, CSc.
Směrování - OSPF.
1 Seminář 9 MAC adresa – fyzická adresa interface (rozhraní) Je zapsána v síťové kartě. Je identifikátor uzlu na spoji. MAC adresu v paketu čte switch.
Distribuované algoritmy - přehled Přednášky z Distribuovaných systémů Ing. Jiří Ledvina, CSc.
Internet.
Internet.
Databázové systémy Přednáška č. 5 Datové typy a Fyzická organizace dat.
Protokoly úrovně 3 nad ATM Projektování distribuovaných systémů Lekce 2 Ing. Jiří ledvina, CSc.
Směrování -RIP. 2 Základy směrování  Předpoklady:  Mějme směrovač X  Směrovač nemůže znát topologii celé sítě  X potřebuje určit směrovač pro přístup.
doc. RNDr. Zdeněk Botek, CSc.
Komunikace v DS Přednášky z distribuovaných systémů Ing. Jiří Ledvina, CSc.
1 Počítačové sítě IP multicasting IP multicast – mechanismus pro skupinovou komunikaci v IP vrstvě Zdroj vysílá jeden datagram, na multicast směrovačích.
Metro Ethernet Services Projektování distribuovaných systémů Ing. Jiří ledvina, CSc.
Internet protocol Počítačové sítě Ing. Jiří Ledvina, CSc.
Multimediální přenosy v IP sítích Libor Suchý Prezentace diplomové práce.
Architektura databází DBS=SŘBD+DB
Úvod do P2P sítí Přednášky z Distribuovaných systémů
Kontakty slajdy: ftp://ulita.ms.mff.cuni.cz/predn/POS.
Databázové systémy Úvod, Základní pojmy. Úvod S rozvojem lidského poznání roste prudce množství informací. Jsou kladeny vysoké požadavky na ukládání,
Sítě - nástin 5. AG. Sítě Abychom pochopili princip internetu, nesmíme se zapomenout pobavit o sítích. Abychom pochopili princip internetu, nesmíme se.
Úvod do P2P sítí Počítačové sítě Lekce 13 Ing. Jiří Ledvina, CSc.
E- MAIL Ing. Jiří Šilhán. E LEKTRONICKÁ POŠTA NEBOLI vývoj od počátku sítí – původní návrh pouze pro přenos krátkých textových zpráv (ASCII) základní.
Virtualizace ● IP forwarding ● IP tunneling ● Virtuální síť.
Internet. je celosvětový systém navzájem propojených počítačových sítí („síť sítí“), ve kterých mezi sebou počítače komunikují pomocí rodiny protokolů.
 = jedná se o vzájemné propojení lokálních počítačových sítí pomocí vysokorychlostních datových spojů  vznikl spojením mnoha menších sítí  v každé.
SMĚROVÁNÍ V POČÍTAČOVÝCH SÍTÍCH Část 4 – Směrování v IPv6 Zpracovala: Mgr. Marcela Cvrkalová Střední škola informačních technologií a sociální péče, Brno,
Přednášky o výpočetní technice Internet. přednášky o výpočetní technice Informační hyperdálnice ● Jedna mohutná počítačová síť ● Neplést Internet a Worldwide.
X36MTI Libor Bánovský. Klient – server: ● Připojení více klientům k jednomu serveru ● Sdílení zdrojů serveru ● Pro velké soubory mnoho diskových operací.
Transportní vrstva v TCP/IP Dvořáčková, Kudelásková, Kozlová.
Shrnutí A – Principy datové komunikace B – TCP/IP 1.
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o, Orlová Lutyně
Multiprotocol Label Switching (MPLS)
Informatika pro ekonomy přednáška 8
Číslo projektu OP VK Název projektu Moderní škola Název školy
Počítačové sítě.
Application Layer Functionality and Protocols
Přednášky z distribuovaných systémů
Přednášky z Distribuovaných systémů
Transkript prezentace:

Strukturované a nestrukturované P2P sítě, DHT Přednášky z Distribuovaných systémů Ing. Jiří Ledvina, CSc. Klepněte a vložte poznámky.

Omezení modelu klient/server Těžko dosažitelná škálovatelnost Server představuje úzké místo systému z pohledu chyb Server vyžaduje administraci Nevyužívá okrajové zdroje P2P se snaží eliminovat tato omezení 24.3.2008 Distribuované systémy

Distribuované systémy Definice P2P P2Psystémy jsou překryvné sítě na aplikační úrovni Nemají centrální řízení Definice: Je to technologie, která dovoluje spolupracovat dvěma nebo více členům v síti vzájemnou výměnnou odpovídající informace a s využitím komunikačních systémů bez nutnosti centrální koordinace. 24.3.2008 Distribuované systémy

Klient-server kontra P2P architektura Jednoduché rozlišení Klient-server Počítače se chovají asymetricky vzhledem k prováděným funkcím Peer-to-peer systémy(P2P) Počítače se chovají symetricky vzhledem k prováděným funkcím Odlišné architektury – různé výhody a nevýhody Čisté P2P systémy jsou raritou Většina P2P sítí provádí některé funkce centrálně (adresáře), některé decentralizovaně (přístup k souborům) 24.3.2008 Distribuované systémy

Distribuované systémy Vlastnosti P2P sítí Klienti jsou současně servery i směrovače Uzly obsahují paměť, CPU, úložiště dat Uzly jsou autonomní, bez administrativní autority Síť je dynamická, uzly se mohou často do sítě připojovat i odpojovat Uzly spolupracují vzájemně, nikoliv prostřednictvím nějakých veřejně známých serverů Uzly mohou mít velmi proměnlivé schopnosti (heterogenita) 24.3.2008 Distribuované systémy

Distribuované systémy Výhody P2P výpočtů P2P počítání je sdílení výpočetních zdrojů a služeb přímou výměnou mezi systémy Tyto zdroje a služby zahrnují výměnu informace, výpočetní cykly, vyrovnávací paměti a diskovou paměť pro soubory P2P počítání využívá existující výpočetní výkon, paměti a síťová propojení, dovolující uživatelům využívat jejich společný výpočetní výkon jako výhodu pro všechny 24.3.2008 Distribuované systémy

Distribuované systémy Výhody P2P sítí Efektivní využití zdrojů Nevyužité pásmo, nevyužitá paměť, nevyužitý výpočetní výkon Škálovatelnost Členové jsou si podobní, je možné přidat další členy, rozšíření na rozlehlé sítě Členové jsou jak spotřebiteli zdrojů, tak i jejich zdroji Agregace zdrojů zvyšuje přirozeně jejich využitelnost 24.3.2008 Distribuované systémy

Distribuované systémy Výhody P2P sítí Spolehlivost Vytváření replik Geografické rozmístění uzlů Bez existence jednoho chybového místa Internet ani např. web nemají centrální místo. Mnoho internetových služeb používá model klient/server, ale jsou uspořádány tak, že nemají centrální chybové místo Jednoduchá administrace Uzly se organizují sami Není třeba rozmisťovat servery tak, aby zajišťovaly průchodnost systému Automaticky zabudovaná odolnost proti chybám, replikace, vyrovnávání zátěže 24.3.2008 Distribuované systémy

Hybridní architektura P2P sítě Architektura server/klient Slabá místa z hlediska centralizovatelnosti Architektura P2P Slabá místa z hlediska distribuovaného řízení Hybridní architektura Částečně centralizovaná – řízení Decentralizovaná – škálovatelnost, zálohování, rozdělování zátěže, … 24.3.2008 Distribuované systémy

Vývoj služeb Internetu První generace – čistý Internet Využití přenosových cest Zpracování dat v koncových uzlech Druhá generace – webové služby (překryvná síť) Využívání transparentních modulů v síti (proxy, cache, firewall, … ) Třetí generace – vytváření nových služeb pro uživatele Využití nevyužitých výpočetních zdrojů sítě v koncových uzlech (ne pouze přenosových cest) Jednoduché zavádění nových služeb Není nutný složitý management Na P2P sítě se můžeme dívat jako na novou generaci Internetu 24.3.2008 Distribuované systémy

Klasifikace P2P systémů Centralizované systémy – členové jsou připojeni k jednomu serveru, který koordinuje jejich činnost a řídí komunikaci Systémy s agenty (brokers) – členové se připojují k serveru aby zjistily ostatní členy, ale samotná komunikace už servery řízena není (brokered P2P sítě) Decentralizované systémy – členové pracují nezávisle na centrálních službách. Vyhledávání členů je decentralizované a komunikace probíhá mezi členy (Gnutella, Freenet) 24.3.2008 Distribuované systémy

Distribuované systémy Na co se P2P sítě hodí Vytváření „sítí“ pro specifické uživatele Snadný a rychlý přístup k informacím Vyhledávací stroje Vyhledávání informací v limitovaném (předem daném) prostoru Zvýšení efektivity i rychlosti obnovy informací Společný vývoj Společný vývoj programů Společné vytváření dokumentů Spolupráce při složitých výpočtech 24.3.2008 Distribuované systémy

Oblasti aplikací P2P sítí Komunikace (AOL Instant Messenger, ICQ) Vzdálená spolupráce (sdílené editování souborů, audio a video konference, sdílené kreslení) Interaktivní hry (DOOM) Streaming (multicast na aplikační úrovni) Distribuované výpočty (SETI@home) Sdílení souborů (Napster, Gnutella, Freenet, KazaA, …) Ad-hoc sítě 24.3.2008 Distribuované systémy

Sdílení souborů a streaming Stažení celého souboru a poté jeho zpracování Malé soubory, krátký čas stahování Soubor uložen u jednoho člena – jedno spojení Bez časové krize Streaming Zpracování během stahování Velké soubory – dlouhý čas stahování Soubor uložen u několika členů – více spojení Čas je kritický 24.3.2008 Distribuované systémy

Řešené problémy P2P sítí Identifikace členů Směrovací protokoly Topologie sítí Vyhledávání členů Protokoly pro koordinaci a komunikaci Protokoly pro zajištění kvality služeb (QoS) Bezpečnost (pasivní napadení, aktivní napadení) Sdílení a přidělování zdrojů 24.3.2008 Distribuované systémy

Distribuované systémy Topologie P2P sítí Centralizovaná topologie Kruhová topologie Hierarchické uspořádání Decentralizované uspořádání Hybridní uspořádání 24.3.2008 Distribuované systémy

Centralizovaná topologie 24.3.2008 Distribuované systémy

Distribuované systémy Kruhová topologie 24.3.2008 Distribuované systémy

Hierarchická topologie 24.3.2008 Distribuované systémy

Decentralizovaná topologie 24.3.2008 Distribuované systémy

Hybridní topologie (centralizovaná a kruh) 24.3.2008 Distribuované systémy

Hybridní topologie (centralizovaná a decentralizovaná) 24.3.2008 Distribuované systémy

Distribuované systémy Hodnocení topologií Ovladatelnost Pracnost udržet topologii v provozu Informační soudržnost Spolehlivost dodané informace Rozšiřitelnost Snadnost rozšíření Odolnost proti chybám Snadnost zpracování chyb 24.3.2008 Distribuované systémy

Distribuované systémy Hodnocení topologií Odolnost proti politickým nebo právním vlivům Nový fenomén Jak je obtížné činnost sítě ukončit Bezpečnost Jak je těžké síť zničit Škálovatelnost Jak dalece může být zvětšována 24.3.2008 Distribuované systémy

Distribuované systémy Nestrukturované sítě Napster Gnutella Kazaa Freenet 24.3.2008 Distribuované systémy

Distribuované systémy Napster 5/1999 – 2001 (soud), 2002 - konec sdílení hudebních souborů centralizované řešení uživatelé zapíší seznam svých souborů do Napster serveru další uživatelé pošlou požadavek se seznamem požadovaných souborů do Napster serveru (vyhledávání podle klíčů) Napster server pošle seznam IP adres počítačů, které soubory obsahují Uživatel se připojí přímo k vybranému uživateli a soubor stáhne 24.3.2008 Distribuované systémy

Distribuované systémy Napster Centrální Napster server Zajišťuje správné odpovědi Je však úzkým místem z hlediska škálovatelnosti Je také úzkým místem z hlediska chyb Citlivý na DoD Prohledávání je centralizované Přenos souborů je přímý (peer-to-peer) 24.3.2008 Distribuované systémy

Distribuované systémy Napster 24.3.2008 Distribuované systémy

Distribuované systémy Gnutella dovede sdílet libovolné soubory na rozdíl od Napster provádí decentralizované prohledávání dotazuje se sousedů sousedé se dotazují svých sousedů, atd. počet úrovní prohledávání je dán TTL uzly, které obsahují vyhledávané soubory odpoví 24.3.2008 Distribuované systémy

Distribuované systémy Gnutella decentralizované prohledávání odstraněn problém místa citlivého na chyby není tak citlivý na DoS nemůže zaručit správné výsledky záplavové dotazování prohledávání je distribuované, ale dosud ne škálovatelné Stahování pomocí HTTP GET request 24.3.2008 Distribuované systémy

Distribuované systémy Gnutella Zprávy Advertisement Query Push Request Formát zprávy Message ID (16) - párování Function ID (1) – typ TTL (1) Hops (1) Payload Length (4) 24.3.2008 Distribuované systémy

Distribuované systémy Gnutella 24.3.2008 Distribuované systémy

Distribuované systémy Kazaa (síť FastTrack) hybrid centralizované Napster a decentralizované Gnutella super-peer vystupují jako lokální centra vyhledávání každý super-peer je obdobou Napster serveru pro malou část sítě super-peer jsou vybírány systémem automaticky na základě jejich parametrů (paměť, šířka pásma, ... ) a dostupnosti (čas pro připojení) 24.3.2008 Distribuované systémy

Distribuované systémy Kazaa (síť FastTrack) uživatelé přenesou svůj seznam souborů do super-peer super-peer si periodicky vyměňují seznam souborů uživatelé posílají dotazy do super-peer systém slouží ke sdílení souborů existuje možnost nesdílet data, pouze je stahovat 24.3.2008 Distribuované systémy

Distribuované systémy Anonymita P2P sítí Napster, Gnutella ani Kazaa nezajišťují anonymitu Uživatelé vědí kde co je a kdo co požaduje Freenet Navržen mimo jiné k zajištění anonymity 24.3.2008 Distribuované systémy

Distribuované systémy Freenet 6/1999 data jsou přenášena v opačném směru než dotaz není možné zjistit, je-li uživatel iniciátorem nebo pouze data přenáší dál není možné zjistit, jestli uživatel data posílá dál nebo je také spotřebovává chytré dotazy požadavky jsou směrovány do správného uzlu postupně 24.3.2008 Distribuované systémy

Distribuované systémy Freenet 24.3.2008 Distribuované systémy

Distribuované systémy Freenet Nestrukturovaná P2P síť P2P indexovací a vyhledávací služba P2P stahování souborů Soubory jsou obsluhovány po stejných cestách jako vyhledávání (nepoužívá přímá propojení koncových bodů) Zavedeno kvůli zachování anonymity 24.3.2008 Distribuované systémy

Distribuované systémy Freenet Kompletně anonymní pro zdroje i konzumenty informací Odolný vůči pokusům třetí strany zabránit přístupu k informacím Cíle Anonymita pro poskytovatele i konzumenty Možnost zapírání pro úložiště dat Odolnost proti útokům na znepřístupnění služeb Efektivní ukládání dat a směrování Nezajišťuje Trvalé ukládání souborů Vyrovnávání zátěže 24.3.2008 Distribuované systémy

Mechanizmus vyhledávání souborů: Chain Mode Požadavek na vyhledání souboru může být poslán mnoha různým uzlům Jestliže uzel požadovaný dokument nemá, posílá požadavek některému ze svých sousedů, u kterého je pravděpodobnější, že dokument má Zprávy vytváří řetězec spojující uzly, přes které byl dotaz přenášen Zprávy jsou rušeny po přenosu přes předem daný počet mezilehlých uzlů, takže délka řetězce je omezená Řetězec končí pokud je vyčerpán počet opakování nebo pokud je soubor nalezen 24.3.2008 Distribuované systémy

Mechanizmus vyhledávání souborů: Chain Mode User E Počítač A pošle dotaz svému sousedu B, který jej pošle svému sousedu D, který jej dále pošle sousedovi G a nakonec dotaz obdrží H, který má požadovaná data Odpověď je posílána zpět přes všechny uzly, které přenášely dotaz User User A F User D B User User G C H * User User 24.3.2008 Distribuované systémy

Výhody a nevýhody tohoto režimu pro prohledávání Pro průměrný případ rychlé vyhledávání s minimálním zatížením sítě Vyhledávání je ukončeno jakmile je soubor nalezen Dobře škálovatelné Nevýhody Pro nejhorší případ pomalé vyhledávání Soubor nemusí být nalezen – náhodný výběr dalšího souseda 24.3.2008 Distribuované systémy

Distribuované systémy Operace Freenet Dotazy jsou posílány jednomu serventu (server/klient). Pokud se neobjeví kladná odpověď z tohoto řetězu dotazů, je vybrán jiný servent. Avšak po dané cestě je posílán celý nalezený dokument i když může být hodně velký Servent(y) mají vyrovnávací paměti, do kterých často vyhledávané dokumenty ukládají na omezenou dobu. Pokud není dokument po delší dobu požadován, je vymazán 24.3.2008 Distribuované systémy

Distribuované systémy Dosažení anonymity Jak se dosáhne anonymity Uzly posílají požadavky náhodně a nelze rozpoznat jsou-li zdrojem nebo cílem požadavku Hodnoty doby života požadavku jsou neurčité Není možné vysledovat dokument do jeho počátečního uzlu Podobně není možné vysledovat ve kterém uzlu byl dokument vložen 24.3.2008 Distribuované systémy

Distribuované systémy Strukturované P2P sítě Chord Pastry CAN BitTorrent 24.3.2008 Distribuované systémy

Klasifikace P2P systémů pro sdílení souborů Hybridní (se zprostředkováním pomocí brokera) Nestrukturované a centralizované Napster Nestrukturované a se znalostí super člena (super peer) KazaA, Morpheus Nestrukturované decentralizované (volně řízené) Soubory mohou být kdekoliv Podporuje částečná jména a dotazování podle klíče Neefektivní prohledávání (heuristické metody) Negarantuje nalezení informace Gnutella 24.3.2008 Distribuované systémy

Klasifikace P2P systémů pro sdílení souborů Strukturované (pevně řízené, DHT) Soubory jsou přiřazeny specifickým uzlům podle přísných pravidel Lze zajistit efektivní prohledávání a garantovat nalezení souboru Postrádá částečná jména a vyhledávání podle klíčových slov Příklady – Chord, CAN, Pastry, Tapestry 24.3.2008 Distribuované systémy

Porovnání některých metod pro sdílení souborů Centralizované jeden nebo pár koordinátorů např. Napster Zcela decentralizované všichni členové (nebo žádný) obsahují směrovací informace e. g. Freenet, Gnutella Hybridní „Super peers“ obsahují směrovací informace např. FastTrack (Kazaa, Morpheus), odvozeniny z Gnutella 24.3.2008 Distribuované systémy

Distribuované systémy Strukturované P2P sítě Druhá generace P2P překryvných sítí Samo se organizující Podporují vyrovnávání zátěže Odolné proti poruchám Garantují maximální počet přeskoků při dotazování Hlavní rozdíl od nestrukturovaných systémů Založené na distribuovaných hashovacích tabulkách Definují jednoduché rozhraní pro přístup Umožňují oddělit vyhledávací metody od metod přenosových 24.3.2008 Distribuované systémy

Distribuované hashovací tabulky (DHT) Distribuovaná verze datové struktury hashovací tabulka Ukládá pár (klíč, hodnota) Klíč odpovídá jménu souboru Hodnota odpovídá obsahu souboru Cíl: vytvořit efektivní operace pro vkládání, vyhledávání a rušení položek (klíč, hodnota) Každý člen ukládá u sebe podmnožinu párů (klíč, hodnota) Základní operace: nalezení uzlu který odpovídá klíči Mapování klíče na uzel Efektivně směrovat požadavky (vložit, vyhledat, vymazat) k tomuto uzlu 24.3.2008 Distribuované systémy

Distribuované systémy Aplikace DHT Nad rozhraním DHT může být vybudováno mnoho služeb Sdílení souborů Archivní úložiště souborů Databáze Vyhledávání služeb podle jmen Chatovací služby Komunikace založená na randevous Publikování 24.3.2008 Distribuované systémy

Požadované vlastnosti DHT Klíče jsou rovnoměrně mapovány na všechny uzly sítě Každý uzel udržuje informaci pouze o malém množství ostatních uzlů Zprávy mohou být do uzlů směrovány efektivně Přidání nebo odebrání uzlu má vliv pouze na několik uzlů 24.3.2008 Distribuované systémy

Směrovací protokoly DHT DHT je pouze základní rozhraní Existuje několik implementací toho rozhraní Chord [MIT] Pastry [Microsoft Research] CAN (Content Addressable Network) [Berkeley] SkipNet [Microsoft Research] Kademlia [New York University] Viceroy [Israel, UC Berkeley] P-Grid [EPFL Switzerland] Freenet [Ian Clarke] 24.3.2008 Distribuované systémy

Strukturované překryvné sítě Vlastnosti Mají topologii determinovanou přesnými pravidly Dobře definovaná pravidla určují ke kterým uzlům bude uzel připojen Soubory jsou ukládány do přesně definovaných míst Hashovací funkce mapuje jména souborů na uzly (reprezentované síťovými adresami) Škálovatelnost směrování je založena na atributech vyhledávání 24.3.2008 Distribuované systémy

Distribuované systémy Chord Chord Zajišťuje P2P vyhledávání pomocí hashovací funkce Převádí Lookup(key)  IP adresa Chord neukládá data Efektivnost O(Log N) zpráv pro jedno vyhledání N je celkový počet serverů Škálovatelnost: O(Log N) stavů pro uzel Rozsáhlé změny při změně členství 24.3.2008 Distribuované systémy

Chord: Lookup Mechanism Lookups take O(Log N) hops N5 N10 N110 N20 K19 N99 N32 Lookup(K19) N80 24.3.2008 Distribuované systémy N60

Document Routing – Chord K19 MIT project Uni-dimensional ID space Keep track of log N nodes Search through log N nodes to find desired key 24.3.2008 Distribuované systémy

Výpočet ID m bit prostor identifikátorů pro klíče i uzly identifikátor klíče = SHA-1(key) Key=“LetItBe” ID=60 SHA-1 identifikátor uzlu = SHA-1(IP address) IP=“198.10.10.1” ID=123 SHA-1 oba jsou distribuovány stejně problém mapování ID klíčů na ID uzlů 24.3.2008 Distribuované systémy

Distribuované systémy Vyhledávací tabulky (Finger tables) každý uzel zná m ostatních uzlů v kruhu vzdálenost se zvětšuje exponenciálně N112 N16 80 + 25 80 + 26 N96 80 + 24 80 + 23 80 + 22 80 + 21 80 + 20 N80 24.3.2008 Distribuované systémy

Distribuované systémy Vyhledávací tabulky (Finger tables) ukazatel i ukazuje na následníka n+2i N120 N112 N16 80 + 25 80 + 26 N96 80 + 24 80 + 23 80 + 22 80 + 21 80 + 20 N80 24.3.2008 Distribuované systémy

Distribuované systémy Vyhledávací tabulky (Finger tables) vyhledávání představuje O(Log N) kroků N5 N10 N110 N20 K19 N99 N32 Lookup(K19) N80 24.3.2008 Distribuované systémy N60

Distribuované systémy Vyhledávací tabulky - připojení se do kruhu Agresivní algoritmus: inicializace všech položek v uzlu oprava položek v existujících uzlech přenos klíčů z následníka do uzlu Méně agresivní algoritmus (oprava na pozadí): inicializace položky na následující uzel periodická verifikace bezprostředního následovníka a předchůdce periodická oprava položek tabulky 24.3.2008 Distribuované systémy

Distribuované systémy Pastry rozhraní podobné jako Chord předpokládá lokalizaci sítě pro minimalizaci přeskoků nový uzel potřebuje znát nejbližší uzel, aby bylo dosaženo lokality 24.3.2008 Distribuované systémy

Content-Addressable Network (CAN) Typická metoda pro vyhledání dokumentu v síti Virtuální kartézský prostor pro vyhledávání Celý prostor je rozdělen mezi všechny uzly Každý uzel vlastní zónu jako část celkového prostoru Abstrakce Data ukládáme do bodů prostoru Mezi libovolnými body prostoru můžeme vytvářet cesty Bod = uzel který vlastní určitou oblast 24.3.2008 Distribuované systémy

Distribuované systémy Základní koncepce CAN Data uložená v CAN jsou adresována podle jména (tj. klíče), ne podle svého uložení (tj. IP adresy) Úlohou směrování je nalézt místo uložení dat 24.3.2008 Distribuované systémy

CAN Example: Two Dimensional Space Space divided between nodes All nodes cover the entire space Each node covers either a square or a rectangular area of ratios 1:2 or 2:1 Example: Node n1:(1, 2) first node that joins  cover the entire space 7 6 5 4 3 n1 2 1 1 2 3 4 5 6 7 24.3.2008 Distribuované systémy

CAN Example: Two Dimensional Space Node n2:(4, 2) joins  space is divided between n1 and n2 7 6 5 4 3 n1 n2 2 1 1 2 3 4 5 6 7 24.3.2008 Distribuované systémy

CAN Example: Two Dimensional Space Node n3:(3, 5) joins  space is divided between n1 and n3 7 6 n3 5 4 3 n1 n2 2 1 1 2 3 4 5 6 7 24.3.2008 Distribuované systémy

CAN Example: Two Dimensional Space Nodes n4:(5, 5) and n5:(6,6) join 7 6 n5 n4 n3 5 4 3 n1 n2 2 1 1 2 3 4 5 6 7 24.3.2008 Distribuované systémy

CAN Example: Two Dimensional Space Nodes: n1:(1, 2); n2:(4,2); n3:(3, 5); n4:(5,5);n5:(6,6) Items: f1:(2,3); f2:(5,1); f3:(2,1); f4:(7,5); 7 6 n5 n4 n3 5 f4 4 f1 3 n1 n2 2 f3 1 f2 1 2 3 4 5 6 7 24.3.2008 Distribuované systémy

CAN Example: Two Dimensional Space Each item is stored by the node who owns its mapping in the space 7 6 n5 n4 n3 5 f4 4 f1 3 n1 n2 2 f3 1 f2 1 2 3 4 5 6 7 24.3.2008 Distribuované systémy

Distribuované systémy CAN: Query Example Each node knows its neighbours in the d-space Forward query to the neighbour that is closest to the query id Example: assume Node n1 queries File Item f4 7 6 n5 n4 n3 5 f4 4 f1 3 n1 n2 2 f3 1 f2 1 2 3 4 5 6 7 24.3.2008 Distribuované systémy

Distribuované systémy CAN: Query Example Each node knows its neighbours in the d-space Forward query to the neighbour that is closest to the query id Example: assume Node n1 queries File Item f4 7 6 n5 n4 n3 5 f4 4 f1 3 n1 n2 2 f3 1 f2 1 2 3 4 5 6 7 24.3.2008 Distribuované systémy

Distribuované systémy CAN: Query Example Each node knows its neighbours in the d-space Forward query to the neighbour that is closest to the query id Example: assume Node n1 queries File Item f4 7 6 n5 n4 n3 5 f4 4 f1 3 n1 n2 2 f3 1 f2 1 2 3 4 5 6 7 24.3.2008 Distribuované systémy

Distribuované systémy CAN: Query Example Each node knows its neighbours in the d-space Forward query to the neighbour that is closest to the query id Example: assume Node n1 queries File Item f4 7 6 n5 n4 n3 5 f4 4 f1 3 n1 n2 2 f3 1 f2 1 2 3 4 5 6 7 24.3.2008 Distribuované systémy

Distribuované systémy Bit Torrent Bram Cohen TCP pro přenosy Dělení souboru na kousky (16kB) Každý kousek zabezpečen SHA-1 Stahování přes Web server Supernova.org (+zrcadla) Obsahuje metadata soubor (.torrent) SHA-1 pro všechny kousky souboru Mapování kousků do souboru Odkaz na tracker (umístění částí souborů) 24.3.2008 Distribuované systémy

Distribuované systémy Bit Torrent Seed (zdroj) – vytváří .torrent soubor Tracker – centrální server udržující seznam členů ve swarmu Swarm – soubor uzlů zúčastněných na distribuci souborů Člen se spojí se SWARMem aby získal TRACKER a z něho seznam členů, ke kterým se pak připojí 24.3.2008 Distribuované systémy

Distribuované systémy Bit Torrent Překrývání částí souborů Rovnoměrné překrytí Dobré využití šířky pásma Záloha souborů, distribuované kopie Náhodný výběr člena pro stahování Odolný vůči výpadkům členů 24.3.2008 Distribuované systémy