Sistemi peer-to-peer Sistemi peer-to-peer (P2P)

Transcript

Sistemi peer-to-peer Sistemi peer-to-peer (P2P)
Università degli Studi di Roma “Tor Vergata”
Facoltà di Ingegneria
Sistemi peer-to-peer
Corso di Sistemi Distribuiti
Valeria Cardellini
Anno accademico 2008/09
Sistemi peer-to-peer (P2P)
• Giunti agli oneri della cronaca alla fine degli anni ‘90
– Il famoso caso Napster (sistema di file sharing per file MP3)
• Molto popolari
– Parte consistente del traffico Internet: più del 30% è riconducibile
ad applicazioni di tipo P2P
– Trend crescente (nonostante tutto)
• Qualche anno fa si diceva Internet = Web
• Alcuni pregiudizi sul P2P
– P2P = file sharing
• Molti sistemi per il file sharing si basano su un approccio P2P
– P2P = illegalità
• Una percentuale massiccia di file scambiati è coperta da copyright
SD - Valeria Cardellini, A.A. 2008/09
2
Cosa è il peer-to-peer
• Peer: entità con capacità simili alle altre entità nel
sistema
• Il termine peer-to-peer si riferisce ad una classe di
sistemi ed applicazioni che utilizzano risorse
distribuite per eseguire una funzionalità (critica) in
modo decentralizzato
• Condivisione delle risorse (cicli di CPU, storage, dati)
– Offrire ed ottenere risorse dalla comunità di peer
SD - Valeria Cardellini, A.A. 2008/09
3
Caratteristiche dei sistemi P2P
• Tutti i nodi (peer) del sistema hanno identiche capacità e
responsabilità (almeno in linea di principio)
– Nodi indipendenti (autonomi) e localizzati ai bordi (edge) di
Internet
• Nessun controllo centralizzato
– Ogni peer ha funzioni di client e server e condivide risorse e
servizi
• servent = server + client
– In realtà, possono essere presenti server centralizzati o nodi con
funzionalità diverse rispetto agli altri (supernodi)
• Sistemi altamente distribuiti
– Il numero di nodi può essere dell’ordine delle centinaia di
migliaia
• Nodi altamente dinamici ed autonomi
– Un nodo può entrare o uscire dalla rete P2P in ogni momento
• Operazioni di ingresso/uscita (join/leave) dalla rete
– Ridondanza delle informazioni
SD - Valeria Cardellini, A.A. 2008/09
4
Applicazioni P2P
• Distribuzione e memorizzazione di contenuti
– Contenuti: file, video streaming, …
– Es. di file sharing: Gnutella, KaZaA, BitTorrent, eDonkey ed
eMule, …
– Es. di file storage: Freenet
• Condivisione di risorse di calcolo (elaborazione
distribuita)
– Es.: SETI@home – Search for Extraterrestrial Intelligence
• Collaborazione e comunicazione
– Es.: Chat/Irc, Instant Messaging, Jabber
• Telefonia
– Es.: Skipe
• Content Delivery Network
– Es.: CoralCDN
• Piattaforme
– Es:. JXTA (http://www.sun.com/software/jxta/)
SD - Valeria Cardellini, A.A. 2008/09
5
Condivisione di file
• E’ la killer application del P2P
• Occorrono funzionalità di publishing, searching, retrieval
• Vediamo un semplice esempio…
– Alice esegue un’applicazione client P2P sul suo portatile
– In modo intermittente si connette ad Internet; ottiene un nuovo
indirizzo IP per ogni connessione
– Registra il suo contenuto nel sistema P2P
– Cerca “Hey Jude”
– L’applicazione visualizza altri peer che hanno una copia di “Hey
Jude”
– Alice sceglie uno dei peer, Bob
– Il file viene trasferito dal PC di Bob al portatile di Alice (P2P)
– Mentre Alice esegue il download, altri utenti eseguono un
upload da Alice
SD - Valeria Cardellini, A.A. 2008/09
6
Software per la condivisione di file
• Consente ad Alice di registrare una directory del
proprio file system per la condivisione
– Chiunque può ottenere un file dalla directory registrata
– Come un Web server
• Consente ad Alice di copiare file dalle directory
condivise di altri utenti
– Come un Web client
• Consente ad Alice di individuare quali peer
possiedono un determinato file tramite una ricerca
basata su keyword
– Come Google
SD - Valeria Cardellini, A.A. 2008/09
7
Obiettivi e problemi dei sistemi P2P
• Obiettivi
–
–
–
–
–
–
Condividere/ridurre i costi usando risorse non utilizzate
Migliorare la scalabilità
Aumentare la persistenza e la disponibilità delle risorse
Consentire l’aggregazione di risorse e l’interoperabilità
Aumentare l’autonomia
Aumentare l’anonimato/privacy, nascondendo le operazioni
svolte dagli utenti
– Consentire dinamismo e comunicazioni ad-hoc
• Problemi
– Sicurezza: garantire integrità e autenticità delle risorse
– Disuguaglianza tra i nodi
– Elevato tasso con cui i nodi entrano/escono dal sistema P2P
• Può portare ad una instabilità del sistema che ne influenza
negativamente le prestazioni
SD - Valeria Cardellini, A.A. 2008/09
8
Overlay network
• Overlay network: è la rete virtuale che interconnette i
peer
–
–
–
–
I collegamenti rappresentano i possibili canali di comunicazione
Basata su una rete fisica sottostante
Fornisce un servizio di localizzazione delle risorse
Vantaggi:
• Semplicità e velocità di sviluppo di nuove applicazioni
• Instradamento a livello applicativo
– Routing content-aware
– Routing application semantic-aware
SD - Valeria Cardellini, A.A. 2008/09
9
Overlay routing
• Idea base:
– Il sistema fa trovare la strada per raggiungere una risorsa
• Rispetto al routing tradizionale
– La risorsa non è esattamente un indirizzo di un nodo della
rete, ma può essere un file, una CPU disponibile, dello
spazio libero su disco, …
• Concentriamo l’attenzione sul routing, non
sull’interazione per recuperare una risorsa
– Il recupero avviene con un’interazione diretta tra peer,
usando protocolli come HTTP
SD - Valeria Cardellini, A.A. 2008/09
10
Reti non strutturate
• Reti non strutturate
– Nodi organizzati in modo disordinato, come un grafo random
• L’organizzazione della rete segue principi molto semplici
– Non ci sono vincoli sul posizionamento delle risorse rispetto
alla topologia del grafo
• La localizzazione delle risorse è resa difficoltosa dalla
mancanza di organizzazione della rete
– L’aggiunta o la rimozione di nodi è un’operazione semplice e
poco costosa
– Obiettivo: gestire nodi con comportamento fortemente
transiente (tassi di join/leave elevati)
– Esempi: Gnutella, FastTrack, eDonkey/Overnet
SD - Valeria Cardellini, A.A. 2008/09
11
Reti strutturate
• Reti strutturate
– Vincoli sulla topologia del grafo e sul posizionamento delle
risorse sui nodi del grafo
• L’organizzazione della rete segue principi rigidi
– L’aggiunta o la rimozione di nodi è un’operazione costosa
– Obiettivo: migliorare la localizzazione delle risorse
– Esempi: Chord, Pastry, CAN
SD - Valeria Cardellini, A.A. 2008/09
12
Architetture P2P
• Tre tipologie di architetture
– Decentralizzate pure
• Tutti i nodi sono peer, nessun coordinatore centralizzato
• Ogni peer può funzionare come router, client, o server
• La rimozione di un peer non riduce le funzionalità del sistema
– Parzialmente centralizzate
• Alcuni nodi (supernodi) facilitano l’interconnessione tra i peer
– Indice locale centralizzato per risorse dei peer locali
• Prima comunicazione con un supernodo (a), poi con il peer (b)
– Decentralizzate ibride
• Presenza di un unico server centralizzato che fornisce il servizio di
localizzazione
Architettura decentralizzata pura
Architettura P2P
parzialmente centralizzata
SD - Valeria Cardellini, A.A. 2008/09
13
Routing in reti non strutturate
• Sistemi decentralizzati ibridi:
directory centralizzata
– Es.: Napster
• Sistemi decentralizzati puri:
ricerca flood-based
– Es.: Gnutella 0.4
• Sistemi parzialmente centralizzati:
directory semi-centralizzate e
ricerca flood-based limitata
– Es.: KaZaA, Gnutella 0.6
SD - Valeria Cardellini, A.A. 2008/09
14
Sistemi con directory centralizzata
• Un nodo centralizzato (directory server) possiede il
mapping risorse-peer (index), fornendo un servizio di
discovery dei peer e di lookup delle risorse
• Limiti
– Gestione costosa della directory centralizzata
– Collo di bottiglia costituito dal nodo centrale (scalabilità
limitata)
– Single point of failure (motivi tecnici e legali, es. Napster)
peers
Napster server
Index
1. File location
request
2. List of peers
offering the file
Napster server
Index
3. File request
5. Index update
4. File delivered
SD - Valeria Cardellini, A.A. 2008/09
15
Sistemi con ricerca flood-based
• Approccio completamente distribuito per localizzare le
risorse
• L’invio delle query utilizza un meccanismo di flooding
• Ogni peer propaga (flood) la richiesta ai peer “vicini”,
che a loro volta inviano la richiesta ai loro “vicini”
(escludendo il vicino da cui hanno ricevuto la richiesta)
– Fino a che la richiesta è risolta, oppure viene raggiunto un
massimo numero di passi, definito da TTL
• Ad ogni inoltro il TTL viene decrementato
• Il TTL limita il “raggio della ricerca”, evitando che il messaggio sia
propagato all’infinito
– ID univoco (detto GUID) assegnato al messaggio per evitare
che venga nuovamente elaborato dai nodi da cui è stato già
ricevuto (presenza di cammini cicli nei grafi)
SD - Valeria Cardellini, A.A. 2008/09
16
Sistemi con ricerca flood-based (2)
• L’invio delle risposte
utilizza il backward routing
• La risposta positiva ad
una query viene inoltrata
a ritroso lungo lo stesso
cammino seguito dalla
query
• Utilizzo del GUID per
individuare il backward
path
SD - Valeria Cardellini, A.A. 2008/09
17
Esempio di ricerca con flooding
P3
P2
A?
A?
A?
A?
A?
A?
A?
A?
A!
TTL=1
TTL=1
TTL=1
TTL=1
A!
TTL=1
TTL=1
TTL=1
TTL=1
P8
P7
P6
A?
A?
A?
A?
A?
TTL=2
A?
TTL=2
TTL=2
TTL=2
TTL=2
TTL=2
A!
A!
P9
P4
A?
A?
A?
TTL=1
TTL=1
TTL=1
TTL=1
P5
P1
A?
A? richiesta con TTL scaduto
TTL=1
TTL=1
SD - Valeria Cardellini, A.A. 2008/09
P10
A?
A? richiesta già ricevuta
TTL=1
TTL=1
18
Problemi del flooding
• Crescita esponenziale del numero di messaggi
– Possibilità di attacchi di tipo denial-of-service
– Nodi black-hole in caso di congestione
– Non è realistico esplorare tutta la rete
• Costo della ricerca
– Le risposte dovrebbero avere tempi ragionevoli
– Come determinare il raggio di ampiezza del flooding?
• Non è garantito che vengano interrogati tutti i nodi (o i
nodi) che posseggono la risorsa
• Traffico di query: i messaggi che non producono risultati
occupano comunque banda
• Mancanza di una relazione tra topologia virtuale e
topologia reale
– A che distanza sono i “vicini”?
SD - Valeria Cardellini, A.A. 2008/09
19
Bootstrap nei sistemi decentralizzati puri
• Per accedere alla rete P2P occorre conoscere
l’indirizzo di almeno un nodo (problema del
bootstrap)
• Possibili approcci per il bootstrap
• Presenza di un bootstrap server
– Web server che memorizza una lista di peer attivi (con alta
probabilità presenti nella rete P2P)
• Tramite peer cache
– Ogni peer mantiene in una propria cache una lista di peer
contattati nelle sessioni precedenti
• Tramite well-known host
– Non esiste alcuna entità che registra i peer attivi
SD - Valeria Cardellini, A.A. 2008/09
20
Case study: Gnutella
• Gnutella versione 0.4 implementa un’architettura
decentralizzata pura
• Discovery
– Boostrap tramite boostrap server e peer cache
– Ottenuta la lista di nodi della rete Gnutella, il nodo prova a
connettersi con alcuni dei nodi noti
– La rete viene esplorata mediante l’invio di messaggi di
ping/pong
– A seconda della velocità di connessione, il nodo prova a
mantenere da 3 a 8 connessioni
– Se una connessione viene persa, il nodo cerca di connettersi
ad un altro nodo della lista, che viene continuamente
aggiornata
• Search
– Per la ricerca, Gnutella utilizza un flooding con esplorazione
breadth-first (BFS)
– Invio delle query ai peer vicini (query message); i vicini a loro
volta inoltrano la query mediante flooding limitato da TTL
SD - Valeria Cardellini, A.A. 2008/09
21
Connessione in Gnutella
Bootstrap server
n1
n1
n2
n2
n3
n3
•
Un servent può rifiutare una richiesta di connessione, ad esempio
perché ha raggiunto un numero massimo di connessioni ammesse
SD - Valeria Cardellini, A.A. 2008/09
22
Comunicazione fra servent
• I servent comunicano fra loro con messaggi (detti
descriptor); sono supportati 5 tipi di messaggi:
• Ping
– Messaggio per il discovery dei nodi vicini nella rete P2P
• Pong
– Messaggio di risposta a un Ping: un nodo che riceve un Ping
risponde con uno o più Pong, includendo il suo indirizzo
• Query
– Messaggio di richiesta per localizzare una risorsa
• QueryHit
– Messaggio di risposta a una query: contiene le informazioni
per reperire la risorsa
• Push
– Messaggio per il download da servent dietro un firewall
tramite il protocollo HTTP
SD - Valeria Cardellini, A.A. 2008/09
23
Struttura dei messaggi
Payload
Payload
Descriptor
Descriptor ID
ID descriptor
descriptor
16 byte
1 byte
TTL
TTL
Hops
Hops
Payload
Payload length
length
1 byte
1 byte
4 byte
• Descriptor ID è l’identificatore univoco del messaggio
(GUID) all’interno della rete
– Usato per associare le risposte alle richieste e per evitare di
propagare le stesse richieste più di una volta
• Payload descriptor identifica il tipo di messaggio
• All’i-esimo passo: TTL(i) = TTL(0) - Hops(i)
– TTL(i): quante volte il messaggio può ancora essere inoltrato
dai servent prima di essere eliminato dalla rete
– Hops(i): quanti servent hanno già inoltrato il messaggio
• Payload length è la lunghezza dei dati associati al
messaggio
SD - Valeria Cardellini, A.A. 2008/09
24
Ping e Pong
• Ogni nodo invia periodicamente il messaggio di
Ping per sondare la rete alla ricerca di altri nodi
– Un nodo che riceve un Ping risponde inviando al
mittente un Pong
• Il messaggio Pong contiene l’IP e la porta su cui il nodo
accetta connessioni, il numero di file condivisi e il numero
di Kb totali condivisi
– Possono essere inviati più messaggi di pong per
comunicare il contenuto della propria peer cache
– ll messaggio di Ping viene
inoltrato ai vicini fino a che il
TTL non si annulla
SD - Valeria Cardellini, A.A. 2008/09
25
Query e QueryHit
• Query specifica il criterio di ricerca e la velocità di
trasferimento minima richiesta ai servent
Number
Number of
of hits
hits
1 byte
Port
Port
2 byte
IP
IP
Speed
Speed
Result
Result set
set
server
server ID
ID
4 byte
4 byte
N byte
16 byte
• QueryHit riguarda tutti i risultati
trovati su un dato servent che
soddisfano il criterio di ricerca
– Port: porta su cui il servent accetta
connessioni in entrata
– Result set: contiene gli identificatori
delle risorse che soddisfano la query
– Servent ID: identifica univocamente il
nodo nella rete
SD - Valeria Cardellini, A.A. 2008/09
26
Download di un file
• Un nodo richiede direttamente il trasferimento di un
file ad un peer che ha risposto alla query
– Il protocollo usato per il trasferimento è HTTP
GET /get/<file index>/<file name>/
HTTP/1.0
HTTP
200 OK
Connection: keep-alive
Server: Gnutella
Range: bytes=0Content-type: application/binary
User-Agent: Gnutella
Content-length: 200346
... data...
SD - Valeria Cardellini, A.A. 2008/09
27
Sistemi parzialmente centralizzati
• Non tutti i peer sono uguali
– I nodi meglio connessi e con buona capacità computazionale
possono avere funzioni speciali (detti supernodi o super-peer o
broker)
– I supernodi sono identificati dinamicamente
• I supernodi agiscono da rappresentanti dei loro
sottoposti
– Organizzazione gerarchica
• I supernodi hanno funzione di directory semicentralizzata
– I supernodi indicizzano le risorse disponibili nei peer che
gestiscono
• Il flooding riguarda solo i supernodi
• Rispetto ai sistemi decentralizzati puri
– Si riduce il tempo di discovery
– Si sfrutta l’eterogeneità dei nodi presenti in una rete P2P
SD - Valeria Cardellini, A.A. 2008/09
28
Query di una risorsa con supernodi
A!
A!
A?
A?
A!
A?
A?
A?
A?
SD - Valeria Cardellini, A.A. 2008/09
29
Case study: KaZaA
• Alcune caratteristiche
– FastTrack come rete di file sharing; Kaaza è il client più
popolare
– Download parallelo di parti di file
– Redirezione automatica ad un altro server quando il server
corrente diviene non disponibile
– Stima del tempo di download
– Numero massimo di upload/download simultanei
configurabile
– Gestione della coda al server/client
• Utenti assidui con priorità più elevata al server
– Priorità di incentivo
• Chi collabora alla condivisione dei contenuti è privilegiato nello
scaricare file
– Ricerca basata su keyword
SD - Valeria Cardellini, A.A. 2008/09
30
KaZaA: la tecnologia
• Software
– Proprietario
– File e dati di controllo crittografati
– Ogni informazione come richiesta o risposta HTTP
– Il download include adware e spyware…
• Architettura
– Architettura parzialmente centralizzata
con organizzazione gerarchica dei peer
– Ogni peer è un supernodo oppure è
assegnato ad un supernodo
– Ogni supernodo ha informazioni su molti
altri supernodi
– Lista di potenziali supernodi inclusa
all’atto del download del software
SD - Valeria Cardellini, A.A. 2008/09
31
Case study: BitTorrent
• E’ il più popolare protocollo P2P per la distribuzione
di contenuti
– Circa 15% del traffico su Internet
• Idea di base: dividere un file in pezzi (da 256 KB) e
far ridistribuire ad ogni peer i dati ricevuti, fornendoli
a nuovi destinatari; in questo modo:
– Si riduce il carico di ogni sorgente
– Si riduce la dipendenza dal distributore originale
– Si fornisce ridondanza
• Per condividere un file, un peer crea un file .torrent,
che contiene metadati sul file condiviso e sul tracker
– Tracker: il nodo che coordina la distribuzione del file
SD - Valeria Cardellini, A.A. 2008/09
32
Caratteristiche di BitTorrent
• Per scaricare un file, un peer
– ottiene un file .torrent per quel file
– si connette al tracker individuato in .torrent, che indicherà da
quali peer scaricare i vari pezzi del file
– si connette ai peer individuati per scaricare i vari pezzi
• Un gruppo di peer interconnessi per condividere un
“torrente” viene detto swarm
– Se lo swarm contiene solo il seeder iniziale, il client si connette
direttamente al seeder
– Mano a mano che i peer entrano nello swarm, iniziano a
negoziare tra loro pezzi del file (anziché scaricarli dal seeder)
• Alcune tecniche usate dai client BitTorrent
– Scaricare i primi 4 pezzi selezionandoli in modo casuale per
aumentare la possibilità di trading con gli altri peer
– Scaricare i rimanenti pezzi selezionandoli in base alla strategia
rarest first
• Prima il pezzo più raro
• Migliore della selezione casuale
– Inviare dati ai peer che inviano dati (tit-for-tat)
SD - Valeria Cardellini, A.A. 2008/09
33
Routing in reti strutturate
• Sistemi con Distributed Hash Table (DHT)
• Ad ogni peer è assegnato un ID univoco ed ogni peer
conosce un certo numero di peer
• Ad ogni risorsa condivisa (pubblicata) viene assegnato
un ID univoco, di solito definito applicando una funzione
hash al nome della risorsa
• Anche noti come sistemi con content rooting
– L’instradamento è basato sul contenuto della risorsa (essendo
guidato dall’ID della risorsa)
• La richiesta per la risorsa è
instradata verso il peer che ha
l’ID più simile a quello della
risorsa
• Possibile copia locale della
risorsa ad ogni peer attraversato
SD - Valeria Cardellini, A.A. 2008/09
34
Distributed Hash Table
• Astrazione distribuita della struttura dati hash table
• Le risorse sono rappresentate da una coppia chiave
valore (key K, value V)
– K identifica la risorsa, che è contenuta in V
• Interfaccia (API) per l’accesso alla DHT (comune a molti
sistemi basati su DHT)
– put(K, V): inserimento di informazione (memorizza V in tutti i
nodi responsabili per la risorsa identificata da K)
– remove(K, V): cancella tutti i riferimenti a K e all’associato V
– V = get(K): recupera V associato a K da uno dei nodi
responsabili
• Ogni risorsa è identificata solo mediante il valore della
chiave
– Per cercare una risorsa occorre conoscere il valore esatto della
chiave
– Non sono possibili query complesse (ad es. range query, ricerche
contenenti wildcard)
SD - Valeria Cardellini, A.A. 2008/09
35
Distributed Hash Table (2)
• Ogni nodo è responsabile di una parte dei dati
memorizzati nella DHT
• I dati vengono mappati nello stesso spazio degli
indirizzi dei nodi, mediante la funzione hash
• Ad ogni nodo viene assegnata una porzione contigua
dello spazio degli indirizzi
• Ogni nodo memorizza informazioni relative ai dati
mappati sulla propria porzione di indirizzi
• Ogni chiave viene mappata su almeno un nodo della
rete
– Spesso si introduce una certa ridondanza
SD - Valeria Cardellini, A.A. 2008/09
36
Distributed Hash Table (3)
• Le DHT operano in maniera distribuita con molti nodi
– Elevata scalabilità
• Diverse soluzioni che specificano anche la modalità di
routing delle ricerche e della memorizzazione
– Più di 20 protocolli e prototipi per reti P2P strutturate, tra cui:
•
•
•
•
•
•
•
•
•
Chord (MIT)
Tapestry (Berkeley)
CAN (Berkeley)
Pastry (Rice Univ., Microsoft)
Kademlia (NY Univ.)
SkipNet/SkipGraph
Viceroy
Z-Ring
Chimera (UCSB)
SD - Valeria Cardellini, A.A. 2008/09
37
Chord
• I nodi e le chiavi sono
mappati in uno spazio
circolare mediante una
funzione hash
• Ogni nodo è responsabile
delle chiavi poste tra sé e
il nodo precedente nel
cerchio
• Finger table
– E’ la tabella di routing
posseduta da ogni nodo
– Il nodo in posizione x
conosce i nodi competenti
per le posizioni x+2i, con
i=logN-1, essendo N il
numero dei nodi
• Ad es., x+1, x+2, x+4, x+8,
x+16…
– Dimensione della finger
table pari a log(N)
SD - Valeria Cardellini, A.A. 2008/09
http://www.pdos.lcs.mit.edu/chord/
38
Finger table in Chord
• Idea della finger table
– Ogni nodo conosce “bene” le posizioni vicine ed ha un’idea
approssimata delle posizioni più lontane
• Come avviene la ricerca? Algoritmo di routing:
– Il nodo in posizione x vuole instradare una richiesta per la
posizione z
– Se z è nella zona di competenza del nodo, la ricerca termina
– Altrimenti, il nodo x cerca nella finger table un nodo y con
y=max numero < z e invia la richiesta a quel nodo
• Caratteristiche
– L’algoritmo raggiunge velocemente le vicinanze del punto
cercato, per procedere poi con salti via via più piccoli
– Costo di lookup: O(log N)
– Costo di ingresso o uscita nodi: O(log2 N)
SD - Valeria Cardellini, A.A. 2008/09
39
Routing in Chord
N1
finger table
N51+2
N56
N51+4
N56
lookup(K54)
N8
K54
N56
finger table
N14
N51
...
…
N8+32
N42
N48
N21
finger table
N42+8
N51
N42+16
N1
Problemi Chord
N42
SD - Valeria Cardellini, A.A. 2008/09
N38
– Manca una nozione
di prossimità fisica
– Scarso supporto per
ricerche senza
matching esatto
40
Tapestry e CAN
• Tapestry
– Prefix routing basato su algoritmo
di Plaxton
• La struttura mesh di Plaxton
contiene puntatori ai nodi il cui ID
corrisponde agli elementi di una
struttura ad albero di prefissi di ID
– Anche in Pastry e Kademlia il
routing è basato su Plaxton
• CAN (Content Addressable
Network)
– Nodi e risorse disposti in uno
spazio cartesiano d-dimensionale
– Ogni nodo è responsabile di un
sottospazio
– Ogni risorsa è individuata da d
coordinate
SD - Valeria Cardellini, A.A. 2008/09
41

Documenti analoghi

4pp

4pp – In modo intermittente si connette ad Internet; ottiene un nuovo indirizzo IP per ogni connessione – Registra il suo contenuto nel sistema P2P – Cerca “Hey Jude” – L’applicazione visualizza altri ...

Dettagli

Corso di Applicazioni Telematiche Applicazioni

Corso di Applicazioni Telematiche Applicazioni 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

Dettagli

Reti P2P

Reti P2P I siti torrent, come appunto The Pirate Bay, giustificano la loro possibilità di esistere affermando che non violerebbero alcuna legge, poiché, a differenza di altre tecnologie Peer-to-Peer (come a...

Dettagli

Tecnologie di file-sharing e P2P

Tecnologie di file-sharing e P2P Per certi versi la rete BitTorrent è diversa da tutte le altre. Si basa su alcuni server con interfaccia web (Tracker) che sono pubblici o privati. Questi server indicizzano i file .torrent e li re...

Dettagli