BitTorrent
BitTorrent è un software peer-to-peer (P2P) che consente la distribuzione e la condivisione di file su Internet. È stato sviluppato da Bram Cohen, un programmatore di San Francisco, e ha debuttato al CodeCon del 2002. È scritto in linguaggio Python ed è stato rilasciato sotto licenza MIT.
A differenza dei tradizionali sistemi di file sharing, l'obiettivo di BitTorrent è di realizzare e fornire un sistema efficiente per distribuire lo stesso file verso il maggior numero di utenti disponibili sia che lo stiano prelevando (download) che inviando (upload).
Per poter usufruire del sistema è necessario, prima di tutto, prelevare da un sito web dedicato un file con l’estensione .torrent. È un file statico, e contiene delle informazioni codificate mediante un algoritmo di hashing che descrivono i file da prelevare e/o da trasferire. Inoltre contiene, sempre codificato, l'indirizzo di un server traccia (in inglese tracker) utilizzato per localizzare le sorgenti che posseggono il file o parte di esso.
La lista dei file tracker viene definita per ogni file .torrent. Vengono fornite anche delle statistiche sul numero di trasferimenti, il numero di nodi che hanno completato la copia del file e il numero di nodi che posseggono una copia parziale del file.
I file o la serie di file che si desidera scaricare da un computer sorgente viene fornita dal "tracker server" e, mentre lo si sta scaricando, questo viene diffuso in parallelo verso altri computer sorgente, utilizzando una parte della banda dell'utente non impegnata durante il trasferimento principale.
Grazie a questo sistema, ogni nodo contribuisce inevitabilmente alla diffusione del file. Più l'ampiezza di banda è maggiore su quel nodo, maggiori sono le probabilità che il file venga diffuso verso altri nodi. Questo metodo ha anche il pregio di ridurre l'impatto della cosidetta "leech resistance" (in italiano "resistenza della sanguisuga"), condizione che si manifesta nel momento in cui sulla rete sono presenti molti utenti che desiderano scaricare file più velocemente possibile, per poi sconnettersi appena terminato, senza consentire agli altri il prelievo.
Nel momento in cui viene inviata una richiesta di dowload, BitTorrent non sempre inizia subito il prelievo. È infatti necessario che vi sia un numero sufficiente di utenti connessi, perché se ce ne sono pochi è possibile condividere solo alcune parti del file. Naturalmente, all'inizio qualcuno deve possedere il file completo per iniziare il processo. Questo sistema ha l'effetto di incrementare la velocità di download nel momento in cui sono connessi molti utenti che stanno scaricando e/o prelevando file.
I "track server" che possiedono il file completo, chiamati semi ("seed") fanno in modo di completare il download sul personal computer dell'utente solo nel momento in cui hanno completato la copia del file stesso verso altri "track server".
Il metodo utilizzato da BitTorrent per distribuire file in parallelo a un gran numero di utenti, utilizza la rete eDonkey; purtroppo i nodi di questo file sharing di solito condividono e scaricano una grande quantità di file, rendendo più stretta l’ampiezza di banda disponibile per i trasferimenti.
Invece, gli scambi di file mediante BitTorrent sono molto veloci, in quanto tutti i nodi di un gruppo sono concentrati sul trasferimento di un singolo file o di un gruppo di file. Inoltre lo standard del protocollo eDonkey2000 causa per fortuna una bassa "leech resistance"; non c'è alcun guadagno concreto nel fornire tanta banda in upload, ma solo un rapporto upload/download svantaggioso nel caso in cui la propria banda in upload sia inferiore ai 10 kB/s. In altre parole, chi non ha la banda larga e dispone di connessioni PSTN come una comune 56k, riceverà relativamente poca velocità o sensibili differenze nell'usare BitTorrent. Chi invece ha una connessione a banda larga, apprezzerà subito una sensibile differenza nella velocità di download e di completamento dei file usando questo innovativo sistema peer-to-peer.
Tra BitTorrent e i sistemi peer-to-peer più conosciuti vi sono due principali differenze. Prima di tutto, BitTorrent non ha la ricerca dei file per nome: l'utente deve prima prelevare da un sito web apposito (ad esempio annunciato su un forum di discussione o trovato con una ricerca sul web) un file .torrent. Inoltre, BitTorrent non tenta affatto di nascondere l'ultimo host responsabile della disponibilità di un dato file: una persona che desidera rendere disponibile un file deve prima eseguire una traccia su di uno specifico host o serie di host e distribuire l'indirizzo di traccia o gli indirizzi di traccia in un file .torrent.
Mentre è possibile operare semplicemente una traccia su di un server immune dal pericolo di azioni legali per violazioni del copyright, questo protocollo scarica, attraverso il "seeding" ("inseminazione"), la responsabilità su altri protocolli. Con un peer-to-peer tradizionale, invece, per la sua natura instrinsecamente più individuabile, è abbastanza facile costringere alla chiusura un internet service provider nel momento in cui vengono identificati utenti che scaricano file protetti da copyright.
BitTorrent sembra sempre di più essere l'unico protocollo P2P utilizzabile per scopi legali: è molto diffuso per la distribuire di distribuzioni Linux. A seguito del suo successo, il creatore di BitTorrent, Bram Cohen, ha sviluppato un sistema per distribuire patch e altri contenuti e plug-in per videogiochi on line.
Inizialmente BitTorrent fu creato per distribuire file legali, soprattutto distribuzioni Linux e trailer cinematografici di grandi dimensioni, ma attualmente viene anche utilizzato per lo scambio di file musicali, film e software coperti da copyright. Ci sono molte discussioni al riguardo, se la cosa sia o no legale; vedi la voce peer-to-peer per ulteriori informazioni. È ben noto che BT fu utilizzato per distribuire copie ad alta qualità del film The Matrix Reloaded, pochi giorni dopo che venne proiettato per la prima volta nelle sale.
Il protocollo BitTorrent è ancora in sviluppo, pertanto è possibile acquisire nuove versioni sempre più complete ed efficienti. Una delle più recenti implementazioni è il web seeding, in italiano "inseminazione del web", sistema che abbiamo spiegato all'inizio di questa pagina.
Come funziona
BitTorrent a confronto con altri sistemi peer-to-peer
Copyright
Sviluppi recenti
Link esterni