BitTorrent è un protocollo progettato per trasferire file. E ‘peer-to-peer in natura, gli utenti si connettono tra loro direttamente per inviare e ricevere parti del file. Tuttavia, esiste un server centrale (chiamato Tracker) che coordina l’azione di tutti i peer. Il tracker gestisce solo le connessioni, non ha alcuna conoscenza del contenuto dei file in corso di distribuzione, e quindi un gran numero di utenti può essere supportato con larghezza di banda relativamente limitata. La filosofia chiave di BitTorrent è che gli utenti dovrebbero inviare file (trasmissione in uscita), e allo stesso tempo scaricare (ricezione in entrata.) In questo modo, la larghezza di banda della rete viene utilizzata nel modo più efficiente possibile. BitTorrent è stato progettato per lavorare meglio con un gran numero di persone interessate ad un certo file, a differenza di altri protocolli di trasferimento file.
Una analogia per descrivere questo processo potrebbe essere quello di visualizzare un gruppo di persone sedute a un tavolo. Ogni persona al tavolo può sia parlare ed ascoltare le altre persone a tavola. Queste persone cercano tutte di ottenere una copia completa di un libro. Una persona che annuncia di avere le pagine 1-10, 23, 42-50, e 75. Le persone C, D ed E sono entrambi alla ricerca di alcune di quelle pagine che A ha, e così si coordinano in modo tale che A dà a ciascuno di loro copie delle pagine che ha che a loro mancano. La persona B annuncia poi che lei ha le pagine 11-22, 31-37, e 63-70. Le persone A, D, B ed E dicono che vorrebbero alcune delle sue pagine, così lei dà loro copie delle pagine che ha. Il processo continua intorno al tavolo fino a quando ogn
uno ha annunciato quello che ha (e quindi quello che manca.) Le persone al tavolo si coordinano per scambiare parti di questo libro fino a quando ognuno di noi ha tutto il volume. C’è anche un’altra persona a tavola, che chiameremo ‘S’. Questa persona ha una copia completa del libro, e quindi non ha bisogno di nulla. Lui risponde con le pagine che nessun altro ha nel gruppo. In un primo momento, quando sono appena arrivati, tutti devono parlare con lui per ottenere la loro prima serie di pagine. Tuttavia, la gente è abbastanza intelligente per non volere tutti le stesse pagine da lui. Dopo un pò tutti hanno la maggior parte del libro, anche se nessunoha tutto. In questo modo, questa persona può condividere un libro che ha con molte altre persone, senza dover dare una copia completa a tutti. Egli può invece dare parti differenti a persone diverse, e saranno in grado di condividere tra di loro. Questa persona che abbiamo denominato ‘S’ viene chiamato “seed” (seme) nella terminologia di BitTorrent.
Qiul’è il confronto tra BitTorrent e le altre forme di trasferimento di file?
Il metodo più comune con cui vengono trasferiti i file su Internet è il modello client-server. Un server centrale invia l’intero file per ogni client che ne faccia richiesta – questo è quanto usa il protocollo http e ftp. I client parlano solo con il server, e mai gli uni agli altri. I principali vantaggi di questo metodo sono che è semplice da configurare, ed i file di solito sono sempre disponibili in quanto il server tende ad essere dedicato al compito di servire, ed è sempre acceso e connesso a Internet. Tuttavia, questo modello ha un grave problema con i file di grandi dimensioni o molto popolari, o entrambi. Vale a dire, ci vuole una grande quantità di risorse di banda e server per distribuire un file, dal momento che il server deve trasmettere l’intero file per ogni client. Forse avete provato a scaricare una demo di un nuovo gioco appena uscito, o le Iso CD di una nuova distribuzione Linux, e avete constatato che tutti i server rispondono che ci sono “troppi utenti”, o vi è una lunga coda che si deve aspettare per scaricare. Il concetto di mirroring lenisce in parte questa lacuna distribuendo il carico su più server. Ma richiede un sacco di coordinamento e di sforzo per creare una rete efficiente di mirror, e di solito è possibile solo per i siti più frequentati.
Un altro metodo di trasferimento dei file è diventato popolare di recente: la rete peer-to-peer, sistemi come Kazaa, eDonkey, Gnutella, Direct Connect, ecc. Nella maggior parte di queste reti, normali utenti di Internet scambiano file direttamente collegandosi uno-a- uno. Il vantaggio è che i file possono essere condivisi senza avere accesso a un server proprio, e per questo c’è poca responsabilità per il contenuto dei file. Quindi, queste reti tendono ad essere molto popolari per i file illeciti, quali musica, film, software pirata, ecc. Tipicamente, un downloader riceve un file da una singola fonte, tuttavia la versione più recente di alcuni client consentire il download di un singolo file da più fonti per avere più velocità. Il problema di cui sopra dei download popolari è in qualche modo mitigato, perché c’è una maggiore probabilità che un file popolare sarà offerto da un certo numero di persone. L’ampiezza di file disponibili tende ad essere abbastanza buona, anche se la velocità di download per i file tendono ad essere bassi. Un altro problema comune a volte associato a questi sistemi è il sovraccarico significativo per il passaggio di query di ricerca tra i persone, e il numero di utenti che si può raggiungere è spesso limitata di conseguenza. I file parzialmente scaricati non sono solitamente disponibili ad altri peer, anche se alcuni client più recenti potrebbero offrire questa funzionalità. La disponibilità in genere dipende dalla buona volontà degli utenti, al punto che alcune di queste reti hanno cercato di applicare le regole o restrizioni relative ad inviare / ricevere i file.
L’uso di newsgroup Usenet binari è ancora un altro metodo di distribuzione dei file, metodo che è sostanzialmente diverso dagli altri. I file trasferiti su Usenet sono spesso oggetto di minuscole parti di opportunità. Il tempo di ritenzione tipico dei server news binari sono spesso più bassi di 24 ore, un file disponibile per una settimana è considerato un tempo lungo. Tuttavia, il modello Usenet è relativamente efficiente, nel senso che sono passati i file attorno a una grande rete di utenti da un server news a un altro, e, infine, si aprivano a ventaglio per l’utente finale. Spesso l’utente finale si connette a un server fornito dal proprio ISP, con conseguente risparmio di banda. Usenet è anche una delle forme più anonime di file sharing, e troppo spesso è utilizzato per i file illeciti di qualsiasi natura. A causa della natura di NNTP, la popolarità di un file ha poco a che fare con la sua disponibilità e, quindi, scaricare da Usenet tende ad essere abbastanza veloce indipendentemente dai contenuti. Gli svantaggi di questo metodo includono un insieme ricco di regole e procedure, e richiedono una certa quantità di sforzo e di comprensione da parte dell’utente. Ci vuole pazienza per ottenere un file completo a causa della divisione del file di grandi dimensioni in un numero enorme di piccoli pezzi.
BitTorrent è più vicino a Usenet, a mio parere. È più adatto per i file più recenti, di cui un certo numero di persone che hanno interesse e i file più vecchi tendono a non essere disponibili. BitTorrent si occupa bene anche dei file che sono in forte richiesta, soprattutto rispetto agli altri metodi.
Quali altre utility di BitTorrent ci sono?
* TorrentSpy - Raccomandato! Uno strumento di MS Windows, che permette di interrogare un tracker su uno specifico torrent, metadati info vista, controlla gli hash di un file, ecc Una nuova caratteristica è la scheda “Crea” per creare i file torrent da caricare.
* Maketorrent - Un programma di utilità per la creazione di file torrent, da parte dell’autore di burst!. La versione 1.x di MakeTorrent era una versione modificata del programma ‘completedir’ in Python con caratteristiche extra. La versione 2.x è una completa riscrittura in Delphi. Altamente consigliato!
* Completedir 1.0.1 - Un programma di utilità per la creazione di nuovi file torrent, parte del pacchetto ufficiale client BitTorrent.. Questo è confezionato come un programma di installazione di Windows, si può ottenere il codice sorgente per l’uso con altre piattaforme.
* BNBT - Serve per la realizzazione di un tracker BitTorrent. Si deve compilare in Unix con disponibile GCC, così come MS Windows con MSVC (binari inclusi). Essa comprende tutte le funzionalità del tracker di riferimento di Python, ma include anche numerosi miglioramenti: gli account utente, una migliore interfaccia web, le statistiche , ecc. Si veda anche la TrackPak per un BNBT in bundle e di installazione che è facile da usare.
* Java BitTorrent - Un visualizzatore di metafile / editor, correttore di disponibilità, e un tracker di base.
* 0.94a BTChange – per la modifica di tracker in un file torrent. Usa questo valore per i cambiamenti tracker, in modo da non dover ricreare il file.
* PHPBTTracker – un software libero (GPL) tracker in PHP MySQL con un back-end, include al suo interno la raccolta di statistiche e di reporting.
* DumpTorrentCGI – Utilizzare questa pagina web per analizzare il contenuto di un file torrent (sia da sistema locale o un link URL.) Utilizzare per determinare rapidamente ID hash di un torrent tracker o che lo ospita..
* 1,11 trackerlyze.pl - Un software libero (GPL) script in Perl che analizza i file di log di un tracker e consente di creare grafici e report della larghezza di banda utilizzata e il numero di peers / seed.
libbt * – Una biblioteca di attuazione del protocollo BitTorrent in C. Questo progetto è ancora in fase di sviluppo, e non è adatta agli utenti finali.
* Maketorrent - Un programma di utilità per la creazione di file torrent, da parte dell’autore di burst!. La versione 1.x di MakeTorrent era una versione modificata del programma ‘completedir’ in Python con caratteristiche extra. La versione 2.x è una completa riscrittura in Delphi. Altamente consigliato!
* Completedir 1.0.1 - Un programma di utilità per la creazione di nuovi file torrent, parte del pacchetto ufficiale client BitTorrent.. Questo è confezionato come un programma di installazione di Windows, si può ottenere il codice sorgente per l’uso con altre piattaforme.
* BNBT - Serve per la realizzazione di un tracker BitTorrent. Si deve compilare in Unix con disponibile GCC, così come MS Windows con MSVC (binari inclusi). Essa comprende tutte le funzionalità del tracker di riferimento di Python, ma include anche numerosi miglioramenti: gli account utente, una migliore interfaccia web, le statistiche , ecc. Si veda anche la TrackPak per un BNBT in bundle e di installazione che è facile da usare.
* Java BitTorrent - Un visualizzatore di metafile / editor, correttore di disponibilità, e un tracker di base.
* 0.94a BTChange – per la modifica di tracker in un file torrent. Usa questo valore per i cambiamenti tracker, in modo da non dover ricreare il file.
* PHPBTTracker – un software libero (GPL) tracker in PHP MySQL con un back-end, include al suo interno la raccolta di statistiche e di reporting.
* DumpTorrentCGI – Utilizzare questa pagina web per analizzare il contenuto di un file torrent (sia da sistema locale o un link URL.) Utilizzare per determinare rapidamente ID hash di un torrent tracker o che lo ospita..
* 1,11 trackerlyze.pl - Un software libero (GPL) script in Perl che analizza i file di log di un tracker e consente di creare grafici e report della larghezza di banda utilizzata e il numero di peers / seed.
libbt * – Una biblioteca di attuazione del protocollo BitTorrent in C. Questo progetto è ancora in fase di sviluppo, e non è adatta agli utenti finali.
Nessun commento:
Posta un commento