Made by Ghandalf
Introduzione
Da un po' di tempo a questa parte si fa un gran parlare di FileSharing,
principalmente per i problemi legati all'attività illegale connessa
al P2P. Ultimamente, come molti di voi avranno notato, molti server
"storici" della rete e2DK sono scomparsi e svariati
attacchi agli utenti a livello nazionale ed internazionale hanno portato
il P2P illegale sulla bocca di tutti e alla ribalta su diverse testate
giornalistiche online. Esiste, è sempre esistito, un FileSharing perfettamente
legale, sulla rete e2DK viaggiano molti file coperti da copyleft che
possono essere scambiati senza porsi alcun problema.
Un esempio per tutti è la distribuzione di molte distro GNU/Linux
attraverso i canali del FileSharing: diverse distribuzioni per garantire
il download di iso spesso oltre i 3GB si affidano ai software di FileSharing,
in particolare a bittorrent, quest'ultimo garantisce velocità di download
pari, se non superiori, a quelle offerte dagli stessi repository online
FTP ed HTTP.
La tecnologia è informaticamente "vecchia", nasce
nel 2002 grazie all'idea di Bram Cohen che ha rilasciato il codice
sorgente in Python con la BitTorrent Open Source License. Questo ha
permesso un'ampio sviluppo del protocollo con la nascita di diversi
client disponibili per MS Windows, MacOSX e GNU/Linux.
In questo articolo parleremo di Azureus, un client bittorrent disponibile
per diversi sistemi operativi; diamo una rapida occhiata al funzionamento
della rete bittorrent.
Come funziona Bittorrent
Bittorrent, come lo stesso nome suggerisce, è un torrente di bit che
vengono scambiati tra diversi "nodi". I nodi possono
essere seed o peer, nel primo caso posseggono una
copia completa del file, nel secondo caso ne posseggono solo alcune
parti. Sia i peer che i seed contribuiscono al torrente di bit. Nel
caso di bittorrent, esattamente come per la rete e2DK, è necessaria
la presenza di un server per tracciare i contenuti in rete, in particolare
sul server risiedono i tracker che si occupano di gestire
il download e l'upload di un particolare file da e per i vari client.
Per avviare un download si utilizzano dei piccoli file di testo con
estensione .torrent che, tra le altre, contengono informazioni
sui tracker da contattare per i download, sulle varie parti in cui
è diviso il file e le informazioni per il controllo dell'integrità
delle parti scaricate. Rispetto una classica rete e2DK scaricare un
file dalla rete bittorrent vuol dire scaricare contemporaneamente
le diverse parti da numerosi nodi (seed e peer) appartenenti allo
stesso swarm - su cui torneremo più giù - ottenendo alte velocità
di download, maggiori saranno i nodi da cui si scarica contemporaneamente
maggiore sarà la velocità. A questo punto diventa chiaro come il numero
di seed e di peer sia determinante, è inoltre importante che ogni
nodo oltre che scaricare offra una buona quantità di dati in upload.
Un problema comune alle reti e2DK è la presenza dei cosiddetti leecher (sanguisughe, parassiti), utenti che scaricano e che non lasciano
scaricare, oppure che scaricano un singolo file sconnettendosi immediatamente
senza dare la possibilità ad altri di scaricare lo stesso file; la
rete bittorrent risolve questo problema in due modi:
- mentre si scarica un file lo si fa anche scaricare, le parti complete
di ogni file in download sono rese immediatamente disponibili agli
altri nodi dello swarm
- il Rapporto di condivisione: questo rapporto (upload/download) fornisce
un numero che deve essere il più vicino possibili all'unità, più è
vicino all'unità meglio si scarica, più è vicino allo 0 peggio si
scarica sino ad arrivare al ban dai tracker
Due sono anche i limiti percepiti dall'utente che passi da un sistema
emule-based ad un sistema azureus-based:
- la ricerca dei file torrent (quindi dei file disponibili per il download)
non è presente direttamente nel client: bisogna appoggiarsi a sistemi
di ricerca esterni, generalmente siti specializzati che ospitano migliaia
di torrent
- bittorrent è tanto più efficace tanti più seeder e peer sono disponibili
per un singolo file: file recenti hanno un'alta disponibilità, file
più "vecchi" possono essere difficili da scaricare
poiché poco disponibili
|