Bit-torrent: cosa è e come funziona

 
  Alla scoperta di una delle reti P2P più performanti

DATA ARTICOLO: 28/08/2005  
AUTORE: Redazione

 
   

Questo articolo è offerto da:


 
 



 
 

BitTorrent è attualmente considerato il nemico numero uno dalle major cinematografiche, ed il motivo è essenzialmente dovuto alla sua architettura in grado di permettere velocità maggiori rispetto alle altre reti p2p.

Senza mai dimenticare che colpevolizzare uno strumento per l'utilizzo errato che ne si fa è sempre un errore, e puntualizzando che attraverso le reti bit-torrent viene distribuito anche materiale legalissimo, ad esempio molte distribuzioni linux, vediamo di capire meglio come funziona una rete bit-torrent.

Tante reti su misura

A ogni scaricamento viene creata una rete dedicata, con il compito di distribuire i dati di quello specifico download; la vita di questa rete è limitata solo a questo, dopodichè assolto questo compito, essa viene dismessa; a differenza di altre reti peer to peer,  i partecipanti si concentrano solamente su pochi download, privilegiando se vogliamo l'aspetto qualitativo a quello quantitativo.

Il Tracker

In ogni rete torrent c'è un programma chiamato tracker che inizializza la rete e che funge da server di distribuzione delle informazioni per tutti i computer che si collegano. Ogni computer per partecipare alla rete deve quindi collegarsi al tracker: per questo deve servirsi di un file torrent, che contiene non solo l'indirizzo Internet del tracker ma anche informazioni sui file che compongono la distribuzione, sulla loro lunghezza e una serie di meccanismi di checksum.
Il tracker è quindi il cuore del torrent e non è un caso che i siti che distribuiscono file torrent siano così avversati dalle major; di fatto bloccando il tracker, il torrent non "decolla"; nel tracker sono indicati in quanti blocchi sono suddivisi i dati e la loro dimensione (256 kb/2 Mb); questi blocchi vengono suddivisi e inviati come singoli pacchetti di dati da 16 kb.
Quando il pc dispone del file torrent può dunque entrare in contatto con il tracker e diventa un nodo (peer) registrato nella rete ad hoc; per questo motivo trasmette al tracker un identifìcativo di 20 byte autogenerato (chiamato peer-id), lo identifica univocamente nella rete.

I seeders

I seeder sono i nodi che offrono il download completo, mentre i leecher sono quelli che offrono solo download parziali;  queste informazioni vengono veicolate a ciascun nodo dal tracker che invia anche un elenco di 50 peer-id a cui potersi collegare.

Ovviato a questo compito di starter, il tracker non è più necessario, la rete dedicata è costituita e comincia a funzionare, in quanto con  l'upload e il download dei pacchetti di dati i peer scambiano i file solamente tra di  loro.

Ogni nuovo peer interroga gli altri nodi per sapere se gli è permesso scaricare qualcosa; dopo una prima fase, chiamata handshake, avviene poi lo scambio di un bitfield, ossia le informazioni su quali blocchi ciascun nodo ha già scaricato. Tramite il bitfield il peer può gradualmente rendersi conto di quali blocchi siano facili da reperire nella rete e quali siano invece poco distribuiti. Queste informazioni vengono elaborate per scaricare inizialmente ì blocchi meno richiesti, in modo da minimizzare il rischio di formare colli d'i bottiglia in rete. L'unica eccezione a questa regola è il primo download di un peer: in quel caso ogni nodo richiede un blocco qualsiasi, per poter a sua volta mettere a disposizione qualche dato verso gli altri nodi della rete.

Il singolo nodo cerca di scaricare da quanti più peer gli riesce ma anche di fornire dati solo ai peer che offrono un'alta velocità di download. Questo significa che i nodi veloci vengono preferiti, a scapito di quelli lenti scartati (chocking).
Con questo meccanismo premiante per i più performanti, chi offre pochi upload, entro breve tempo non riceverà più alcun download. Il chocking funziona unilateralmente, ossia il partecipante cerca di fare in modo che il peer lento non riceva più da lui alcun download. Può però scaricare da quel peer.

Per l'upload ciascun nodo nella configurazione base dispone di quattro posti liberi per connessioni "unchocked". Per non dover effettuare continuamente chocking e unchocking, ogni dieci secondi dev'essere ricevuto un nuovo peer, bloccandone uno precedente.

I peer migliori

Ciascun nodo tuttavia non si affida soltanto ai collegamenti noti ma cerca di trovare connessioni nuove e migliori; per questo dispone di un unchocking: ogni 30 secondi si fida ed apre una connessione di upload a un nuovo peer; se le velocità di upload e download sono adatte, il collegamento viene mantenuto, altrimenti si passa al successivo. C'è anche un'altra forma di unchocking: se un partecipante non riceve per un minuto alcun blocco da un altro peer, ne deduce che questo lo ha bloccato; in questo caso passa quindi all'anti-snubbing, ossia elimina quel peer ed effettua un nuovo unchocking ottimistico separato nel posto reso libero, aumentando la velocità di download.

Una conclusione più rapida

Sarà capitato a parecchi utilizzatori della rete e-donkey di constatare che spesso gli ultimi blocchi sono i più problematici; la velocità di download cala, perché il peer ha bisogno solo di pochi dati mancanti, che non riesce a ricevere facilmente; in bit-torrent se si è  giunti a questo punto si passa alla modalità "endgame": vengono inviati a tutti i peer conosciuti la richiesta per i blocchi mancanti (sub-pieces). In questo stadio i sub-pieces dello stesso blocco vengono scaricati anche da diversi nodi. Concluso il download del file, il peer passa in modalità upload e diventa distributore, consentendo il download di preferenza ai peer che offrono upload elevati ad altri nodi.

Un meccanismo geniale che toglie il sonno a qualcuno di hollywood...

 

 



 

 

 
 

Questo articolo occupa la 22ª posizione tra i 50 articoli più letti del sito.


Articolo letto 27408 volte
Cosa ne pensi di questo articolo?
Votalo anche tu!
 

Il parere dei nostri lettori
Numero di voti: 98
Votazione: 89.1 %
votazione:89.1%votazione:89.1%votazione:89.1%votazione:89.1%votazione:89.1%votazione:89.1%votazione:89.1%votazione:89.1%votazione:89.1%votazione:89.1%


Categoria
software
web

Se hai letto questo, ti potrebbero interessare anche i seguenti articoli:
- 4 assi di editor
- Il formato RAW
- Le comunicazioni Wireless
- Segui con noi i mondiali di calcio Germania 2006
- La storia del pc
- La tecnologia Bluetooth
- Visualizzare il login di Administrator nella finestra di login
- Comandi di... carattere
- Best Win
- Liberiamo il cagnolino!
- Inviti Gmail offerti dal Club
- Una nuova calcolatrice
- Ci sei in ICQ?
- Il problema legale dell'abandonware
- Introduzione alla Realtà Virtuale
- Nasce la vecchiasoffitta.com
- I web-bugs
- Corso di PHP
- Corso di PHP
- Evitare il phishing
- Ci sei in ICQ?
- Bill Gates: dove vuole andare oggi?


Google

Vuoi collaborare anche tu? Invia gratuitamente i tuoi elaborati alla redazione del Club.
Se ritenuti validi, saranno pubblicati nel sito del Ghost Computer Club

 
 


Home Page

Error in my_thread_global_end(): 1 threads didn't exit