50
Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10 Prof. Simon Pietro Romano Università degli Studi di Napoli Federico II Facoltà di Ingegneria

Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

Corso di Applicazioni TelematicheApplicazioni peer-to-peer

A.A. 2009-10

Prof. Simon Pietro Romano

Università degli Studi di Napoli Federico II

Facoltà di Ingegneria

Page 2: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

Terminologia: “peer-to-peer”

• Sistema distribuito nel quale:• ogni nodo ha identiche capacità e responsabilità• tutte le comunicazioni sono potenzialmente simmetriche

• Obiettivi: condividere risorse e servizi• scambio di informazioni, cicli di CPU, spazio sul disco, • scambio di informazioni, cicli di CPU, spazio sul disco,

• I sistemi P2P possiedono molti aspetti tecnici interessanti:• controllo decentralizzato• adattabilità• si organizzano e si gestiscono da soli

Antrax
Nota
lo sviluppo è nato non in ambito accademico ma in ambito "utente" privato. La comunità accademmica è arrivata tardi ed ha cercato di proporre soluzioni + performanti (P2P seconda generazione)
Antrax
Nota
sono sistemi auto-organizzanti (self organizzation o autonomic communication) ossia hanno capacità intrinseche di rispondere a situazioni dinamiche (es "reale" = sistema immunitario)
Page 3: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

P2P: classificazione (1/3)

• Le applicazioni P2P sono costituite da tre fasi principali:• Boot: permette a un peer di trovare la rete e di

connettersi ad essa• …nessuno o quasi fa boot P2P

• Lookup:• permette ad un peer di trovare il gestore/responsabile di

una determinata informazione• …pochi sono P2P, alcuni usano ‘SuperPeer’

• Scambio di file• …sono tutti P2P!

Antrax
Nota
la topologia P2P è una overlay network fatte di "superconnessioni" che in realtà non sono per nulla equivalenti alla topologia fisica sottostante.
Antrax
Nota
il P2P è semplicemente un modo diverso di intendere l'unico paradigma in rete che è il cli-serv, cambia la gestione dei ruoli ma non il protocollo. Non si può dire che una applicazione sia P2P se non fà almeno lo scambio via P2P!
Antrax
Nota
è la + complicata e delicata
Page 4: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

P2P: classificazione (2/3)

• P2P pure se:• le fasi di boot, lookup e scambio di file sono P2P

• P2P se:• le fasi di lookup e scambio di file sono P2P• la fase di boot utilizza qualche SERVER

• P2P Ibride se:• P2P Ibride se:• la fase di scambio dei file è P2P• la fase di boot utilizza qualche SERVER• nella fase di lookup vengono usati Peer particolari

Hub (Direct Connect) SuperPeer , Ultra Peer(Gnutella2)Supernodo (KaZaA) NodoRandezVous (JXTA)MainPeer (EDonkey) Server (WinMX)

Antrax
Nota
una entità centralizzata se è fisicamente distribuita (es UDDI) ossia logicamente centralizzata ma fisicamente distribuita si può considerare P2P
Page 5: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

P2P: classificazione (3/3)

• Con riferimento all’operazione di lookup:

• Lookup Centralizzato• Indice centralizzato

• Lookup Decentralizzato• Indice completamente distribuito• Indice completamente distribuito

• Lookup Ibrido• Più sistemi centralizzati collegati in un

sistema decentralizzato

In tutti e tre questi sistemi iltrasferimento e la memorizzazionedei file sono P2P

Antrax
Nota
ci sono degli hub che raccolgono info ma non tutte le info (+ directory) che sono riferimenti unici per un sottoinsieme di peer della rete - sono superpeer.
Page 6: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

Architetture p2p

• Non esistono server sempreconnessi (always-on server)

• Gli end-system (peer) comunicano direttamente

• I peer sono connessi ad intermittenza e cambiano ilproprio IP

peer-peer

proprio IP• Tre argomenti principali:

• Distribuzione dei file• Self-scalability• BitTorrent

• Organizzazione dei peer e ricerca delle informazioni

• Case Study: • Skype• P2p IPTV

Page 7: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

Quanto tempo serve per distribuire un file da un server ad N peer (tempo di distribuzione, D)?

Server

us: server upload bandwidth

ui: peer i upload bandwidth

File Distribution: Server-Client vs P2P

us

u2d1 d2u1

uN

dNNetwork (with abundant bandwidth)

File, size F (bits)

bandwidth

di: peer i download bandwidth

N, numero di peer che richiedono una copia di F

Antrax
Nota
ipotesi non restrittiva xkè il collo di bottiglia è l'ultimo miglio, non la backbone, e questa non influenza il delay
Antrax
Nota
I peer possono fare UPL e DWN con capacità diverse. Un file si trova nel server e vediamo quanto ci mettiamo a distribuire una copia di questo file a tutti i peer.
Page 8: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

us

u2d1 d2u1

uN

dN

Server

F

• Il server invia in sequenza N copie del file:tempo richiesto: NF/us

• Il client i impiega un

File distribution: caso “server-client”

Rete (con bandaelevata) e appl. isolateuN• Il client i impiega un

tempo pari a F/di per ildownload

per N elevato, il termine NF/us è dominante: incremento lineare al crescere di N

= Dcs = max {NF/us, F/min(di) }i

Tempo per distribuireF bit a N client

isolate

Approccio client/server

Antrax
Nota
trascurando tutti gli effetti di sovraccarico server,...
Antrax
Nota
se il num di peer aumenta al crescere di N il tempo aumenta in maniera lineare col numero dei peer perchè NF diventa dominante
Page 9: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

us

u2d1 d2u1

uN

dN

Server

F

• Dipende dal numero di peer coinvolti…

• Il server deve inviare almenouna copia. Tempo richiesto: F/us

• Il client i impiega un tempo pari a F/di per il download (F/dmin)

File distribution: caso P2P

Rete (con banda elevata) e appl. isolateuNF/di per il download (F/dmin)

• NF bit totali devono essere‘scaricati’: velocità massima diupload: us + Σui

DP2P = max { F/us, F/min(di) , NF/(us + Σui) }i

Approccio p2p

isolate

Antrax
Nota
ci deve essere almeno una volta nella nuvola tutto il file quindi devono almeno passare F bit nel link di uscita del server
Page 10: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

3

3.5

Min

imum

Dis

trib

utio

n T

ime P2P

Client-Server

Ipotesi:

• Tutti i peer hanno lo stesso rate di upload = u

• F/u = 1 ora, us = 10u, dmin ≥ us

Server-client vs P2P: confronto di prestazioni

0

0.5

1

1.5

2

2.5

0 5 10 15 20 25 30 35

N

Min

imum

Dis

trib

utio

n T

ime

Antrax
Nota
pallini = lineare (Cli/serv) L'andamento nel caso P2P è ben sublineare. SCALABILITA'! La complessità varia come O(log N) se tutto fatto a dovere di solito col P2P
Page 11: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

File distribution: BitTorrent

tracker: tiene traccia dei peer che compongono un “torrente”

torrente: gruppo di peer che si scambiano

porzioni (chunk) di un stesso file

• P2P file distribution

obtain listof peers

trading chunks

peer

Antrax
Nota
si usa con un approccio publish/subscribe, dico il file qual è e quali sono i peer che conservano (parti del) file. E' stata concepita per negoziare pezzi di file (tipo 256KB) e i pezzettini si possono muovere indipendentemente. Quale mi scarico dipende da un algoritmo ottimizzante.
Page 12: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

Il file è diviso in chunk di 256KB

• Quando un peer si aggiunge ad un “torrente”: • si registra presso il tracker per avere la lista dei peer e si

connette ad un sottoinsieme di tali peer (“neighbors”)• non possiede chunk, ma ne accumulerà nel tempo

BitTorrent (1/3)

• Durante il download, il peer eseguel’upload di chunk verso altri peer

• I peer possono attivarsi e disattivarsidinamicamente

• Una volta scaricato l’intero file, il peer può (egoisticamente) abbandonare, o (altruisticamente) rimanere nel “torrente”

Antrax
Nota
tipicamente posso parlare con un sottoinsieme di peer a me noti, il sottoinsieme cambia nel tempo ed è basato su sistemi ad "incentivo" (do ut des)
Page 13: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

1) Prelievo di chunk• Peer differenti

possiedono differentisottoinsiemi di chunk del file

• Periodicamente, un peer

2) Invio di chunk: ‘tit-for-tat’• L’idea di fondo è quella di dare

priorità a chi fornisce dati al rate più alto.

• Un peer invia chunk ai 4 neighbor attualmente più veloci (che gliinviano chunk al rate più elevato)

BitTorrent (2/3)

• Periodicamente, un peer chiede a tutti i ‘neighbor’ la lista dei chunk in loropossesso

• Tale peer invia richiesteper i propri chunk mancanti• tecnica ‘rarest first’

inviano chunk al rate più elevato)• i ‘top 4’ sono ricalcolati ogni

10 secondi• Ogni 30 secondi: si seleziona in

maniera casuale un altro peer, e si inizia ad inviargli chunk• il peer appena scelto può

essere aggiunto ai ‘top 4’• “optimistically unchoke”

Antrax
Nota
i vicini mi hanno detto tramite il tracker che hanno dei pezzi di quel file. Chiedo prima il + raro! per massimizzare la prob che io finisca e per uniformare le probabilità di ogni chunk
Antrax
Nota
dò una "chance" anche a chi non so come si comporterà (sempre dai miei vicini) che non era nei top4
Antrax
Nota
aumento il flusso verso qualcuno a random. Se questo risponde facendo a sua volta l'unchoke nei miei confronti può entrare nei miei top4 e anche io entro - entrambi ci pruomuoviamo. Top4 può essere sul singolo file o in media rispetto a tutti i trasferimenti che devo fare. Per definire un nodo "vicino" devo definire come si fa la scoperta, e dipende da come si fa il boot.
Page 14: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

(1) Alice effettua l’ ”unchoke” ottimistico di Bob(2) Alice diventa uno dei ‘top-four provider’ di Bob, il quale ‘ricambia’

(3) Bob diventa uno dei ‘top-four provider’ di Alice

BitTorrent: tit-for-tat

Free-riding

Con upload rate più elevato, si trovano partner ‘migliori’ e si scarica il file più velocemente!

Free-riding

Page 15: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

P2P con directory centralizzata:

• Quando un peer si connette alla rete si collega ad un server centralizzato fornendo:

• Il proprio indirizzo IP• Il nome degli oggetti resi disponibili per la condivisione

• In server in questo modo raccoglie le info sui peer attivi e le aggiornadinamicamente

Antrax
Nota
unico server centralizzato in cui ogni client fa il publishing e ogni altro client fà la lookup
Page 16: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

P2P con directory centralizzata:

• Singolo punto di fallimento• Collo di bottiglia per le prestazioni• Violazione del diritto di autore

• Il trasferimento dei file è decentralizzato, ma la localizzazione dei contenutiè pesantemente centralizzata !!!

Page 17: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

P2P con directory decentralizzata:

•Architettura completamente distribuita (senza server centralizzati) • Si realizza un’architettura di rete sovrapposta (overlaynetwork, fatta da connessioni TCP in corso)• L’overlay network ha una struttura paritetica• Nonostante la rete possa avere centinaia di migliaia di • Nonostante la rete possa avere centinaia di migliaia di partecipanti, ogni peer è connesso al max a 10 altri peer nella overlay.• Due problematiche:

• come viene costruita e gestita la rete di peer• come un peer localizza un contenuto

Page 18: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

P2P con directory decentralizzata:

• I peer , una volta unitisi alla rete, inviano richieste mediante la tecnica del flooding (inondazione), query flooding

• Gnutella Query e QueryHit• Query flooding a raggio limitato

• scope del messaggio (7, ad esempio)• pro e contro

Page 19: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

Query

QueryHit

File transfer:HTTP

P2P con directory decentralizzata:

Query

QueryHit

Antrax
Nota
per cercare qcs mando un messaggio di livello applicativo (su TCP) e il payload di questo msg di query ha la richiesta, il vicino ricevente inoltra ai vicini (e se ha il file lo manda), la risposta query hit va a ritroso fino ad arrivare al generatore che manda alla fine la richiesta di trasferimento al detentore della risorsa.
Page 20: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

P2P con directory decentralizzata:

1. Il peer X deve trovare altri peer già parte dell’overlay• mantiene una lista di IP o contatta un sito Gnutella

contenente la lista2. Dopo l’accesso alla lista, X tenta di impostare una

connessione TCP con i peer della lista; quando si connette a Y si ferma

3. X spedisce a Y un ping Gnutella; Y lo inoltra finchè il contatorenon si azzera

4. Tutti i peer che ricevono un messaggio ping, rispondono con un pong: esso contiene l’indirizzo di chi ha inviato il pong, ilnumero di file in condivisione, la dimensione totale

5. Quando X riceve i messaggi di pong, avendo l’IP, puòimpostare una connessione TCP con alcuni di essi…

6. Ci possono essere più fasi di bootstrap in parallelo

Antrax
Nota
nel P2P non posso fare "sensing" come se fossimo su una rete fisica. Devo usare riferimenti (es DNS) o cache di altri peer conosciuti in precedenti esecuzioni del client
Antrax
Nota
i contenuti sono indirizzati tipicamente non associandoli al nome del file ma ad un digest, ossia ad una funzione di hashing applicata ad un file
Page 21: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

P2P con directory decentralizzata:

• Sfrutta le caratteristiche positive di Napster e Gnutella • Ogni peer è associato ad un group leader (mini hub) che è esso stesso un peer• Un group leader memorizza le informazioni in condivisione dei “figli”• Ogni group leader è in grado di interrogare altri group leader

• query flooding applicato alla rete dei group leader

Page 22: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

P2P con directory decentralizzata:

• Fase di bootstrap:• un peer che si connette deve essere associato ad un group leader o deve

essere designato group leader• L’overlay è costituita da connessioni TCP tra peer e group leader e tra coppie digroup leader• Ogni file possiede un identificatore hash e un descrittore• I peer (client) spediscono le query al proprio group leader

• quest’ultimo risponde per ogni richiesta con:l’indirizzo IP del detentore della risorsa, l’hash, e dei metadati associati• l’indirizzo IP del detentore della risorsa, l’hash, e dei metadati associatialla risorsa.

• il group leader inoltra sia le richieste sia le eventuali risposte da parte di altrigroup leader

• Il peer (client) seleziona la risorsa per il download e invia una richiesta HTTP al detentore della risorsa usando l’hash come identificatore

• Tecniche per migliorare le prestazioni• Accodamento delle richieste e limitazione del numero degli upload simultanei• Priorità di incentivo• Downloading parallelo di parti dello stesso file da più utenti

Antrax
Nota
chi diventa superpeer? si può decidere ad es per banda disponibile, per uptime, ...
Page 23: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

Skype

• Skype è una applicazione P2P VoIP sviluppata da KaZaa nel2003• Supporta anche instant messaging e conferencing

• Il protocollo è proprietario

• Skype usa una rete overlay, con tre tipi di host

• Host ordinari:• Host ordinari:• Skype users

• Super nodi:• Skype users con sufficiente CPU, memoria, banda…

• Server di login per l’autenticazione

Antrax
Nota
skype è chiuso con comunicazioni criptate e crittografia chiusa. Quello che si sa è con reverse engeneering per sapere in primis il protocollo.
Page 24: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

Skype

• Ciascun client Skype mantieneuna lista di indirizzi IP di super nodi conosciuti• Inizialmente questa lista è vuota.

• Un client Skype si connette allarete attraverso un super nodorete attraverso un super nodo

• I super nodi sono responsabilidella localizzazione degli utenti, del routing delle chiamate, del mantenimento delleinformazioni circa gli host connessi alla rete Skype

Antrax
Nota
al di la delle fasi P2P di solito almeno il LOGIN viene fatto centralizzato.
Page 25: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

Skype

• Connessione ai super nodi:• Primo login

• Alla prima esecuzione (in seguito all’ l’installazione) un client Skype comunica con il server Skype (skype.com)

• Durante la comunicazione, la cache dell’host è popolata di 7 indirizziIP di super nodi da usare per il bootstrap

• A questo punto l’host può contattare uno di essi per il join• A questo punto l’host può contattare uno di essi per il join• Selezionato il super nodo per il join, parte la fase di autenticazione con

user name e password con il server Skype• L’host viene periodicamente aggiornato con indirizzi IP di nuovi super

nodi

• Login successivi• Per i login successivi un client sceglie uno degli indirizzi dei super nodi

e stabilisce la connessione

Antrax
Nota
al primo login si impiega + tempo perchè mi scarico dal server skype (con HTTP ad es) una lista di potenziali supernodi, e la conservo in una cache aggiornabile. Da questa lista selezioni uno o + peer per fare il join alla rete. Se tutti falliscono richiedo al login skype.
Page 26: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

p2p IPTV

Keywords:• Chunk• Peer-list• Buffer-map

• Ogni peer è sia un viewer che un server. server. • Alcuni viewer ricevono il flusso direttamente dalla sorgente originale (server IPtv); altri lo ricevono attraverso altri peer.

Antrax
Nota
streaming in NEAR-REAL-TIME o streaming memorizzato
Antrax
Nota
non posso chiedere alla bit torrent il più raro ma l'unico conforme al playtime del client ad ogni istante
Page 27: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

Scalabilità

• Il lavoro richiesto a un determinato nodo nel sistema non deve crescere (o, almeno, deve crescere lentamente) in funzione del numero di nodi nel sistema

• I protocolli usati da Napster e Gnutella non sono scalabili

• Per migliorare la scalabilità sono nati (in ambito • Per migliorare la scalabilità sono nati (in ambito accademico) i cosiddetti protocolli P2P di seconda generazione che supportano DHT – Distributed HashTable

• Alcuni esempi di questi protocolli:• Tapestry, Chord, Can, Viceroy, Koorde, kademlia, kelips, …

Page 28: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

Scalabilità e routing delle richieste

• La scalabilità di un protocollo è direttamente legata all’efficienza dell’algoritmo usato per il routing (lookup)

• Due obiettivi principali:1. Minimizzare il numero di messaggi necessari per effettuare

il lookup2. Minimizzare, per ogni nodo, le informazioni relative agli altri 2. Minimizzare, per ogni nodo, le informazioni relative agli altri

nodi

• Le varie DHT conosciute differiscono proprio per questi aspetti…

Page 29: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

Messaggi necessari per trovare una chiave

n -1 Chord e altri

Grafo Totalmente connesso

Anello

Dimensione tabella di routing

1

1

n -1

O(log n)

O(log n)

connesso

n è il numero dei peer

Page 30: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

P2P di seconda generazione e DHT

• A ogni file e ad ogni nodo è associata una chiave• La chiave viene di solito creata facendo l’hash del nome

del file o dell’IP del nodo• Ogni nodo del sistema è responsabile di un insieme di

file/chiavi e tutti i nodi, nel loro insieme, realizzano una DHT

• L’unica operazione che un sistema DHT deve fornire è • L’unica operazione che un sistema DHT deve fornire è “lookup(key)”:• restituisce l’identità del responsabile di una determinata

chiave

Page 31: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

DHT: concetti generali

• Astrazione : una struttura dati distribuita che realizzauna tabella hash:

put(id, item);

item = get(id);item = get(id);

• Implementazione : i nodi del sistema costituisconouna struttura dati distribuita:

anello, albero, ipercubo, rete ‘Butterfly’, ...

Page 32: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

Ricerca in una DHT

• Tutti i nodi del sistema condividono una tabella hash• conoscono la struttura della tabella…

• ...ma non conoscono il responsabile di una determinata entry ID

0

Nodo x

Nodo y

Nodo z

ID0123456…2m…

Page 33: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

DHT: Chord• Le chiavi sono mappate su un array circolare costituito da 2m

identificatori• Il nodo responsabile di una determinata chiave è il primo

nodo che la succede in senso orario• Ogni nodo x di Chord mantiene due insiemi di vicini:

� Il primo contiene gli m successori del nodo x, più il predecessorepredecessore

� Il secondo, un insieme di m nodi costituito dai responsabili delle chiavi distanziate esponenzialmente dal nodo x, vale a dire l’insieme delle chiavi che si trovano a distanza 2i da x dove 0 ≤ i ≤ m-1

m=3

Page 34: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

Chord: la “finger table”

ID Resp.

8+1=9 14

8+2=11 14

8+4=12 14

indice Nod

o

1 14

2 21

4 32

3 24

Successors

8+8=16 21

8+16=24 24

8+32=40 42

m=6

5 38

6 42

Predecessor

Nodo 1

Page 35: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

Chord: Join

• Spazio degli identificativi: [0..8]

1. Join del nodo 10

17

i id+2i succ0 2 11 3 1

Succ. Table

1

2

3

4

5

6

7 1 3 12 5 1

Page 36: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

2. Join del nodo 20

17

i id+2i succ0 2 21 3 1

Succ. Table

Chord: Join

1

2

3

4

5

6

7 1 3 12 5 1

i id+2i succ0 3 11 4 12 6 1

Succ. Table

Page 37: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

3. Join dei nodi 0 e 60

17

i id+2i succ0 2 21 3 6

Succ. Table

i id+2i succ0 1 11 2 22 4 0

Succ. Table

Chord: Join

1

2

3

4

5

6

7 1 3 62 5 6

i id+2i succ0 3 61 4 62 6 6

Succ. Table

i id+2i succ0 7 01 0 02 2 2

Succ. Table

Page 38: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

Nodi: n1, n2, n0, n6

File: f7, f1

0

17 i id+2i succ

Succ. Table

i id+2i succ0 1 11 2 22 4 0

Succ. Table

7

Items

1

Items

Chord: allocazione delle risorse

f7, f1 1

2

3

4

5

6

7 i id+2 succ0 2 21 3 62 5 6

i id+2i succ0 3 61 4 62 6 6

Succ. Table

1

i id+2i succ0 7 01 0 02 2 2

Succ. Table

Page 39: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

• Alla ricezione di una query per il dato con identificativo id, un nodo:

• Controlla se il dato è presente presso di sé

• In caso di assenza del dato, esso inoltra la query al nodopiù grande nella sua tabelladei successori, aventeidentificativo di nodo <= di id

0

17 i id+2i succ

Succ. Table

i id+2i succ0 1 11 2 22 4 0

Succ. Table

7

Items

1

Items

Chord: routing

identificativo di nodo <= di id 1

2

3

4

5

6

7 i id+2 succ0 2 21 3 62 5 6

i id+2i succ0 3 61 4 62 6 6

Succ. Table

1

i id+2i succ0 7 01 0 02 2 2

Succ. Table

query(7)

Page 40: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

Chord: complessità

• Le informazioni che il nodo deve mantenere sugli altri nodi sono (m + m + 1) = (2m +1) �O(log N)

• Il numero di messaggi necessari per effettuare il lookup è m � O(log N)

• L’algoritmo di routing effettua a ogni step il • L’algoritmo di routing effettua a ogni step il passo più grande che riesce a fare• tale algoritmo, in pratica, simula un “ipercubo”• esso, inoltre, si comporta molto bene in un sistema

dinamico

Page 41: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

P2P e standardizzazione nell’IETF

• p2psip:• Peer-to-Peer Session Initiation Protocol

• ALTO:• Application Level Traffic Optimization

• PPSP:• PPSP:• Peer to Peer Streaming Protocol

Page 42: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

p2psip – Peer-to-Peer SIP

Page 43: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

p2psip – obiettivi (1/2)

Page 44: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

p2psip – obiettivi (2/2)

Page 45: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

ALTO – Application Level Traffic Optimization

Page 46: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

ALTO – obiettivi e ‘milestone’

Page 47: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

PPSP – Peer to Peer Streaming Protocol

Page 48: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

PPSP – ipotesi di lavoro e ‘milestone’

Page 49: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

Dalla teoria alla pratica: SIPDHT

http://sipdht.sourceforge.net/

• Un progetto gestito dai ricercatori di Tilab Torino• Attualmente alla versione 2:

• http://sipdht.sourceforge.net/sipdht2• connessioni tra peer negoziate mediante SIP• implementazione di una DHT basata su infrastruttura CAN (Content Addressable Network)

• Ottimizzato per peer nascosti da NAT

Antrax
Nota
sip qui fà put e get verso una tabella hash distribuita.
Page 50: Corso di Applicazioni Telematiche Applicazioni peer …unina.stidue.net/Applicazioni Telematiche/Materiale...Corso di Applicazioni Telematiche Applicazioni peer-to-peer A.A. 2009-10

Domande?

5050