đồ án công nghệ thông tin Tìm hiểu và xây dựng ứng dụng P P theo kién trúc Kademlia

59 1.2K 3
đồ án công nghệ thông tin Tìm hiểu và xây dựng ứng dụng P P theo kién trúc Kademlia

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Đồ án tốt nghiệp Tìm hiểu và xây dựng ứng dụng P2P theo kién trúc Kademlia MỤC LỤC Chương 1: TỔNG QUAN VỀ PEER-TO-PEER (P2P) 2 1.1. LỊCH SỬ HÌNH THÀNH 2 1.2. MẠNG MÁY TÍNH P2P 3 1.3. PHÂN LOẠI P2P 5 1.3.1. Phân loại ứng dụng 7 1.3.2. Môi trường P2P hường tới 9 1.4. CÁC THÀNH PHẦN VÀ THUẬT TOÁN TRONG MẠNG P2P 9 1.4.1. Các thành phần cơ sở 9 1.4.2. Các thuật toán 12 1.4.2.1. Mô hình thư mục trung tâm 12 1.4.2.2. Mô hình tràn yêu cầu 13 1.4.2.3. Mô hình định tuyến thư mục 14 1.5. MỘT SỐ TÍNH CHẤT CỦA MẠNG P2P 18 1.5.1 Phân tán quyền 18 1.5.2. Khả năng co giãn 19 1.5.3. Khả năng giấu thông tin 20 1.5.4. Tự tổ chức 23 1.5.5. Chi phí của sở hữu 23 1.5.6. Kết nối không dự tính 24 1.5.7. Tính thực thi 25 1.5.8. Bảo mật 27 Chương 2: Kademlia 28 2.1. GIỚI THIỆU 28 2.1.1. Chord 29 2.1.1.1. Kiến trúc hệ thống Chord 29 2.1.1.2. Điểm yếu của hệ thống Chord 32 2.1.2. Ý tưởng cơ bản của hệ thống Kademlia 34 2.2. MÔ TẢ HỆ THỐNG 35 2.3 TRẠNG THÁI NODE 36 2.4. ĐỊNH TUYẾN 38 2.4.1. Bảng định tuyến 38 2.4.2. Thuật toán tìm kiếm 39 2.5. GIAO THỨC KADEMLIA 41 Chương 3: Xây dựng ứng dụng P2PKad 44 3.1. MỤC ĐÍCH 44 3.2. KIẾN TRÚC P2PKAD 44 3.2.1. Các phiên làm việc giữa các peer 45 3.2.2. Giao thức overnet 47 3.2.3. Xử lý thiết lập 48 3.2.3.1. Tìm kiếm Metadata 48 3.2.3.2. Tìm kiếm nguồn 49 3.2.4. Xử lý tìm kiếm 51 3.2.4.1. Tìm kiếm từ khóa 51 Hoàng Tuấn Anh – Lớp Công Nghệ Phần Mềm A – K46 Trang 1 Đồ án tốt nghiệp Tìm hiểu và xây dựng ứng dụng P2P theo kién trúc Kademlia 3.2.4.2. Tìm kiếm nguồn 52 3.2.5. Tham số trong OVERNET_SEARCH 54 3.2.6. Opcode OVERNET_PEER_NOTFOUND (33, 0x21) 55 3.2.7. Kiến trúc của các kiểu gói tin trong hệ thống Kademlia 55 Chương 1: TỔNG QUAN VỀ PEER-TO-PEER (P2P) 1.1. Lịch sử hình thành Hoàng Tuấn Anh – Lớp Công Nghệ Phần Mềm A – K46 Trang 2 Đồ án tốt nghiệp Tìm hiểu và xây dựng ứng dụng P2P theo kién trúc Kademlia Mạng Internet được thiết kế ban đầu như một hệ thống peer-to-peer (P2P). Trải qua thời gian, do nhu cầu sử dụng internet phát triển mạnh mẽ đã khiến cho mô hình P2P dần chuyển đổi và phát triển thành mô hình client/server. Vào đầu những năm 1960, Internet ra đời và phát triển một cách nhanh chóng. Số lượng máy client truy nhập internet gia tăng một cách chóng mặt khiến cho khôn gian địa chỉ IP không còn đủ để đáp ứng nhu cầu truy cập mạng của người sử dụng. Bên cạnh đó, sự phát triển của internet kéo theo nó là các yêu cầu về vấn đề bảo mật. Đó là những ngăn cản khiến cho mô hình P2P khó có thể xây dựng và phát huy được sức mạnh thực sự của nó. Mô hình client/server ra đời như một giải pháp cho các vấn đề đó. Dường như mô hình client/server đã thể hiện như một lựa chọn đúng nhưng sự gia tăng về nhu cầu sử dụng internet một cách mạnh mẽ đã khiến các nhà phát triển phải xem xét lại vấn đề đó. Số lượng gói tin truyền đi trong mạng quá nhiều gây ra quá tải băng thông, số lượng thông tin và không gian lưu trữ tài nguyên cũng là vấn đề gặp phải của các nhà quản lý, cung cấp dịch vụ mạng. Vì vậy, chi phí cho một hệ thống server là rất cao. Và bài toán cho các vấn đề đó đã đưa những nhà phát triển mạng quay lại với mô hình mạng P2P nguyên thủy. 1.2. Mạng máy tính P2P Mạng máy tính P2P được xây dựng dựa trên băng thông và hiệu năng của các máy tính cá nhân trong mạng chứ không dựa trên là sự tập chung của một số lượng nhỏ các máy server. Các mạng P2P được sử dụng để kết nối các node theo các kết nối ad_hoc (không dự tính) và rất hữu dụng cho một số mục đích như: chia sẻ file nội dung, tìm kiếm tài nguyên, … Một mạng P2P thuần túy không có khái niệm khách/chủ (clients/servers) mà các node (peer) ngang bằng nhau thì có các chức năng như cả client và server đối với các node khác trong mạng. Mô hình này không giống với mô hình client-server, các kết nối không thường xuyên phải thông qua một server trung tâm. Một ví dụ tiêu biểu cho chia sẻ file không phải P2P là một server FTP, các chương trình client và server không giống nhau, trong đó các máy client thiết lập các yêu cầu download/upload và các máy server gửi trả lời cho các yêu cầu đó. Hoàng Tuấn Anh – Lớp Công Nghệ Phần Mềm A – K46 Trang 3 Đồ án tốt nghiệp Tìm hiểu và xây dựng ứng dụng P2P theo kién trúc Kademlia Hình 1.2.1: Minh họa sự khác nhau giữa P2P và Client/Server Không có ranh giới rõ ràng giữa một mô hình P2P và một hô hình client- server. Cả hai mô hình đó có thể được tích hợp trong cùng một mạng với mục đích sử dụng khác nhau. Một vài mạng như: Napster, OpenNAP và IRC@find sử dụng cấu trúc client-server cho một vài mục đích như tìm kiếm và sử dụng cấu trúc P2P cho các mục đích khác. Các mạng khác như Gnutella hay Freenet sử dụng cấu trúc P2P cho mọi mục đích và đó là những mạng hoàn toàn P2P. Hình 1.2.1: Hệ thống phân tán Kiến trúc P2P là một trong những khái niệm quan trọng của Internet, được đưa ra cùng với sự ra đời của Internet vào khoảng những năm 1960. Ngày nay, khái niệm đó đã được thừa nhận bởi tích hữu dụng của nó đem lại trong các kiến trúc trao đổi file đa phương tiện (multimedia). Hoàng Tuấn Anh – Lớp Công Nghệ Phần Mềm A – K46 Trang 4 Đồ án tốt nghiệp Tìm hiểu và xây dựng ứng dụng P2P theo kién trúc Kademlia 1.3. Phân loại P2P Phân loại các hệ thống máy tính được biểu diễn như sau: Hình 1.3.1: Phân loại của các hệ thống máy tính theo cấu trúc Tất cả các hệ thống máy tính có thể được phân thành 2 loại: Phân tán và Tập chung. Hệ thống phân tán có thể được phân ra thành 2 mô hình: client-server và P2P. Trong mô hình client-server tất cả các máy client chỉ liên lạc với một máy server đơn, hoăc có thể được phân cấp để phát triển khả năng co giãn. Trong mô hình phân cấp, server của một cấp sẽ đóng vai trò như một client của cấp cao hơn. Mô hình P2P được phân ra thành 2 loại: pure P2P (thuần P2P) và hybrid P2P (lai P2P). Trong mô hình thuần P2P không tồn tại server trung tâm, các peer đóng vai trò của cả server và client. Gnutella và Freenet là 2 ví dụ điển hình cho mô hình thuần P2P. Trong mô hình lai P2P, một server được sử dụng để lưu thông tin như các thông tin nhận dạng của peer hoặc để kiểm tra tính bảo mật ủy quyền Hoàng Tuấn Anh – Lớp Công Nghệ Phần Mềm A – K46 Trang 5 Đồ án tốt nghiệp Tìm hiểu và xây dựng ứng dụng P2P theo kién trúc Kademlia Hình 1.3.2: Mô hình lai P2P Hình 1.3.2 là một ví dụ về mô hình lai P2P. Để kết nối vào mạng P2P, đầu tiên các peer khởi tạo một liên lạc với server (1) để lưu giữ vị trí hoặc đặc điểm nhân dạng của peer, sau đó các peer liên lạc trực tiếp với nhau (2). Một vài ví dụ điển hình cho mô hình lai P2P bao gồm: Napster, Groover, Aimster, Magi, Softwax và iMesh… Có một vài hệ thồng mạng kết hợp cả 2 mô hình thuần P2P và lai P2P để phát triển các dự án cá nhân như: Skype, KaZaa. Giải pháp đưa ra là bên cạnh việc sử dụng một server trung tâm để xác nhân các thông tin đăng nhập của peer ra còn sử dụng các peer có public IP làm các SuperPeer (SuperNode). Các SuperPeer này có thể sẽ lưu trữ một vài thông tin hoặc không, các peer khác sẽ tìm kiếm thông tin tại các SuperPeer. Tùy thuộc vào mục đích phát triển của dự án mà có thể sử dung một trong 2 mô hình của P2P hoặc kết hợp cả 2 như một vài sự án đã nêu ở trên. Ngoài ra ta có thể đưa ra nguyên tắc phân loại các hệ thống P2P như sau: Hình 1.3.3: Nguyên tắc phân loại của các hệ thống P2P theo chức năng Các hệ thống P2P được phân thành các loại như sau: • Tính toán phân tán: SETI@home, Avaki, Entropia. • Chia sẻ file: Napster, Gnutella, Free Haven, Publius. • Cộng tác: Magi, Groove, Jabber • Platform: JXTA, .NET My Services. Dựa trên nguyên tắc như trên, ta có được một phân loại các hệ thống P2P như sau: Hoàng Tuấn Anh – Lớp Công Nghệ Phần Mềm A – K46 Trang 6 Đồ án tốt nghiệp Tìm hiểu và xây dựng ứng dụng P2P theo kién trúc Kademlia Hình 1.3.3: Phân loại của các hệ thống P2P theo chức năng Hình 1.3.3 cho thấy các hệ thống P2P rất khác biệt theo chức năng (tính toán, lưu trữ, liên lac). Trong đó, platform hỗ trợ cho tất cả phân loại chức năng khác. 1.3.1. Phân loại ứng dụng Có 3 phân loại chính cho các ứng dụng P2P bao gồm: Thực thi song song, quản lý nội dung và file, và cộng tác. Hình 1.3.1.1: Phân loại ứng dụng P2P • Thực thi song song. Các ứng dụng P2P có khả năng thực thi song song bằng cách chia sẻ công việc có quy mô lớn thành nhiều thành phần nhỏ, các thành phần này có thể được thực thi song song trên các node(peer) độc lập. Hầu hết các thực thi của mô hình này hướng vào các ứng dụng có độ tính toán cao, phức tạp và chuyên sâu. Ý tưởng cơ bản của các ứng dụng P2P loại này là Hoàng Tuấn Anh – Lớp Công Nghệ Phần Mềm A – K46 Trang 7 Đồ án tốt nghiệp Tìm hiểu và xây dựng ứng dụng P2P theo kién trúc Kademlia tận dụng sự nhàn rỗi của bất cứ máy tính nào kết nối vào mạng để có thể giải quyết các khó khăn về các tính toán đặc biệt phức tạp. Các công việc giống nhau được thực thi trên mỗi peer thì sử dụng các thiết lập khác nhau cho các tham số chuyền vào. Ứng dụng của thực thi song song trong các lĩnh vưc bao gồm: tìm kiếm sự sống ngoài trái đất (SETI@home), code breaking, định giá đầu tư, tính toán mức độ nguy hiểm, ước lượng thị trường và tài chính, và phân tích tiếng nói … Các ứng dụng thành phần vẫn chưa được thừa nhận như P2P. Mặc dù vậy, chúng ta hãy mường tượng các ứng dụng được tích hợp từ nhiều thành phần mà mỗi thành phần này được thực thi song song trên nhiều node. Cũng giống như các ứng dụng tính toán phức tạp chạy các công việc như nhau trên nhiều peer, các ứng dụng thành phần chạy các thành phần khác nhau trên mỗi peer. Ví dụ như các ứng dụng: Workflow, JavaBean, Web Services … • Quản lý nội dung và file. Các ứng dụng P2P về quản lý nội dung và file hướng vào việc lưu trữ thông tin và gửi trả thông tin từ rất nhiều peer trong mạng. Mô hình phổ biến cho lớp ứng dụng này là mô hình truyền đổi nội dung. Các ứng dụng như Napster và Gnutella cho phép các peer tìm kiếm và tải các file, chủ yếu là các file nhạc, từ các peer khác. Các ứng dụng này không hướng nhiều vào khả năng cùng cấp cũng như việc phục hồi và trả về các file khi tải về bị lỗi. Chúng hướng tới việc tận dụng số lượng lớn không gian lưu trữ không được sử dụng như một server cho người dùng. Các ứng dụng này đảm bảo độ tin cậy bằng vịệc sử dụng nhiều công nghệ lưu trữ tryền thống để tái tạo dữ liệu. Một số dự án nghiên cứu khảo sát nền móng của hệ thống file P2P đã dẫn tới sự ra đời của các ứng dụng sàng lọc và khai phá như OpenCOLA và JXTA Search. Thay vì hướng vào thông tin chia sẻ, các ứng dụng này hướng tới công nghệ sàng lọc cộng tác tích hợp khả năng tìm kiếm chỉ số trên một mạng peer. Công nghệ JXTA Search có thể kết hợp với một ứng dụng như Gnutella để tăng hiệu quả tìm kiếm trên một diện rộng hơn, nội dung bị phân tán lớn hơn. • Cộng tác. Các ứng dụng P2P cộng tác cho phép người dùng có thể cộng tác với nhau trong thời gian thực mà không cần thông qua một server trung tâm Hoàng Tuấn Anh – Lớp Công Nghệ Phần Mềm A – K46 Trang 8 Đồ án tốt nghiệp Tìm hiểu và xây dựng ứng dụng P2P theo kién trúc Kademlia để thu thập và sắp xếp thông tin. Instant messaging là một dạng của lớp ứng dụng này. Các dich vụ như Yahoo!, AOL, Jabber instant messaging đã trở nên rất phổ biến đối với người sử dụng. Tương tự vậy, các ứng dụng chia sẻ cho phép mọi người (ví dụ: đồng nghiệp,…) tương tác với nhau trong khi xem và sửa đổi cùng một thông tin. Buzzpad và Distributed Power Point là những ví dụ tiêu biểu cho lớp ứng dụng này. Game là một dạng khác của lớp ứng dụng P2P cộng tác. Các game P2P được tổ chức trên tất cả các peer và cập nhật được phân tán tới tất cả các peer mà không cần gửi yêu cầu tới server trung tâm. Ví dụ như các game: NetZ1.0, Scour Exchange, Descent, Cybiko,… 1.3.2. Môi trường P2P hường tới Những môi trường hướng tới cho P2P gồm có: Internet, Intranets và ad-hoc networks. Các hệ thống P2P kết nối với mạng Internet bằng đường dial up, băng thông rộng (DSL), ….Kiến trúc cơ bản dựa trên máy tính cá nhân, máy để bàn, máy sách tay, các thiết bị cầm tay, … Môi trường thường xuyên nhất là máy tính cá nhân có kết nối Internet. Do đó, các hệ thống P2P ngày nay chủ yếu hướng vào lĩnh vực chia sẻ nội dung. Tính toán phân tán trong kiến trúc P2P cũng đã bắt đầu trên những máy để bàn có kết nối Internet như dự án SETI@home những cũng đã đạt được thành công nhất định trong mạng Intranet như dự án DataSynapse. Đối với các mạng ad-hoc của các thiết bị cầm tay mới chỉ phát triển các ứng dụng cộng tác Trong tương lai, môi trường cho hệ thống P2P sẽ có khả năng được mở rộng hơn và có thể triển khai nhiều loại ứng dụng trên các môi trường khác nhau. Thêm vào đó, Internet2 được đưa ra sẽ hỗ trợ tốt hơn cho các hệ thống P2P và các ứng dụng P2P. 1.4. Các thành phần và thuật toán trong mạng P2P 1.4.1. Các thành phần cơ sở. Hệ thống P2P gồm nhiều thành phần cơ sở được phân theo từng lớp như sau: Hoàng Tuấn Anh – Lớp Công Nghệ Phần Mềm A – K46 Trang 9 Đồ án tốt nghiệp Tìm hiểu và xây dựng ứng dụng P2P theo kién trúc Kademlia Hình 1.4.1.1: Kiến trúc hệ thống P2P không chính thức • Liên lạc. Mô hình P2P hội tụ nhiều kiểu liên lạc. Từ những máy tính để bàn kết nối Internet tốc độ cao và ổn định cho tới những thiết bị không dây nhỏ gọn như các máy PDA hoặc ngay cả những thiết bị cảm biến kết nối kiểu ad- hoc theo dạng không dây tốc độ trung bình. Khó khăn chủ yếu của liên lạc trong một cộng đồng P2P là khắc phục những vấn đề về các peer động. Cả các nhóm peer cố định (ví dụ như người dùng tắt máy) và các nhóm peer không cố định (ví dụ lỗi ở các đường kết nối mạng, đường dial up) thường xuyên thay đổi. Và để duy trì kết nối với lớp ứng dụng trong một môi trường là một trong những khó khăn lớn nhất đối với những nhà phát triển P2P. • Quản lý nhóm. Quản lý nhóm peer bao gồm phát hiện ra các peer khác nhau, định vị và định tuyến giữa các peer. Việc phát hiện ra các peer có thể được quy về tập chung như trong hệ thống Napster hoặc có thể là phân tán như trong hệ thống Gnutella hoặc kết hợp cả 2 giải pháp. Trong các mạng P2P có một số thành phần tác động tới việc thiết kế các thuật toán tìm kiếm, phát hiện. Ví dụ như mobile, các thiết bị không dây có thể phát hiện ra các Hoàng Tuấn Anh – Lớp Công Nghệ Phần Mềm A – K46 Trang 10 [...]... trúc P2 P nào thì các thành phần đặc tả ứng dụng được đưa ra từ chức năng của mỗi l p ứng dụng P2 P Bản danh mục được p dụng cho các ứng dụng song song hoặc các ứng dụng tính toán phức t p Đánh dấu dữ liệu được p dụng cho các ứng dụng quản lý file và nội dung Bản tin được p dụng cho các ứng dụng cộng tác • Đặc tả ứng dụng Các công cụ, các ứng dụng và các dịch vụ thực hiện các chức năng đặc tả ứng dụng. .. – L p Công Nghệ Phần Mềm A – K46 Trang 16 Đồ án tốt nghi p Tìm hiểu và xây dựng ứng dụng P2 P theo kién trúc Kademlia xác thực, môic peer sẽ thiết l p thông tin khác nhau Vif vậy, nếu một thư mục không được tìm thấy tại một xác thực thì có thể sử dụng thông tin định tuyến cho xác thực thứ 2 để tìm thông tin được yêu cầu • Tapestry và Pastry khá là giống nhau và đều dựa trên ý tưởng của một lưới Plaxton... kiến trúc tăng khả tăng mở rộng mạng hơn, tài nguyên được phân phối nhiều hơn, các ứng dụng được mở rộng hơn … 1.5.3 Khả năng giấu thông tin Hoàng Tuấn Anh – L p Công Nghệ Phần Mềm A – K46 Trang 20 Đồ án tốt nghi p Tìm hiểu và xây dựng ứng dụng P2 P theo kién trúc Kademlia Một mục đích quan trọng của khả năng giấu thông tin là cho ph p người dùng sử dung hệ thống mà không cần quan tâm tới tính h p ph p. .. Dùng các bí danh 6) S p x p không tự nghuyện Các kỹ thuật trên đã được sử dụng trên mỗi hệ thông P2 P với các mục đích riệng Bảng sau mô tả các kỹ thuật đã được sử dụng trên các hệ thống P2 P Hoàng Tuấn Anh – L p Công Nghệ Phần Mềm A – K46 Trang 21 Đồ án tốt nghi p Tên dự án Tìm hiểu và xây dựng ứng dụng P2 P theo kién trúc Kademlia Các dạng và kỹ thuật che dấu thông tin Người thiết l p Người đọc Server... tính toán … Napster giải quyết vấn đề về khả năng co giãn mạng bằng việc cho ph p các peer trực ti p tải file nhạc từ các peer khác có thông tin lưu trữ trong thư mục trung tâm Kết quả là số lượng peer trọng mạng Napster có thể lên tới 6 triệu peer Mạng Hoàng Tuấn Anh – L p Công Nghệ Phần Mềm A – K46 Trang 19 Đồ án tốt nghi p Tìm hiểu và xây dựng ứng dụng P2 P theo kién trúc Kademlia SETI@home hướng vào... L p Công Nghệ Phần Mềm A – K46 Trang 13 Đồ án tốt nghi p Tìm hiểu và xây dựng ứng dụng P2 P theo kién trúc Kademlia Hình 1.4.2.2.1: Thuật toán tràn yêu cầu Mô hình này được phát triển bởi Gnutella Nó yêu cầu một số lượng lớn băng thông của mạng và vì vậy mà không chứng tỏ được khả năng co giãn của nó, tuy nhiên nó rất phù h p cho việc phát triển các mạng công ty Một vài công ty đã phát triển các phần... Sự phân tán vốn dĩ của các mạng peer tạo ra khó khăn cho nó để đảm bảo tính tin cậy Giải ph p thông thường nhất cho việc đảm bảo mức độ tin cậy của các hệ thống P2 P là tận dụng những lợi ích của các thông tin l p Ví dụ, trong trường h p các ứng dụng tính toán phức t p đang thực hiện một tác vụ thì g p một lỗi, Hoàng Tuấn Anh – L p Công Nghệ Phần Mềm A – K46 Trang 11 Đồ án tốt nghi p Tìm hiểu và xây dựng. .. của nó cho phù h p với kiểu tìm kiếm Kết quả là, làm giảm lưu thông mạng, giảm thông tin thừa 1.5.5 Chi phí của sở hữu Một trong những tiền đề của P2 P là chia sẻ quyền sở hữu Chia sẻ quyền sở hữu là giảm chi phí của việc sở hữu hệ thống và nội dung và chi phí để duy trì Hoàng Tuấn Anh – L p Công Nghệ Phần Mềm A – K46 Trang 23 Đồ án tốt nghi p Tìm hiểu và xây dựng ứng dụng P2 P theo kién trúc Kademlia. .. kết h p sẽ đ p trả một nhóm peer Liên lạc Hoàng Tuấn Anh – L p Công Nghệ Phần Mềm A – K46 Trang 25 Đồ án tốt nghi p Tìm hiểu và xây dựng ứng dụng P2 P theo kién trúc Kademlia giữa các peer trong các nhóm khác nhau thì thiết l p lên một kết h p c p độ cao hơn Trong các hệ thống kết h p phân tán như Gnutella và Freenet, không có kết h p trung tâm, liên lạc được điều khiển riêng rẽ bởi mỗi peer Tiêu biểu,... bởi Napster Trong mô hình này, các peer kết nối với thư mục trung tâm để thiết l p thông tin về nội dung chia sẻ Có thể minh họa như sau: Hoàng Tuấn Anh – L p Công Nghệ Phần Mềm A – K46 Trang 12 Đồ án tốt nghi p Tìm hiểu và xây dựng ứng dụng P2 P theo kién trúc Kademlia Hình 1.4.2.1.1: Thuật toán thư mục trung tâm Trên yêu cầu từ một peer, chỉ mục trung tâm sẽ đối sánh yêu cầu đó với peer phù h p nhất . Công Nghệ Phần Mềm A – K46 Trang 8 Đồ án tốt nghi p Tìm hiểu và xây dựng ứng dụng P2 P theo kién trúc Kademlia để thu th p và s p x p thông tin. Instant messaging là một dạng của l p ứng dụng. toán cao, phức t p và chuyên sâu. Ý tưởng cơ bản của các ứng dụng P2 P loại này là Hoàng Tuấn Anh – L p Công Nghệ Phần Mềm A – K46 Trang 7 Đồ án tốt nghi p Tìm hiểu và xây dựng ứng dụng P2 P theo. 5 Đồ án tốt nghi p Tìm hiểu và xây dựng ứng dụng P2 P theo kién trúc Kademlia Hình 1.3.2: Mô hình lai P2 P Hình 1.3.2 là một ví dụ về mô hình lai P2 P. Để kết nối vào mạng P2 P, đầu tiên các peer

Ngày đăng: 24/04/2015, 22:13

Từ khóa liên quan

Mục lục

  • Chương 1: TỔNG QUAN VỀ PEER-TO-PEER (P2P)

    • 1.1. Lịch sử hình thành

    • 1.2. Mạng máy tính P2P

    • 1.3. Phân loại P2P

      • 1.3.1. Phân loại ứng dụng

      • 1.3.2. Môi trường P2P hường tới

      • 1.4. Các thành phần và thuật toán trong mạng P2P

        • 1.4.1. Các thành phần cơ sở.

        • 1.4.2. Các thuật toán

          • 1.4.2.1. Mô hình thư mục trung tâm

          • 1.4.2.2. Mô hình tràn yêu cầu

          • 1.4.2.3. Mô hình định tuyến thư mục

          • 1.5. Một số tính chất của mạng P2P

            • 1.5.1 Phân tán quyền

            • 1.5.2. Khả năng co giãn

            • 1.5.3. Khả năng giấu thông tin

            • 1.5.4. Tự tổ chức

            • 1.5.5. Chi phí của sở hữu

            • 1.5.6. Kết nối không dự tính

            • 1.5.7. Tính thực thi

            • 1.5.8. Bảo mật

            • Chương 2: Kademlia

              • 2.1. Giới thiệu

                • 2.1.1. Chord

                  • 2.1.1.1. Kiến trúc hệ thống Chord

                  • 2.1.1.2. Điểm yếu của hệ thống Chord

                  • 2.1.2. Ý tưởng cơ bản của hệ thống Kademlia

                  • 2.2. Mô tả hệ thống

Tài liệu cùng người dùng

Tài liệu liên quan