Nel corso di questo articolo tratteremo una soluzione per rendere più efficiente
il download dei torrent.
Prima
di entrare nel vivo dell'argomento è bene chiarire sinteticamente la
differenza tra un approccio client server e un approccio peer-2-peer.
Nel caso client-server ogni utente scarica ogni volta una
risorsa da un archivio centrallizzato. Il vantaggio sta nel fatto che
solitamente i server sono posizionati in modo da disporre di un ampia
larghezza di banda, per cui il collo di bottiglia nella velocità di
download dipenderà molto probabilmente dalla qualità della nostra
connessione, permettendoci di spremerla al massimo. Lo svantaggio
consiste nel fatto che se una risorsa viene eliminata dal server non
riusciremo più a recuperarla. Sono un esempio di approccio
client-server tutti i contenuti scaricati tramite servizi come
Dropbox, Netload, Mega, Uploaded ecc...
Nel
caso peer-2-peer, per esemplificare, un file non viene
scaricato da un singolo server ma da parte dei computer che scelgono
di condividere tale risorsa. Usando un'applicazione peer-2-peer un
utente è client e server allo stesso tempo. Gli svantaggi di questo
approccio sono speculari rispetto all'architettura client-server: il
collo di bottiglia può non essere vincolato alla nostra capacità di
download, ma dalla capacità di upload degli altri peer e dal numero
di utenti che condividono la risorsa desiderata. Il vantaggio
consiste sostanzialmente nella maggior persistenza di un file in rete.

