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  
pdf 15 trang baolam 29120 Free
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:

  • pdfbai_giang_mang_may_tinh_chuong_7_tang_ung_dung_phan_3_ung_du.pdf