| BitTorrent
. La Rete
In breve...
|
|
Immaginiamo di
avere un magnifico prodotto, molti clienti e di dover distribuire
online il prodotto ad un enorme numero di clienti felici ed entusiasti
di scaricarlo. Distribuire tramite server grandi files crea
enormi problemi di scala, rapidi affollamenti e problemi di
affidabilità. Al crescere della notorietà del prodotto crescerà il
numero degli utenti interessati a scaricarlo e cresceranno i costi in
termini di banda. E' un circolo vizioso.
Con il protocollo
bitTorrent esiste una soluzione a questo problema.
La chiave per
rendere più economica e veloce la distribuzione dei file è di
utilizzare la capacità di upload dei clienti. E' gratis. Il contributo
della loro banda di upload cresce con la domanda e crea una scalabilità
senza limiti a costi fissi.
|
Problema
Al crescere dei clienti cresce la richiesta di banda

Soluzione
BitTorrent Gli utenti contribuiscono a diffondere il file

In
dettaglio...
bitTorrent lavora in modo molto semplice. Se uno vuole scaricare un
file allora deve anche uplodarlo. Questo sembra quasi un paradosso , ma
più ci si sofferma a considerare i dettagli del problema più si capisce
che è un sistema molto ingegnoso.
Spiegheremo il
funzionamento della rete di bitTorrent supponendo di voler scaricare un
file ad esempio il trailer del film Matrix Revolution.
La prima cosa che
deve accadere è che ci sia qualcuno che inserisce un file statico con
l'estensione .torrent su un qualsiasi sito web.
Questo file può essere linkato sul sito come qualsiasi altro
file.
In questo file
.torrent si trova l'informazione riguardo al file ed il link ad un
server che chiameremo 'tracker'. Ora il tracker
conserva le informazioni che consentono a bitTorrent di funzionare.
Questo significa che bitTorrent, così come Napster, non è un vero è
proprio programma p2p. Tuttavia il file vero e proprio non verrà
scaricato dal server ma dagli altri colleghi di scarico che in quel
momento stanno anch'essi scaricando quel file ed è in questo che si
manifesta la natura p2p della rete di bitTorrent. Il server
tracker usa un protocollo semplificato che si inserisce immediatamente
al di sopra dell' HTTP e in sostanza dice ai downloaders ( ovvero
coloro che sono interessati a scaricare il file ) dove andare a
prelevarlo.
La prima persona
che rende un nuovo file disponibile deve mettere a disposizione per
l'upload ovviamente l'intero file. Questa persona nella terminologia di
bitTorrent si dice che 'semina il file' e viene chiamata 'seed'
( ovvero seme ). Dopo di che entra in azione la parte ingegnosa di
bitTorrent. A chiunque richieda una dato file il tracker fornisce un
elenco casuale di persone che stanno scaricando quel file perché , come
Cohen ( ideatore della rete ) ha scritto nei suoi articoli , " Grafici
casuali hanno delle ottime proprietà di robustezza ' .
| BitTorrent
divide il file in molteplici parti e tutti i downloaders dicono agli
altri downloaders quali parti posseggono. Le persone quindi scaricano
le varie parti da chiunque il che consente di raggiungere una notevole
copertura e velocissimi tempi di scarico. Quando un downloader ottiene
interamente la sua prima parte del file che sta scaricando la offre
all'intera rete e qualsiasi altra persona senza quella parte
la può richiedere e scaricarla da lui, il che rende la
persona che ha quella parte ( e che sta ancora scaricando le altre
parti che non possiede ) un uploader . Ogni parte è divisa in
sottoparti in modo da rendere la trasmissione dei dati efficiente su
protocollo TCP.
Come bitTorrent
decide quale parte inviare ad un downloader che richiede una nuova
parte?
Se è la prima parte
di un file da inviare , viene utilizzato un metodo casuale, ma in
seguito il programma si coordina con tutti i download per cercare di
capire quale parte è stata scaricata meno e cerca di reperire
proprio quella. La ragione per cui questa risulta essere una saggia
idea è semplice ovvero perché ciò significa che tutti otterranno il
file più velocemente possibile e con minor consumo di banda.
|
|
BitTorrent riesce
anche riconoscere e combattere i freeloader ( ovvero le persone che
scaricano ma non vogliono uplodare ) usando una regola simile a quella
del 'dente per dente'. Funziona così : un client bitTorrent che cerca
di scaricare un file preferisce uplodare a quei clients che gli stanno
inviando dei dati , ovvero altre parti di file . Così le persone che
non vogliono uplodare vedranno i loro client funzionare ad una velocità
ridicola.
Quando si è
scaricato completamente il file desiderato, sei incoraggiato nonché
motivato per riconoscenza a lasciare ancora per un pò
l'applicazione bitTorrent aperta per consentire ad altre persone di
scaricare il file. L'intero sistema di bitTorrent non
funziona bene se non viene fatto questo, questo è il motivo per cui
viene considerata una questione di educazione e di correttezza fare
così. Un client che funziona in modalità di upload tende a preferire
nell'inviare dati quelle persone con le quali ha migliori upload rates
ovvero quelle dalle quali ha scaricato di più, questo velocizza la
rapidità di diffusione del file tra la moltitudine di
computer che lo stanno scaricando.
^
TOP ^

|