sistemi peer to peer materiale didattico

9
06/10/2008 1 Sistemi Peer to Peer Gennaro Cordasco Dipartimento di Informatica e Applicazioni Università degli Studi di Salerno cordasco[@]dia.unisa.it cordasco+p2p[@]gmail.com http://www.dia.unisa.it/~cordasco Laboratorio ISISLAB 2 (DIA Piano 2) 06/10/2008 1 Materiale didattico i) PeertoPeer Systems and Applications Series: Lecture Notes in Computer Science , Vol. 3485 Sublibrary: Information Systems and Applications, incl. Internet/Web, and HCI www.peertopeer.info Steinmetz, Ralf; Wehrle, Klaus (Eds.) 2005, XVII, 629 p. With online files/update., Softcover ISBN: 9783540291923 ii) Research papers (http://www dia unisa it/~cordasco) 06/10/2008 2 ii) Research papers (http://www.dia.unisa.it/ cordasco ) iii) JXTA java Programmers guide (http://www.dia.unisa.it/~cordasco ) iv) JXTA Protocol Specifications (http://www.dia.unisa.it/~cordasco ) v) Le slide del corso (http://www.dia.unisa.it/~cordasco ) … che ovviamente non sono sufficienti per superare l’esame!!! Capitolo 6: Random Graphs, Small-Worlds and Scale-Free Networks Sommario Introduzione Reti P2P non strutturate Random Graphs, SmallWorlds and ScaleFree Networks Motivazioni Random Graphs Smallworld Networks S l F Nt k 06/10/2008 4 ScaleFree Networks Peer to Peer Networks Reti P2P strutturate Lower Bound Reti non Uniformi JXTA Motivazioni y Un sistema P2P è composto da una serie di nodi che: Sono connessi a una rete Sono indirizzabili in maniera univoca Condividono un protocollo di comunicazione y Requisiti richiesti Scalabilità Le reti presenti in natuta (come ad esempio la rete Internet, WWW, le reti sociali , reti metaboliche ecc ) hanno già tutte queste Scalabilità Controllo decentralizzato Affidabilità (anche nei sistemi fortemente dinamici) Strutturato y Proprietà delle reti reali Smallworld effect > Smallworld Networks ScaleFree degree distribution > ScaleFree Networks ecc.) hanno già tutte queste caratteristiche1 Assunzioni Vogliamo modellare la nostra rete di overlay attraverso un grafo, dove: x I peer rappersentano i nodi del grafo x Gli archi rappresentano le interconnessioni fra i peer x Ovviamente nessun peer ha una visione globale della rete l‘ l it di ti èd t li t ( è fl di ) x e l‘algoritmo di routing èdecentralizzato (non è flooding) Obiettivi minimizzare il grado medio dei nodi (+ piccolo è il grado meno informazioni bisogna mantener e aggiornare) minimizzare la distanza media fra i nodi del grafo (in modo da minimizzare i tempi per la lookup) vogliomo che l‘algoritmo di routing sia semplice ma efficiente

Upload: others

Post on 27-Nov-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

06/10/2008

1

Sistemi Peer to Peer

Gennaro CordascoDipartimento di Informatica e ApplicazioniUniversità degli Studi di Salernocordasco[@]dia.unisa.it cordasco+p2p[@]gmail.comhttp://www.dia.unisa.it/~cordascoLaboratorio ISISLAB2 (DIA Piano 2)

06/10/2008 1

Materiale didatticoi) Peer‐to‐Peer Systems and ApplicationsSeries: Lecture Notes in Computer Science , Vol. 3485 Sublibrary: Information Systems and Applications, incl. Internet/Web, and HCI www.peer‐to‐peer.infoSteinmetz, Ralf; Wehrle, Klaus (Eds.) 2005, XVII, 629 p. With online files/update., SoftcoverISBN: 978‐3‐540‐29192‐3

ii) Research papers (http://www dia unisa it/~cordasco)

06/10/2008 2

ii) Research papers (http://www.dia.unisa.it/ cordasco)

iii) JXTA java Programmers guide (http://www.dia.unisa.it/~cordasco)

iv) JXTA Protocol Specifications (http://www.dia.unisa.it/~cordasco)

v) Le slide del corso (http://www.dia.unisa.it/~cordasco) … che ovviamente non sono sufficienti per superare l’esame!!!

Capitolo 6:

Random Graphs, Small-Worlds and Scale-Free Networks

Sommario• Introduzione• Reti P2P non strutturate• Random Graphs, Small‐Worlds and Scale‐Free Networks

• Motivazioni• Random Graphs• Small‐world NetworksS l F N t k

06/10/2008 4

• Scale‐Free Networks• Peer to Peer Networks

• Reti P2P strutturate• Lower Bound• Reti  non Uniformi• JXTA

Motivazioni

Un sistema P2P è composto da una serie di nodi che:◦ Sono connessi a  una rete

◦ Sono indirizzabili in maniera univoca

◦ Condividono un protocollo di comunicazione

Requisiti richiesti◦ Scalabilità

Le reti presenti in natuta (come ad esempio la rete Internet, WWW, le reti sociali , reti metaboliche

ecc ) hanno già tutte questeScalabilità

◦ Controllo decentralizzato

◦ Affidabilità (anche nei sistemi fortemente dinamici)

◦ Strutturato

Proprietà delle reti reali◦ Small‐world effect ‐> Small‐world Networks

◦ Scale‐Free degree distribution ‐>  Scale‐Free Networks

ecc.) hanno già tutte questecaratteristiche1

Assunzioni

Vogliamo modellare la nostra rete di overlay attraverso un grafo,

dove:

I peer rappersentano i nodi del grafo

Gli archi rappresentano le interconnessioni fra i peer

Ovviamente nessun peer ha una visione globale della rete

l‘ l it di ti è d t li t ( è fl di )e l‘algoritmo di routing è decentralizzato (non è flooding)

Obiettivi

• minimizzare il grado  medio dei nodi (+ piccolo è il grado meno informazioni bisogna mantener e aggiornare)

• minimizzare la distanza media fra i nodi del grafo (in modo  da minimizzare i tempi per la lookup)

• vogliomo che l‘algoritmo di routing sia semplice ma efficiente

06/10/2008

2

Graph theory: Concetti

Sia G = (V,E) un grafo

V rappresenta l‘insieme dei nodi del grafo

E è l‘insieme degli archi e=(v,w) (il nodo v ha una connessione al nodo w)

k t(v) (N(v)) è il grado uscente del nodo v cioè il numerokout(v) (N(v)) è il grado uscente del nodo v, cioè il numero di vertici w tale che (v,w) ∈ E

kin(v) è il grado entante di v, cioè il numero di vertici w tali che  (w,v) ∈ E

k(v)= kout(v)+ kin(v) è il grado del nodo v

Graph theory: Concetti

Sia G = (V,E) un grafo

V rappresenta l‘insieme dei nodi del grafo

E è l‘insieme degli archi e=(v,w) (il nodo v ha una connessione al nodo w)

Una path P(u w) è definita come un sottoinsieme diUna path P(u,w) è definita come un sottoinsieme  di archi {e1,e2,…,ek} dove e1=(u,v1), ek=(vk‐1,w) e ∀ 1<i<k, ei=(vi‐1,vi)

La lunghezza di una path è data dal numero di archi nella path

La distanza d(u,v) fra due nodi u e v è data dalla lunghezza della minima path fra questi due nodi.

Graph theory: Concetti

v w

A path between v, w withlength 6

A shortest path between v, w with length 4

Il diametro di un grafo è definito come la distanza massima fra tutte le possibili coppie di nodi nel grafo

L’average path length è la distanza media considerando tutte le possibili coppie di nodi

),(max)(),(

vudGDVxVvu ∈

=

2),(

),()(

n

vudGAPL VxVvu∑ ∈=

Thus, distance between v and w is 4

Graph theory: Concetti

Il coefficiente di clustering del nodo v,  C(v) è dato dalla seguente formula:

dove e(v) rappresenta il numero di vicini di v che sono connessi tra loro

2/)1)()(()()(−

=vkvkvevC

tra loro.

Il coefficiente di clustering di un grafo G, C(G) si ottiene facendo la media dei coefficienti di tutti i nodi.

Più è alto ilcoefficiente diclustering + la rete è robusta v v

Sommario• Introduzione• Reti P2P non strutturate• Random Graphs, Small‐Worlds and Scale‐Free Networks

• Motivazioni• Random Graphs• Small‐world NetworksS l F N t k

06/10/2008 11

• Scale‐Free Networks• Peer to Peer Networks

• Reti P2P strutturate• Lower Bound• Reti  non Uniformi• JXTA

Random Graphs

Random graphs rappresentano il modello più semplice per analizzare ogni tipo di rete◦ Si basano su una serie di semplici assunzioni◦ Sono facili da analizzare attraverso metodi statisticiIdea di base: Gli archi sono generati in maniera casuale fra un numero fissato di nodi.Ne esistono diverse varianti, i modelli principali sono ◦ i grafi casuali di Erdős‐Rényi◦ i grafi casuali di GilbertLe proprietà dei grafi casuali definiscono quelli che sono i risultati attesi (e non certi) per un dato grafo.Si dice che una proprietà ha una alta probabilità (whp) se la probabilità che tale proprietà non si verifichi è O(1/n) dove n è il numero di nodi del grafo.

06/10/2008

3

Erdős-Rényi Random Graphs

G(n,m)  è un grafo scelto casualmente nell‘insimeG(n,m) di tutti i grafi con esattamente n vertice e m archi.Ha senso studiare tali grafi solo se m è funzione di nG(n,m) ha una componente connessa O(n) whp se m  ( , ) p ( ) pè maggiore di n/2. (c‘è un arco per ogni vertice)G(n,m) è connesso whp se m è maggiore di n log n. (cioè è connesso se ogni nodo ha circa log n archi)Il diametro atteso di G(n,m) (APL)  è O(log n)  withhigh probability se il grafo è connesso (m>nlogn).

Un grafo casuale di Gilbert denotato con G(n,p) è costituito da n vertici, dove ogni possibile arco fra due vertici è presente con probabilità pIn questo caso non è necessario che p sia f i di ( l l t 0 1 ò

Gilbert Random Graphs

funzione di m (qualunque valore tra 0 e 1  può essere analizzato)Se scegliamo                  allora G(n,m) e G(n,p) sono pressocchè intercambiabili

pn

m ⎟⎟⎠

⎞⎜⎜⎝

⎛=2

Usiamo la notazione di Gilbert◦ Abbiamo già detto che il diametro atteso è log n se il grafo è connesso

◦ L’average path length è  circa log n/ log k  dove k=pnrappresenta il grado medio dei nodi.

Il d d i di f di Gilb t ( i l i

Proprietà dei grafi casuali

◦ Il grado dei nodi un grafo di Gilbert (e in generale nei grafi casuali) con p=c/n segue una distribuzione di Poisson:

La probabilità che il grado sia k è P(k)= (ck e‐c)/k! 

◦ Il coefficiente di clustering di un grafo di Gilbert è circa p whp

Sono facili da analizzare, tuttavia il modello descrittonon rispecchia le proprità

delle reti reali

Regular network

Alle reti casuali si contrappongono le reti regolari:◦ Gli archi di tali reti creano una struttura regolarestruttura regolareGriglie, anelli, ecc.

Nonostante la struttura  regolare queste reti hanno tipicamente un APL abbastanza alto

D’altra parte però queste reti presentano un buon coefficiente di clustering

06/10/2008 16

Sommario• Introduzione• Reti P2P non strutturate• Random Graphs, Small‐Worlds and Scale‐Free Networks

• Motivazioni• Random Graphs• Small‐world NetworksS l F N t k

06/10/2008 17

• Scale‐Free Networks• Peer to Peer Networks

• Reti P2P strutturate• Lower Bound• Reti  non Uniformi• JXTA

Trovare un modello che rispecchi le proprietà delle reti socialiSi ma… come sono strutturate le reti sociali?Intuizione: La maggior parte degli amici di una persona si trovano  vicino (in senso geografico o per gusti, affinità ecc.)  Esempi sono il vicino di casa, il compagno di scuola, il collega di lavoro

Small-World: Obiettivo

di lavoro.Dunque le reti sociali sono più o meno 'grid‐like':

Da questa osservazione sembrerebbe che il diametro di una rete sociale è O(√n)…. ma non è così

06/10/2008

4

Le reti sociali funzionano e funzionano bene. Perchè?

Stanley Milgram (sociologo) condusse il seguente esperimento al fine di intuire il meccanismo alla base del funzionamento delle reti sociali:

Milgram chiese and alcune persone scelte in maniera 

The Milgram's Experiment

g pcasuale in Kansas e Nebraska di inviare una lettera ad una  persona  (agente di cambio) a Boston. 

Le uniche informazioni date a queste persone erano nome cognome e professione del destinatario.

L‘unica operazione possibile per consegnare la lettera era di inoltrare la lettera ad una persona conosciuta.

The Milgram's Experiment

Le lettere che raggiunsero il target lo raggiunsero in media in 5.5 < 6 passi. Così venne coniato il termine "6 degrees ofseparation" Questo valore era di gran lunga inferiore a quello che ci si attendeva dalla assunzione che le reti sociali

The Milgram's Experiment

ci si attendeva dalla assunzione che le reti sociali hanno una struttura 'grid‐like'!Ma il risultato di Milgram è importante perché non solo dimostra che le reti sociali hanno un diametro atteso molto piccolo. Esso dimostra inoltre che esiste un algortimo di routing (diverso dal flooding) semplice (lo conoscevano tutti) che permette di scoprire queste path corte.

La rete che distribuisce l’elettricità negli stati unitiLa rete neurale del verme (worm) C. elegansLa rete di collaborazione fra ricercatori:◦ Consideriamo ad esempio un grafo che ha come nodi tutti i ricercatori. Esiste un arco fra due nodi (ricercatori) se essi h i l i i ( h ll b )

Altri esempi di reti Small-world

hanno scritto almeno un paper insieme (se hanno collaborato).◦ Erdős  number: un ricercatore ha Erdős number x se esiste almeno una path di lunghezza x che lo connette a Erdős (se è  a distanza x da Erdős)

◦ L’APL nel grafo delle collaborazioni fra i ricercatori è molto basso ‐> basta analizzare la distribuzione degli Erdős number

◦ Un esempio: Erdős ‐> Chung , Fan Rong King (GRAHAM) ‐> A. L. Rosenberg ‐> G. CordascoG. Cordasco ha Erdős  number 3.

La rete di collaborazione fra gli attori:◦ Consideriamo ad esempio un grafo che ha come nodi tutti gli attori. Esiste un arco fra due nodi (attori) se essi hanno recitato insieme in almeno un film (se hanno collaborato).

◦ Bacon number (http://oracleofbacon.org/)

Altri esempi di reti Small-world Altri esempi di reti Small-world

06/10/2008 24

06/10/2008

5

Altri esempi di reti Small-world

06/10/2008 25

Altri esempi di reti Small-world

06/10/2008 26

Altri esempi di reti Small-world

06/10/2008 27

Modelli tradizionali

Random Graph◦ Gli archi sono creati in maniera casuale ◦ Bassa average path length (≤ log n/log k)         ☺◦ Basso coefficiente di clustering C(G) ≈ k/n        

Regular Network k è il d diRegular Network◦ Gli archi seguono una struttura◦ Alto average path length◦ Alto coefficiente di clustering☺

k è il grado mediodei nodi

Nessuno di questi modelliè in grado di simulare le

reti reali

Small-World Networks

Secondo Watts and Strogatz [WS98] una rete si dice Small world se rispetta le seguenti caratteristiche:◦ Ha un numero elevato di nodi (n >> 1)◦ Il grado dei nodi è basso (grado medio k << n)◦ Ha un coefficiente di clustering elevato (molto più grande◦ Ha un coefficiente di clustering elevato (molto più grande di quello dei grafi casuali)◦ Ha una APL bassa (≈ log n, simile a quella di un grafo casuale)

Watts and Strogatz hanno proposto un modello che è un mix fra un rete regolare  ed una casuale:◦ Si parte dalla creazione di un anello con n nodi◦ Ogni nodo è connesso con i k nodi più vicino a esso◦ Infine alcuni archi vengono reindirizzati con probabilità

Watts and Strogatz model

◦ Infine alcuni archi vengono reindirizzati con probabilità p, vale a dire, si prende ogni arco e con probabilità p si cambia la destinazione dell’arco con un nodo a caso.

06/10/2008

6

Watts and Strogatz model

Per p=0, la rete che si ottiene è una rete regolare, con un coefficiente di clustering pari a circa ¾ per k grande, e diametro O(n/k)

Per p=1, si ottiene una sorta di rete random con un basso coefficiente di clustering e un diametro O(log n). 

Order Randomness0<p<1

Coefficiente di Clustering vs  Average Path length

Watts and Strogatz model

Il diagramma mostra  l‘evoluzione del coefficiente di clustering e dell‘averagepath length in funzione di p. (Tutti i valori sono normalizzati  rispetto  ai 

p (log scale)

Small World

(Tutti i valori sono normalizzati  rispetto  ai valori iniziali (p=0))

Risultati: Per piccoli valori di p  il coefficiente di clusteringrimane alto mentre l‘averagepath length decresce molto velocemente.

Le reti Small World networks combinanoun alto coefficiente di

clustering con una bassaaverage path length.

Un aspetto fondamentale dell‘esperimento di Milgram è che le persone sono capaci di trovare le path ottimali (o quasi):◦ Da notare che ogni persona ‘vede‘ solo una piccola parte della rete, vale a dire solo i propri vicini, ed usa quindi un algoritmo di routing decentralizzato.

Il modello di Kleinberg

◦ L‘algoritmo di routing può essere sintetizzato in questo modo:Consideriamo un nodo v in una matrice d‐dimensionale:                         v = (v1, v2, …, vd). vi è la posizione di  v nella dimensione  i.Ogni nodo conosce la proprio posizione, la posizione del target e la posizione dei propri vicini.Ogni nodo inoltra il messaggio al vicino u che si trova più vicino al target. La distanza fra due nodi  d(v,t) è data dalla somma delle differenze delle posizioni (in valore assoluto) su ogni dimensione      d(v,t) =Σd

i=1|vi‐ti|            (Manhattan Distance).

t

Greedy Routing: segui il link che ti porta più vicino alla destinazione

Greedy Routing

s

Consideriamo n nodi su una matrice a  d dimensioni, ogni nodo ha◦ (2d) vicini sulla griglia◦ k contatti (detti long‐range) (ogni nodo v stabilisce k link indipendentemente utilizzando una distribuzione di probabilità p(d(u,v)))

Il modello di Kleinberg

Di solito p(d(u,v)) è proporzionale a d(u,v)-α

coefficiente di normalizzazione

λ = ∑v d(u,v)-α

Teorema: L‘algoritmo di routing greedy è capace di trovare delle path brevi, vale a dire, path di lunghezza  O(log2 n), da ogni sorgente a ogni destinazione se α = d (k =1).

Il modello di Kleinberg

p(d(u,v))= d(u,v)-α /λλ = ∑v d(u,v)-α

p(d(u,v))= d(u,v)-d /λλ = ∑v d(u,v)-d

06/10/2008

7

L‘idea di base della prova è che se α < d, ci sono pochi archi casuali da utilizzare per raggiungere il target velocemente. 

Per α > d, ci sono troppi archi casuali, e quindi troppe lt d ff tt ( è f il t l lt

Il modello di Kleinberg

scelte da effettuare (non è facile trovare la scelta giusta). Il messaggio seguirà una lunga path casuale nella rete.

Teorema: L‘algoritmo di routing greedy è capace di trovare delle path brevi, vale a dire, path di lunghezza  O(log2 n), da ogni sorgente a ogni destinazione se α = d (k=1).Prova

P li ità id i il bl i l

Il modello di Kleinberg (k=1)

p(d(u,v))= d(u,v)‐1 /λλ = ∑v d(u,v)‐1≈ ln n

Per semplicità consideriamo il problema in una sola dimensione 

Calcoliamo la probabilità Φ che u ha un long range a distanza maggiore di d/2 e minore di d

u t

d(u,t)=d

I=[d/2,d]

Calcoliamo la probabilità Φ che u ha un long‐range a distanza i di d/2 i di d

Il modello di Kleinberg

u t

d(u,t)=d

I=[d/2,d]

p(d(u,v))= d(u,v)-1 /λλ = ∑v d(u,v)-1≈ ln n

maggiore di d/2 e minore di d

Di conseguenza in media ogni 2 ln n passi la distanza dalla destinazione si dimezza…

Siccome la distanza massima è n il numero massimo di volte che la distanza si può dimezzare è log n.

In totale il numero di passi atteso è log n * 2 ln n = O(log2 n)

nndddpdipvudp

d

diIv ln21

ln1

2)(

2)()),((

2/==≥==Φ ∑∑

=∈

Teorema:  Per ogni k < log n, l‘algoritmo di routing greedyimpiega O((log2 n)/k) passi, da ogni sorgente a ogni destinazione se α = d.

Il modello di Kleinberg (k>1)

Qualunque sia il Qualunque sia il numero di dimensioni utilizzate

k = log n allora il numero di passi è O(log n)

Sommario• Introduzione• Reti P2P non strutturate• Random Graphs, Small‐Worlds and Scale‐Free Networks

• Motivazioni• Random Graphs• Small‐world NetworksS l F N t k

06/10/2008 41

• Scale‐Free Networks• Peer to Peer Networks

• Reti P2P strutturate• Lower Bound• Reti  non Uniformi• JXTA

Sia nelle reti Small‐world sia nelle reti casuali si ha che il grado dei nodi non si discosta di molto dalla media:

◦ In particolare nelle reti Small‐world il grado è sempre circa 2k

◦ Nelle reti casuali (notazione di Gilbert) il grado è circa (n‐1)p

Barabasi et al. analizzando il grafo che rappresenta il web 

Scale-Free Networks

hanno  mostrato che la distribuzione die gradi dei nodi segue una distribuzione Power‐law , P(k) ≈ k‐α.

Questo significa che molti vertici hanno un grado basso (1‐2) ma d’altronde, ci sono dei nodi (pochi) che hanno un grandissimo numero di vicini.

I nodi con grado altro vengono anche chiamati  'hub'.

Che tipo di rete può generare una distribuzione dei gradi del genere?

06/10/2008

8

Il modello di Barabási‐Albert ModelIngredienti fondamentali:◦ La rete cresce nel tempo, vale a dire, in un qualsiasi tempo t 

si può assumere che ci sarà un nuovo nodo che sta per entrare nella rete.

◦ La generazione degli archi non è casuale, ma segue il principio: "The rich get richer", vale a dire, più alto è il grado

Scale-Free Networks

principio:  The rich get richer , vale a dire, più alto è il grado di un vertice, maggiore è la probabilità di essere scelto come vicino del nuovo nodo (Collegamenti preferenziali).

La probabilità Π(v) che un vertice v sia connesso ad un nuovo vertice è:

∑ ∈

=ΠVw

wkvkv

)()()(

Il modello di Barabási‐Albert Model:

1. Si parte da una piccola rete (e.g., 10 vertici, 20 archi, generati a caso).

2. Ad ogni step, aggiungiamo un nuovo vertice x con m archi da x ai vertici  v  già presenti nella rete, e scelti utilizzando l di t ib i Π

Scale-Free Networks

la distribuzione Π

Un importante proprietà delle reti Scale‐Free è che tali reti sono molto robuste rispetto a fallimenti casuali:◦ Se rimuovi un vertice v a caso, con alta probabilità sarà un 

vertice con pochi vicini e dunque il danno nella rete è trascurabile.

Stability of Scale-Free Networks

trascurabile.D‘altronde:  le reti Scale‐Free networks sono molto deboli rispetto ad attacchi mirati:◦ Se qualcuno è in grado di attaccare gli hub... allora cono 

pochi attacchi si riesce a disconnettere la rete I grafi casuali invece hanno la stessa robustezza sia rispetto agli attacchi casuali sia rispetto ad attacchi mirati, perché tutti i vertici hanno più o meno lo stesso grado .

Sommario• Introduzione• Reti P2P non strutturate• Random Graphs, Small‐Worlds and Scale‐Free Networks

• Motivazioni• Random Graphs• Small‐world NetworksS l F N t k

06/10/2008 46

• Scale‐Free Networks• Peer to Peer Networks

• Reti P2P strutturate• Lower Bound• Reti  non Uniformi• JXTA

Peer to Peer Networks

• E’ stato dimostrato che alcune reti P2P evolvono naturalmente in reti tipo small‐world con un grosso coefficiente di clustering e un basso diametro:• Per esempio, è stato dimostrato che sottoponendo alla rete 

freenet un traffico medio alto si viene a creare una rete smallfreenet un traffico medio‐alto  si viene a creare una rete small‐world .

• In maniera analoga,  alcuni protocolli, ad esempio, Gnutella, generano in maniera implicita una distribuzione dei gradi Scale‐Free.

• Come deve essere strutturata una rete P2P?

• La risposta a questa domanda dipende chiaramente dalle circostanze: • Se l’obiettivo fondamentale è ottenere una rete navigabile con un 

algoritmo di routing decentralizzato allora potremmo utilizzare il modello ed implementare l’algoritmo di routing proposti da

Peer to Peer Networks

modello ed implementare l’algoritmo di routing proposti da Kleinberg.

• Se invece è una rete P2P in un contesto piccolo  e sicuro, ad esempio, una intra‐net in un’azienda, allora è meglio utilizzare una rete Scale‐free. Infatti per ottenere tale rete è sufficiente comprare un piccolo numero di Server con una banda ampia. Tali server costituiranno gli hub della rete  e le loro connessioni faranno da backbone per l’infrastruttura.

• Se l’obiettivo fondamentale è la sicurezza rispetto ad attacchi mirati, allora è preferibile usare una rete Small‐world dove le competenze/responsabilità sono distribuite su tutti i nodi.

06/10/2008

9

Esempio: SymphonyI Nodi sono disposti in maniera bilanciat su un anello  (Il perimetro è 1)

Join ‐‐> Quando un nodo entra nella rete sceglie una posizione casuale nell’anello

Ogni nodo ha1 link (al nodo che lo segue nell’anello)k long links (generati usando una distribuzione armonica)

S h è tt t d tt d l’ l it di Kl i b

node long link short link

Una tipica rete Symphony

Fault Tolerance:Non ci sono backup link! Solo i link sull’anello vengoncontinuamente verificati

Symphony è ottenuta adattando l’algoritmo di KleinbergI Long links sono scelti con distribuzione di probabilità.p(d) = 1 / d log n dove n = #nodi.

Il routing è greedy (senza overshooting)

APL = O((log2 n) / k) hops

λ = ∑v d(u,v)‐1≈ ln n

Il protocollo per la stima di n

x  =  lunghezza di un arco1/x  =  è una stima di n

L’unico problema che non abbiamo afforntato riguarda la stima di n:Qual’è il valore corrente di n, il numero di nodi connessi alla rete?

p(d) = 1 / d log n

Esempio se un nodo si trova nella Posizione 0,1 e il suo successore si trova nella posizione 0,2 allora il numero di  nodi nella rete è circa 1/(0,2‐0,1)=10  

-Ovviamente un nodo può fare più di una stima - Di solito 3 stime sono abbastanza per conoscer una buona approssimazione di n

Idea dalla rete

Viceroy

Conclusioni• La struttura di base di una overlay network per un sistema  peer‐to‐

peer  influenza:• L’APL, 

• L’Algoritmo di routing

• La Stabilità rispetto ai fallimenti casuali,

• La sensibilità rispetto ai fallimenti mirati,

• La ridondanza fra gli archi, 

• … ed altre proprietà richieste dall’applicazione.

• Alcune caratteristiche importati di una infrastruttura sono:• L’APL,

• Il Coefficiente di clustering , 

• Il Grado medio e la sua distribuzione.

• Al fine di ottenere una data struttura è necessario forzare la generazione degli archi attraverso determinate regole in modo da ottenere la struttura desiderata e di conseguenza determinate proprietà

06/10/2008 52

Grazie per l’attenzione