Bài giảng Mạng máy tính - Chương 7: Tầng ứng dụng - Phần 3: Ứng dụng P2P - Ngô Hồng Sơn
ꢀng dꢁng P2P
Chia sꢂ file ngang hàng
Ví dꢀ
ꢀ A chꢋn mꢂt máy trong sꢆ
ꢀ A chꢁy mꢂt ꢃng dꢀng chia
sꢄ file trên máy tính
ñó, B.
ꢀ File ñưꢌc truyꢍn tꢎ máy B
ñꢅn máy A: HTTP
ꢀ kꢅt nꢆi vào Internet
ꢀ tìm kiꢅm bài hát “Hello”
ꢀ khi A ñang load file, các
máy khác có thꢈ copy tꢎ
A
ꢀ ꢇng dꢀng hiꢈn thꢉ các máy
(peer) có chꢃa mꢂt copy
cꢊa bài hát ñó.
ꢀ A vꢎa là client, vꢎa là
server.
Tꢏt cꢐ các máy có thꢈ là
server = Tính mꢑ rꢂng
cao!
P2P: Thư mꢁc tꢃp trung
Phiên bꢐn gꢆc thiꢅt kꢅ kiꢈu
B
“Napster”
Máy chꢀ chꢁa
thư mꢂc tꢃp trung
1) Khi mꢂt máy kꢅt nꢆi vào,
1
peers
nó sꢒ khai báo:
ꢀ IP address
ꢀ nꢂi dung
1
3
1
2) A tìm kiꢅm “Hello”
2
1
3) A yêu cꢓu file tꢎ B
A
P2P: Hꢄn chꢅ cꢆa thư mꢁc tꢃp trung
ꢀ
ꢀ
ꢀ
Tính chꢉu lꢔi
Chia sꢄ file là phân
tán song thông tin
vꢍ nꢂi dung là tꢖp
trung
Hiꢕu năng
Bꢐn quyꢍn: sꢒ bꢉ truy tꢆ
Query flooding: Gnutella
ꢀ
hoàn toàn phân tán
ꢀ không có máy chꢊ tꢖp
overlay network: ðꢘ thꢉ
ꢀ
X và Y có mꢂt cꢁnh
nꢅu giꢙa chúng có mꢂt
liên kꢅt TCP
trung
ꢀ
ꢀ
giao thꢃc public
có nhiꢍu phiên bꢐn
client Gnutella cùng cài
ñꢗt giao thꢃc này
ꢀ
Các máy ñang hoꢁt
ñꢂng và các cꢁnh tꢁo
nên ñꢘ thꢉ
ꢀ
ꢀ
cꢁnh: liên kꢅt logic
thông thưꢚng có ít hơn
10 liên kꢅt cho mꢔi
peer
Gnutella: protocol
File transfer:
HTTP
❒
Thông ñiꢄp yêu cꢅu ñưꢆc quꢇng bá
trên tꢈt cꢇ các cꢉnh
❒
❒
Thông ñiꢄp ñưꢆc chuyꢊn tiꢋp
QueryHit
Query
QueryHit
sꢌ ñưꢆc gꢍi trꢇ vꢎ theo ñưꢏng ngưꢆc lꢉi
y
r
e
u
Q
Query
QueryHit
Tính mꢐ rꢑng:
Flooding có giꢒi hꢉn
So sánh kiꢅn trúc client-server và P2P
Vꢀn ñꢁ : Thꢚi gian ñꢈ gꢛi mꢂt file tꢜi N máy
tính khác?
us: băng thông upload
cꢊa server
Server
ui: băng thông upload
cꢊa client/peer i
u2
u1 d1
d2
us
di: băng thông upload
cꢊa client/peer i
File, kích
thưꢒc
F
dN
uN
Mꢉng
(dư thꢓa băng thông)
Client-server: thꢇi gian chia sꢂ file
Server
ꢀ server lꢓn lưꢌt gꢛi
u2
F
u1 d1
d2
us
N copies:
Network (with
abundant bandwidth)
dN
uN
ꢀ
NF/us
ꢀ client i mꢏt F/di ñꢈ
download
= d = max
N clients
{
NF/us, F/min(di)
}
Thꢏi gian gꢍi tꢒi
cs
i
Tꢔ lꢄ tuyꢋn tính 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)
u2
F
u1 d1
d2
us
Mꢉng
(Giꢇ sꢍ không bꢕ tꢖc)
dN
uN
ꢀ
tꢆc ñꢂ upload cao nhꢏt có thꢈ (giꢐ sꢛ
tꢏt cꢐ các nút gꢛi cùng các ñoꢁn file tꢜi
cùng mꢂt máy): us + ui
Σ
i=1,N
dP2P = max
{
F/us, F/min(di) , NF/(us +
Σ
ui)
}
i=1,N
i
So sánh kiꢅn trúc Client-server, P2P
3.5
P2P
3
Client-Server
2.5
2
1.5
1
0.5
0
0
5
10
15
20
25
30
35
N
P2P Case Study: BitTorrent
ꢀ
Chia sꢄ file P2P
torrent: nhóm các máy
chia sꢗ cùng mꢑt nhóm
file
tracker: tìm tꢈt cꢇ các máy
trong torrent
lꢈy danh
sách máy
trao ñꢘi file
peer
BitTorrent (1)
ꢀ file ñưꢌc chia thành 256KB (chunks).
ꢀ mꢂt máy tham gia vào torrent:
ꢀ không có chunks, nhưng sꢒ tích lũy dꢓn theo thꢚi gian
ꢀ ñăng ký vꢜi tracker ñꢈ lꢏy danh sách các máy và connect
ñꢅn các máy bên cánh
ꢀ khi download sꢒ ñꢘng thꢚi upload ñꢅn các máy khác .
ꢀ các máy có thꢈ gia nhꢖp/rꢚi bꢞ mꢁng
ꢀ Khi máy lꢏy file xong, nó có thꢈ rꢚi mꢁng ꢁ hoꢗc tiꢅp tꢀc
tham gia chia sꢄ ☺
BitTorrent (2)
Gꢛi chunks: “Bánh ít- bánh quy”
Lꢏy chunks
ꢀ A gꢛi các ñoꢁn file tꢜi top 4
máy ñã cho A vꢜi tꢆc ñꢂ cao
nhꢏt
ꢀ Tꢁi mꢔi thꢚi ñiꢈm, các máy
khác nhau sꢒ có các ñoꢁn
file khác nhau
ꢀ ðánh giá lꢁi top 4, cꢃ 10
ꢀ thưꢚng xuyên hꢞi các máy
bên cꢁnh.
secs
ꢀ Khoꢐng 30 secs: chꢋn ngꢟu
nhiên 1 máy khác và gꢛi
ñoꢁn file
ꢀ A tìm các ñoꢁn còn thiꢅu
ꢀ rarest first
ꢀ cho phép các máy mꢜi
tham gia vào top 4
P2P Case study: Skype
Skype clients (SC)
ꢀ P2P (pc-to-pc, pc-
to-phone, phone-to-
pc) Voice-Over-IP
(VoIP)
Skype
Supernode
(SN)
login server
ꢀ IM
ꢀ Giao thꢃc ꢃng dꢀng
riêng
ꢀ Mô hình phân cꢏp
Skype: thiꢅt lꢃp cuꢈc gꢉi
ꢀ
User khꢑi tꢁo Skype
ꢀ
ꢀ
ꢀ
SC ñăng ký vꢜi SN
ꢀ Danh sách SNs
SC ñăng nhꢖp
Skype
login server
Call: SC liên lꢁc vꢜi SN,
gꢛi ID ngưꢚi ñưꢌc gꢋi
ꢀ
ꢀ
SN liên lꢁc vꢜi SNs khác
ñꢈ tìm ID cꢊa ngưꢚi kia,
sau ñó trꢐ lꢁi cho SC
SC liên lꢁc trꢠc tiꢅp vꢜi nhau, qua TCP
Bạn đang xem tài liệu "Bài giảng Mạng máy tính - Chương 7: Tầng ứng dụng - Phần 3: Ứng dụng P2P - Ngô Hồng Sơn", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
bai_giang_mang_may_tinh_chuong_7_tang_ung_dung_phan_3_ung_du.pdf

