Hệ thống chia sẻ ngang hàng P2P Hệ thống chia sẻ ngang hàng P2P Hệ thống chia sẻ ngang hàng P2P luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp
BỘ GIÁO DỤC ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VŨ THỊ NGUYÊN HỆ THỐNG CHIA SẺ NGANG HÀNG P2P Chuyên ngành: Công nghệ thông tin LUẬN VĂN THẠC SỸ KHOA HỌC NGƯỜI HƯỚNG DẪN KHOA HỌC TS Vũ Tuyết Trinh HỆ THỐNG CHIA SẺ NGANG HÀNG P2P Hà nội 2009 Luận văn tốt nghiệp BỘ GIÁO DỤC ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI *** Cộng hoà xã hội chủ nghĩa Việt Nam Độc lập – Tự – Hạnh phúc Lời cam đoan Luận văn thạc sỹ nghiên cứu thực hướng dẫn TS Vũ Tuyết Trinh Để hoàn thành luận văn này, tài liệu tham khảo liệt kê, cam đoan khơng chép cơng trình thiết kế tốt nghiệp người khác Hà Nội, ngày 15 tháng năm 2009 (Ký ghi rõ họ tên) Vũ Thị Nguyên Hệ thống chia sẻ ngang hàng P2P Luận văn tốt nghiệp Lời cảm ơn Trước tiên, xin bày tỏ lòng biết ơn sâu sắc tới TS Vũ Tuyết Trinh – Bộ môn Hệ thống thông tin, Khoa Công nghệ thông tin, Đại học Bách Khoa Hà Nội người tận tình hướng dẫn, giúp đỡ tơi hồn thành luận văn Tơi xin chân thành cảm ơn thầy giáo, cô giáo khoa Công nghệ thông tin trường Đại học Bách Khoa Hà Nội thầy giáo, cô giáo tham gia giảng dạy tận tình, truyền đạt cho chúng tơi kiến thức khoa học kinh nghiệm quý báu thời gian bạn học viên lớp Cao học Công nghệ thơng tin khóa 2006-2008 học tập trường Tơi xin chân thành cảm ơn tới người thân gia đình, bạn bè, đồng nghiệp ln ln động viên, ủng hộ giúp đỡ, tạo điều kiện tốt cho tơi hồn thành luận văn Hà Nội, ngày 15 tháng năm 2009 Vũ Thị Nguyên Hệ thống chia sẻ ngang hàng P2P Luận văn tốt nghiệp Mục lục Trang Lời cam đoan Lời cảm ơn Mục lục Trang DANH MỤC CÁC BẢNG BIỂU DANH MỤC CÁC HÌNH VẼ ĐẶT VẤN ĐỀ Chương 1: HỆ THỐNG CHIA SẺ NGANG HÀNG P2P 1.1 Giới thiệu chung hệ thống chia sẻ ngang hàng P2P 1.1.1 Định nghĩa 1.1.2 Hoạt động hệ thống P2P 11 1.2 Phân loại 12 1.2.1 Phân loại theo mức độ tập trung (hay phân tán) 12 1.2.1.1 Kiến trúc P2P phi tập trung hoàn toàn (như Gnutella 0.4) 12 1.2.1.2 Các hệ thống tập trung phần (như Gnutella 0.6, KazaA) 13 1.2.1.3 Các kiến trúc tập trung phức hợp (như Napster) 13 1.2.2 Phân loại theo cấu trúc 14 1.2.2.1 Hệ thống phi cấu trúc 15 1.2.2.2 Hệ thống có cấu trúc 15 1.2.2.3 Hệ thống có cấu trúc lỏng lẻo 15 1.3 Các ứng dụng P2P 16 1.3.1 Chia sẻ file 16 1.3.2 Tính toán phân tán 17 1.3.3 Cộng tác 17 Chương 2: ĐÁNH GIÁ MỘT SỐ HỆ THỐNG P2P 18 2.1 Các tiêu chí đánh gía 18 2.2 Hoạt động số hệ thống P2P 19 2.2.1 Hệ thống phi cấu trúc phi tập trung phức hợp 19 2.2.1.1 Hệ thống Napster [10]: 19 2.2.1.2 Hệ thống cải tiến loại eDonkey 2000 20 2.2.1.3 Hệ thống cải tiến loại BitTorrent 23 2.2.2 Hệ thống phi cấu trúc phi tập trung 26 2.2.3 Hệ thống phi cấu trúc tập trung phần 30 2.2.4 Hệ thống có cấu trúc lỏng lẻo 32 2.2.5 Các hệ thống có cấu trúc 35 2.2.5.1 Chord [22]: 36 2.2.5.2 MAAN (Multi-Attribute Addressable Network) [23] 40 2.2.5.3 CAN 49 2.2.5.4 Kademlia [25] 52 2.3 Đánh giá 56 Chương 3: ỨNG DỤNG CHIA SẺ TÀI NGUYÊN HỌC 62 3.1 Bài toán e-learning 62 3.2 Phân tích tốn 63 3.3 Giải pháp kiến nghị 65 3.4 Mô hoạt động 66 Hệ thống chia sẻ ngang hàng P2P Luận văn tốt nghiệp KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 68 TÀI LIỆU THAM KHẢO 69 DANH MỤC CÁC BẢNG BIỂU Bảng 1: Phân loại hệ thống P2P Bảng 2: Bảng finger table Chord Bảng 3: Đinh nghĩa biến cho peer n, sử dụng m bit identifier Bảng 4: Bảng đánh giá số hệ thống P2P Hệ thống chia sẻ ngang hàng P2P Luận văn tốt nghiệp DANH MỤC CÁC HÌNH VẼ Hình 1.1: Hệ thống P2P Hình 1.2: Hệ thống máy tính Hình 1.3: Mơ hình phi tập trung Hình 1.4: Mơ hình hệ thống tập trung phần Hình 1.5: Mơ hình kiến trúc tập trung phức hợp Hình 2.1: Kiến trúc Napster Một server thư mục tập trung trì index metadata cho tất file liệu mạng Hình 2.2: Hoạt động chia sẻ BitTorrent Hình 2.3: cách Gnutella tìm kiếm hát Hình 2.4 Định tuyến tìm kiếm Gnutella Hình 2.5: Một chuỗi request điển hình Hình 2.6: Một vịng trịn định danh Chord bao gồm ba peer 0,1,3 Trong ví dụ này, khóa định vị peer 1, khóa định vị peer khóa peer Hình 2.7: Hình: (a) Các finger interval kết hợp với peer 1; (b) Các bảng finger vị trí khóa cho mạng với peer 0,1,3 khóa 1,2,6 Hình 2.8: Ví dụ thuật tốn đơn thuộc tính mạng MAAN nút lưu trữ 11 tài nguyên Hình 2.9: CAN: (a) ví dụ khơng gian tọa độ 2-d [0,1]X[0,1] định phần nút CAN; (b) không gian 2-d sau nút F gia nhập Hình 2.10: CAN: construction Hình 2.11: Ví dụ phân chia mạng Hình 3.1: Kiến trúc hệ thống E-learning dựa công nghệ P2P theo CAN Hệ thống chia sẻ ngang hàng P2P Luận văn tốt nghiệp ĐẶT VẤN ĐỀ Sự đời mạng Internet mang lại nhiều lợi ích-cho phép người bình đẳng tiếp cận khai thác nguồn thông tin, nguồn tri thức vô phong phú nhân loại Trải qua nhiều thập niên phát triển song vấn đề lưu trữ, khai thác chia sẻ tài nguyên mạng vấn đề tồn Từ năm đầu thập niên 90 kỷ trước xuất giải pháp giải vấn đề trên: Mơ hình hệ thống chia sẻ ngang hàng P2P Sự xuất hệ thống chia sẻ ngang hàng P2P với ưu điểm cách thức tổ chức lưu trữ chia sẻ tài ngun góp phần mang lại lợi ích to lớn cho cộng đồng người tham gia hệ thống: cho phép khai thác tài nguyên hiệu mà khơng phải bận tâm đến chi phí máy chủ, băng thơng…như mơ hình client-server Bên cạnh đó, hệ thống lại có số ưu, nhược điểm nên việc đánh giá hệ thống khuyến cáo thiết thực cho người muốn xây dựng hệ thống giải tốn theo mơ hình hệ thống chia sẻ ngang hàng P2P Từ nhận định trên, chúng tơi tiến hành tìm hiểu đánh giá hệ thống chia sẻ ngang hàng P2P Hệ thống chia sẻ ngang hàng P2P Luận văn tốt nghiệp Mục đích phương pháp nghiên cứu đề tài Hiện nay, có nhiều hệ thống triển khai sử dụng tồn nhiều vấn đề liên quan cách thức tổ chức: gia nhập, lưu trữ, tìm kiếm rút trích để chia sẻ tài nguyên riêng; đặc tính khác như: độ tin cậy, an toàn, độ mềm dẻo, cân tải….Trong phạm vi luận văn thạc sỹ này, em vào nghiên cứu chi tiết hệ thống P2P góc độ tổ chức thơng qua đưa đánh giá gợi ý cho người định hướng thiết kế hệ thống theo mơ hình P2P có lựa chọn phù hợp Luận văn trình bày ứng dụng P2P phục vụ mục đích chia sẻ tài nguyên học cộng đồng Với mục đích phương pháp nghiên cứu đề tài trình bày trên, bố cục luận văn thạc sỹ khoa học em gồm phần sau: Đặt vấn đề Chương 1: Hệ thống chia sẻ ngang hàng P2P Tập trung tìm hiểu định nghĩa, phân loại ứng dụng chung mơ hình hệ thống chia sẻ ngang hàng P2P Chương 2: Đánh giá hoạt động hệ thống P2P Trình bày chi tiết cách thức tổ chức hoạt động: Lưu trữ, tìm kiếm, rút trích Đánh giá mơ hình hệ thống P2P khác Chương 3: Ứng dụng chia sẻ tài nguyên học tập Trong chương này, xây dựng ứng dụng minh họa với toán elearning Kết luận định hướng phát triển đề tài Hệ thống chia sẻ ngang hàng P2P Luận văn tốt nghiệp Chương 1: HỆ THỐNG CHIA SẺ NGANG HÀNG P2P 1.1 Giới thiệu chung hệ thống chia sẻ ngang hàng P2P 1.1.1 Định nghĩa Trong nhiều thập niên trước có nhiều mơ hình hệ thống (client/ server hay master/slave) thực việc khai thác chia sẻ tài nguyên tốt Song cách tổ chức lưu trữ tài ngun tập trung mơ hình client/server có hạn chế như: tính sẵn sàng liệu khơng cao; hạn chế gặp phải khả lưu trữ tài nguyên server Mặt khác, người dùng cần tìm kiếm tài nguyên cách gửi yêu cầu trực tiếp đến server; thời gian đáp ứng yêu cầu kết chất lượng tìm kiếm hồn tồn phụ thuộc vào khả phục vụ, tính chịu lỗi, tính ổn định, độ mềm dẻo, tin cậy…của server Bên cạnh đó, việc xây dựng hệ thống tốn , ngồi hệ thống cịn địi hỏi thêm chi phí khác như: băng thơng, nhớ… trình tải tài nguyên Sự đời mơ hình hệ thống mới, hệ thống chia sẻ ngang hàng P2P, cho phép khắc phục phần nhược điểm Vậy P2P gì? Hệ thống P2P hệ thống phân tán hoạt động dựa vào khả tính tốn băng thơng máy tham gia không tập trung vào số nhỏ máy chủ trung tâm hệ thống tập trung hay phân tán theo mơ hình chủ/khách [1] Trong mạng P2P khơng có khái niệm server client Nói cách khác, tất máy tham gia bình đẳng gọi peer Mỗi nút mạng đồng thời đóng hai vai trò: vừa client vừa server máy khác mạng [1] (như hình 1.1) Hệ thống chia sẻ ngang hàng P2P Luận văn tốt nghiệp 10 Hình 1.1: Hệ thống P2P [2] Hình 1.2: Hệ thống máy tính Các hệ thống P2P thuộc kiểu mơ hình mạng phân tán (hình 1.2) [3], peer có khả giao tiếp với mà không cần server trung tâm Hơn nữa, peer tham gia có vai trị client server nên có thao tác yêu cầu trao đổi tài nguyên việc trao đổi peer diễn trực tiếp, điều làm cho hệ thống P2P trở nên linh hoạt mạnh mẽ Một số khái niệm hệ thống P2P: • Chia sẻ tài nguyên: Các ứng dụng P2P không thiết lập peer đơn lẻ mà có tham gia đóng góp, chia sẻ nhiều peer Những tài nguyên chia sẻ bao gồm tài nguyên vật lý không gian đĩa, CPU, băng thông mạng tài nguyên logic dịch vụ hay khuôn dạng khác tri thức • Tính phân tán: Đây thuộc tính quan trọng hệ thống P2P để tránh tượng single point of failure bottlenecks Khi hệ thống P2P trở thành phân tán hồn tồn khơng xảy trường hợp nút trọng tâm tập trung hoạt động sở liệu lưu trữ thơng tin tồn cục hệ thống Hệ thống chia sẻ ngang hàng P2P Luận văn tốt nghiệp 56 Việc tìm kiếm Kademlia thực theo phép XOR Phép XOR cho phép Kademlia mở rộng bảng định tuyến vượt bit đơn Các nhóm bit đặt k-bucket Nhóm bit gọi tiền tố Ví dụ vơi m-bit tiền tố, có 2m -1 k-bucket m-bit tiền tố làm giảm số lượng tìm kiếm cực đại từ log2 n thành log 2m (n) * Tìm kiếm Việc tìm kiếm Kademlia thực theo từ khóa Từ việc khơng có tập trung index file tồn tại, nhiệm vụ phân chia tất client: nút muốn chia sẻ file, xử lý nội dung file, tính số (file hash) để định danh file mạng chia sẻ Các file hash node id phải có chiều dài Sau tìm kiếm với nhiều nút mà id gần với file hash, có địa IP riêng lưu trữ nút Client tìm kiếm phải tuân theo nguyên tắc: tìm kiếm node id có khoảng cách nhỏ đến file hash, sau rút trích danh sách nguồn mà lưu trữ nút Từ việc khóa tương ứng vơi nhiều giá trị, ví dụ: nhiều nguồn file, nút lưu trữ có nhiều thơng tin khác nên nguồn request từ k nút gần với khóa File hash thường thu từ link Internet có khn dạng đặc biệt tìm thấy đâu, bao gồm file indexing Các tìm kiêm filename thực sử dụng từ khóa Filename chia thành từ cấu thành nên Mỗi từ khóa băm lưu trữ mạng, với filename tương ứng file hash Việc tìm kiếm việc lựa chọn số từ khóa tìm kiếm, có id gần với khóa hash rút trích danh sách filename mà chứa từ khóa Từ việc filename danh sách có hash đính kèm, nên sau file lựa chọn thu theo cách thông thường 2.3 Đánh giá Các hệ thống P2P có cách thức tổ chức lưu trữ tìm kiếm khác điều ảnh hưởng đến tiêu chí tìm kiếm Cụ thể sau: Hệ thống chia sẻ ngang hàng P2P Luận văn tốt nghiệp 57 - Tính ổn định hệ thống: + Với Napster, eDonkey Bittorent việc gia nhập hay rời bỏ nút ảnh hưởng đến sở liệu tập trung: cập nhật lại sở liệu để phản ánh thay đổi tính ổn định hệ thống Cao + Với Chord MAAN: bảng định tuyến nút thường lưu trữ O(log n) đầu vào: nút neighbor (n số nút tham gia hệ thống) nên tính ổn định hệ thống Thấp + Với CAN: với không gian tọa độ d chiều, số lượng neighbor mà nút trì phụ thuộc vào số chiều không gian tọa độ độc lập với tổng số nút hệ thống (2d neighbour) Vì việc chèn hay loại bỏ nút ảnh hưởng O(d) nút, tính ổn định hệ thống Vừa (d