Chương 1 Tổng quan về mạng ngang hàng 1.1 Giới thiệu về mạng ngang hàng Mạng ngang hàng (Peer–to–Peer network, P2P network ) là một loại hệ thống phân tán phi tập trung trong đó các nút mạng (được gọi là các peer ) đóng vai trò vừa máy chủ vừa là máy khách trong mô hình khách–chủ. Nghĩa là, các peer có thể yêu cầu tài nguyên từ các peer khác và cũng có thể trả lời các yêu cầu tại cùng một thời điểm. Điều này trái ngược với mô hình khách–chủ truyền thống, mà ở đó chỉ có máy khách gửi yêu cầu đến một (hoặc một vài) máy chủ và (các) máy chủ sẽ trả lời các yêu cầu đó. Với cách tiếp cận theo mô hình khách–chủ, hiệu năng của toàn bộ hệ thống sẽ giảm xuống khi số lượng các máy khách (có yêu cầu các dịch vụ) tăng lên.
Trong khi đó, đối với mạng ngang hàng, hiệu năng trong toàn mạng càng tăng lên khi số lượng các máy (peer ) được thêm vào mạng càng nhiều. Các peer có thể tự tổ chức thành các nhóm, trong các nhóm đó chúng giao tiếp, cộng tác và chia sẻ băng thông với nhau giúp nhau hoàn thành các công việc mong muốn. Ví dụ, trong hệ thống chia sẻ tệp tin ngang hàng, mỗi peer có thể tải lên và tải xuống các tệp tin cùng một lúc và trong các tiến trình như vậy, các peer mới có thể tham gia vào nhóm và các peer cũ có thể rời đi bất cứ lúc nào. Việc tổ chức nhóm các peer này được thực hiện một cách tự động và trong suốt với người 4 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.1: Kiến trúc khách – chủ dùng.2 Sự tiến hóa của cấu trúc mạng 1.1 Kiến trúc khách–chủ Ngày nay, có rất nhiều ứng dụng chạy trên mạng Internet như WWW, FTP, Email,.
sử dụng kiến trúc khách–chủ (Client–Server Architecture)(Hình 1. Đối với kiến trúc này, các máy khách yêu cầu và nhận các dịch vụ từ (các) máy chủ. Mọi nội dung, tài nguyên và dịch vụ được lưu trữ và cung cấp bởi máy chủ. Các tài nguyên có thể được phát hiện và sử dụng một cách hiệu quả bằng việc truy vấn đến (các) máy chủ tập trung nếu như chúng có đủ khả năng phục vụ mọi yêu cầu của tất cả máy khách tại cùng một thời điểm.
Tuy nhiên, sự tập trung của kiến trúc khách–chủ gây ra hàng loạt các vấn đề mà nguyên nhân chính là sự giới hạn về tài nguyên như băng thông, khả năng tính toán, tốc độ đọc/ghi dữ liệu và không gian lưu trữ ở phía máy chủ. Các máy chủ có thể bị quá tải nếu nhận được quá nhiều yêu cầu từ phía các máy khách. Để khắc phục các hạn chế này, người ta cần phải nâng cấp, bổ sung thêm các tài nguyên cho các máy chủ. Nhưng chi phí cho việc nâng cấp và bổ sung này cực kỳ đắt đỏ.
Ví dụ, cụm máy chủ của Google cần hơn 200.000 máy chủ chỉ để thực hiện dịch vụ đánh chỉ số website (Web indexing) [8]. Hơn nữa, sự tập trung của kiến trúc khách–chủ cũng dẫn đến các điểm lỗi 5 LUAN VAN CHAT LUONG download : add luanvanchat@agmail. Nếu các máy chủ tập trung bị tháo gỡ hoặc không làm việc thì không có bất kỳ máy chủ nào khác có thể thay thế những máy chủ đó và mọi dịch vụ trên các máy chủ này có thể bị mất.2 Kiến trúc lưới Điện toán lưới (Grid Computing) đang nổi lên nhanh chóng từ lĩnh vực khoa học và học thuật cho đến công nghiệp và thương mại. Các hệ thống điện toán lưới hiện nay là ví dụ nổi bật nhất của kiến trúc khách–chủ trong việc tính toán phân tán.
Viễn cảnh của điện toán lưới là cung cấp các tính toán hiệu năng cao và cơ sở hạ tầng dữ liệu hỗ trợ linh hoạt, an toàn và cộng tác trong việc chia sẻ tài nguyên giữa các cá nhân và tổ chức được biết đến với cái tên là “tổ chức ảo” (virtual organization). Trọng tâm của kiến trúc lưới là khả năng tích hợp các nguồn cung cấp tài nguyên và người dùng để thiết lập quan hệ chia sẻ (sharing relationship), cái mà cần phải có giao thức chung tại mỗi lớp của kiến trúc. Nó được thiết kế để cung cấp các truy cập liên tục và thống nhất vào các nguồn tài nguyên quan trọng mà không cần phải xem xét vị trí địa lý của chúng. Các tài nguyên trong lưới có thể là các siêu máy tính hiệu năng cao có không gian lưu trữ lớn, các cảm biến, phần mềm ứng dụng và dữ liệu của các tổ chức khác nhau được kết nối thông qua Internet.
Lưới cung cấp cơ sở hạ tầng cho phép các tổ chức độc lập, riêng rẽ trở thành các tổ chức ảo chia sẻ tài nguyên và cộng tác để giải quyết các vấn đề chung.3 Kiến trúc ngang hàng Mạng ngang hàng là một hệ thống phân tán phi tập trung và cho phép các máy tính chia sẻ và tích hợp các tài nguyên, dữ liệu và các dịch vụ lẫn nhau. Mặc dù khái niệm ngang hàng và lưới có rất nhiều đặc điểm giống nhau nhưng chúng được đề xuất để giải quyết các vấn đề khác nhau. i) Mạng ngang hàng 6 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com thường áp dụng cho một loạt các công nghệ, cái mà có thể làm tăng một cách nhanh chóng việc sử dụng các tài nguyên ở rìa của mạng Internet như: thông tin, băng thông, khả năng tính toán. ii) Điện toán lưới thì tập trung vào việc thúc đẩy khả năng mở rộng và tương tác giữa các ứng dụng, các nền tảng khác nhau [2].
Ngược lại với mô hình lưới đã có, kiến trúc ngang hàng không phụ thuộc vào bất kỳ máy chủ tập trung nào để cung cấp các dịch vụ. Kiến trúc ngang hàng đề xuất một sự thay thế hoàn hảo cho mô hình lưới đã có, đặc biệt là trong các ứng dụng phân tán có phạm vi lớn. Trong mô hình ngang hàng, mỗi máy (peer ) thực hiện nhiệm vụ của cả máy khách và máy chủ, yêu cầu tài nguyên bằng cách gửi đi các truy vấn và phục vụ tài nguyên cho các máy khác. Mạng ngang hàng là một mạng chồng lấn logic trên cơ sở hạ tầng của mạng vật lý, nó cung cấp một môi trường ảo cho phép các lập trình viên dễ dàng thiết kế và cài đặt các môi trường truyền thông và các giao thức riêng trên các mạng đã có.
Sự phổ biến của mạng ngang hàng được tăng theo cấp số nhân vì những lợi ích mà nó mang lại cho người dùng cuối (end–user ). Phân loại mạng ngang hàng và chỉ ra ưu, nhược điểm của nó sẽ được trình bày trong phần tiếp theo.3 Phân loại Có nhiều tiêu chí để phân loại các mạng ngang hàng. Trong số đó, phân loại mạng ngang hàng theo mức độ tập trung là tiêu chí hay được dùng nhất. Theo tiêu chí này, mạng ngang hàng sẽ được phân chia thành từng loại mạng riêng biệt và đi kèm với đó là ví dụ về các mạng cụ thể, đã và đang hoạt động, đại diện cho từng loại.
Có rất nhiều loại mạng ngang hàng thú vị như các hệ thống chia sẻ tệp tin, nhắn tin, truyền giọng nói trên giao thức IP (Voice over Internet Protocol, VoIP ), tính toán hiệu năng cao, tìm kiếm,. Trong số các mạng ngang hàng đã 7 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com và đang được sử dụng có thể được chia thành hai loại dựa theo tiêu chí mức độ tập trung của mạng: mạng ngang hàng tập trung và mạng ngàng hàng phi tập trung [3]. • Mạng ngang hàng tập trung: Mặc dù, mô hình ngang hàng được xem như là ngược lại với mô hình khách–chủ tập trung nhưng thế hệ đầu tiên của các hệ thống mạng ngang hàng vẫn bắt đầu với khái niệm tập trung. Tuy nhiên, ngược lại với các hệ thống khách–chủ truyền thống, các máy chủ trong mạng ngang hàng chỉ giữ các thông tin mô tả (meta–information) về các tài nguyên được chia sẻ trong mạng mà không lưu trữ nội dung của chúng.
Mạng ngang hàng tập trung rất đơn giản, thao tác định vị dữ liệu cũng rất nhanh chóng và hiệu quả. Nhưng chúng cũng rất dễ bị kiểm duyệt cũng như bị tấn công. Ngoài ra, chính sự tồn tại của máy chủ tập trung nên các mạng loại này có ít nhất một điểm SPOF. Đồng thời, chúng không có khả năng mở rộng vì hạn chế của cơ sở dữ liệu và khả năng phục vụ của máy chủ tập trung.
Bởi vì, cần phải cập nhật cơ sở dữ liệu ở máy chủ một cách liên tục hoặc theo chu kỳ. Napster và BitTorrent là hai ứng dụng tiêu biểu cho hệ thống mạng ngang hàng tập trung. • Mạng ngang hàng phi tập trung: Để giải quyết các vấn đề của mạng ngang hàng tập trung như khả năng mở rộng, SPOF và các vấn đề pháp lý,. mạng ngang hàng phi tập trung đã ra đời và được sử dụng rộng rãi.
Loại mạng này không hề sử dụng bất kỳ trung tâm điều khiển nào. Các nút trong mạng là tương đương nhau về chức năng. Ta biết rằng khả năng mở rộng của bất kỳ một hệ thống nào cũng đều bị hạn chế bởi số lượng các thao tác tập trung cần thiết. Do đó, để mở rộng 8 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com mạng thì cần phải tránh sử dụng các trung tâm hoặc các máy chủ.
Chính vì không sử dụng các máy chủ hoặc các trung tâm điều khiển nên mạng ngang hàng phi tập trung có khả năng mở rộng cực kỳ lớn. Loại mạng này có khả năng chịu lỗi rất tốt, không có SPOF và việc bổ sung các peer mới vào mạng cũng rất dễ dàng. Mức độ tự trị trên các dữ liệu và tài nguyên là rất cao. Tuy nhiên, việc khôi phục dữ liệu trong hệ thống khi bị lỗi là rất chậm và chất lượng dịch vụ không cao và do thiếu thông tin về toàn bộ mạng nên việc dự đoán hành vi của toàn bộ mạng là rất khó khăn.
Gnutella và FreeNet là hai loại mạng cài đặt mô hình mạng ngang hàng phi tập trung.4 Tìm kiếm trên mạng ngang hàng Do việc tìm kiếm tài nguyên và các dịch vụ trong điện toán lưới giống với việc tìm kiếm các tài nguyên trong mạng ngang hàng nên các phương pháp tìm kiếm trong mạng ngang hàng cũng được áp dụng giống với các hệ thống điện toán lưới có kích thước lớn. Hệ thống tìm kiếm trong mạng ngang hàng được chia thành hai loại: tìm kiếm có cấu trúc và tìm kiếm không có cấu trúc, tương ứng với hai loại tìm kiếm này chúng ta cũng có hai loại cấu trúc mạng ngang hàng là: mạng ngang hàng có cấu trúc và mạng ngang hàng không có cấu trúc.