Rc Paradigmap2p [631181]

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria
Paradigma P2P
Lenuta Alboaie
[anonimizat]
1

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Cuprins
•Paradigma peer -to-peer(P2P)
–Preliminarii
–Definitii
–Caracterizare
–Tipuri de aplicatii
–Infrastructuri
–Instrumente

2

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Preliminarii
…sa ne reamintim modelul client/server

3 Server
Client
Client Client Client
Internet

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Preliminarii
…sa ne reamintim modelul client/server
•Uzual , privim clientul ca fiind o componenta avind
capacitati computationale reduse
•Serverul este mentinut si administrat in mod
centralizat
Probleme ale arhitecturii client/server:
•Lipsa robustetii
•Lipsa sigurantei
•Lipsa scalabilitatii
•Vulnerabilitate la atac

4

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Definitii
Peer = one that is of equal standing with another
(conform Webster)
Peer -to-peer (P2P) = arhitectura de retea in care
nodurile sunt relativ egale
–In sensul ca fiecare nod este in principiu capabil sa
realizeze functii specifice retelei
–In practica , multe dintre nodurile retelei pot realiza
asemenea functii

5

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Definitii
6 Sistemele P2P, in sens strict,
sunt sisteme complet
distribuite
–Toate nodurile sunt
total echivalente , in
termeni de
functionalitate si a
activitatilor pe care le
pot desfasura

Node
Node
Node Node Node
Internet
Obs. Sisteme P2P pure , sunt rare (e.g. Gnutella), majoritatea sunt
hibride avind supernoduri sau servere cu diferite roluri
(cautare de date, control)

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Definitii
7 -Nodurile
-Pot consuma si oferi
date
-Orice nod poate initia
o conexiune
-Nu exista sursa de date
centralizata =>
-Forma de democratie
pe Internet
-Protectie copy -right
amenintata

Node
Node
Node Node Node
Internet

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Definitii
•“P2P este clasa de aplicatii care se bazeaza pe resursele (de
stocare , de procesare , continut , prezente umane ) disponibile la
marginile (edges) Internet -ului

8

Edges of the Internet
(overlay networks )

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Definitii
“P2P is a class of applications that take advantage of resources –
storage, cycles, content, human presence – available at the
edges of the Internet. Because accessing these decentralized
resources means operating in an environment of unstable and
unpredictable IP addresses, P2P nodes must operate outside
the DNS system and have significant, or total autonomy from
central servers”
“A distributed network architecture may be called a P2P network
if the participants share a part of their own resources. These
shared resources are necessary to provide the service offered
by the network. The participants of such a network are both
resource providers and resource consumers”

9

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Caracterizare
Caracteristici definitorii :
–Partajarea resurselor computationale prin
interschimb direct si mai putin prin intermedieri
oferite de o autoritate centralizata (server)
•Serverele centralizate pot fi folosite insa pentru a
realiza activitati specifice (initializarea retelei P2P ,
adaugarea de noi noduri in retea ,…)
•Ideal, nodurile participa activ si unilateral la
realizarea de operatii ca localizarea & caching -ul
nodurilor /continutului , dirijarea informatiilor ,
managementul resurselor transferate etc.
10

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Caracterizare
Caracteristici definitorii :
–Abilitatea de a trata instabilitatea si variatiile
conctivitatii retelei , adaptindu -se automat la
erorile survenite sau la dinamicitatea nodurilor
•Topologia retelei P2P e adaptiva si toleranta la
defecte , nodurile auto -organizindu -se in
vederea mentinerii conectivitatii si
performantei retelei

11

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Caracterizare
Reteaua P2P este una suprapusa ( overlay ) peste cea
fizica
–Se situeaza la nivelul aplicatie => flexibilitate
–Muchiile virtuale sunt conexiuni TCP sau pointeri la
adrese IP
–Mentinerea retelei P2P se face prin verificarea
periodica a conectivitatii ( ping ) ori a existentei
(mesaje “ still alive ?”)
–Cand un nod pica, sistemul P2P ar putea stabili noi
muchii
–Proximitatea (fizica) a nodurilor nu e importanta
–Reteaua P2P poate fi structurata sau nu
12

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Scopuri si beneficii
•Utilizarea eficienta a resurselor
–Latimea de banda neutilizata, resurse de stocare, putere de procesare
disponibile la marginile ( edges ) retelei
•Scalabilitate
–Fara informatii centralizate, fara bottleneck –uri (de comunicare si de
calcul)
–Agregarea resurselor se face in mod natural odata cu utilizarea sistemului
•Siguranta (eng. Reliability)
–Existenta de copii a datelor
–Distribuire geografica
–Nu mai exista “ single point of failure ”
•Administrare usoara
–Nodurile se auto -organizeaza
–Cresterea tolerantei la erori si a echilibrarii incarcarii
–Cresterea autonomiei
•Anonimitatea
–Greu de realizat intr -un sistem centralizat
•Dinamism
–Mediu dinamic
–Colaborare si comunicare ad -hoc
13

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Dezavantaje/Probleme
–Arhitecturile P2P sunt probabilistice
•Localizare impredictibila a resurselor
•Resursele sunt volatile
–Inexistenta unui control centralizat
•Probleme privind impunerea unei autoritati asupra
aplicatiilor, continutului si utilizatorilor
•Dificultati in detectarea si identificarea utilizatorilor (aspecte
anti-sociale)
–Incurajarea folosirii sistemelor P2P in scop abuziv si ilegal
(drepturile de autor asupra continutului digital)
–Lipsa increderii la nivel comercial, de afaceri
–Probleme de securitate (curs viitor)
14

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Evolutie…
15

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Tipuri de aplicatii
•Comunicare & colaborare
–Sisteme ce ofera o infrastructura pentru facilitarea comunicarii &
colaborarii directe , deseori in timp real, intre noduri
•Sisteme conversationale (chat, mesagerie instantanee ):
IRC (Internet Relay Chat), ICQ (1996), YM!, MSN Messenger,
Skype, Sisteme multicast P2P (e.g. Cirrus – Adobe Flash
http://labs.adobe.com/technologies/cirrus/), …
•Calcul distribuit
–Sisteme ce folosesc puterea computationala a nodurilor disponibile
(cicli de procesor )
•Rezolvarea unor probleme prin divide -et-impera : SETI@home
(Search for Extra -Terrestrial Intelligence -Berkeley),
genome@home
•Reteaua P2P reprezinta un gen de Grid computational (…curs
viitor )
16

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Tipuri de aplicatii| Calcul distribuit – Exemplu
17

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Tipuri de aplicatii
•Sisteme de stocare (baze de date)
–Proiectare de sisteme de baze de date distribuite bazate pe infrastructuri
P2P
•PIER – motor scalabil de interogare distribuita
(http://pier.cs.berkeley.edu/)
•Edutella – proiect open -source pentru interogari si stocare de meta –
date (P2P pentru Semantic Web)
•Distribuire de continut digital
–Sisteme & infrastructuri pentru partajarea resurselor digitale (multimedia
si alte date) intre utilizatori
•Aplicatii pentru partajarea fisierelor (e.g. Napster, Gnutella, KaZaA ,
Freenet, BitTorrent , eDonkey etc.)
•Medii de stocare distribuita pentru publicarea , organizarea ,
indexarea , cautarea si regasirea datelor in maniera securizata &
eficienta
(PAST, Chord, Groove, Mnemosyne, Avalanche,…)

18

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Tipuri de aplicatii
•Distribuire de continut digital | Exemplu
19

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Tipuri de aplicatii
•Distribuire de continut prin P2P
–Sisteme P2P de “ interschimb de fisiere ”
•Nodurile transfera un fisier la un moment dat
•Se ofera facilitati pentru realizarea unei retele
P2P si pentru cautarea&transferul de fisiere
intre noduri
•Nu se ofera suport pentru securitate ,
disponibilitate si persistenta
•Exemple : Napster, KaZaA , Gnutella

20

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Tipuri de aplicatii
•Distribuire de continut prin P2P
–Sisteme P2P pentru publicarea & stocarea
continutului
•Utilizatorii pot publica , stoca si distribui
continut digital, pe baza unor drepturi de acces
(privilegii )
•Se focalizeaza asupra securitatii si persistentei
•Unele ofera si facilitati privind colaborarea intre
utilizatori
•Exemple : Scan, Groove, Freenet , MojoNation ,
Tangler
21

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Tipuri de aplicatii
•Distribuire de continut prin P2P
–Infrastructuri pentru :
•Dirijare & Localizare :
Chord, Can, Pastry, Tapestry, Kademila
•Anonimitate :
Onion Routing, ZeroKnowledge , Freedom,
Tarzan
•Managementul reputatiei :
Eigentrust , PeerTrust

22

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Infrastruc.(localizare & dirijare)
•Mecanismele de localizare si dirijare ce pot fi
adoptate depind de:
–Topologia
–Structura
–Gradul de centralizare
ale retelei suprapuse, acoperitoare ( overlay
network )
23

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Infrastruc.(localizare & dirijare)
•Aspecte privind centralizarea
–Arhitecturi pur descentralizate : toate nodurile
realizeaza exact aceleasi activitati , jucind simultan
roluri de servere si clienti , fara a beneficia de o
coordonare centrala
•Nodurile se numesc servents (SERV ers +
clieENTS )
24

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Infrastruc.(localizare & dirijare)
•Aspecte privind centralizarea
–Arhitecturi partial centralizate : unele noduri au un rol mai
important (e.g., stocind indecsi locali pentru fisierele
partajate )
•Nodurile devin supernoduri conform politicilor fiecarui
sistem P2P
•Rolul de supernod este stabilit dinamic
–Arhitecturi descentralizate hibride : exista un server
central facilitind interactiunea intre noduri , mentinind
cataloage de meta -date ale fisierelor
•Serverele pot identifica si verifica nodurile de stocare
•Sistemele se mai numesc broker mediated
25

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Infrastruc.(localizare & dirijare)
•Aspecte privind structura retelei :
–Nestructurata : plasarea continutului este complet
independenta de topologia retelei suprapuse
•Continutul trebuie localizat
•Strategii de cautare prin “forta bruta ”: inundarea
retelei – cereri propagate via BFS/DFS
•Strategii mai sofisticate : drumuri aleatorii ,
probabilistice etc
–Slab structurata (loosely structured ): desi localizarea
continutului nu e complet specificata , aceasta este
afectata de dirijare
•Categorie aflata intre retele structurate si cele
nestructurate
26

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Infrastruc.(localizare & dirijare)
•Aspecte privind structura retelei :
–Structurata : topologia este controlata , iar fisierele (sau
pointerii la ele) sunt plasate in locatii precise
•Se realizeaza o asociere (mapping) intre continut
(identificatorul de fisier ) si locatie (adresa nodului )
–In genul unei tabele de rutare distribuita
•Cautarile exacte (exact -match queries ) pot fi realizate in
mod scalabil
•Structura folosita la dirijarea eficienta a mesajelor este
dificil de mentinut in cazul unor noduri tranziente , cu
rata mare de atasare si deconectare de la retea

27

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Infrastruc.(localizare & dirijare)
28

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Arhitecturi nestructurate
Descentralizate hibride
-Fiecare calculator client
stocheaza continut (fisiere )
partajat (e)
-Serverul central mentine o tabela
cu conexiunile utilizatorilor
inregistrati (IP , latime de
banda ,…) + o tabela cu lista
fisierelor fiecarui utilizator
&meta -date
-Exemple : Napster, Publius

29

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Napster
•1999: Sean Fanning lanseaza Napster
•A atins cota de 1.5 milioane de utilizatori simultan
•Baze de date centralizata – operatii :
–Join: clientul contacteaza serverul central (via TCP)
–Publish : raportarea unei liste de fisiere serverului
central
–Search : interogarea serverului => se intoarce
cineva care stocheaza fisierul cerut
–Fetch : ia fisierul direct de la peer (cel cu cea mai
buna rata de transfer)
•Iulie 2001: Napster a fost inchis

30 Arhitecturi nestructurate

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Napster: Publish

31
Napster: Search

Discutii :
-Serverul face toate procesarile
-Avem “single point of failure ”
-Probleme de scalabilitate , unele sisteme nu permit adaugarea altor servere
(lista server elor disponibile este statica )
Arhitecturi nestructurate

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Arhitecturi nestructurate
Descentralizate pure
-Se construieste o retea acoperitoare (overlay ) cu propriile mecanisme
de rutare prin IP
-Nu exista o coordonare centrala
-Utilizatorii se conecteaza via o aplicatie care are rol dublu – servent
-Comunicarea intre serventi se bazeaza pe un protocol la nivel de
aplicatie , cu 4 tipuri de mesaje :
-Ping – cere ca un nod sa se anunte
-Pong – replica la mesajul ping (IP , port, numarul & marimea
fisierelor )
-Query – cerere de cautare (sir de cautare + viteza minima de
transfer)
-Query hints – raspuns (IP , port, viteza , dim. fis., index fis.)

32

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Arhitecturi nestructurate
Descentralizate pure
-Cautarea se realizeaza prin inundare (flooding)
-Daca nu ai fisierul dorit , intreaba pe n vecini
-Daca nici ei nu au fisierul , vor intreba pe vecinii lor in maxim
m hop-uri
-Pe calea de intoarcere se vor intoarce raspunsurile (nu
continutul fisierelor )
-Fiecare mesaj are un TTL atasat
-Exemplu : Gnutella

33

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Gnutella
•2000: L. Frankel si T. Pepper( Nullsoft ) lanseaza Gnutella
•Apar clienti : Bearshare , Morpheus, LimeWire
•Query Flooding :
–Join: la intrare in sistem , clientul contacteaza cateva noduri
care devin “vecinii ” sai
–Publish : nu este necesar
–Search : se intreaba vecinii , care isi intreaba vecinii lor, …
•Exista un TTL ce limiteaza propagarea
–Fetch : preia fisierul direct de la peer

34 Arhitecturi nestructurate

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Gnutella

35
Aspecte :
•Timpul de cautare este … O(?)
•Nodurile pleaca adesea => reteaua instabila

Arhitecturi nestructurate

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Arhitecturi nestructurate
Partial centralizate
-Folosesc conceptul de supernod : are activitati de servire a unei
sub-retele P2P ( indexare , caching )
-Nodurile sunt alese automat ca fiind supernoduri daca au
suficienta latime de banda si putere computationala
-Toate cererile sunt trimise initial la supernoduri
-Avantaje : timpul descoperirii resurselor e mai redus +
eterogenitatea este exploatata
-Exemplu : KaZaA

36

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria KaZaA
•2001: Se lanseaza KaZaA
•Apar clienti : Morpheus, giFT
•Se utilizeaza un mecanism de tip “ smart ” query flooding :
–Join: la intrare in sistem , clientul contacteaza un
“supernode ” (poate deveni si el supernod la un moment
dat)
–Publish : trimite lista de fisiere supernodului
–Search : trimite interogarea supernodului , si supernodurile
se interogheaza intre ele
–Fetch : ia fisierul direct de la peer(s); poate prelua fisierul
simultan de la mai multe peer -uri

37 Arhitecturi nestructurate

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria KaZaA : Designul retelei

38
Arhitecturi nestructurate

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria KaZaA : Inserarea de Fisiere

39 KaZaA : Cautarea de Fisiere

Discutii :
-Comportament similar cu Gnutella, dar mai eficient
-Nu este nici o garantie asupra timpului de cautare sau a
domeniului de cautare

Arhitecturi nestructurate

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Arhitecturi nestructurate
Partial centralizate
-Software -ul KaZaA este proprietar
-Datele de control P2P sunt criptate
-Mesajele folosesc HTTP
-Un nod e fie un supernod , fie asignat unui supernod
-Un supernod are 100 -150 noduri -copil
-O retea poate avea ~30000 supernoduri
-Fiecare supernod are conexiuni TCP cu 30 -50 supernoduri
-Pentru fiecare fisier se mentin meta -date ( nume , dimensiune ,
content hash , descriptor de fisier )
-Content hash -ul este folosit pentru cautarea altei copii a unui
fisier partial transferat
-Varianta fara spyware si pop-up-uri: KaZaA -lite

40

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Arhitecturi nestructurate
Skype

-Prima retea de telefonie p2p bazata
pe IP
-din Iunie 2014, Microsoft a anuntat
incompatibilitatea cu protocolul
anterior Skype
-foloseste Microsoft Notification
Protocol 24 ( prima utilizare -> MSN
Messenger in 1999)
-arhitectura era similara cu KaZaA

41
http://www1.cs.columbia.edu/~salman/publications/skype1_4.pdf

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Arhitecturi nestructurate
Skype

-Fiecare client mentinea un host
cache cu adresele IP si numerele de
port ale supernodurilor accesibile
-Orice client cu latime de banda (si
fara restrictii de firewall sau NAT)
putea deveni
-din 2012, Microsoft a inceput
gazduirea supernodurilor in servere
din centrele sale de date

42
http://en.wikipedia.org/wiki/PRISM_%28surveillance_program%29

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Arhitecturi nestructurate
Partial centralizate
-Daca un fisier este gasit pe mai multe noduri , transferul poate fi realizat in
paralel
-Copiile identice se identifica via content hash
-Diferite portiuni din fisier sunt transferate de pe noduri diferite
-Pentru transferurile intrerupte , se face o recuperare automata (automatic
recovery)
-Exemplu : BitTorrent
-In 2002, B. Cohen a lansat BitTorrent
-Si-a propus concentrarea pe problema legata de obtinerea eficienta a
resurselor (efficient fetching) si nu pe cautare (searching )
-Sustinatori inca de la aparitie
-Blizzard Entertainment folosea BitTorrent pentru distributia
versiunilor beta a noilor jocuri

43

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria
Arhitecturi nestructurate
Partial centralizate
BitTorrent – arhitectura

44

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Arhitecturi nestructurate
Partial centralizate
BitTorrent
-Se bazeaza pe mecanismul de swarming :
-Join: contacteaza un server centralizat (tracker ) si obtine o lista
de peer -uri
-Publish : ruleaza un server tracker
-Search : e.g. foloseste Google pentru a gasi un tracker pentru
fisierul dorit
-Fetch : Preia bucati de fisiere de la peer -uri; incarca bucatile de
fisier pe care le ai
-Obs. Diferenta fata de Napster
-Downlod -ul de bucati (chunk ) de fisiere
-Utilizarea strategiei “tit-for-tat”: A face downlod de la alte
noduri , atunci A trebuie sa permita si downlod -ul de la el
(free-rider problem )_

45

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Arhitecturi nestructurate
Probleme
-Noduri ale caror adrese IP sunt disponibile via NAT (cu restrictii )
-Nu pot fi servere TCP pentru reteaua P2P
-Solutie partiala : reverse call
-A vrea sa transfere de la B, iar B foloseste NAT
-A si B stabilesc conexiuni TCP cu server ul C (IP rutabil )
-A poate cere lui B, via C, sa realizeze o conexiune TCP de la B la A
-A poate trimite o cerere lui B, iar B ii ofera raspunsul
-Daca A si B utilizeaza NAT?
-Flash crowd: o crestere neasteptata de cereri pentru o anumita resursa
–Pentru continutul dorit nu exista suficiente copii incarcate
–Cat timp ia unui utilizator sa localizeze fisierul ?
–Cate mesaje va primi un nod datorita cautarilor realizate de alte noduri ?
–Se poate folosi un protocol de cautare generic, bazat pe TTL

46

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Arhitecturi structurate
•Reprezinta solutia academica pentru P2P
•Scop:
–Cautare cu succes
–Timp de cautare in limite cunoscute
–Scalabilitate demonstrata
•Abordare: DHT (Distributed Hash Table)
–Se stocheaza perechi (key, value)
•Key – nume de fisiere
•Value –continut de fisier sau pointer la o locatie
–Fiecare peer stocheaza o multime de (key, value)
–Operatii: gaseste nodul responsabil cu un Key
•Mapare key – node
•Rutarea eficienta a cererilor de insert/lookup/delete asociate cu acest
nod
–Se permite o mare fluctuatie a nodurilor

47

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Arhitecturi structurate
•Aspect de interes : localizarea continutului
•Idee : Responsabilitatea este distribuita mai multor noduri ale
retelei de acoperire , intr-un mod adaptiv
•Fiecarei resurse i se asociaza o cheie unica via o functie hash :
h(“Curs Retele ”)->7929; Intervalul de valori ale functiei hash se
distribuie in reteaua P2P
•Fiecare nod trebuie sa “cunoasca ” locatia macar a unei singure
copii a fiecarei resurse pentru care functia sa hash ia valori in
intervalul lui
•Nodurile pot mentine in cache -ul propriu o copie a fiecarei
resurse pe care trebuie sa o “cunoasca ”

48

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Arhitecturi structurate
•Aspect de interes : dirijarea
•Pentru fiecare resursa , un nod ce “cunoaste ” resursa trebuie sa
fie accesat pe calea cea mai “scurta ”
•Abordarile de sisteme P2P structurate difera prin strategia de
dirijare
•Nodurile din sistem formeaza o structura de date distribuita care
poate fi: inel, arbore,hypercub , skip list, etc.
•Se ofera un API pentru tabelele distribuite de hash -uri (DHT –
Distributed Hash Table)
–Dand o cheie k, API -ul va returna adresa IP a nodului
responsabil pentru valoarea cheii k

49

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Arhitecturi structurate
•Implementari
–Chord [MIT]
–Pastry [Microsoft Research UK, Rice University]
–Tapestry [UC Berkeley]
–Content Addressable Network (CAN) [UC Berkeley]
–SkipNet [Microsoft Research US, Univ. of
Washington]
–Kademlia [New York University]
–Viceroy [Israel, UC Berkeley]
–P-Grid [EPFL Switzerland]

50

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Arhitecturi structurate
•Slab structurate
–Nodurile pot estima ce noduri stocheaza resursele cautate
•Se evita broadcasturile oarbe
•Se foloseste o propagare in lant (chain mode
propagation ): fiecare nod ia decizii locale privitoare la
care va fi nodul urmator interogat
–Cautarea unui fisier presupune utilizarea unei chei si a unui
mecanism de timeout (hops -to-live)
–Exemplu : Freenet

51

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Instrumente
•JXTA – www.jxta.org
–Mediu de dezvoltare a sistemelor & aplicatiilor P2P
–Bazat pe java, disponibil in regim open source

52

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Instrumente
•P2P – framework pentru Android
https://code.google.com/p/p2p -communication –
framework -for-android/
•p2psim – simulator pentru protocoalele p2p
http ://pdos.csail.mit.edu/p2psim/
•Instrumente si protocoale pentru P2P:
http://en.wikibooks.org/wiki/The_World_of_Peer -to-
Peer_%28P2P%29/Networks_and_Protocols/Other_Software_Impl
ementations
53

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria 54
Statistici

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Legenda:

55
Statistici

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Rezumat
•Paradigma peer -to-peer(P2P)
–Preliminarii
–Definitii
–Caracterizare
–Tipuri de aplicatii
–Infrastructuri
–Instrumente

56

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria Bibliografie
•P2P Networking and Applications, John F. Buford, Heather Yu,
Eng Keong Lua ,2009, Elsevier
•http://mtc.sri.com/Conficker/P2P/
•http://www.cisco.com/en/US/docs/cable/serv_exch/serv_contro
l/broadband_app/protocol_ref_guide/01_p2p.pdf
•http://pdos.csail.mit.edu/p2psim/
•Statistici : http://www.sandvine.com/news/pr_detail.asp?ID=312
•Statistici : http://www.hbtf.org/files/cisco_IPforecast.pdf
•http://en.wikibooks.org/wiki/The_World_of_Peer -to-
Peer_% 28P2P%29/Networks_and_Protocols/Other_Software_Im
plementations

57

2015 – 2016| Re țele de calculatoare – http://www.info.uaic.ro/~adria
Intrebari ?
58

Similar Posts