Output file ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN XUÂN LÔ ĐẢM BẢO CÔNG BẰNG TRONG CÁC ỨNG DỤNG CỘNG TÁC NGANG HÀNG LUẬN VĂN THẠC SĨ Hà Nội – 2011 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI H[.]
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN XUÂN LÔ ĐẢM BẢO CÔNG BẰNG TRONG CÁC ỨNG DỤNG CỘNG TÁC NGANG HÀNG LUẬN VĂN THẠC SĨ Hà Nội – 2011 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN XUÂN LÔ ĐẢM BẢO CÔNG BẰNG TRONG CÁC ỨNG DỤNG CỘNG TÁC NGANG HÀNG Ngành: Công nghệ thông tin Chuyên ngành: Truyền liệu Mạng máy tính Mã số: 60 48 15 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS HỒ SĨ ĐÀM Hà Nội – 2011 MỤC LỤC Trang Chương Mở đầu Lý chọn đề tài Mục đích nghiên cứu Nội dung nghiên cứu Bố cục luận văn Chương 1: Những vấn đề chung 1.1 Ứng dụng phân tán 1.2 Ứng dụng cộng tác ngang hàng 1.3 Mạng ngang hàng Peer – to - Peer (P2P) 1.4 Một số mạng chia sẻ file 1.5 Thuật toán độ phức tạp thuật toán 12 Chương 2: Suy luận tin cậy mạng ngang hàng 18 2.1 Khái niệm tin cậy quản lí tin cậy 18 2.2 Mơ hình tin cậy 18 2.3 Xác định người cộng tác 21 2.4 Mơ hình suy luận 22 2.5 Mơ hình hệ thống tin cậy NICE: 23 2.6 Tính tốn tin cậy phân tán NICE 27 2.7 Các hệ thống tin cậy khác 35 Chương 3: Đảm bảo công với ứng dụng cộng tác mạng ngang hàng 37 3.1 Giới thiệu 37 3.2 Bài toán 38 3.3 Giao dịch dựa cookie 42 3.4 Kiểm tra tính tin cậy cookie 45 3.5 Áp dụng mơ hình tin cậy NICE đảm bảo cơng ứng dụng chia sẻ file BitTorrent 50 3.6 Chương trình Demo kết thu 57 Kết luận hướng nghiên cứu 68 Tài liệu tham khảo 69 -3- Chương Mở đầu Lý chọn đề tài Hiện mạng ngang hàng Peer - to - Peer (P2P) với ứng dụng lên ngày chiếm nhiều thị phần đời sống Các mơ hình ứng dụng chia sẻ file liệu triển khai nhiều công ty, xí nghiệp, trường học và đem lại nhiều lợi ích Để sử dụng mạng P2P hiệu người sử dụng phải cộng tác với Chia sẻ file cộng tác ứng dụng P2P đặc trưng tiêu biểu mạng ngang hàng Tuy nhiên trình cộng tác với nảy sinh nhiều vấn đề, ví dụ cách chia sẻ file, quyền truy cập lấy tài liệu, thứ tự ưu tiên lấy tài liệu, kiểm tra tính tín cậy cộng tác, ảnh hưởng giao dịch đến băng thông hiệu mạng, vấn đề bảo mật, đặc biệt môi trường cộng tác có tính phí Để cải thiện môi trường cộng tác hiệu ứng dụng P2P, làm cho ngày phát triển, có nhiều cơng trình nghiên cứu nước đạt nhiều thành tựu Với lý mà chọn đề tài nghiên cứu “Đảm bảo công ứng dụng cộng tác ngang hàng”, với mong muốn nghiên cứu lĩnh vực nhỏ ứng dụng P2P, góp phần vào việc nâng cao hiệu ứng dụng cộng tác ngang hàng Mục đích nghiên cứu Mục đích nghiên cứu đề tài là: - Phân biệt ứng dụng (người) cộng tác không cộng tác - Tìm giải thuật định giá kiểm tra tính tin cậy ứng dụng cộng tác - Áp dụng kết nghiên cứu vào ứng dụng cộng tác mạng P2P Nội dung nghiên cứu - Ứng dụng cộng tác mạng P2P - Suy luận tin cậy mạng P2P, mơ hình độ tin cậy ngang hàng NICE - Đảm bảo công cho ứng dụng cộng tác mạng P2P -4- + Vấn đề cơng mạng + Áp dụng mơ hình tin cậy NICE đảm bảo công ứng dụng chia sẻ file BitTorrent + Mơ đánh gía hiệu Bố cục luận văn Luận văn gồm chương: Chương mở đầu: trình bày lí chọn đề tài nghiên cứu, mục đích nghiên cứu, nội dung nghiên cứu Chương 1: Những vấn đề chung: Trình bày khái niệm ứng dụng phân tán ứng dụng cộng tác, khái niệm mạng ngang hàng, giải thuật độ phức tạp giải thuật Chương 2: Suy luận tin cậy mạng ngang hàng: Trình bày khái niệm tin cậy, định giá tin cậy, mơ hình tin cậy NICE làm tảng cho áp dụng vào ứng dụng chương Chương 3: Đảm bảo công với ứng dụng cộng tác ngang hàng: Chương trình bày khái niệm công bằng, đảm bảo công ứng dụng chủ/khách ngang hàng, giao dịch dựa cookie kiểm tra tính tin cậy cookie Chương tập trung trình bày việc áp dụng mơ hình NICE vào ứng dụng nhỏ mạng BitTorrent chương trình demo kết -5- Chương 1: Những vấn đề chung 1.1 Ứng dụng phân tán Theo tác giả Dinesh C Verma [2] Phần trình bày khái niệm ứng dụng phân tán, lĩnh vực liên quan đến cộng tác ngang hàng a) Khái niệm ứng dụng phân tán: Bao gồm hai nhiều module phần mềm chạy máy tính khác nhau, tương tác với thông qua mạng truyền thông kết nối máy tính Các vấn đề chủ yếu cần định xây dựng ứng dụng phân tán – Ứng dụng cần module phần mềm – Triển khai module phần mềm máy tính khác – Bằng cách module phần mềm phát module khác cần giao tiếp b) Kiến trúc client/server Kiến trúc client/server cách tổ chức ứng dụng phân tán bao gồm hai modules phần mềm khác nhau: – Module server với thể hệ thống – Module client với nhiều thể hệ thống Về mặt giao tiếp hệ thống: Chỉ diễn module server module client Đặc trưng kiến trúc client/server có module server làm điểm trung tâm giao tiếp Các client không giao tiếp trực tiếp với mà giao tiếp với module server Trong kiến trúc client/server, server thường chứa nhiều phần mềm phức tạp, clients đơn giản Với lợi ích trình duyệt web hầu hết máy tính, kiến trúc dành để phát triển ứng dụng phân tán chúng sử dụng trình duyệt web chuẩn làm client Vấn đề phát để giao tiếp: Mỗi client cần phát địa mạng server: Server chạy cổng địa IP biết trước với client Client kết nối với server theo địa mạng biết -6- Server không cần biết trước thông tin client Trên Internet, client cần biết địa IP server số hiệu cổng client chuẩn hóa • Ưu điểm – Đơn giản hóa cơng việc bảo trì nâng cấp • Module server thường phức tạp module client lại đặt máy tính • Hiện thường trình duyệt Web sử dụng làm client, người phát triển ứng dụng không cần phát triển bảo trì • Nhược điểm Khơng sử dụng hiệu sức mạnh tính tốn máy client máy server c) Kiến trúc ngang hàng Kiến trúc P2P cách tổ chức nhiều module phần mềm giống nhau, module chạy máy tính khác giao tiếp với Theo cách coi máy tính vừa chạy module client yêu cầu truy nhập dịch vụ vừa chạy module server cung cấp dịch vụ cho máy tính khác + Vấn đề phát Mỗi máy tính cần biết địa mạng máy tính khác muốn giao tiếp + Ưu nhược điểm Tận dụng sức mạnh kết hợp khả mở rộng, nhiên vấn đề bảo trì nâng cấp phần mềm khó khăn d) Vấn đề khám phá Để giao tiếp với module cần biết nơi gửi thông báo cho module khác (Tức địa mạng gồm địa IP số cổng) - Các giải pháp phát địa chỉ: + Cố định số cổng, cho tất module biết địa IP số cổng module khác Điều làm cách: Có thể mã cứng vào chương -7- trình, nhiên giống phương pháp cấu hình địa IP tĩnh mạng -> cần phối hợp tổng thể tránh đụng độ số cổng + Địa IP số cổng module khác cung cấp tham số cấu hình Phương pháp có nhược điểm ứng dụng quy mơ lớn địi hỏi nhiều cơng sức cấu hình 1.2 Ứng dụng cộng tác ngang hàng Một ứng dụng cộng tác ứng dụng chia sẻ thành phần tài nguyên chúng thành viên khác nhóm cộng tác sử dụng Nói cách khác, ứng dụng cộng tác ứng dụng phân bổ tập tài nguyên cho việc sử dụng máy khác ứng dụng Tài nguyên phân bổ xử lí, băng thơng, liệu lưu trữ,…, ứng dụng cộng tác Khi ứng dụng cộng tác với nhau, chúng tạo thành nhóm cộng tác Các nhóm cộng tác, thực tế, kể đến lớp rộng lớn ứng dụng, bao gồm ứng dụng dòng đa phương tiện trực tuyến, ứng dụng hội nghị đa thành phần ứng dụng P2P…, hạ tầng sở cộng tác Tuy hệ thống cộng tác thi hành tốt tất người sử dụng làm việc, cộng tác cung cấp chia sẻ tài nguyên họ tới hệ thống Quan điểm hệ thống cộng tác không liên mạng Trong thực tế gói tin vận chuyển Internet cộng tác mạo hiểm dùng tài nguyên chia sẻ định tuyến (router) Mục đích hướng tới ứng dụng cộng tác ứng dụng đầu cuối, nơi cung cấp platform việc thực ứng dụng phân tán rộng lớn theo kiểu cộng tác Rõ ràng, số tài nguyên phân tán rộng lớn có qua Internet cộng tác Đây xu hướng ứng dụng cộng tác ngang hàng Peer-to-Peer (P2P), hệ ứng dụng P2P dựa khái niệm chia sẻ tài nguyên phân tán cộng tác -8- 1.3 Mạng ngang hàng Peer – to - Peer (P2P) Định nghĩa: Theo tài liệu Ralf Steinmetz [7] trang 21 Oram et al đưa định nghĩa hệ thống Peer – to – Peer sau: [a Peer-to-Peer system is] a self-organizing system of equal, autonomous entities (peers) [which] aims for the shared usage of distributed resources in a networked environment avoiding central services Mạng P2P khơng có khái niệm máy trạm (client) hay máy chủ (server), mà có khái niệm nốt (peers) đóng vai trị client server Theo Karl Aberer, Zoran Despotovic [4] nốt tham gia trao đổi cộng đồng mạng cung cấp truy cập tới tài ngun tính tốn Một mạng P2P đặc trưng tính chất sau: - Khơng có đặt trung tâm (Các máy không chịu đặt máy khác) - Khơng có sở liệu trung tâm (Cơ sở liệu phân tán) - Không có máy bao trùm hệ thống (Các máy ngang hàng) - Các máy tự trị - Các máy kết nối không tin cậy 1.4 Một số mạng chia sẻ file 1.4.1 Mạng chia sẻ file P2P: - Là mạng P2P phổ biến tiếng Internet + Chức chủ yếu mạng cho phép tìm kiếm truyền liệu dựa giao thức IP (Internet Protocol) + Để truy cập vào mạng P2P này, người dùng cần download cài đặt phần mềm ứng dụng phù hợp cho máy tính + Có nhiều mạng P2P phần mềm ứng dụng P2P tồn Một số phần mềm sử dụng cho mạng P2P định, số hoạt động với nhiều mạng P2P khác + Một số mạng P2P tiếng Internet như: BitTorent, Gnutella, -9- 1.4.2 Chia sẻ file mạng ngang hàng - Có thể nói ứng dụng sử dụng nhiều mạng ngang hàng chia sẻ file - Theo ước tính khoảng 50% (có thời điểm đến 75% ) lưu lượng mạng Internet cho để trao đổi file đặc biệt file âm nhạc (hơn tỷ file âm nhạc download tuần) - Đặc điểm vấn đề chia sẻ file máy (Peer) có file download với vai trị Client làm cho chúng ln sẵn sàng với Peer khác vai trò Server - Vấn đề chủ yếu cho mạng ngang hàng nói chung cho vấn đề chia sẻ file riêng vấn đề tìm kiếm Trong ngữ cảnh hệ thống chia sẻ file, có ba mơ hình khác phát triển: mơ hình flooded request, mơ hình thư mục trung tâm mơ hình hướng tài liệu Các mơ hình minh hoạ qua ứng dụng thực mạng ngang hàng sau: Gnutella, Naspter FreeNet Gnutella : Trong hệ thống Gnutella, khơng có tập trung hoá, file lưu trữ Peer hệ thống, có u cầu tìm kiếm file máy tính gửi yêu cầu tới tất peer láng giềng trình lặp lại tìm thấy máy chứa file cần tìm Tiếp theo trình trao đổi file trực tiếp hai máy tính mạng Hiện phần mềm tiếng sử dụng phương pháp tìm kiếm chia sẻ file dạng Bittorent Naspter : Trong hệ thống Naspter, có tập trung hoá Khi máy tham gia vào mạng, danh mục file đăng ký lưu trữ Server trung tâm, có u cầu tìm kiếm, máy tính hỏi Server trung tâm vị trí file Sau việc trao đổi file thực hai máy tính với FreeNet: Trong hệ thống Freenet, file không lưu trữ đĩa cứng peer cung cấp chúng mà lưu trữ vị trí khác mạng Mục đích việc phát triển mạng Freenet làm cho thông tin lưu trữ truy cập mà không cần biết định danh Với tổ chức vậy, chủ sở hữu node mạng tài liệu lưu trữ đĩa cứng máy Vì lý mà Peer file cung cấp số định danh khác Khi file tạo, truyền qua peer láng giềng tới peer có số định danh gần với số định danh file lưu trữ 1.4.3 Một số giao thức sử dụng mạng chia sẻ file -10- ... NICE làm tảng cho áp dụng vào ứng dụng chương Chương 3: Đảm bảo công với ứng dụng cộng tác ngang hàng: Chương trình bày khái niệm cơng bằng, đảm bảo công ứng dụng chủ/khách ngang hàng, giao dịch... Nói cách khác, ứng dụng cộng tác ứng dụng phân bổ tập tài nguyên cho việc sử dụng máy khác ứng dụng Tài nguyên phân bổ xử lí, băng thơng, liệu lưu trữ,…, ứng dụng cộng tác Khi ứng dụng cộng tác. .. biệt ứng dụng (người) cộng tác khơng cộng tác - Tìm giải thuật định giá kiểm tra tính tin cậy ứng dụng cộng tác - Áp dụng kết nghiên cứu vào ứng dụng cộng tác mạng P2P Nội dung nghiên cứu - Ứng dụng