Bài giảng Mạng máy tính - Chương 7: Tầng ứng dụng (Phần 4) - Ngô Hồng Sơn

Chia sẻ file ngang hàng

Ví dụ

 A chạy một ứng dụng chia

sẻ file trên máy tính

 kết nối vào Internet

 tìm kiếm bài hát “Hello”

 Ứng dụng hiển thị các máy

(peer) có chứa một copy

của bài hát ñó.

 A chọn một máy trong số

ñó, B.

 File ñược truyền từ máy B

ñến máy A: HTTP

 khi A ñang load file, các

máy khác có thể copy từ

A

 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

pdf 15 trang yennguyen 1920
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 4) - 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

Tóm tắt nội dung tài liệu: Bài giảng Mạng máy tính - Chương 7: Tầng ứng dụng (Phần 4) - Ngô Hồng Sơn

Bài giảng Mạng máy tính - Chương 7: Tầng ứng dụng (Phần 4) - Ngô Hồng Sơn
Ứng dụng P2P
Chia sẻ file ngang hàng
Ví dụ
 A chạy một ứng dụng chia
sẻ file trên máy tính
 kết nối vào Internet
 tìm kiếm bài hát “Hello”
 Ứng dụng hiển thị các máy
(peer) có chứa một copy 
của bài hát ñó.
 A chọn một máy trong số
ñó, B.
 File ñược truyền từ máy B 
ñến máy A: HTTP
 khi A ñang load file, các
máy khác có thể copy từ
A
 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
“Napster”
1) Khi một máy kết nối vào, 
nó sẽ khai báo:
 IP address
 nội dung
2) A tìm kiếm “Hello”
3) A yêu cầu file từ B
Máy chủ chứa
thư mục tập trung
peers
A
B
1
1
1
12
3
P2P: Hạn chế của thư mục tập trung
 Tính chịu lỗi
 Hiệu năng
 Bản quyền: sẽ bị truy tố
Chia sẻ file là phân
tán song thông tin 
về nội dung là tập
trung
Query flooding: Gnutella
 hoàn toàn phân tán
 không có máy chủ tập
trung
 giao thức public
 có nhiều phiên bản
client Gnutella cùng cài
ñặt giao thức này
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
 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
Query
QueryHit
Query
Query
QueryHit
Q u
e r
y
Query
Q u
e r y
H i t
File transfer:
HTTPr Thông ñiệp yêu cầu ñược quảng bá
trên tất cả các cạnh
r Thông ñiệp ñược chuyển tiếp
r QueryHit 
sẽ ñược gửi trả về theo ñường ngược lại
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
u2d1 d2
u1
uN
dN
Server
Mạng
(dư thừa băng thông)
File, kích
thước F
us: băng thông upload 
của server
ui: băng thông upload 
của client/peer i
di: băng thông upload 
của client/peer i
Client-server: thời gian chia sẻ file
us
u2d1 d2
u1
uN
dN
Server
Network (with 
abundant bandwidth)
F server lần lượt gửi
N copies:
 NF/us
 client i mất F/di ñể
download
Tỉ lệ tuyến tính với N
(với N lớn)
= dcs = max { NF/us, F/min(di) }i
Thời gian gửi tới N clients
P2P: thời gian chia sẻ file
us
u2d1 d2
u1
uN
dN
Server
Mạng
(Giả sử không bị tắc)
F
 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)
 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 + Σuii=1,N
dP2P = max { F/us, F/min(di) , NF/(us + Σui) }i i=1,N
00.5
1
1.5
2
2.5
3
3.5
0 5 10 15 20 25 30 35
N
M
i
n
i
m
u
m
D
i
s
t
r
i
b
u
t
i
o
n
T
i
m
e
P2P
Client-Server
So sánh kiến trúc Client-server, P2P
P2P Case Study: BitTorrent 
tracker: tìm tất cả các máy
trong torrent
torrent: nhóm các máy
chia sẻ cùng một nhóm
file
lấy danh
sách máy
trao ñổi file
peer
 Chia sẻ file P2P
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)
Lấy chunks
 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
 thường xuyên hỏi các máy
bên cạnh.
 A tìm các ñoạn còn thiếu
 rarest first
Gửi chunks: “Bánh ít- bánh quy”
 A gửi các ñoạn file tới top 4 
máy ñã 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
nhiên 1 máy khác và gửi
ñoạn file
 cho phép các máy mới
tham gia vào top 4
P2P Case study: Skype
 P2P (pc-to-pc, pc-
to-phone, phone-to-
pc) Voice-Over-IP 
(VoIP)
 IM
 Giao thức ứng dụng
riêng
 Mô hình phân cấp
Skype clients (SC)
Supernode
(SN)
Skype 
login server
Skype: thiết lập cuộc gọi
 User khởi tạo Skype
Skype 
login server
 SC ñăng ký với SN
 Danh sách SNs
 SC ñăng nhập
 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

File đính kèm:

  • pdfbai_giang_mang_may_tinh_chuong_7_tang_ung_dung_phan_4_ngo_ho.pdf