bittorrent free download

bittorrent-free-download

BitTorrent è il software che estente il protocollo che porta lo stesso nome (BitTorrent), un protocollo peer-to-peer. BitTorrent consente la distribuzione Free e la condivisione di file su Internet.

BitTorrent è stato sviluppato e diffuso come software freeware da Bram Cohen, un programmatore di San Francisco, e ha debuttato al CodeCon del 2002. È scritto in linguaggio Python ed è stato rilasciato originariamente sotto licenza MIT. Dalla versione 4.0.0 del 7 marzo 2005 la licenza è cambiata nella Free BitTorrent Open Source License. Il software è disponibile per i sistemi operativi Microsoft Windows, Mac OS e Linux.

Come funziona

A differenza dei tradizionali sistemi di file sharing, l’obiettivo di Free 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). Si tratta quindi di un meccanismo per coordinare in automatico il lavoro di moltitudini di computer, ottenendo il miglior beneficio comune possibile. Ecco come funziona:

Il file originale

Free BitTorrent è un protocollo che permette di distribuire file di qualsiasi tipo. Per facilitare la trasmissione, il documento originale viene spezzettato in tanti piccoli frammenti, che poi saranno ricomposti a destinazione. Le parti hanno dimensione fissa, la fingerprint calcolata con l’algoritmo SHA1 viene distribuita agli altri client per verifica mediante i network (come il Web).

Il file .torrent
Il logo di Vuze (precedentemente Azureus)

È un semplice file, di dimensioni modeste, che può essere pubblicato, ad esempio, su una pagina Web. Per poter usufruire del sistema è quindi necessario, prima di tutto, prelevare un file con l’estensione .torrent. Tale file svolge la funzione di indice, con la descrizione di tutti i pacchetti in cui è stato suddiviso un originale, incluse le chiavi hash che garantiscono l’integrità dei vari pezzi. Tecnicamente altro non è che 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 l’indirizzo URL, cioè un link, di un server traccia (in inglese tracker) utilizzato per localizzare le sorgenti che posseggono il file o parte di esso. Questo tracker è un piccolo programma che svolge il ruolo di “vigile urbano”, coordinando le richieste degli utenti che cercano di scaricare un certo file e informandoli a vicenda di chi possiede quali pezzi.

La lista dei tracker viene definita per ogni file .torrent. Solitamente, i siti tracker forniscono 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. Maggiore è l’ampiezza di banda in uscita 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 cosiddetta “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 download, Free BitTorrent non sempre inizia subito il prelievo. Per iniziare il processo di distribuzione, Free BitTorrent ha bisogno di trovare in rete almeno una copia completa di tutti i frammenti del file originale. Questa copia online, detta file seme (“seed”), può essere ospitata su qualsiasi computer, purché collegato in banda larga. È quindi necessario che ci sia un numero sufficiente di utenti connessi, perché se ce ne sono pochi è possibile condividere solo alcune parti del file. 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 “seed” che possiedono il file completo 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 “peer”.

I client per Free BitTorrent, come Vuze (precedentemente Azureus), uTorrent e Ktorrent hanno una funzionalità per la creazione di file .torrent. Il file .torrent è un file di testo, che contiene alcune informazioni: nome del file che si intende condividere, il percorso dove è salvato il file ed eventuali commenti. Il file .torrent è salvato nel PC o nodo di rete dove è anche presente il file di origine che si vuole rendere disponibile.
Azureus 2.3.0.4 sotto GNU/Linux

I programmi come Free BitTorrent o gli altri client, che sono in grado di leggere file .torrent, permettono anche di generare file .torrent. Per generare il file .torrent si devono indicare le informazioni dette in precedenza che servono a catalogare il file: indicare il percorso dove è salvato il file, eventuali commenti, e una serie di siti, simili a motori di ricerca, dove indicizzare il file .torrent.

Il motore di ricerca genera propri file .torrent in base a quelli indicizzati dagli utenti, raggruppandoli per tipo di file. Alla ricerca di un determinato programma ad esempio, il motore di ricerca avrà pronto un file .torrent con tutti gli utenti che hanno messo in condivisione nel loro PC il programma cercato.

Per trovare file .torrent, esistono motori di ricerca appositi, che indicizzano solo file .torrent.

Questi motori non contengono fisicamente alcun file, in particolare quelli protetti da diritto d’autore, e sono dunque legittimi, ma indicano i siti dai quali si può scaricare il file cercato. Torrentz (v. [1]) è uno dei più noti metamotori di ricerca di file .torrent.

Lo scambio forzato

Quando un utente decide di scaricare un file, cliccando sul file torrent che ha visto su un sito, il programma chiama il tracker, si fa indicare dove trovare un frammento, e appena lo ha scaricato lo condivide immediatamente con gli altri utenti in rete. Il balletto di questi scambi è coordinato per privilegiare il transito dei pezzi più rari, assicurando la propagazione equilibrata del seed originario.

Massima efficacia

In questo turbinìo di transazioni elettroniche si sfrutta al meglio la capacità teorica massima del segmento di Rete a cui si è collegati. L’utente finale vede solo un file che viene scaricato velocemente, utilizzando buona parte della propria connessione a banda larga.

Il protocollo di Free BitTorrent

Free BitTorrent utilizza un protocollo nuovo rispetto ai sistemi P2P. La sua caratteristica principale è la facile estensibilità, segue il limitato consumo di banda. Il protocollo si basa su un algoritmo di codifica detto Bencode, utilizzato per le comunicazioni client/server e client/client.

Bencode e il metainfo

Bencode è una codifica derivata da XML, sebbene la sua sintassi sia completamente diversa dal markup estensibile. Bencode ha infatti in comune la scalabilità, l’inclusione e l’estensibilità completa di un documento XML, risparmiando caratteri (byte in trasmissione) per codificare le informazioni.

I quattro tipi fondamentali di Bencode sono il dizionario, la lista, l’intero e la stringa. Differentemente da XML il tipo intero è separato dal tipo stringa. Un dizionario e una lista possono contenere un numero infinito di elementi di natura qualsiasi, mentre intero e stringa non possono contenere altri elementi.

* Codifica della stringa

Una stringa XXXXX viene codificata come l:XXXXX, dove l è la lunghezza in caratteri della stringa. Esempi:

foo => 3:foo
bar => 3:bar
spam => 4:spam
eggs => 4:eggs
Ciao Mondo => 10:Ciao Mondo

* Codifica dell’intero

Un intero Y viene codificato come iYe Esempi:

8 => i8e
765 => i765e

* Codifica del dizionario

Un dizionario consiste in una serie di elementi ciascuno identificato da una stringa. Gli elementi non hanno limitazioni di tipo. Possono essere anch’essi dizionari. Un dizionario con un elemento XYZ => ABC, indicando (ABC) la codifica in Bencode dell’elemento, è rappresentato dalla stringa d3:XYZ(ABC)e. Il carattere e è un terminatore. Esempi

{
filename => miofile.txt
size=> 76500
attributes => {
readonly => 1
hidden => 0
}
}
equivale a
d8:filename11:miofile.txt4:sizei76500e10:attributesd8:readonlyi1e6:hiddeni0eee

* Codifica della lista

Una lista inizia con il carattere l e termina col carattere e. Gli elementi sono disposti nel loro ordine, ciascuno nella rispettiva codifica.

Esempio

{
foo
bar
spam
{
ciao => mondo
num => 5
}
}
equivale a
l3:foo3:bar4:spamd4:ciao5:mondo3:numi5eee

Il file di meta-informazioni

Il file torrent, come già visto, contiene le informazioni necessarie e sufficienti per identificare e scaricare un file dalla Rete in tutta sicurezza. Il file torrent è un file di testo che contiene la codifica in Bencode di un unico grande dizionario, il quale contiene a sua volta i dati, sotto forma di dizionari, che identificano il torrent. I seguenti elementi fanno parte del protocollo standard e comprendono le ultime estensioni: (quelli in grassetto sono richiesti dal protocollo standard)

* announce(stringa): indirizzo URL del tracker codificato come stringa ASCII
* announce-list(lista): estensione del protocollo verso il Multitracker. Il dizionario announce è comunque richiesto per retrocompatibilità
* creation date(intero): data di creazione codificata come timestamp Unix
* comment(stringa): un commento al Torrent codificato come stringa ASCII
* created by(stringa): programma che ha generato il Torrent
* info(dizionario): dizionario principale che descrive il contenuto del Torrent.

I suoi elementi possono variare se il Torrent è composto da uno o da più file

In caso di file singolo:

* length(intero): dimensione del file in byte
* md5sum(stringa): fingerprint MD5 del file per migliore identificazione
* name(stringa): il nome del file in formato ASCII (i nomi UTF-8 e Unicode generano problemi di codifica)

In caso di archivio con più file:

* files(lista): la lista dei file contenuti nel Torrent

* (dizionario): ogni file è rappresentato da un dizionario con la seguente struttura:

* length(intero): dimensione del file in byte
* md5sum(stringa): fingerprint MD5 del file per migliore identificazione
* path(lista): lista di stringhe che permette di ricostruire il percorso del file prendendo gli elementi del loro ordine

* (stringa): l’ultimo elemento rappresenta nome e estensione del file (esempio: “Dir1”, “Dir2”, “File.ext” rappresenta Dir1/Dir2/File.ext)

* piece length(integer): lunghezza in byte di ogni parte in cui è suddiviso il(i) file
* pieces(stringa): stringa che concatena le fingerprint SHA1 del/i file in formato ASCII. Se in fase di creazione la stringa non ha lunghezza multipla di 20, essa viene completata con zeri.

Protocollo client/server – Announce e l’ottenimento dei peer

Un client che intende scaricare un torrent, una volta ottenuto il file di meta-informazioni, deve contattare il tracker tramite il protocollo HTTP con una richiesta GET. Esso fornirà al tracker i dati richiesti tramite la Query String, e riceverà in risposta un dizionario Bencode contenente informazioni sul tracker e gli indirizzi IP dei client connessi.

Questi sono i parametri che devono essere inviati al tracker (in grassetto quelli richiesti dal protocollo standard):

* info_hash: hash SHA1 del dizionario info codificato in Bencode, in formato stringa codificata secondo le convenzioni URL
* peer_id: una stringa di 20 caratteri che permette di identificare in maniera quasi-univoca l’utente sul tracker
* port: numero di porta sulla quale il client è in ascolto. Le porte tipiche sono nel range 6881-6900.
* uploaded: bytes inviati agli altri client dall’inizio della sessione, codificati in ASCII base-10
* downloaded: bytes scaricati dagli altri client dall’inizio della sessione, codificati in ASCII base-10
* left: bytes rimanenti al completamento del file, codificati in ASCII base-10. Il valore 0 indica un seeder
* compact: indica al tracker di utilizzare il Compact Announce, per l’elenco dei peer. Si veda l’elemento peers della risposta
* event: può assumere i tre seguenti valori: “started”, “stopped”, “completed”. Il primo viene inviato a inizio sessione e indica al tracker che si sta iniziando una nuova sessione. Il secondo chiude la connessione con il tracker e chiede di essere rimosso dalla lista dei peer. L’ultimo comunica al tracker il completamento del download e il passaggio allo status di seeder.
* ip: indirizzo IP da comunicare agli altri peer. Solitamente utilizzato se si è dietro NAT/router
* numwant: numero di fonti massimo che il tracker deve comunicare
* key: stringa randomizzata per una migliore identificazione univoca del client
* trackerid: se il tracker ha comunicato in precedenza un tracker id, esso va inviato qui

Announce risponde con una stringa (MIME text/plain). Le eventuali condizioni di errore non possono essere comunicate con i codici di stato HTTP. La stringa rappresenta un dizionario con i seguenti elementi:

* failure reason(stringa): se presente, rappresenta la condizione di errore in formato human-readable. In presenza di failure reason non devono essere presenti ulteriori elementi
* warning message(stringa): rappresenta una condizione di allerta in formato human-readable. L’elaborazione della risposta di Announce non viene interrotta e all’utente viene mostrato un messaggio descrittivo
* min interval(intero): tempo minimo in secondi che deve trascorrere tra due richieste Announce, pena il rifiuto da parte del server
* interval(intero): tempo in secondi da raccomandare al client per gli intervalli tra gli aggiornamenti Announce, al fine di non sovraccaricare il server.

Deve essere compreso tra il valore di min interval e il time-out per la sconnessione forzata dei peer morti

* tracker id(stringa): una stringa che identifichi univocamente il tracker.
* complete(intero): seeder attualmente connessi (utile se il numero di peer connessi supera di molto il limite di risposta)
* incomplete(intero): leecher attualmente connessi (utile se il numero di peer connessi supera di molto il limite di risposta)

Se il client utilizza il Compact Announce

* peers(stringa): ogni peer occupa 6 byte in questa stringa. I primi 4 rappresentano l’indirizzo IP in formato numerico, e gli altri 2 la porta.

I peer sono concatenati tra di loro in ordine di rete.

Se il client non utilizza il Compact Announce

* peers(lista): lista di dizionari, ciascuno dei quali contiene informazioni sul peer

* (dizionario): contiene i dati necessari a identificare e contattare un peer

* peer id(stringa): il valore arbitrario che il peer ha fornito in fase di connessione
* ip(stringa): l’indirizzo IP in formato IPv4, IPv6 o DNS
* port(intero): numero di porta usato dal peer

Per convenzione il numero massimo di peer forniti durante un’interrogazione di Announce non dovrebbe superare i 50.

Protocollo client/server – Scrape e il conteggio dei peer

Un tracker può ospitare al proprio indirizzo uno script denominato scrape che permette il solo conteggio dei peer connessi al tracker per uno o più Torrent registrati. Solo se l’indirizzo del tracker termina con announce, eventualmente seguito da un’estensione, è possibile utilizzare la convenzione scrape. Senza specificare altri parametri, sarà il client ad operare una sostituzione testuale nell’indirizzo URL del tracker in modo da ottenere l’URL Scrape. Ad esempio: http://www.tracker.com/announce => http://www.tracker.com/scrape http://www.tracker.com/x/announce.php => http://www.tracker.com/x/scrape.php http://90.60.90.160/announce.aspx => http://90.60.90.160/scrape.aspx http://www.tracker.com/Announce => RISULTATO NON PREVEDIBILE (Scrape o scrape?) http://www.tracker.com:6969/announce => http://www.tracker.com:6969/scrape http://www.tracker.com/trkscript => NON APPLICABILE http://www.tracker.com/announce/announce.php => RISULTATO NON PREVEDIBILE (solo l’ultimo announce va sostituito, ma alcuni client potrebbero operare una sostituzione “cerca & sostituisci”) http://www.tracker.com/announce?x=3434 => http://www.tracker.com/scrape?x=3434 Scrape viene contattato con richiesta HTTP GET: può essere specificato il parametro info_hash per identificare il Torrent di interesse, o tale parametro può essere omesso per ottenere l’intera lista di Torrent registrati al tracker. La seconda opzione richiede molta più banda della prima.

Il server restituisce una stringa (MIME text/plain) che rappresenta un dizionario con i seguenti elementi:

* files(dizionario): elenca tutti i Torrent in base al loro info hash

* [info-hash](dizionario): rappresenta un singolo Torrent

* complete(intero): seeder attualmente connessi al tracker
* incomplete(intero): leechers attualmente connessi al tracker
* downloaded(intero): numero di volte che il file è stato completato (event=completed)
* name(stringa): nome del Torrent

Se il parametro di richiesta info_hash è specificato, il dizionario files conterrà un solo elemento.

Free BitTorrent a confronto con altri sistemi peer-to-peer
Il paradigma peer-2-peer

Il metodo utilizzato da Free BitTorrent per distribuire file in parallelo a un gran numero di utenti, assomiglia a quello che utilizza la rete eDonkey; ogni nodo di quest’ultima di solito condivide e scarica una grande quantità di file senza nessun bilanciamento agli altri nodi presenti.

Invece, gli scambi di file mediante Free BitTorrent riescono sempre a essere molto veloci per tutti i client coinvolti, 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 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 Free 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 Free BitTorrent e i sistemi peer-to-peer più conosciuti vi sono due principali differenze. Prima di tutto, Free 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, Free 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 un server traccia su di uno specifico host o serie di host e distribuire l’indirizzo della traccia o gli indirizzi di traccia in un file .torrent. Uno dei grossi svantaggi di Free BitTorrent rispetto agli altri sistemi di peer-to-peer, è che i file muoiono con facilità perché è un programma pensato più che altro per diffondere file piuttosto che per condividerli.

Mentre è possibile eseguire semplicemente un server traccia su di un host 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 intrinsecamente più individuabile, è abbastanza facile costringere alla chiusura un Internet Service Provider nel momento in cui vengono identificati utenti che scaricano file protetti da copyright.

Free BitTorrent sembra sempre di più essere l’unico protocollo P2P utilizzabile per scopi legali: è molto diffuso per diffondere le distribuzioni in ambiente GNU/Linux. A seguito del suo successo, il creatore di Free BitTorrent, Bram Cohen, ha sviluppato un sistema per distribuire patch, altri contenuti e plug-in per videogiochi on line.

Diritto d’autore

Per la sua natura intrinsecamente trasparente e per il notevole risparmio di banda che procura Free BitTorrent è probabilmente il protocollo di condivisione dei file più utilizzato per scopi legali, che cioè non violano il diritto d’autore. Esempi di questo tipo di contenuti sono le distribuzioni GNU/Linux e i trailer cinematografici di grandi dimensioni. Tuttavia sempre più spesso attraverso Free BitTorrent passa lo scambio di file musicali, film e software coperti da copyright, andando a sostituire in maniera crescente altri protocolli solitamente usati a questo scopo. A questo riguardo ci sono molte discussioni su chi sia perseguibile e in che termini secondo le leggi vigenti (vedi la voce peer-to-peer per ulteriori informazioni), ma dato che l’occultamento degli utilizzatori non è uno degli scopi dell’applicazione, di fatto il suo utilizzo potrebbe comportare per l’utente finale rischi maggiori rispetto ad altri programmi simili. È ben noto che Free BitTorrent fu utilizzato per distribuire copie ad alta qualità del film Matrix Reloaded, pochi giorni dopo che venne proiettato per la prima volta nelle sale.

Il caso Suprnova.org

A circa un anno dall’uscita di Free BitTorrent, in concomitanza con la sua diffusione su vasta scala, Andrej Preston, conosciuto anche come Sloncek, aprì la prima community Free BitTorrent su vasta scala, Suprnova.org. Sul sito era possibile scaricare gratuitamente torrent di ogni genere, e quelli dal contenuto pirata erano persino in bella mostra.

Nel 2004 Suprnova.org era primo in classifica su tutti i motori di ricerca, riceveva milioni di contatti giornalieri ed era entrato nel mirino di RIAA e delle case discografiche unite nella lotta alla pirateria. Senza finire in tribunale, già in vista di una sentenza a sfavore del sito, Suprnova.org chiuse spontaneamente i battenti e il proprietario iniziò a lavorare ad un nuovo progetto peer-to-peer basato su Free BitTorrent. Tale progetto è eXeem, vittima di numerose polemiche per via dei sorgenti chiusi.

Questo enorme sito è stato riaperto in agosto 2007 grazie al supporto del team di The Pirate Bay. Sembra attualmente che il progetto eXeem sia stato abbandonato dal team di sviluppo ufficiale. La rete di eXeem non è più funzionante.

Sviluppi recenti

Il protocollo Free 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 attraverso il web”, sistema che abbiamo spiegato all’inizio di questa pagina.

Gli sviluppatori della rete Free BitTorrent stanno lavorando sodo per ottenere una rete decentralizzata. Un primo passo è stata l’introduzione del DHT (Distributed Hash Table, tabella di Hash distribuita). Al momento è stata introdotta dal client Free BitTorrent ufficiale, da Azureus, da BitComet, da Deluge, da µTorrent, da KTorrent e da Tomato Torrent.

Per fronteggiare l’attacco legale contro i siti Free BitTorrent, lanciato prima dalla RIAA e dopo dalla MPAA, i webmaster stanno lavorando per ottenere un vero motore di ricerca per file .torrent (altro punto debole della rete).

Anche in questo caso già sul sito ufficiale di Free BitTorrent c’è un motore di ricerca in “stile” Google, ed anche Defiant (chiuso) e The Pirate Bay hanno seguito la stessa strategia.

DHT (Distributed Hash Table)

Il DHT (Distributed Hash Table, ovvero Tabella di Hash distribuita) è forse il primo vero passo per ottenere una rete Free BitTorrent decentralizzata. Ovviamente siamo ancora lontani dal poterlo affermare, ma sembra che tutti gli sviluppatori BT credano in questa nuova strada.

È doveroso ricordare che è sbagliato pensare che il DHT fornisca già una rete Free BitTorrent decentralizzata. Il DHT non fa parte del protocollo Free BitTorrent ed è solo un sistema che aiuta la distribuzione di file e di informazioni quando un tracker è offline.

Per capire meglio quanto appena detto, supponiamo che 50 utenti partecipino contemporaneamente in un network.

All’inizio tutti i 50 utenti utilizzeranno un grande tracker che farà loro da indice durante il download. Durante il “soggiorno” sul network, ogni client (che supporta il sistema DHT) dei 50 utenti, creerà un indice virtuale che punterà al grande tracker. In questo modo se sto scaricando un file di modeste dimensioni ed il grande tracker cade l’indice virtuale mi consentirà di continuare il download e cercare nuove fonti.

Per il momento il sistema DHT di BitComet è compatibile con la versione 4.1.2 di Free BitTorrent ufficiale, e con Ktorrent a partire dalla versione 2.2.0 mentre non lo è con Azureus.

False versioni

Nel 2007 comparve nel sito www.Free BitTorrent-it.com una versione truffa del programma in lingua italiana, che all’inizio dell’installazione chiede un codice di attivazione da ottenere chiamando un numero di telefono a pagamento iniziante per 899.

Il futuro

L’evoluzione del protocollo Free BitTorrent prevede, tra l’altro, la possibilità di velocizzare la velocità di download dei file utilizzando le parti (byte) in comune dei vari pezzi di file.

CarTorrent

I ricercatori dell’UCLA Engineering con a capo Mario Gerla e Giovanni Pau stanno implementando un protocollo basato su Free BitTorrent per condividere informazioni via wireless fra automobili. Il nome del progetto è CarTorrent. Un progetto simile è SmartWeb.[1]

Software

Client

Un client Free BitTorrent è un programma che controlla i download e upload dei torrent usando il protocollo Free BitTorrent.
Il primo client fu Free BitTorrent, creato da Cohen basandosi su quella che lui definisce “Golden Rule”: più veloce un utente fa un upload, più veloce potrà fare il download.[2]
Un client Free BitTorrent riconosce due tipi di utenti. Un utente che sta facendo un download è definito peer, mentre uno che fa un upload è definito seed.


download
bittorrent-free-download

Please follow and like us: