Đồ án Xây dựng ứng dụng dựa trên mạng ngang hàng

Tốc độ phát triển của công nghệ đã mang đến cho người dùng cuối những ứng dụng, tiện ích miễn phí và chất lượng hơn. Nhưng dù công nghệ thay đổi, biến chuyển thế nào, nhu cầu chia sẻ dữ liệu vẫn luôn cần thiết đối với tất cả mọi người. Con người sử dụng mạng Internet chính là để tìm kiếm thông tin, thông tin thì có trong rất nhiều định dạng. Trong thời gian gần đây, chia sẻ file ngang hàng đã nổi lên như một lĩnh vực ứng dụng chiếm tỉ lệ sử dụng băng thông lớn trong mạng Internet. Bắt đầu từ hiện tượng Napster vào cuối những năm 90, sự phổ biến của các chương trình chia sẻ file ngang hàng như Gnutella, Freenet, Kazzaa đã tạo nên một xu hướng phát triển mạnh mẽ việc chia sẻ nội dung trong cộng đồng người dùng Internet. Hệ thống mạng ngang hàng và các ứng dụng chia sẻ file ngang hàng cũng trở thành một đề tài thu hút được nhiều sự quan tâm, nghiên cứu của các nhà khoa học. Các hệ thống chia sẻ file ngang hàng đang ngày càng phổ dụng nhờ những lợi điểm rõ rệt so với hình thức chia sẻ file trên nền Web theo kiến trúc client - server. Tuy nhiên, các ứng dụng chia sẻ file ngang hàng phổ biến hiện nay trên Internet vẫn còn một hạn chế lớn. Chúng mới chỉ cho phép người dùng tìm kiếm file theo tên hay gọi chung là định danh chứ chưa có chức năng truy xuất theo nội dung. Mục đích của khóa luận tốt nghiệp này là khai thác những thành tựu mới nhất của công nghệ truy xuất thông tin để xây dựng một ứng dụng chia sẻ file ngang hàng có chức năng tìm kiếm theo nội dung. Hệ thống được xây dựng theo mô hình mạng ngang hàng lai ghép, một sự kết hợp giữa phương thức trao đổi trực tiếp không thông qua trung gian với giải pháp sử dụng máy chủ tìm kiếm. Chiến lược quản lý tập trung dựa trên máy chủ tìm kiếm giúp khắc phục những khó khăn trong việc tìm kiếm thông tin phân tán. Máy chủ tìm kiếm không chứa nội dung các file. Nó chỉ cho biết ứng với mỗi từ khóa cho trước có những file nào và chúng nằm ở đâu trong số các điểm nút tham gia vào hệ thống. Chương trình được phát triển bằng ngôn ngữ lập trình Java với những tính năng tìm kiếm theo nội dung được phát triển dựa trên thư viện mã nguồn mở Lucene. Luận văn này sẽ xây dựng ứng dụng dựa trên mạng ngang hàng. Luận văn được chia thành 5 chương •Chương 1: Tổng quan về mạng chia sẻ file ngang hàng. •Chương 2: Mô tả một số phương pháp, kỹ thuật tạo chỉ mục cho tài liệu và tìm kiếm dựa trên chỉ mục. •Chương 3: Giải pháp xây dựng ứng dụng. •Chương 4: Cài đặt chương trình. •Chương 5: Kết quả thực hiện chương trình.

doc69 trang | Chia sẻ: nhungnt | Lượt xem: 4114 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Đồ án Xây dựng ứng dụng dựa trên mạng ngang hàng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
MỤC LỤC MỤC LỤC 1 LỜI CẢM ƠN 3 MỞ ĐẦU 4 Chương 1: TỔNG QUAN VỀ MẠNG CHIA SẺ FILE NGANG HÀNG 6 1.1. Giới thiệu về mạng ngang hàng (peer to peer – P2P) 6 1.1.1. Khái niệm cơ bản 6 1.1.2. Đặc điểm của các mạng ngang hàng 7 1.1.3. Tiện ích mạng P2P mang lại. 7 1.1.4. Những khó khăn trong thiết kế mạng ngang hàng 8 1.1.5. Phân loại các ứng dụng mạng ngang hàng 9 1.2. Mô hình mạng P2P 9 1.2.1. Mô hình tập trung 9 1.2.2. Mô hình phân tán. 12 1.3. Ưu, nhược điểm của P2P 13 1.3.1. Ưu điểm 13 1.3.2. Nhược điểm 14 1.4. Một số ứng dụng chia sẻ file ngang hàng 14 1.4.1. Hoạt động của Napster 15 1.4.2. Hoạt động của Gnutella 16 1.4.3. So sánh Gnutella và Napster 17 1.5. Một số nghiên cứu lý thuyết 18 Chương 2: MÔ TẢ MỘT SỐ PHƯƠNG PHÁP, KỸ THUẬT TẠO CHỈ MỤC CHO TÀI LIỆU VÀ TÌM KIẾM DỰA TRÊN CHỈ MỤC 20 2.1. Tổ chức chỉ mục tìm kiếm 20 2.2. Tạo chỉ mục 20 2.3. Tìm kiếm dựa trên chỉ mục 22 2.4. Xếp hạng kết quả tìm kiếm 23 Chương 3: GIẢI PHÁP XÂY DỰNG ỨNG DỤNG 26 3.1. Khái quát ý tưởng 26 3.2. Cấu trúc chỉ mục 29 3.3. Đánh giá giải pháp 31 Chương 4: CÀI ĐẶT CHƯƠNG TRÌNH 33 4.1. Mô tả về thư viện mã nguồn mở Lucene 33 4.1.1. Khái quát về Lucene 33 4.1.2. Tổ chức chỉ mục logic của Lucene 34 4.1.3. Xây dựng và khai thác chỉ mục trong Lucene 35 4.2 Tổ chức chương trình 36 4.2.1. Khối chức năng cơ bản 36 4.2.2. Khối giao diện người dùng. 40 4.2.3. Khối giao tiếp ngang hàng. 42 4.2.4. Sơ đồ lớp của chương trình. 44 Chương 5: KẾT QUẢ THỰC HIỆN CHƯƠNG TRÌNH 45 5.1. Tìm kiếm theo nội dung 45 5.2. Theo dõi trạng thái chia sẻ và nội dung tài liệu 48 KẾT LUẬN VÀ CÁC HƯỚNG PHÁT TRIỂN 51 Phụ lục: MÃ NGUỒN MỘT SỐ LỚP QUAN TRỌNG 52 TÀI LIỆU THAM KHẢO 67 LỜI CẢM ƠN Em xin gửi lời cảm ơn chân thành đến thầy giáo, giáo viên hướng dẫn TS. Phạm Hồng Thái và CN. Lương Việt Nguyên. Trong quá trình nghiên cứu đề tài em đã được các thầy giáo tạo điều kiện về tài liệu và kiến thức liên quan giúp em hoàn thành tốt khoá luận tốt nghiệp này. Em xin chân thành cảm ơn thầy, cô giáo trong Bộ môn Tin học trường Đại Học Dân Lập Hải Phòng, những người đã dạy và cung cấp cho em những kiến thức quý báu để em có thể dễ dàng tiếp cận những công nghệ, kỹ thuật mới trong tương lai. Xin cảm ơn bạn bè, những người đã cùng tôi sánh bước, đã đóng góp, động viên tôi những lúc gặp khó khăn, tạo điều kiện giúp tôi hoàn thành tốt khóa luận này. Hải Phòng, Tháng 8 năm 2007 Sinh viên Nguyễn Thị Hoa MỞ ĐẦU Tốc độ phát triển của công nghệ đã mang đến cho người dùng cuối những ứng dụng, tiện ích miễn phí và chất lượng hơn. Nhưng dù công nghệ thay đổi, biến chuyển thế nào, nhu cầu chia sẻ dữ liệu vẫn luôn cần thiết đối với tất cả mọi người. Con người sử dụng mạng Internet chính là để tìm kiếm thông tin, thông tin thì có trong rất nhiều định dạng. Trong thời gian gần đây, chia sẻ file ngang hàng đã nổi lên như một lĩnh vực ứng dụng chiếm tỉ lệ sử dụng băng thông lớn trong mạng Internet. Bắt đầu từ hiện tượng Napster vào cuối những năm 90, sự phổ biến của các chương trình chia sẻ file ngang hàng như Gnutella, Freenet, Kazzaa đã tạo nên một xu hướng phát triển mạnh mẽ việc chia sẻ nội dung trong cộng đồng người dùng Internet. Hệ thống mạng ngang hàng và các ứng dụng chia sẻ file ngang hàng cũng trở thành một đề tài thu hút được nhiều sự quan tâm, nghiên cứu của các nhà khoa học. Các hệ thống chia sẻ file ngang hàng đang ngày càng phổ dụng nhờ những lợi điểm rõ rệt so với hình thức chia sẻ file trên nền Web theo kiến trúc client - server. Tuy nhiên, các ứng dụng chia sẻ file ngang hàng phổ biến hiện nay trên Internet vẫn còn một hạn chế lớn. Chúng mới chỉ cho phép người dùng tìm kiếm file theo tên hay gọi chung là định danh chứ chưa có chức năng truy xuất theo nội dung. Mục đích của khóa luận tốt nghiệp này là khai thác những thành tựu mới nhất của công nghệ truy xuất thông tin để xây dựng một ứng dụng chia sẻ file ngang hàng có chức năng tìm kiếm theo nội dung. Hệ thống được xây dựng theo mô hình mạng ngang hàng lai ghép, một sự kết hợp giữa phương thức trao đổi trực tiếp không thông qua trung gian với giải pháp sử dụng máy chủ tìm kiếm. Chiến lược quản lý tập trung dựa trên máy chủ tìm kiếm giúp khắc phục những khó khăn trong việc tìm kiếm thông tin phân tán. Máy chủ tìm kiếm không chứa nội dung các file. Nó chỉ cho biết ứng với mỗi từ khóa cho trước có những file nào và chúng nằm ở đâu trong số các điểm nút tham gia vào hệ thống. Chương trình được phát triển bằng ngôn ngữ lập trình Java với những tính năng tìm kiếm theo nội dung được phát triển dựa trên thư viện mã nguồn mở Lucene. Luận văn này sẽ xây dựng ứng dụng dựa trên mạng ngang hàng. Luận văn được chia thành 5 chương Chương 1: Tổng quan về mạng chia sẻ file ngang hàng. Chương 2: Mô tả một số phương pháp, kỹ thuật tạo chỉ mục cho tài liệu và tìm kiếm dựa trên chỉ mục. Chương 3: Giải pháp xây dựng ứng dụng. Chương 4: Cài đặt chương trình. Chương 5: Kết quả thực hiện chương trình. Mặc dù đã cố gắng hết sức cùng với sự động viên giúp đỡ tận tình của thầy giáo hướng dẫn xong trình độ còn hạn chế, nội dung đề tài phức tạp, phạm vi của đề tài rộng nên khó tránh khỏi những sai sót trong quá trình làm đố án. Em rất mong được sự chỉ dẫn của thầy cô và sự góp ý của các bạn để chương trình của em được hoàn thiện hơn. Cuối cùng em xin chân thành cảm ơn sự động viên và giúp đỡ nhiệt tình của thầy hướng dẫn: TS. Phạm Hồng Thái và CN. Lương Việt Nguyên đã giúp đỡ em hoàn thành đề tài này. Hải Phòng, Tháng 8 năm 2007 Sinh viên: Nguyễn Thị Hoa Chương 1: TỔNG QUAN VỀ MẠNG CHIA SẺ FILE NGANG HÀNG 1.1. Giới thiệu về mạng ngang hàng (peer to peer – P2P) 1.1.1. Khái niệm cơ bản Mạng ngang hàng không phải là một vấn đề hoàn toàn mới. Các máy chủ dịch vụ thư điện tử (Mail servers) hoặc các máy chủ phân giải tên miền (Domain Name Servers) được kết nối với nhau tạo ra một mạng ngang hàng. Ví dụ như giữa các máy chủ thư điện tử có thể thực hiện tương tác trực tiếp với nhau. Chúng có thể gửi, nhận hoặc chuyển tiếp các email cho nhau. Tuy các dịch vụ thư điện tử hay DNS đã xuất hiện từ lâu trên Internet nhưng khái niệm mạng ngang hàng hay tính toán ngang hàng (P2P – Peer-to-Peer) thì mới được đưa ra gần đây. Mạng ngang hàng là những hệ phân tán với đặc thù là không tồn tại trong nó một cơ cấu điều khiển tập trung hoặc một tổ chức có phân cấp [16]. Trong một hệ thống thuần túy ngang hàng, chương trình chạy trên mỗi điểm nút có vai trò hoàn toàn tương đương và bình đẳng với nhau. Tính chất này đối lập hoàn toàn với kiến trúc client – server truyền thống nơi có một hoặc một số điểm nút chỉ đóng vai trò cung cấp dịch vụ (servers) và các điểm nút còn lại chỉ sử dụng dịch vụ (clients). Lợi điểm rõ rệt nhất của kiến trúc ngang hàng là khả năng tận dụng tốt hơn tài nguyên (xử lý, băng thông, lưu trữ) trong toàn mạng. Bên cạnh đó, kiến trúc này cũng giúp cho dịch vụ mạng tránh khỏi tình trạng ngừng trệ khi server gặp phải trục trặc. Tuy nhiên mô hình này cũng tồn tại nhược điểm là khó kiểm soát được trạng thái, hành vi của các điểm nút trên toàn mạng. Ngoài ra nó cũng đòi hỏi các máy khi tham gia vào một mạng ngang hàng phải có năng lực xử lý cũng như băng thông gần tương đương như nhau. Không giống như trong kiến trúc client – server, hiệu suất hoạt động chung của mạng ngang hàng có xu hướng tăng lên khi gia tăng số điểm nút tham gia. Hiệu suất này cũng phụ thuộc vào từng ứng dụng mạng cụ thể, vào giao thức ngang hàng và cấu hình mạng (topology). 1.1.2. Đặc điểm của các mạng ngang hàng Các mạng ngang hàng ngày nay thường mang một số đặc trưng phổ biến sau:  Các điểm nút trong mạng có thể nhận biết lẫn nhau. Nghĩa là có một cơ chế nào đó giúp cho một điểm nút khi tham gia vào mạng có thể xác định một máy khác cũng là thành viên của mạng. Từ đó chúng có thể định vị được nhau, gửi thông điệp tới nhau và nhận thông điệp từ nhau.  Các điểm nút tạo ra một mạng kết nối ảo và ở một mức trừu tượng cao hơn so với các cơ cấu tổ chức như: tường lửa (firewall), NAT (Network Address Translation), mạng con (subnet). Mỗi điểm nút có thể nằm trong các mạng con khác nhau, chịu những cơ chế tổ chức, kiểm soát và giới hạn hoàn toàn riêng biệt. Tuy nhiên khi đã tham gia vào mạng, chúng sẽ tổ chức được những mối liên kết logic với nhau thông qua việc sử dụng các dịch vụ hoặc chạy các ứng dụng ở tầng cao hơn so với những cơ chế vừa được nhắc tới. Tạo ra một mạng kết nối logic giữa những điểm nút bị biệt lập hóa trong các mạng riêng biệt chính là ý tưởng xuyên suốt nhất của kiến trúc ngang hàng.  Mỗi điểm nút tự nó có thể vừa đóng vai trò của client vừa đóng vai trò của server. Điều này thể hiện rõ vai trò bình đẳng và độc lập của từng điểm nút. Mọi điểm nút vừa có thể cung cấp dịch vụ cho các điểm nút khác vừa có thể sử dụng dịch vụ của một hay nhiều điểm nút còn lại.  Xuất hiện một số nhóm điểm nút liên kết với nhau để chia sẻ dữ liệu và cộng tác với nhau trong xử lý. Đây là sự tổ hợp lại các điểm nút có những mối liên hệ chặt chẽ và mang tính tương tác gần gũi hơn trong quá trình hoạt động của ứng dụng mạng. 1.1.3. Tiện ích mạng P2P mang lại. Giúp cho người dùng dễ dàng tìm được dữ liệu cần thiết. Tận dụng được tiện ích tổng hợp: Nơi lưu trữ, thông tin và chi phí tính toán được phân phối giữa các PEER, làm các máy tính tham gia vào mạng sẽ dễ dàng có được thông tin yêu cầu. Tăng độ tin cậy. Chứa đựng rất nhiều thông tin: Trong mạng P2P có rất nhiều các máy tính tham ra vào, bản thân mỗi máy tính đã chứa nhiều thông tin, trong khi đó các công cụ tìm kiếm chỉ có thể nắm bắt được khoảng 20% nội dung của các Website. 1.1.4. Những khó khăn trong thiết kế mạng ngang hàng  Cân đối băng thông: Trong phần lớn các ứng dụng chạy trên mạng ngang hàng, do mỗi điểm nút đều đóng cả hai vai trò: client và server nên tỉ lệ sử dụng băng thông đầu ra (outbound bandwidth) và băng thông đầu vào (inbound bandwidth) tại từng điểm nút là tương đối cân bằng. Tuy nhiên các nhà cung cấp dịch vụ mạng (ISPs) lại thường triển khai các mạng không đối xứng trong đó dành sự ưu tiên cho phần băng thông đầu vào. Ví dụ một số ISP của các mạng DSL hỗ trợ 1.5Mbps băng thông đầu vào nhưng chỉ có 128Kbps cho băng thông đầu ra. Cho dù băng thông tổng cộng của kết nối vật lý có được mở rộng thì hạ tầng kỹ thuật của các ISP vẫn sẽ chủ yếu hỗ trợ cơ chế bất đối xứng. Giải pháp triệt để cho vấn đề này có thể đến từ sự cộng tác giữa các ISP và khách hàng bằng việc triển khai những thiết bị mạng chuyên dụng.  Tổ chức không gian tên: Việc đặt tên cho các website được thực hiện thông qua hệ thống phân cấp của dịch vụ phân giải tên miền (DNS). Tuy nhiên trong các mạng ngang hàng không tồn tại một cơ chế tương tự. Không như các máy chủ dịch vụ web, các điểm nút trong mạng ngang hàng không tồn tại ở trạng thái tĩnh. Thời điểm và khoảng thời gian tham gia vào mạng của mỗi điểm nút cũng ko thể xác định được. Công việc tạo ra một tên (định danh) duy nhất cho các đối tượng, thành phần của mạng phải được thực hiện bởi chính người phát triển ứng dụng và do đó nó phụ thuộc vào đặc thù của từng ứng dụng.  Chứng thực và kiểm tra quyền truy cập của người dùng: Nếu tất cả các file đều được đặt trên server thì sẽ dễ dàng hơn trong việc chứng thực người dùng cũng như kiểm tra quyền hạn truy cập của họ đối với dữ liệu. Tuy nhiên do tính chất phân tán của mạng ngang hàng, công việc này phải được thực hiện bởi từng điểm nút. Người phát triển khi muốn xây dựng một ứng dụng ngang hàng hoàn chỉnh cần quan tâm nhiều đến vấn đề bảo mật, chống các hành động xâm nhập trái phép làm ảnh hưởng tới dữ liệu.  Kiểm soát hành vi của người dùng: Do không thể lưu trữ tập trung thông tin về hành động của các điểm nút nên rất khó kiểm soát được những hành động đó. Lấy ví dụ trong một mạng chia sẻ file ngang hàng, người dùng có thể thực hiện một trong những hành vi không thực sự phù hợp như sau:  Không chia sẻ bất kỳ file nào trên máy mình.  Chia sẻ các file bị lỗi.  Chia sẻ các file chứa mã nguy hiểm, virus.  Chia sẻ các file mà nội dung của nó chắc chắn không được bất kỳ ai quan tâm.  Không cho phép các điểm nút khác tải về những file được chia sẻ trên máy mình. Nếu tất cả các điểm nút tham gia đều thực hiện những hành vi tiêu cực như trên thì hoạt động của mạng ngang hàng thực sự không hiệu quả và kém an toàn. Tùy thuộc vào từng ứng dụng cụ thể, người thiết kế và phát triển phải thiết lập những cơ chế kiểm soát hành vi của các điểm nút để bảo đảm rằng chúng thực sự có những đóng góp tích cực cho cộng đồng sử dụng mạng. 1.1.5. Phân loại các ứng dụng mạng ngang hàng Các ứng dụng mạng ngang hàng có thể được phân chia thành một số nhóm như sau:  Chia sẻ file: Gnutella, FastTrack, Napster.  Chia sẻ tài nguyên phân tán: SETI@Home, Avaki, Entropia và các dự án tính toán lưới.  Phân phối nội dung: OpenCola, Blue Falcon Networks, Konitiki.  Truyền thông P2P: AOL Instant Messenger, Yahoo! Messenger, ICQ, Jabber.  Các ứng dụng cộng tác: Hive, Groove, myJXTA. 1.2. Mô hình mạng P2P 1.2.1. Mô hình tập trung Mô tả: Mạng tập trung bao gồm Server trung tâm và xung quanh Server là các máy Clients. Có 2 mô hình mạng tập trung: Single Centralized: Trong mô hình này các máy Client sẽ kết nối trực tiếp với 1 Server duy nhất. Trong mô hình này tất cả các Client là bình đẳng như nhau, các Client giao tiếp với nhau thông qua Server trung tâm.  Mô hình mạng tập trung. Cơ chế hoạt động của mô hình mạng Single Centralized: Mỗi khi một Client trong mạng yêu cầu một file nào đó thì yêu cầu sẽ được gửi đến Server, Server nhận yêu cầu và xử lý yêu cầu, nếu trong database của Server có thông tin về file đó, nó sẽ thông báo cho Client, sau đó bên có và bên xin để bắt đầu quá trình download. Ưu điểm của mô hình Single Centralized: Khả năng xử lý thông tin nhanh chóng, đáng tin cậy, thời gian tìm kiếm thông tin nhanh chóng và chính xác. Nhược điểm: Có thể khi có quá nhiều các yêu cầu của Client đồng loạt được gửi đến Server sẽ gây nên tình trạng quá tải của Server, khiến cho tốc độ hoạt động trung bình của hệ thống bị giảm sút. Hơn nữa khi Server trung tâm bị hỏng thì toàn bộ hệ thống sẽ ngừng hoạt động. Multiple Mini Centralized: Bao gồm nhiều Server kết nối với nhau, mỗi Server kết nối với nhiều Client. Một Client thì kết nối duy nhất với một Server, một Server sẽ kết nối với nhiều Client. Các Server có thể trao đổi thông điệp với nhau.  Mô hình mạng Multiple Mini – Centralized. Cơ chế hoạt động của mô hình mạng Multiple Mini – Centralized: Khi một Client yêu cầu file, nó sẽ gửi yêu cầu đến Server mà nó kết nối trực tiếp. Nếu trong database của nó mà có thì sẽ có thông điệp sẽ được gửi lại cho Client yêu cầu và Client có file dữ liệu đó để thiết lập download. Trong trường hợp nó không có file đó, nó sẽ gửi thông điệp đến các Server hàng xóm để tiếp tục tìm kiếm. Ưu điểm của mô hình mạng Multiple Mini – Centralized: Có nhiều Server vì vậy khả năng xử lý thông tin sẽ rất lớn, bởi vì các yêu cầu của Client sẽ được phân tán gửi đến các Server khác nhau sẽ làm giảm tải của các Server. Hơn nữa việc có nhiều Server trong mạng sẽ làm tăng hệ số an toàn cho hệ thống vì khi một trong những Server bị hỏng vẫn có thể đảm bảo mạng hoạt động ổn định với những Client không kết nối với Server đó. 1.2.2. Mô hình phân tán. Mô tả: Trong mạng P2P phân tán hoàn toàn không có vai trò của các Server, bản thân mỗi Client lại đóng vai trò của các Server. Hai mô hình mạng phân tán: Phân tán hoàn toàn (Completely decentralized index): Mạng được tạo bởi chỉ các Client, khi một Client gửi yêu cầu thông tin thì yêu cầu đó sẽ được broadcast tới toàn bộ các Client trong mạng. Ưu điểm của mạng phân tán hoàn toàn: Đây thực sự là mô hình gốc của mạng P2P, yêu cầu được gửi đến nhiều PEER tham gia vì vậy khả năng tìm thấy thông tin yêu cầu là rất lớn. Nhược điểm: Do không xử lý tập trung nên thời gian chờ đợi của mỗi PEER khi gửi yêu cầu đi là rất lớn và khả năng mất mát thông tin cũng rất lớn.  Mô hình mạng phân tán. Phân tán không hoàn toàn (Multiple semi decentralized index): Các Client có thể đóng vai trò của Server nếu cần thiết - trở thành super PEER, các Client khác sẽ gửi request đến super PEER này để tìm thông tin. Ưu điểm: Tận dụng được nguồn tài nguyên phần cứng rất lớn, tăng khả năng của toàn hệ thống lên. Khả năng các PEER có thể trở thành super PEER là không giới hạn. Nhược điểm: Việc phân chia “chức năng” giữa các PEER là rất phức tạp.  Mô hình mạng phân tán không hoàn toàn. 1.3. Ưu, nhược điểm của P2P 1.3.1. Ưu điểm Máy tính được lắp đặt tại bàn làm việc của người dùng. Người dùng tự quản lý công việc và đề ra kế hoạch bảo mật riêng. Tất cả người dùng có thể chia sẻ tài nguyên của mình theo bất cứ cách thức nào tùy ý. Những tài nguyên này gồm có dữ liệu trong các thư mục dùng chung, máy in, card Fax, modem,… Mất mát dữ liệu do sơ ý không ảnh hưởng lớn đến hệ thống. Cáp đơn giản, dễ thấy, dễ sử dụng để nối từ máy tính này đến máy tính khác trong mạng. Trong môi trường P2P mỗi máy tính phải sử dụng tài nguyên của mình để hỗ trợ cho người dùng cục bộ, sử dụng tài nguyên bổ sung để hỗ trợ cho người dùng truy cập trong mạng từ xa. Chi phí thiết lập duy trì ứng dụng thấp, mỗi máy tham gia vào mạng sẽ đóng góp một phần tài nguyên và băng thông, dữ liệu của mạng nằm trên các máy tham gia. Mạng ngang hàng giải quyết được vấn đề cân bằng tải, các máy tính chia sẻ tài nguyên của mình đồng thời nhận tài nguyên từ máy tính khác công việc được chia nhỏ đến các máy. 1.3.2. Nhược điểm Thời gian trao đổi thông tin trong P2P lớn hơn rất nhiều so với trong Client/Server. Vấn đề về bảo mật, ngoài ra còn vấn đề trong việc lưu trữ những thông tin cần thiết lâu dài. Các kết nối trong mạng ngang hàng có độ trễ cao hơn so với các kết nối TCP hoặc UDP thông thường. Việc quản lý thông tin, tạo kết nối, tìm kiếm các máy khác trong mạng phức tạp. 1.4. Một số ứng dụng chia sẻ file ngang hàng Ý tưởng về một ứng dụng chia sẻ file ngang hàng lần đầu tiên được đưa ra bởi chàng sinh viên 18 tuổi Shawn Fanning. Fanning muốn tạo ra ứng dụng kết hợp chức năng của một máy tìm kiếm (search engine) với khả năng chia sẻ file và hội thoại qua mạng. Không đầy một năm, Napster đã trở thành một site phát triển nhanh nhất trong lịch sử và là một ứng dụng cực kỳ phổ biến trên Internet. Nó cho phép người dùng có thể tìm kiếm và tải về các file nhạc một cách nhanh chóng và tiện lợi. Tuy nhiên sự phát triển bùng nổ của Napster đã dẫn đến những cuộc tranh cãi về vấn đề bảo vệ bản quyền trong ngành âm nhạc. Những cuộc tranh cãi này đã dẫn đến việc kiện tụng. Cuối cùng, Napster bị buộc phải đóng cửa và ngừng cung cấp dịch vụ. Bước đi tiên phong của Napster đã dẫn tới sự ra đời của một loạt các chương trình chia sẻ file ngang hàng khác trên mạng như Gnutella hay Freenet. Tuy nhiên, các ứng dụng này ko sử dụng server tập trung như trong Napster. Do không có một điểm trung gian cố định trong mạng nên khó có thể kết tội đối với các ứng dụng này là tiếp tay cho nạn vi phạm bản quyền. Ở đây sự tồn tại của máy chủ tìm kiếm tập trung chính là điểm khác biệt giữa hai loại ứng dụng chia sẻ file ngang hàng [13]. 1.4.1. Hoạt động của Napster Máy chủ tìm kiếm trong hệ thống Napster có trách nhiệm lưu trữ danh sách các điểm nút hiện đang tham gia vào mạng và danh sách các file hiện chúng đang chia sẻ. Trong thông điệp khởi tạo kết nối, điểm nút sẽ chuyển cho máy chủ tìm kiếm tên đăng nhập, mật khẩu, tốc độ kết nối Internet và địa chỉ cổng của tiến trình (process) chia sẻ file. Khi tìm kiếm một bài hát, điểm nút gửi đến cho máy chủ tìm kiếm một từ khóa hoặc cụm từ khóa và số lượng kết quả tối đa mà nó muốn nhận về. Máy chủ sẽ làm nhiệm vụ tìm kiếm các điểm nút hiện đang kết nối vào mạng và có khả năng đáp ứng yêu cầu. Thông tin về các điểm nút đó sẽ gửi về cho điểm nút đưa ra yêu cầu. Các thông tin gửi về sẽ bao gồm địa chỉ IP, số cổng dịch vụ và tốc độ kết nối Internet của từng điểm nút trong danh sách kết quả. Sau đó người dùng có thể chọn lựa một trong số cá

Các file đính kèm theo tài liệu này:

  • docLuan van TN_hoa2.doc
  • pptBao cao pp_hoa.ppt