Các lĩnh vực ứng dụng P2P

Một phần của tài liệu Nghiên cứu giao thức chord trong mạng peer – to – peer (Trang 23 - 29)

CHƯƠNG 1: TỔNG QUAN VỀ MẠNG PEER – TO - PEER

1.7 Các lĩnh vực ứng dụng P2P

Sự ra đời của mạng P2P đã tạo ra cách thức quản lý mới cho hàng loạt các lĩnh vực ứng dụng. Sau đây là một số lĩnh vực ứng dụng của mạng P2P như:

Giao tiếp (communication), chia sẻ file (file sharing), băng thông (bandwidth), không gian lưu trữ (storage space), các chu trình xử lý (processor cycles).

1.7.1 Communication

Sự có mặt của thông tin đóng vai trò quan trọng trong ứng dụng P2P. Nó được quyết định trong tự tổ chức mạng P2P vì nó cung cấp thông tin ngang hàng và những nguồn lực có sẵn trong hệ thống mạng. Nó cho phép các Peer thành lập liên hệ trực tiếp với Peer khác và các yêu cầu về tài nguyên. Một ví dụ phân phối rộng rãi về một ứng dụng P2P mà cơ bản sử dụng sự hiện diện thông tin là hệ thống nhắn tin trực tiếp (instant messaging).

Instant messaging:

- Thông thường, server trung tâm lưu trữ thông tin và danh sách người dùng đăng ký.

- Khi có sự giao tiếp giữa các node, việc tìm kiếm người dùng (node khác) được thực hiện trên server.

- Trong trường hợp người dùng không online, hệ thống sẽ phải lưu trữ các tin nhắn cho đến khi người dùng này online.

- Các dịch vụ điển hình: Napster, ICQ, Jabber.

Mạng Napster là mạng chia sẻ tài nguyên phân tán với máy chủ cơ sở, máy chủ không giống như truyền thống, trong nó chỉ chứa danh sách các thư mục. Các máy khách sẽ tải về và quản lý tài nguyên, trong khi đó máy chủ sẽ giữ chỉ số của tài liệu, điều khiển yêu cầu tìm kiếm của máy khách. Một máy khách gửi yêu cầu tìm kiếm của nó tới máy chủ, máy chủ sẽ tìm kiếm trong các chỉ mục nó lưu trữ và gửi danh sách phù hợp trở lại cho máy khách. Máy khách sẽ sử dụng danh sách đó để kết nối tới máy khách có chứa tài nguyên và tải về tài nguyên từ những máy khách đó, khía cạnh này không cần người phục vụ giống như khi tải xuống từ những khách hàng hay node khác. Khi máy khách kết nối với máy chủ lần đầu tiên, chúng sẽ gửi danh sách các tài nguyên mà nó đang muốn chia sẻ lên cho máy chủ, những tài nguyên này sẽ được thêm vào danh sách chỉ mục của máy chủ. Napster là hệ thống chia sẻ tài nguyên ngang hàng tập trung, có nghĩa là Napster cung cấp một máy chủ cho các máy khách để tổ chức và cho phép truy nhập tới bất kỳ hoặc tất cả các file MP3 tồn tại trên các máy khách. Hình 1.8 là mô hình mạng Napster.

Hình 1.8: Mô hình mạng Napster

1.7.2 Chia sẻ File

Có thể nói ứng dụng được sử dụng nhiều nhất của mạng P2P đó là chia sẻ file. Theo ước tính khoảng 70% lưu lượng mạng trên Internet được cho là để trao đổi các file đặc biệt là các file âm nhạc (hơn 1 tỷ các file âm nhạc được download mỗi tuần).

Đặc điểm của vấn đề chia sẻ file là các Peer có các file được download với vai trò là một Client làm cho chúng luôn sẵn sàng với các Peer khác trong vai trò của một Server.

Vấn đề chủ yếu cho mạng P2P nói chung và cho vấn đề chia sẻ file nói riêng là vấn đề tìm kiếm. Trong hệ thống chia sẻ file, có ba mô hình khác nhau được phát triển: mô hình flooded request, mô hình thư mục trung tâm và mô hình hướng tài liệu. Các mô hình này được minh hoạ qua các ứng dụng thực của mạng P2P sau: Gnutella, Naspter và FreeNet.

Mạng Gnutella là mô hình mạng P2P hoàn toàn trong chia sẻ tài nguyên, ở đó các máy kết nối vào mạng bằng cách kết nối với những máy đã tồn tại trong mạng. Hình thức này hình thành ứng dụng trên mạng vật lý. Tất cả các node trong mạng có thể quản lý tài nguyên và khôi phục tài nguyên từ node khác. Để tạo điều kiện cho việc chia sẻ tại liệu một thông báo được gửi giữa các node.

Truy vấn về tài liệu cần tìm được phát quảng bá toàn mạng và được lặp lại định tuyến ngược chở lại node đầu tiên đã đưa ra yêu cầu trong mạng. Thông báo tìm kiếm sẽ đựoc sử dụng để tìm kiếm các node. Error! Reference source not found. là mô hình mạng Gnutella.

Hình 0.8: Mạng Gnutella

Gnutella sử dụng giao thức phân tán, một nhóm của tất cả những người hiện tại đang chạy phần mềm Gnutella thông thường được tham chiếu tới như là mạng Gnutella, sẽ không có máy chủ theo nghĩa truyền thống giống như máy chủ trang web hay máy chủ thư điện tử. Mỗi máy khách của Gnuterlla là một máy chủ ( gọi là servent). Nó là một giao thức nơi mà mọi máy trong mạng đựoc kết nối tới máy khác và không có máy chủ chịu trách nhiệm cho phân phối tất cả các nội dung. Nếu một máy ra khỏi mạng, mạng không bị ảnh hưởng bởi vì tất cả các máy khác được kết nối với nhau qua nhiều kết nối khác nữa.

Trong hệ thống Naspter, có sự tập trung hoá. Khi một máy tham gia vào mạng, danh mục các file sẽ được đăng ký và lưu trữ trên Server trung tâm, khi có yêu cầu tìm kiếm, máy tính sẽ hỏi Server trung tâm về vị trí của file. Sau đó việc trao đổi file được thực hiện giữa hai máy tính với nhau.

Trong hệ thống Freenet, trong file không được lưu trữ trên đĩa cứng của các peer cung cấp chúng mà được lưu trữ ở các vị trí khác trong mạng. Mục đích của việc phát triển mạng Freenet là làm cho thông tin được lưu trữ và truy cập mà không cần biết định danh. Với các tổ chức như vậy, chủ sở hữu của một node mạng cũng không biết được tài liệu gì được lưu trữ trên đĩa cứng của máy anh ta.

Vì lý do này mà các Peer và các file được cung cấp các số định danh khác nhau.

Khi một file được tạo, nó được truyền qua các peer láng riêng tới các peer có số định danh gần với số định danh của file nhất và được lưu trữ ở đó.

1.7.3 Băng thông (Bandwidth)

Do yêu cầu về khả năng truyền dẫn của các mạng ngày càng đòi hỏi cao đặc biệt là khi một số lượng lớn dữ liệu đa phương tiện tăng nhanh, hiệu quả của việc sử dụng băng thông ngày càng trở nên quan trọng. Hiện nay, hướng tiếp cận tập trung trong đó các file được lưu trữ trên một Server và được truyền từ đó tới máy khách yêu cầu đang được sử dụng chủ yếu. Trong trường hợp này khi số lượng các yêu cầu tăng nhanh sẽ dẫn tới tình trạng nút cổ chai. Với hướng tiếp cận theo mạng P2P vấn đề cân bằng tải sẽ đạt được sự tối ưu nhất vì nó tận dùng tối đa được các hướng truyền dẫn trong hệ thống mạng.

- Tăng cường khả năng cân bằng tải trong mạng: Khác với kiến trúc Client/Server các mạng P2P lai có thể nhận được sự cân bằng tải tốt hơn. Với mô hình Client/Server thì cả yêu cầu truy vấn thông tin và việc truyền dữ liệu đều được thực hiện giữa máy chủ và máy khách, sẽ làm mất sự cân bằng tải khi có nhiều yêu cầu kết nối tới máy chủ. Trong mô hình mạng P2P, chỉ có yêu cầu truy vấn được thực hiện giữa máy tính tham gia mạng với máy chủ, còn vấn đề truyền file được thực hiện giữa hai máy tính tham gia mạng với nhau, điều này dẫn đến việc phân bố tải đều trên hệ thống mạng.

- Chia sẻ việc sử dụng băng thông: Mạng P2P có thể làm tăng khả năng download và truyền các file do cơ chế tận dụng đường truyền tới các peer tham gia mạng. Một file dữ liệu lớn được chia thành các khối dữ liệu nhỏ độc lập nhau, các khối dữ liệu này được chuyển đồng thời đến các peer khác nhau và cuối cùng đến peer yêu cầu chúng. Tại peer yêu cầu các khối dữ liệu được ghép lại thành file dữ liệu ban đâu. Các phần mềm điền hình của việc chia sẻ băng thông đó là các phần mềm download file, chẳng hạn như: BitTorrent, FlashGet…

BitTorrent là một giao thức chia sẻ tài nguyên trên mang đồng đẳng, đồng thời là tên của một chương trình chia sẻ tài nguyên đồng đẳng được phát triển bởi lập trình viên Bram Cohen. BitTorrent dùng để tải về những dữ liệu lớn mà không tốn chi phí máy chủ và băng thông mạng. Để chia sẻ một tệp hay nhiều tệp bằng giao thức BitTorrent, đầu tiên cần tạo tệp “torrent”. Mỗi tệp torrent chứa

thông tin miêu tả tệp muốn chia sẻ, và thông tin về máy vi tính cung cấp bản gốc của tệp. Thông tin chi tiết lưu trên máy vi tính theo dõi sẽ khác nhau tuỳ thuộc vào phiên bản của giao thức BitTorrent, nhưng dù ở phiên bản nào tệp “torrent”

luôn luôn có đuôi mở rộng là .torrent. Một tệp torrent chứa thông tin loan báo (địa chỉ URL của máy vi tính theo dõi), và thông tin về tên tệp được chia sẻ, kích thước mảnh, chiều dài khóa, chiều dài tệp, và vé thông hành để tải tệp. Một tệp torrent có thể chứa thông tin về một tệp hoặc nhiều tệp.

Để tải xuống và chia sẻ tập torrent dùng một trình duyệt Internet bất kì, như FireFox, duyệt trang web có danh sách các tệp torrent, tải nó về, sau đó dùng chương trình BitTorrent client mở tệp đó ra. Sau khi đã mở tệp torrent, chương trình BitTorrent sẽ kết nối với máy theo dõi, máy theo dõi sẽ cung cấp cho nó một danh sách các máy vi tính đang tải tệp này. Giao thức BitTorrent chia tệp cần tải về thành các phần nhỏ có kích thước bằng nhau (thường là 1/4 mêgabyte

= 256 kilôbyte), ví dụ một tệp có kích thước 4,37 GB thường sẽ bị chia thành các mảnh nhỏ có kích thước là 4 MB (4096 kB) hoặc nhỏ hơn nữa. Khi máy vi tính nhận được các mảnh này nó sẽ dùng giải thuật băm để kiểm tra xem mảnh nó tải về có bị lỗi hay không.

1.7.4 Không gian lưu trữ (Storage Space)

Ngày nay, Direct Attached Storage (DAS), Network Attached Storage (NAS) hoặc Storage Area Networks (SAN) là những khái niệm thiết kế chính được sử dụng để lưu trữ dữ liệu trong một công ty. Các giải pháp này có nhược điểm: Kém hiệu quả trong việc sử dụng hệ thống lưu trữ sẵn có, phải tăng cường việc sao lưu dữ liệu, tăng tải trong mạng của công ty.

Tuy nhiên, băng thông mạng ngày càng được cải thiện cao, tính kết nối liên thông ngày một dễ dàng đã cho phép thay đổi cách thức quản lý vấn đề lưu trữ dữ liệu, giải quyết một cách hiệu quả vấn đề lưu trữ và không đỏi hỏi nhiều về vấn đề quản trị hệ thống. Với mạng lưu trữ ngang hàng nói chung nó được giả thiết rằng chỉ có một phần không gian sẵn có trên máy tính PC được sử dụng.

Mạng lưu trữ ngang hàng là một cụm các máy tính được xây dựng trên một nền

mạng máy tính tồn tại, chia sẻ tất cả các lưu trữ sẵn có trên mạng. Để có quyền truy cập để lưu trữ trên một máy tính khác, các đồng đẳng phải có một số lưu trữ riêng của mình, hoặc phải trả một khoản phí tương ứng với sự đóng góp của mình. Khi một tập tin nào sẽ được lưu trữ trong mạng, nó được phân công một số nhận dạng rõ ràng, tạo ra với một hàm băm từ tên hoặc nội dung của tập tin tương ứng, cũng như khoá công cộng của các chủ sở hữu.

1.7.4 Các chu trình xử lý (Processor Cycles)

Có thể nhận thấy rằng trong các ứng dụng đòi hỏi cần phải có sức mạnh tính toán người ta thường tìm cách xây dựng các máy tính mạnh, đắt tiền chứ chưa chú trọng vào việc tận dụng khả năng tính toán của các máy tính được nối mạng. Ngày nay do những yêu cầu đòi hỏi tính toán hiệu năng cao như các thao tác tính toán trong tin học, sinh học, tài chính, trong đo lường; nhiều nghiên cứu ứng dụng mạng P2P vào xử lý tính toán đã được đưa ra. Bằng việc sử dụng các ứng dụng mạng P2P để bó cụm các chu trình xử lý có thể nhận được khả năng tính toán ngang bằng với một siêu máy tính đắt tiền thậm chí cả những máy tính siêu đắt tiền cũng hiếm có thể cung cấp được . Điều này được thực hiện bằng cách hình thành một cụm độc lập, các máy tính nối mạng, trong đó một máy vi tính được minh bạch và tất cả các nút mạng được kết hợp vào một máy tính hợp lý duy nhất.

Một phần của tài liệu Nghiên cứu giao thức chord trong mạng peer – to – peer (Trang 23 - 29)

Tải bản đầy đủ (PDF)

(70 trang)