110 likes | 194 Views
All’inizio del 2004 P2P era responsabile di un volume di traffico maggiore a qualunque altra applicazione Internet Scenario di Riferimento: File Sharing Giulia cerca un brano MP3 Il sistema fornisce una lista dei peer che possiedono il brano Giulia richiede il brano a uno dei peer (Roberto)
E N D
All’inizio del 2004 P2P era responsabile di un volume di traffico maggiore a qualunque altra applicazione Internet Scenario di Riferimento: File Sharing Giulia cerca un brano MP3 Il sistema fornisce una lista dei peer che possiedono il brano Giulia richiede il brano a uno dei peer (Roberto) Connessione diretta TCP tra il PC di Giulia e quello do Roberto Contemporaneamente Mario scarica da Giulia un’altro brano Client/Server transitorio Condivisione file P2P 1: Introduction
Architettura centralizzata (NAPSTER) • Directory centralizzata • Il peer informa la directory centralizzata del proprio IP e degli oggetti disponibili • La directory deve conoscere i peer attivi • Unico punto di guasto • Collo di bottiglia per le prestazioni • Diritti d’autore 1: Introduction
In sintesi • Directory Centralizzata • Trasferimento tra peer distribuito • Processo di localizzazione dei contenuti centralizzato • Query flooding (GNUTELLA) 1: Introduction
Query flooding (GNUTELLA) • Approccio completamente distribuito per la localizzazione dei contenuti • OVERLAY NETWORK • arco tra due peer se esiste una comunicazione TCP tra di essi • Solitamente meno di 10 vicini 1: Introduction
Query flooding (GNUTELLA) • Giulia vuole localizzare “one.mp3” • Invia una Gnutella query a tutti i suoi vicini sulla overlay network • I vicini a loro volta inoltrano la query ai propri vicini • I peer che possiedono “one.mp3” generano un query hit, che segue il percorso inverso della Gnutella Query, fino a Giulia • In questo modo Giulia conosce chi possiede “one.mp3” (anche + di uno) e lo può contattre direttamente per trasferire il file 1: Introduction
Scalabililtà • Query flooding significativa quantità di traffico • Query flooding a raggio limitato (TTL, #hop) • Riduzione traffico riduzione peer contattati minor probabilità di trovare i files 1: Introduction
Problematiche di gestione dei Peer • Devo trovare qualche peer (problema di bootstrap) • Mantenere elenco peer connessi di frequente • Sito Gnutella con tale elenco • Una volta stabilità una connessione con almeno un peer • Conscenza di altri peer (PING/PONG) • Instaurazione di connessioni con alcuni di tali peer per aumentare gli archi della overlay network 1: Introduction
Sistemi ibridi (KaZaA) • Prende in prestito concetti di Napster e Gnutella • Tecnologia proprietaria e traffico di controllo criptato no dettagli, ma principi (kazaa-lite reverse engineering) • Come Gnutella: non usa server dedicati per localizzare i contenuti • A differenza di Gnutella: non tutti I peer sono uguali. Quelli dotati di maggior banda sono designati leader di gruppo 1: Introduction
Sistemi ibridi (KaZaA) • I leader di gruppo sovrintendono a centinaia di peer ordinari che comunicano al proprio leader i contenuti che mettono a disposizone (tipo Napster a livello locale) • I vari leader sono collegati tra loro da una overlay network 1: Introduction
Tecniche per migliorare le prestazioni • Accodamento delle richieste di upload • Limita il numero di upload simultanei in modo che la banda a disposizione per ciscun upload abbia un limite inferiore • Priorità di incentivo • Chi collabora alla condivisione dei contenuti è privilegiato nello scaricare file • Downloading parallelo • Vengono richieste porzioni diverse di un file a peer distinti 1: Introduction
Riferimenti • http://ntrg.cs.tcd.ie/undergrad/4ba2.02-03/Intro.html 1: Introduction