2. Che cos'è? BitTorrent è un protocollo che consente la condivisione di file in rete. Nato nel 2002 da Bram Cohen. Nel 2005 la licenza dicenta Open Source. Attualmente numero software lo implementano in multipiattaforma (Linux, Window, …) É scritto in python .
3. Cosa Serve 1 - Un File con estensione .torrent 2 - Un client con un applicativo che implementi il protocollo BitTorrent 3 - Un server che funge da tracker
4. Algoritmo SHA1 L'algoritmo SHA1 serve per codificare i chunk del file, e funziona in questo modo: 1 – Imbottitura 2 – Lunghezza del messaggio 3 – Bufferizzazione 4 – Codifica Esempio: SHA1("") = da39a3ee5e6b4b0d3255bfef95601890afd80709
5. Bencode I client per connettersi tra loro usano il protocollo tcp sulla porta che va da 6881 alla 6889. Quando un host richiede un frammento gli viene preparato dal client utilizzando la codifica Bencode. Ecco un esempio: { filename => miofile.txt size => 76500 attributes => { readonly => 1 hidden => 0 } } Diventa: d8:filename11:miofile.txt4:sizei76500e10:attributesd8:readonlyi1e6:hiddeni0eee
6. Creare un file Torrent Quando una persona vuole distribuire un file, il client frammenta il file e crea il file torrent contenente: - la lista dei frammenti (chunk) e la loro rispettiva hash - l'url di un server tracker - data di creazione - eventuali commenti - il nome del programma che lo ha generato - informazioni sul contenuto In caso di file singoli: - la dimensione del file - md5sum del file - nome del file in formato ASCII In caso di più file: - lista dei file - e per ognuno le stesse proprietà del file singolo con l'aggiunta di: - il percorso del file (cartelle) - lunghezza di ogni parte della suddivisione dei file
8. Si inizia a scaricare Quando una persona cerca un file si affida a dei motori di ricerca che indicizzano solo i file torrent nella rete. Alcuni di questi motori sono: - Mininova - Demonoid - Btjunkie - TNT Village - Torrent Finder - torrentz.com Questi server oltre a indicizzare i file torrent possono anche contenerne a loro volta. Una volta trovato quello che ci interessa è possibile scaricare il file torrent localmente.
9. Protocollo Client/Server Quando un client decide di scaricare un torrent manda delle richieste http GET al tracker che fornirà gli indirizzi IP dei client connessi in codifica bencode: - info hash - peer-id - port - uploader - downloader - left - event - failure reason
10. Si inizia a scaricare Avendo il file torrent è ora possibile aprirlo con un client che implementi bittorrent e scaricarlo. Lo scaricamento avviene con queste fasi:
11. BitTorrent è meglio? I vantaggi del bittorrent rispetto algli altri protocolli: 1 - non esegue una ricerca per nome ma bisogna innanzitutto prelevare un file .torrent da un motore di ricerca. 2 - non tenta di nascondere l’ultimo host che ha reso disponibile il file. 3 - una persona che desidera rendere disponibile un file con il protocollo BitTorrent deve prima eseguire un tracker su di un host o un gruppo di host e distribuire l’indirizzo del tracker nel file torrent. 4 - è possibile eseguire, attraverso una tecnica chiamata seeding (inseminazione), un tracker in un host immune da azioni legali scaricando la responsabilità ad altri protocolli p2p.
12. La tecnica del DHT DHT significa Distributed Hash Table. Questa tecnica è molto importante per decentralizzare la rete, in questo modo è possibile la distribuzione del file anche quando un server tracker è offline.
13. Il Futuro I ricercatori dell’UCLA Engineering (University of California, Los Angeles) hanno progettato una sorta di rete mobile utilizzando le macchine come nodi che prenderà vita nel 2012. Il suo utilizzo permette di mettere in contatto veicoli in movimento a distanza anche di 300 metri l’uno dall’altro, questo grazie anche all’utilizzo del protocollo DSRC (Digital Short Range Communication) e alla tecnologia WLAN a 5.9 GHz. Le macchine passando nei pressi di speciali access point faranno il download delle informazioni che poi condivideranno automaticamente con gli altri “nodi” (le altre macchine) durante il viaggio. I punti deboli di questo progetto rimangono la protezione della privacy e della sicurezza informatica degli automobilisti (per esempio alcuni non vogliono che si sappia dove siano, oppure una persona potrebbe divulgare informazioni sbagliate sul traffico che vadano a proprio vantaggio).