Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 70 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
70
Dung lượng
1,26 MB
Nội dung
ĐẠ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 -1- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LỜI CAM ĐOAN Tơi xin cam đoan tồn nội dung luận văn với tên “Đảm bảo công ứng dụng cộng tác ngang hàng” tự nghiên cứu, tham khảo phát triển ý, giải thuật theo yêu cầu đề tài luận văn Nội dung luận văn chưa công bố, phát hành chép hình thức Nếu sai, tơi xin chịu hoàn toàn trách nhiệm ! Hà Nội, ngày 13/6/2011 Người cam đoan Nguyễn Xuân Lô -2- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LỜI CẢM ƠN Em xin chân thành cảm ơn Thầy, Cô giáo khoa Công nghệ Thông tin trường Đại học Công nghệ - Đại học Quốc gia Hà Nội; Thầy, Cô giáo ngồi trường Đại học Cơng nghệ giảng dạy, giúp đỡ, tạo điều kiện cho em học tập, nghiên cứu để có tri thức bậc Sau đại học Đặc biệt, em xin bày tỏ lòng biết ơn sâu sắc tới Thầy giáo - Phó Giáo sư Tiến sĩ Hồ Sĩ Đàm tận tình hướng dẫn, bảo để em hồn thành luận văn Tơi xin chân thành cảm ơn tới tất bạn học viên cao học K14 ngành Công nghệ thông tin trường Đại học Công nghệ - Đại học Quốc gia Hà Nội giúp đỡ thời gian học tập làm luận văn Mặc dù có nhiều cố gắng, song trình độ lực cịn hạn chế, nên luận văn khơng tránh khỏi thiếu sót Rất mong nhận góp ý, quan tâm Thầy, Cơ toàn thể bạn quan tâm tới luận văn Một lần nữa, xin chân thành cảm ơn Hà Nội, tháng năm 2011 Người làm luận văn Nguyễn Xuân Lô -3- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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) .10 1.4 Một số mạng chia sẻ file 10 1.5 Thuật toán độ phức tạp thuật toán 13 Chương 2: Suy luận tin cậy mạng ngang hàng 19 2.1 Khái niệm tin cậy quản lí tin cậy 19 2.2 Mơ hình tin cậy 19 2.3 Xác định người cộng tác 22 2.4 Mơ hình suy luận 23 2.5 Mơ hình hệ thống tin cậy NICE: 24 2.6 Tính tốn tin cậy phân tán NICE 28 2.7 Các hệ thống tin cậy khác .36 Chương 3: Đảm bảo công với ứng dụng cộng tác mạng ngang hàng 38 3.1 Giới thiệu .38 3.2 Bài toán 39 3.3 Giao dịch dựa cookie .43 3.4 Kiểm tra tính tin cậy cookie 46 3.5 Áp dụng mơ hình tin cậy NICE đảm bảo cơng ứng dụng chia sẻ file BitTorrent 51 3.6 Chương trình Demo kết thu 58 Kết luận hướng nghiên cứu 69 Tài liệu tham khảo 70 -4- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 ngồi 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 -5- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com + 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 -6- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 -7- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 -8- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 -9- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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, -10- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com phép node khám phá node hàng xóm thường có tỉ lệ download cao, giống cho phép node nhận block chúng Có thể nói BitTorrent giao thức tạo phục vụ cho trình truyền tải file Dưới hình thức kết nối peer-to-peer, người sử dụng kết nối trực tiếp với để gửi nhận phần file Một server trung tâm, tên gọi tracker, lập để xác định vị trí người dùng Tracker mang nhiệm vụ quản lý kết nối, khơng cần biết nội dung file truyền tải, tracker có băng thông cực nhỏ, số lượng người dùng cực lớn tham gia vào việc truyền tải file Điểm BitTorrent việc người dùng thực việc up down lúc băng thông tổ chức cho tối ưu BitTorrent thiết kế để số người dùng tăng cao làm việc hiệu - điều trái ngược hẳn với giao thức truyền tải file khác Một ví dụ để dễ hình dung q trình này hình ảnh nhóm người ngồi quanh bàn Hiển nhiên nói nghe người khác nói Giờ tưởng tượng họ cố lấy copy sách Người A cho biết có trang 1-10, 23, 42-50 trang 75 Người C, D, E thiếu số trang số trang người A có, họ cần xếp để lấy copy trang mà thiếu Đến người B, anh cho biết có trang 11-22, 31-37, 63-70 Người A, D E bảo B họ muốn vài trang số đó, B cần đưa cho họ copy trang Quá trình tiếp tục, người trao đổi cho phần có người khác cần Sau lát, dù tất có copy hầu hết trang sách, song khơng số họ có đủ Giờ ý đến người khác ngồi bên bàn mà ta tạm gọi S Người có copy sách, khơng cần nhận trang Anh ta có nhiệm vụ phân phát trang mà khơng nhóm có Cịn người nhận khơng lấy trang mà người khác nhóm có Như vậy, người S chia sẻ sách cho người khác mà không cần phải gửi copy cho người Anh ta việc đưa copy trang khác cho người khác nhau, tự họ chia sẻ cho Người S gọi seed BitTorrent Qui trình download với chương trình BitTorrent Trước hết, bạn tải file có phần mở rộng torrent mở với chương trình BitTorrent File torrent khơng chứa file mà bạn muốn down, mang liệu mô tả file mà bạn CHUẨN BỊ down Chương trình BitTorrent bạn dùng thơng tin ghi nhận file torrent để kết nối với tracker Tracker server mang thông tin danh sách peer kết nối với file bạn muốn down -56- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Trình BitTorrent bạn gửi request tới peer kết nối với file (swarm) bắt đầu down phần nhỏ file từ peer Khi down xong phần nhỏ, trình BitTorrent bắt đầu up phần lên cho swarm chưa có hội down phần nhỏ Q trình tiếp diễn cho người swarm tiến hành down phần file cần Sau down xong file bạn cần, trình BitTorrent chuyển máy bạn thành seed cho file cho phép người tiếp tục down bạn thoát khỏi chương trình Để file torrent truyền lại, cần seed 3.5.2 Áp dụng mơ hình tin cậy NICE đảm bảo cơng ứng dụng chia sẻ file BitTorrent Như nói trên, ứng dụng BitTorrent thường xảy tình trạng số peer download liệu khơng chịu upload, tượng freeriding Hiện tượng free-riding BitTorrent giống node nguy hiểm (malicious) NICE, node xấu giao dịch gán cookie với giá trị khoảng 0.9 đến cho node không nguy hiểm khác, gán giá trị cookie khoảng đến 0.2 Áp dụng mơ hình NICE cho khả phát cô lập nút nguy hiểm, đồng thời tạo nhóm cộng tác thiết thực việc chia sẻ tài nguyên (như trường hợp download upload BitTorrent), hạn chế truy vấn, từ cải thiện băng thơng Việc phát nút free-rider tiến hành NICE thông qua cookie sau: Trong giao dịch, node kiểm tra giá trị tin cậy thông qua cookie Nếu sở liệu nút kiểm tra chưa có cookie node bị kiểm tra tiến hành kiểm tra qua node lân cận (hàng xóm) Giá trị cookie khoảng gần, tin cậy (trong đoạn [0.7:1] chẳng hạn) Nếu thấp (chẳng hạn qui định nhỏ 0.2) không tin cậy Tuy vậy, giá trị cookie tin cậy, cookie khơng có cách tin cậy (không nằm sở liệu thơng qua hàng xóm tin cậy) bị coi giả mạo Tỉ lệ free-rider tính thơng qua tỉ số free-rider phát chia cho tổng free-rider tham gia -57- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Trong trình giao dịch, băng thơng hai điểm (node) cố định, nhiên lượng giao dịch nhiều ảnh hưởng đến tốc độ tiến trình (download upload chẳng hạn) điểm Trong NICE, việc ảnh hưởng đến băng thơng phụ thuộc vào số truy vấn node Vì free-rider tham gia nhiều ảnh hưởng đến băng thông lớn Để hạn chế truy vấn, tăng khả phát node nguy hiểm (free-rider) NICE đề giao thức tạo nhóm cộng tác thiết thực Với node nguy hiểm, chúng chuyển truy vấn với giá trị cookie NICE ngăn chặn truy vấn theo phương án tạo nhóm cộng tác thiết thực cách tìm node tốt Các truy vấn từ node xấu bị node tốt phát không node tốt chuyển đi, điều làm giảm số truy vấn node Càng nhiều node tốt nhóm cộng tác mở rộng, từ ngăn nhiều truy vấn xấu từ node nguy hiểm, băng thơng cải thiện Chương trình Demo NICE sau minh họa vấn đề BitTorrent: - Tỉ lệ nút tham gia mà khơng đóng góp (free-rider) - Tỉ lệ phát free-rider - Băng thơng có free-rider 3.6 Chương trình Demo kết thu 3.6.1 Giới thiệu chương trình, cài đặt thực mơ Chương trình cải tiến từ chương trình Demo NICE a) Yêu cầu: - Hệ điều hành linux (ở dùng ubuntu) - ctags: http://prdownloads.sourceforge.net/ctags/ctags-5.8.tar.gz - nice: http://www.cs.umd.edu/projects/nice/dls/nice.trustsim.extended.tgz b) Cài đặt: Cài đặt ctags: giải nén ctags-5.8.tar.gz thực lệnh: cd ctags-5.8 -58- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ./configure make sudo make install Cài đặt nice.trustsim.extended: Giải nén nice.trustsim.extended.tgz thực lệnh: cd nice.trustsim.extended make Kết là: gcc -Wall -g -DDEBUG -c context.c gcc -Wall -g -DDEBUG -c event.c gcc -Wall -g -DDEBUG -c history.c gcc -Wall -g -DDEBUG -c link.c gcc -Wall -g -DDEBUG -c main.c gcc -Wall -g -DDEBUG -c node.c gcc -Wall -g -DDEBUG -c pqueue.c gcc -Wall -g -DDEBUG -c query.c gcc -Wall -g -DDEBUG -c toposerver.c gcc -Wall -g -DDEBUG -c truststore.c gcc -Wall -g -DDEBUG -c unittest.c gcc -o hiertrust context.o event.o history.o link.o main.o node.o pqueue.o query.o toposerver.o truststore.o -lm Sau make chương trình tạo file thực thi hiertrust file có o tương ứng theo file c mã nguồn c) Mơ tả file chương trình: Chức file chương trình File Chức main.c Thực chức chương trình event.h Định nghĩa cấu trúc kiện (event) thủ tục khác: event.c Tạo kiện Giải phóng kiện node.h, Định nghĩa khối blocks, cookieQueryInfo, node thủ tục node.c khác Lưu trữ thông tin node: lịch sử giao dịch, vị trí node tin cậy khác, thơng tin cho node khác có hàm chính: -59- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com query.h, query.c pqueue.h, pqueue.c context.h, context.c history.h, history.c link.h, link.c toposerver h, toposerver c trustore.h, In trạng thái kết thúc node Giải phóng tất tài nguyên Lưu trữ blocks node Đếm số blocks lưu trữ node Loại bỏ blocks lưu trữ node Cho node tham gia Định nghĩa cấu trúc lấy kiểm tra truy vấn hàm thủ tục khác có liên quan Lưu trữ thông tin quảng cáo dùng để phát node có chức chính: Thêm node vào truy vấn Lấy danh sách node thông báo Đánh dấu truy vấn node thăm Kiểm tra node thăm chưa Định nghĩa cấu trúc khóa, liệu, độ dài kích cỡ liệu, hàng đợi thủ tục khac Tạo hàng đợi lưu trữ theo nhị phân đầy đủ với đỉnh cha nhỏ đỉnh con, số Thêm liệu vào pqueue Kiểm tra pqueue rỗng Định nghĩa cấu trúc biến ngữ cảnh Khởi tạo giá trị ban đầu cho tham số mô Định nghĩa cấu trúc lịch sử giao dịch Lưu trữ lịch sử giao dịch node có chức chính: Giải phóng liệu Cập nhập liệu Thêm liệu Thêm liệu với node tin cậy Loại node giao dịch Lấy giao dịch lớn Giải phóng liệu vùng đệm in Mơ liên kết có chức chính: Tạo độ trễ liên kết Kiểm tra độ trễ Lập lịch biểu độ trễ Định nghĩa cấu trúc toposerver mạng, Lưu trữ định danh node để mơ tả topo mạng có chức chính: Giải phóng node Thêm node Lấy node Định nghĩa ngưỡng cookie tốt, cấu trúc cookie, cấu trúc lưu trữ tin -60- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com trustore.c cậy hàm khác có liên quan Lưu trữ giá trị tin cậy node có chức chính: Thêm giá trị tin cậy Kiểm tra giá trị tin cậy Đếm giá trị tin cậy Tìm kiếm giá trị tin cậy Xóa giá trị tin cậy Tạo giá trị tin cậy Lưu trũ vào cookie Kiểm tra độ tin cậy unittest.c Thực thủ tục kiểm tra cấu trúc lưu trữ cookies100 Lưu trữ cấu hình hệ thống 00 dùng với tham số -config Các chức mơ main.c: parse_args(context * ctx, int argc, char * argv[]): Đọc kiểm tra tham số dòng lệnh, hợp lệ chạy tiếp chương trình, khơng hợp lệ thông báo cho người dùng Các tham số : -l : log data[stdout] -L : log NO data[off] -s seed : randomseed[%ld] -config f : sử dụng file config f - read_config(context * ctx) Đọc tham số cấu hình từ dòng lệnh đưa vào biến ngữ cảnh ctx Nếu file config khơng có chạy stubconfig(ctx) Tiếp theo kiểm tra có ghi log file ghi đâu (stdout mặc định) Đọc file config nhập vào từ dòng lệnh - stubconfig(context * ctx) Tạo cấu hình mặc định cho hệ thống vào biến ngữ cảnh ctx Cấu hình mặc định cho hệ thống: Bao gồm 10 node, node có độ tin cậy 1.0, có block -61- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Các kiện node_join() tạo node tạo thành công - init(context * ctx) Khởi tạo hệ thống, seed số ngẫu nhiên, tạo topo server gắn với biến ngữ cảnh hệ thống - printstats(context *ctx) In thống kê thời có lỗi - newround(context * ctx) Tạo vòng - heartbeat(context *ctx, event *e, double t) In thống kê nhịp, sau tạo lịch - cleanup(context * ctx) - Đặt giá trị vị trí ban đầu (hồn thành) - Lập kiện dạng khởi thủy - main() - Tạo biến ngữ cảnh - Đọc kiểm tra tham số dòng lệnh - Đọc file config - Khởi tạo hệ thống - Chạy mơ Mặc định chương trình chạy vịng mơ - Kết thúc chương trình giải phóng nhớ tham số chiếm trình chạy chương trình 3.6.2 Chạy chương trình: Sau vào cửa sổ lệnh (Terminal) chuyển đến thư mục chứa file chương trình biên dịch chương trình thành cơng, để chạy chương trình ta sử dụng file cấu hình, gõ lệnh: /hiertrust –config cookies10000 File cookies10000 có cấu trúc config sau: COOKIES -62- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com NODES 10000 good=1.0 want=10 have=11 state=11 sleep=0 NODES 10000 good=0.1 want=10 have=11 state=11 sleep=0 Kết chạy lệnh /hiertrust -config cookies10000 hiển thị kết tính tốn hình Để có kết theo ý cần lọc ghi file cụ thể đĩa để tiện cho q trình phân tích Khi thay file cookies10000 file khác có cấu hình cụ thể, chạy lại chương trình cho kết khác 3.6.3 Các kết mơ Trong q trình mơ phỏng, tơi chọn cấu hình cho file với thông số sau: COOKIES HEARTBEAT 0.1 MAXRULE BACKOFF 0.5 NODES 1000 good=1.0 want=100 have=101 state=80 sleep=0 NODES xxxx good=0.2 want=100 have=101 state=80 sleep=0 xxxx số node xấu (lấy giá trị tin cậy cookie 0.2) Số node thay đổi theo file chọn Mô tiến hành file cấu hình đặt tên badnode0, badnode-1000, badnode-2000, badnode-10000 badnode-20000 với số node xấu thay đổi tương ứng 0, 1000, 2000, 10000 20000 Các tham số khác giữ nguyên, trừ file badnode-0 giới hạn số truy vấn tối đa cho node 20 để ổn định cho việc so sánh với trường hợp khác 3.6.3.1 Tỉ lệ nút tham gia mà khơng đóng góp (free-rider) -63- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Hình 3.1 cho biết tỉ lệ phát tương tác (gửi truy vấn theo cookie) node xấu (đường cong có dấu *) so với tổng số tương tác node (bao gồm node xấu node tốt - đường cong có dấu ) tham gia giao dịch Thời gian phân tích mơ phút Trong kết thu ta thấy khả phát nút xấu lân cận phút thứ mô thấp (thể qua hiệu-khoảng cách đường cong), sau khả phát ổn định tỉ lệ tương đối cân node xấu bị phát so với tổng số node tham gia Điều giải thích lúc đầu mà nhóm hợp tác node tốt chưa hình thành khả phát node xấu thấp Khi nhóm mở rộng phát triển khả phát tăng lên đạt đến độ ổn định tương đối, đồng thời truy vấn giảm đáng kể ổn định (dần với số tương tác node tốt), thể qua đồ thị khoảng cách tổng số tương tác số tương tác node tốt Hình 3.2 3.3 sau thể kết tương tự -64- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 3.6.3.2 Tỉ lệ phát free-rider Hình 3.4 minh họa tổng hợp kết khả phát node xấu tương ứng với cấu hình số lượng node xấu tham gia 1000, 2000, 10000 20000 -65- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Hình 3.5 minh họa tỉ lệ phát node xấu Tỉ lệ lấy tỉ số tương tác node xấu phát chia cho tổng số tương tác node tham gia Tại lân cận phút thứ cho tỉ lệ thấp Lí tổng số tương tác node lớn (mẫu lớn nhất), số tương tác phát thời điểm thấp (tử số nhỏ nhất), từ kết phép chia nhỏ Bắt đầu từ phút sau phút thứ tỉ lệ tăng dần, ổn định gần với Số tương tác node xấu phát gần với tổng số tương tác node tham gia, tỉ lệ tiến dần tới 1, đạt kết cao vào khoảng 90% Có kết mạng thời điểm hình thành mở rộng nhóm hợp tác thiết thực node tốt Các node tốt sau phát node xấu ngăn chặn node xấu chuyển truy vấn sau “tỉa” node xấu khỏi hệ thống Vì đồ thị tổng số tương tác node tham gia giao dịch giảm dần, giảm số tương tác node xấu bị phát Số tương tác tổng cộng cao (đường cong nằm phía trên) có tương tác node tốt tham gia -66- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 3.6.3.3 Băng thông có free-rider Theo định nghĩa băng thơng (bandwidth) mạng băng thơng đại lượng đặc trưng cho tốc độ truyền liệu từ điểm tới điểm khác khoảng thời gian (thường tính đơn vị bit/giây) Chẳng hạn modem làm việc tốc độ 56 kbs có hai băng thơng làm việc 28 kbs Trong mạng số lượng truy vấn tham gia nhiều truy vấn ảnh hưởng đến tốc độ truyền liệu mạng (có chia sẻ đường truyền ứng dụng), điều có nghĩa băng thơng bị hạn chế ảnh hưởng đến hiệu mạng Trong NICE, node tốt với nhóm cộng tác ngăn chặn việc gửi truy vấn node xấu, từ cải thiện hiệu băng thơng mạng Hình 3.6 thí nghiệm mơ thể tổng số tương tác toàn node tham gia giao dịch mạng (bao gồm node tốt xấu) Mô làm cấu hình node nguy hiểm lấy 1000, 2000, 10000 20000 Mỗi đường cong thể tổng số tương tác (bao gồm node tốt node xấu) tương ứng với số node xấu cho cấu hình tệp mơ Rõ ràng số tương tác giảm nhanh -67- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com sau (tính từ phút thứ trở đi) ổn định mức thấp Điều tạo điều kiện nhiều cho việc cải thiện băng thơng tồn mạng Các ứng dụng truy cập liệu, download/upload cải thiện nhiều tốc độ,… -68- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Kết luận hướng nghiên cứu Các ứng dụng mạng ngang hàng ngày phát triển Việc ngăn chặn ảnh hưởng làm giảm hiệu băng thông mạng cần thiết nhằm cải thiện chất lượng toàn mạng Bài viết nghiên cứu vấn đề tin cậy đề xuất khía cạnh làm để đảm bảo công ứng dụng cộng tác ngang hàng dựa khái niệm tin cậy Đóng góp viết đề xuất giải thuật định giá tin cậy dựa theo cookie, qua phát trường hợp giả mạo, truy vấn node nguy hiểm, từ hạn chế chiếm dụng băng thông đường truyền, tạo điều kiện nâng cao tốc độ đường truyền Cũng từ phát node nguy hiểm mà ưu tiên cho node tốt vấn đề truy cập chia sẻ tài nguyên, từ đảm bảo công ứng dụng cộng tác Giải thuật áp dụng mơi trường cộng tác mạng ngang hàng Giải thuật thiết thực, hạn chế biến đổi công người sử dụng xấu Hướng nghiên cứu đề tài: Củng cố mở rộng ứng dụng giải thuật dựa khái niệm tin cậy cookie, đồng thời kiểm định qua ứng dụng cụ thể mơi trường thực, để áp dụng tốt việc đảm bảo công cho ứng dụng cộng tác mạng ngang hàng Mặc dù cố gắng, xong lực hạn chế nên viết khơng tránh khỏi thiếu sót Rất mong nhận đóng góp q báu quý Thầy, Cô bạn đồng nghiệp quan tâm tới viết Tôi xin chân thành cảm ơn -69- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Tài liệu tham khảo Tiếng Anh [1] Alfarez Abdul-Rahman & Stephen Hailes, “A Distributed Trust Model”, pp 1-9 [2] Dinesh C Verma (2005), Legitimate Applications of Peer to Peer Networks Wiley-InterScience, pp 1-17, 37-54 [3] Jing Zhao, Ping Zhang and Guohong Cao, “On Cooperative Caching inWireless P2P Networks”, pp 1-3 [4] Karl Aberer, Zoran Despotovic, “Managing Trust in a Peer-2-Peer Information System”, pp.1-3 [5] Lik Mui, Mojdeh Mohtashemi, Ari Halberstadt, “A Computational Model of Trust and Reputation”, pp 1-5 [6] Nicolas C Liebau, Vasilios Darlagiannis, Oliver Heckmann, "Accounting in Peer-to-Peer-Systems”, pp 11-13 [7] Ralf Steinmetz (2003), pp.38-43 Peer-to-Peer Systems and Applications, [8] Rob Sherwood, Seungjoon Lee, Bobby Bhattacharjee, “Cooperative Peer Groups in NICE”, pp 1-11 [9] The Gnutella Protocol Specification v0.4 Document Revision 1.2 http://www.clip2.com; protocols@clip2.com [10] http://www.pgp.com [11] http://www.bittorrent.com Tiếng Việt [12] Hồ Sĩ Đàm (2007), Cấu trúc liệu giải thuật, Nhà xuất Giáo dục [13] PGS.TS Hồ Sĩ Đàm: Bài giảng môn Cấu trúc liệu & giải thuật [14] Đinh Mạnh Tường (2001), Cấu trúc liệu thuật toán, nhà xuất Khoa học Kỹ thuật Hà Nội, tr 5-22 -70- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ... Chương 3: Đảm bảo công với ứng dụng cộng tác mạng ngang hàng 3.1 Giới thiệu Vấn đề đặt ứng dụng cộng tác mạng ngang hàng ứng dụng chia sẻ tài nguyên cho người sử dụng khác nhóm cộng tác ứng dụng đánh... 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... 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