You are on page 1of 15

ng d ng P2P

Chia s file ngang hng


V d A ch y m t ng d ng chia s file trn my tnh k t n i vo Internet tm ki m bi ht Hello ng d ng hi n th cc my (peer) c ch a m t copy c a bi ht . A ch n m t my trong s , B. File c truy n t my B n my A: HTTP khi A ang load file, cc my khc c th copy t A A v a l client, v a l server. T t c cc my c th l server = Tnh m r ng cao!

P2P: Th m c t p trung
Phin b n g c thi t k ki u Napster My ch ch a th m c t p trung 1) Khi m t my k t n i vo, n s khai bo:
IP address n i dung
B

1 peers 1 3

1 2 1

2) A tm ki m Hello 3) A yu c u file t B

P2P: H n ch c a th m c t p trung
Tnh ch u l i Hi u nng B n quy n: s b truy t Chia s file l phn tn song thng tin v n i dung l t p trung

Query flooding: Gnutella


hon ton phn tn
khng c my ch t p trung

giao th c public c nhi u phin b n client Gnutella cng ci t giao th c ny

overlay network: th X v Y c m t c nh n u gi a chng c m t lin k t TCP Cc my ang ho t ng v cc c nh t o nn th c nh: lin k t logic thng th ng c t hn 10 lin k t cho m i peer

Gnutella: protocol
Thng i p yu c u c qu ng b

trn t t c cc c nh Thng i p c chuy n ti p QueryHit s c g i tr v theo ng ng c l i


Q y er u

File transfer: HTTP

Query QueryHit
Qu ery

t Hi y er u

Query QueryHit

Tnh m r ng: Flooding c gi i h n

Qu er y

So snh ki n trc client-server v P2P


V n : Th i gian g i m t file t i N my tnh khc?
us: bng thng upload
Server u1 d1 u2 c a server

ui: bng thng upload


c a client/peer i d2 us File, kch th c F dN uN

di: bng thng upload


c a client/peer i

M ng (d th a bng thng)

Client-server: th i gian chia s file


Server

server l n l t g i N copies:
NF/us

F
us dN uN

u1 d1 u2

d2

Network (with abundant bandwidth)

client i m t F/di download

Th i gian g i t i N clients = dcs = max { NF/us, F/min(di) }


i

T l tuy n tnh v i N (v i N l n)

P2P: th i gian chia s file


Server

server g i m t copy: F/us time client i m t F/di t i xu ng NF bits ph i c t i xu ng (t ng c ng)

F
us dN uN

u1 d1 u2

d2

M ng (Gi s khng b t c)

t c upload cao nh t c th (gi s t t c cc nt g i cng cc o n file t i cng m t my): us + ui


i=1,N

dP2P = max { F/us, F/min(di) , NF/(us + ui) }


i
i=1,N

So snh ki n trc Client-server, P2P


3.5

Minimum Distribution Time

3 2.5 2 1.5 1 0.5 0 0

P2P Client-Server

10

15

20

25

30

35

P2P Case Study: BitTorrent


Chia s file P2P
tracker: tm t t c cc my
trong torrent

torrent: nhm cc my
chia s cng m t nhm file

l y danh sch my trao i file

peer

BitTorrent (1)
file c chia thnh 256KB (chunks). m t my tham gia vo torrent: khng c chunks, nhng s tch ly d n theo th i gian ng k v i tracker l y danh sch cc my v connect n cc my bn cnh khi download s ng th i upload n cc my khc . cc my c th gia nh p/r i b m ng Khi my l y file xong, n c th r i m ng ho c ti p t c tham gia chia s

BitTorrent (2)
L y chunks T i m i th i i m, cc my khc nhau s c cc o n file khc nhau th ng xuyn h i cc my bn c nh. A tm cc o n cn thi u rarest first G i chunks: Bnh t- bnh quy A g i cc o n file t i top 4 my cho A v i t c cao nh t nh gi l i top 4, c 10 secs Kho ng 30 secs: ch n ng u nhin 1 my khc v g i o n file cho php cc my m i tham gia vo top 4

P2P Case study: Skype


P2P (pc-to-pc, pcto-phone, phone-topc) Voice-Over-IP Skype (VoIP) login server IM Giao th c ng d ng ring M hnh phn c p
Skype clients (SC)

Supernode (SN)

Skype: thi t l p cu c g i
User kh i t o Skype SC ng k v i SN
Danh sch SNs
Skype login server

SC ng nh p

Call: SC lin l c v i SN, g i ID ng i c g i SN lin l c v i SNs khc tm ID c a ng i kia, sau tr l i cho SC SC lin l c tr c ti p v i nhau, qua TCP

You might also like