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
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
Ứ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:
- bai_giang_mang_may_tinh_chuong_7_tang_ung_dung_phan_4_ngo_ho.pdf