Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
protocollo BitTorrent
Felice Colucci
Felice Colucci, Il protocollo BitTorrent
Cagliari, 26 Novembre 2005
Argomenti
Introduzione
I componenti
Algoritmi di choking
Client
Conclusioni
Che cosa
Scritto in Python
Introduzione
I componenti
Algoritmi di choking
Client
Conclusioni
Tracker
Peer
Peer
Peer
Sito web
con file
.torrent
t
n
e
r
r
o
t
.
l
ei
Ottener
Peer
5
Tracker
Richiesta HTTP
Peer
Peer
Peer
Sito web
con file
.torrent
Peer
Felice Colucci, Il protocollo BitTorrent
Cagliari, 26 Novembre 2005
Tracker
Peer
Lista di peer
Peer
Peer
Sito web
con file
.torrent
Peer
Felice Colucci, Il protocollo BitTorrent
Cagliari, 26 Novembre 2005
Tracker
Sito web
con file
.torrent
d
n
a
h
e
shak
Peer
Peer
sc
ak
k
a
sc
eh
a
d
n
ea
Peer
nd
Peer
Tracker
Peer
I
n
v
io
a
t
i
o
vi
In
da
ti
ti
da
Sito web
con file
.torrent
Peer
Peer
io
Inv
Peer
Tracker
Peer
I
o
I
a
t
i
i
v
n
i
t
a
n
v
io
Peer
Sito web
con file
.torrent
io
v
In
Peer
Peer
ti
a
d
10
Tracker
Peer
In v
ati
io d
Peer
da
t
i
Sito web
con file
.torrent
In
v
io
Peer
Lista di peer
Richiesta HTTP
Peer
11
Esempio
12
Tracker
Peer B
{4,5,6}
Peer A
{1,2,3}
Sito web
con file
.torrent
Peer C
{7,8,9,10}
Peer
13
Tracker
In
v
i
o
bl
vi
In
o
1
o
c
c
o
bl
o
i
Inv
7 Peer C
{7,8,9,10}
Peer
co
oc
bl
Sito web
con file
.torrent
oc
c
o
Peer A
{1,2,3}
Peer B
{4,5,6}
14
Tracker
Peer B
{4,5,6}
Peer A
{1,2,3}
Sito web
con file
.torrent
Peer C
{7,8,9,10}
Peer {1,4,7}
15
In
In
b
o
i
v
o
o cc
Peer C
{7,8,9,10}
Peer {1,4,7}
vi
a
o
bl
i
v
In
Sito web
con file
.torrent
bl
o
o
c
c
Peer A
{1,2,3}
Peer B
{4,5,6}
cc
o
Tracker
16
Tracker
Peer B
{1,4,5,6}
Peer A
{1,2,3,7}
Sito web
con file
.torrent
Peer C
{1,7,8,9,10}
Peer
{1,4,7,...}
17
Introduzione
I componenti
Algoritmi di choking
Client
Conclusioni
18
Le componenti
.torrent
Un file che contiene le informazioni necessarie
per scaricare la risorsa voluta
Client:
sia colui che scarica un dato contenuto sia
colui che permette di scaricarlo
Tracker
Coordina l'attivit dei peer o client
Qualcuno che ci fornisce il torrent:
webserver, posta elettronica,...
19
.torrent
20
Tracker
21
Client o peer
Esistono tre differenti tipi di client:
Seeder
Leecher
Reseeder
22
Seeder
23
Leecher
24
Leecher
25
Reseeder
Sono quei client che malgrado abbiano completato
il download continuano a condividere la risorsa
26
Introduzione
I componenti
Algoritmi di choking
Client
Conclusioni
27
28
29
30
31
32
Introduzione
I componenti
Algoritmi di choking
Client
Conclusioni
33
Pipelining
34
Primo passo
il
successivamente eseguire
il .torrent (cliccando sul file
si avvia il client BitTorrent)
Sito web
con file
.torrent
Scarica
.torrent
Peer
Felice Colucci, Il protocollo BitTorrent
Cagliari, 26 Novembre 2005
35
Secondo passo
Tracker
TP
T
H
a
t
s
Richie
Peer
36
Secondo passo
Il peer comunica ad il
tracker
quale file vuole scaricare
Tracker
TP
T
H
a
t
s
Richie
Peer
37
Altri parametri
38
Secondo passo
In genere il tracker
invia una lista di 50
peer
Tracker
Lista di peer
Peer
39
Bencode
40
I messaggi vengono
scambiati attraverso TCP
Socket
sh
nd
ha
ak
e
ha
e
k
a
h
n ds
Fase di handshake
41
da
mb
io
Sc
a
ti
ti
a
d
bi o
m
a
Sc
42
Introduzione
I componenti
Algoritmi di choking
Client
Conclusioni
43
44
45
Due eccezioni
46
Endgame modo
Viene adottato quando si prossimi a terminare il
download
47
Introduzione
I componenti
Algoritmi di choking
Client
Conclusioni
48
Choking
Garantisce la collaborazione tra i peer eliminando il
dilemma del prigioniero
49
Algoritmi di Choking
Ogni peer fornisce dati ad un certo numero di altri
peer (generalmente quatro): unchocking
50
Optimistic unchoking
51
Introduzione
I componenti
Algoritmi di choking
Client
Conclusioni
52
I Client opensource
ABC
Arctic Torrent
Azureus
BitTornado
Burst
G3Torrent
Rufus
53
54
Conclusioni
Ampiamente utilizzato
Il caso suprnova
In continuo progresso
Trackerless
55
56