Cose Utili da Sapere

Il files .torrent – Il protocollo Bittorrent

Caratteristiche


BitTorrent è un protocollo per lo scambio di file di tipo peer-to-peer (P2P). In realtà, non è da considerarsi come un protocollo P2P puro dato che la sua architettura prevede la presenza di un server utilizzato per la fase di aggancio alla rete. L’omonimo client originale e il protocollo sono stati sviluppati da Bram Cohen, un programmatore di San Francisco, nel 2002.

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.

Funzionamento


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), sia che lo stiano inviando (upload). Si tratta quindi di un meccanismo per coordinare in automatico il lavoro di numerosi computer, ottenendo il massimo beneficio possibile per tutti. Grazie a questo sistema, ogni nodo contribuisce 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.
BitTorrent permette di distribuire file di qualsiasi tipo. Il documento originale viene spezzettato in tanti piccoli frammenti di dimensione fissa che poi saranno ricomposti a destinazione.

File .torrent


Per poter usufruire del sistema è quindi necessario, prima di tutto, prelevare un file caratterizzato dall’estensione .torrent. Di ridotte dimensioni, 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.
Un qualsiasi client BitTorrent oltre a leggere i file .torrent è anche in grado di generarli.

Tracker


I file .torrent, inoltre, contengono l’indirizzo URL di uno o più tracker (server traccia), che viene utilizzato per localizzare le sorgenti che posseggono il file o parte di esso. Il tracker si occupa di coordinare i rapporti fra utenti richiedenti il file e quelli che lo offrono. 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 ne posseggono una copia parziale.
Nodi

I nodi, dunque i partecipanti, dello scambio file su Bittorrent si dividono in Seed e Peer.


Seed

I Seed (in italiano Semi) sono quei nodi della rete costituiti da coloro che hanno già scaricato il file (o i file) associato al .torrent e ora lo stanno solo inviando ad altri. Questa fase di solo invio (upload) prende il nome di Seeding.


Peer

Essi non sono ancora in possesso del file completo e fungono sia da client, verso i seed, che da server, verso gli altri peer. Detto ciò, si può affermare che una volta ottenuta qualche parte di file, il nostro client provvederà automaticamente ad inviarla (uploading) verso altri peer che a loro volta contribuiranno alla diffusione delle stesse parti verso altri client.


Leechers

Come già detto, i peer, oltre a scaricare, inviano anche dati. Il rapporto tra dati inviati e scaricati si chiama Share Ratio. Coloro che inviano solo pochi dati rispetto a quanto scaricano (e che hanno un pessimo Share Ratio) vengono detti leech (o leecher, ovvero sanguisughe). I leech sono svantaggiati nella ricezione dei dati rispetto ai peer.

Client


Con client , nel linguaggio informatico, si intende una componente (hardware o software che sia) che accede ai servizi o alle risorse di un altro componente, detto server. Un computer, quindi, collegato ad un server tramite una rete informatica, funge da apparato hardware e come tale è detto per l’appunto client.

Un Client BitTorrent dunque si occupa di accedere all’omonima rete ed effettuare il download/upload da e verso tutti i nodi ad esso collegati. Il client è quindi lo strumento fondamentale che permette lo scambio dei dati.


Il primo client BitTorrent (chiamato con lo stesso nome del protocollo) fu creato da Cohen basandosi su quella che lui definisce “Golden Rule”: più veloce un utente fa un upload, più veloce potrà fare il download.]. In seguito sono nati altri numerosissimi client, che si adattano alle esigenze dei più svariati utenti.
Ad esempio qBittorrentuTorrentDeluge.