LỜI MỞ ĐẦU Mô hình mạng ngang hàng bắt đầu xuất hiện trên thế giới từ năm 1999 và đƣợc sử dụng rộng rãi trong nhiều ứng dụng, đặc biệt nhƣ các ứng dụng chia sẻ file, video streaming, …. Trong mô hình mạng ngang hàng, các node tham gia mạng có thể chia sẻ tài nguyên nhƣ các file, dữ liệu cho nhau. Điều đó làm tăng tài nguyên của mạng. Tuy nhiên, do các tài nguyên này đƣợc lƣu trữ một cách phân tán, việc tìm kiếm thông tin về tài nguyên một cách hiệu quả là một vấn đề hết sức quan trọng trong các mạng ngang hàng.
Trong thời kỳ đầu mới phát triển, việc tìm kiếm trong mạng ngang hàng hoặc là sử dụng máy chủ lƣu trữ thông tin tài nguyên, hoặc đƣợc thực hiện theo kiểu phát tràn thông báo, gây tốn kém băng thông mạng. Các ứng dụng sau này đã từng bƣớc cải tiến giao thức định tuyến thông báo, làm mạng hoạt động hiệu quả hơn, nhƣng vẫn chƣa đảm bảo việc tìm kiếm thông tin sẽ thành công. Mạng ngang hàng có cấu trúc sử dụng giải thuật Bảng băm phân tán (Distributed Hash Table – DHT [10]) khắc phục nhƣợc điểm trên bằng cách tổ chức các node mạng theo một cấu trúc không gian khóa nhất định nhƣ mạch vòng (giao thức Chord [6]) hay không gian n-chiều (giao thức CAN[5]) và định tuyến thông báo dựa trên cấu trúc này. Tuy nhiên, mạng ngang hàng có cấu trúc chỉ hỗ trợ phƣơng pháp tìm kiếm chính xác, tức là tìm kiếm các tài nguyên có tên trùng với từ khoá tìm kiếm.
Tuy nhiên, trên thực tế ngƣời dùng thƣờng không thể biết chính xác thông tin cần tìm kiếm mà chỉ biết một số thông tin cơ bản. Vì vậy, việc tìm kiếm theo khoảng hoặc theo các cặp thuộc tính giá trị là hết sức cần thiết. Luận văn này tập trung tìm hiểu các giải pháp tìm kiếm thông tin theo cặp thuộc tính - giá trị đã đƣợc đề xuất nhƣ INS/Twine [9], Contens Distribution System [8], D-AVTree [4], … và đánh giá hiệu năng tìm kiếm, khả năng cân bằng tải của các giải pháp này thông qua mô phỏng. Luận văn gồm có 4 chƣơng, trong đó 2 chƣơng đầu giới thiệu tổng quan về mạng ngang hàng, mạng ngang hàng có cấu trúc và các giải pháp tìm kiếm thông tin cơ bản trong hệ thống mạng ngang hàng có cấu trúc.
Chƣơng 3 đi sâu tìm hiểu các giải pháp tìm kiếm thông tin theo cặp thuộc tính - giá trị nhƣ INS/Twine, CDS, D-AVTree và so sánh các giải pháp. Chƣơng cuối cùng, luận văn tập trung đánh giá mô phỏng các giải pháp tìm kiếm nêu trên, đƣa ra những đánh giá chi tiết về hiệu năng của hệ thống, khả năng cân bằng tải, … của từng giải pháp và những đề xuất lựa chọn giải pháp tùy theo yêu cầu của hệ thống. TÌM HIỂU MẠNG NGANG HÀNG VÀ CÁC ỨNG DỤNG 1.1 TỔNG QUAN MẠNG NGANG HÀNG Chƣơng này sẽ trình bày tổng quan về mạng ngang hàng, về khái niệm, phân loại và nêu rõ ƣu, nhƣợc điểm của mạng ngang hàng so với mạng dựa trên mô hình client/ server.1 Định nghĩa mạng ngang hàng: Quá trình trao đổi thông tin giữa hai máy tính trên hệ thống mạng có thể diễn ra theo 2 mô hình: mô hình khách hàng/ ngƣời phục vụ (client/ server) (hình 1.) hay mô hình mạng ngang hàng peer to peer (hình 1. Mô hình Client/Server Mạng ngang hàng (còn gọi là mạng peer to peer, viết tắt là P2P) là mạng đƣợc tạo ra bởi 2 hay nhiều máy tính đƣợc kết nối với nhau và chia sẻ tài nguyên (nhƣ tệp tin, máy in, .) mà không phải thông qua một máy chủ riêng nào.
Mô hình mạng ngang hàng P2P Trong hệ thống mạng ngang hàng, các máy tính có thể kết nối với nhau qua cổng USB để truyền tệp tin (file) (2 máy tính), cũng có thể kết nối nhiều máy tính trong một văn phòng nhỏ bằng cáp đồng, hoặc kết nối số lƣợng lớn máy tính với nhau bằng các giao thức, ứng dụng đặc biệt. Có thể hiểu, mạng ngang hàng là một kiểu mạng đƣợc thiết kế cho các thiết bị trong đó có chức năng và khả năng của các thiết bị đó là nhƣ nhau. Mạng ngang hàng P2P không có khái niệm máy trạm (client) hay máy chủ (server), mà chỉ có khái niệm các nốt (peers) đóng vai trò nhƣ cả client và server.2 So sánh mô hình mạng ngang hàng p2p với mô hình client/ server P2P Client/Server Đặc điểm: Một mạng ngang hàng cho Đặc điểm: Dữ liệu đƣợc lƣu trữ ở một phép các node đóng góp, chia sẻ tài Server trung tâm, tốc độ cao (Tốc độ nguyên với nhau. Tài nguyên riêng rẽ truy cập thƣờng lớn hơn so với mạng của các node nhƣ: ổ cứng, CD-ROM, P2P).
Các nguồn tài nguyên này có Khi một máy client yêu cầu lấy thông thể đƣợc truy cập từ bất cứ node nào tin nó sẽ phải gửi một yêu cầu theo trong mạng. một tiêu chuẩn do server định ra, nếu Các node đóng vai trò nhƣ cả Client yêu cầu đƣợc chấp nhận thì máy (truy vấn thông tin) và Server (cung cấp server sẽ trả về thông tin mà client thông tin). Ƣu điểm: Không cần server riêng, các Ƣu điểm: Tốc độ truy cập nhanh. client chia sẻ tài nguyên.
Khi mạng Khả năng mở rộng cao. Hoạt động với càng đƣợc mở rộng thì khả năng hoạt bất kì loại ứng dụng nào. Sử dụng động của hệ thống càng tốt. Dễ cài đƣợc với các ứng dụng chia sẻ CSDL.
đặt và bảo trì; thuận lợi cho việc chia sẻ Đáng tin cậy hơn (có server riêng). tài nguyên nhƣ tệp tin, máy in, CD- Mức độ an toàn cao nhất.v… Nhƣợc điểm: Chậm. Không tốt cho Nhƣợc điểm: Cần server riêng (nghẽn các ứng dụng CSDL. Kém tin cậy.
Phức tạp trong việc bảo trì, duy trì hoạt động của mạng.3 Lịch sử phát triển của P2P Lịch sử ra đời và phát triển của P2P gắn liền với phần mềm ứng dụng Napster. Năm 1999, Shawn Fanning một sinh viên Đại học 18 tuổi đã rời bỏ trƣờng Đại học để bắt đầu xây dựng phần mềm mang tên Napster (do bức xúc với việc rất khó khăn trong việc đƣa và chia sẻ các file nhạc online trên Internet mặc dù mọi ngƣời đều có nguồn tài nguyên trong đĩa cứng của mình). Napster đƣợc xây dựng thành công và trở thành cách chia sẻ file chính (miễn phí), nó đã làm thay đổi cách download file nhạc và dung lƣợng cũng lớn hơn nhiều so với các chƣơng trình chia sẻ file trƣớc đó. Download phần mềm, bạn có thể chia sẻ files từ máy tính của mình với tất cả mọi ngƣời trên thế giới.
60 triệu ngƣời trên thế giới đã sử dụng (1 triệu ngƣời Nhật) vào thời điểm đó. Tuy nhiên, do có quá z 10 đông ngƣời dùng và vấn đề bản quyền âm nhạc nên công ty Napster đã bị cấm hoạt động, phần mềm không còn đƣợc sử dụng nữa (2003). Sau Napster, rất nhiều các chƣơng trình khác nhƣ Gnutella, KaZaa and WinMP đã xuất hiện. Và P2P đã chuyển sang việc chia sẻ file has moved beyond file-sharing, chia sẻ processor power rỗi của các nodes chứ không phải là chia sẻ các file âm nhạc MP3 nữa.
Sau sự ra đời của Napster, công nghệ P2P phát triển một cách nhanh chóng. Hiện tại các ứng dụng P2P chiếm khoảng 50% (thậm chí 75%) băng thông trên Internet.4 Ứng dụng trong P2P Mạng ngang hàng P2P đƣợc thiết lập để kết nối các máy tính trong khuôn viên nhỏ nhƣ trong gia đình, các bộ phận của các cơ quan, doanh nghiệp trong phạm vi nhỏ hoặc đƣợc thiết lập trên hệ thống mạng internet nhằm chia sẻ tài nguyên, kết nối, trao đổi thông tin giữa các máy tính trong hệ thống mạng.1 Mạng máy tính trong gia đình: Hầu hết các mạng máy tính trong gia đình hiện nay đều là mạng P2P. Ngƣời dùng cấu hình các máy tính theo workgroup cho phép các máy có thể chia sẻ files, máy in và các tài nguyên, thiết bị khác. Cả mạng có dây và không dây trong gia đình đều có thể sử dụng để thiết lập mạng P2P.
Hệ thống mạng này cũng đƣợc áp dụng ở một số phòng, ban hoặc bộ phận nhỏ của các cơ quan, doanh nghiệp phục vụ chia sẻ file, tài nguyên nhƣ máy in, thiết bị khác.2 Mạng máy tính chia sẻ tệp tin: Là mạng P2P phổ biến và nổi tiếng nhất trên Internet hiện nay. Chức năng chủ yếu của mạng là cho phép tìm kiếm và truyền dữ liệu dựa trên giao thức IP (Internet Protocol). Để truy cập vào mạng P2P này, ngƣời dùng chỉ cần tải và cài đặt phần mềm ứng dụng phù hợp cho máy tính của mình. Có nhiều mạng P2P và phần mềm ứng dụng P2P tồn tại hiện nay.
Một số phần mềm chỉ sử dụng đƣợc cho 1 mạng P2P nhất định, một số hoạt động đƣợc với nhiều mạng P2P khác nhau. Một số mạng P2P nổi tiếng trên Internet gồm: eDonkey, BitTorent, Gnutella.3 Phần mềm ứng dụng P2P. Một số phần mềm ứng dụng P2P nổi tiếng hiện nay bao gồm: KazaA, eMule, Bittorent, …. z 11 KazaA: cho phép tìm kiếm và tải các tệp tin đã đƣợc chia sẻ bởi những nhà cung cấp chuyên nghiệp và ngƣời dùng.
KazaA có sử dụng những kết nối nhanh với các SuperNodes: Mỗi SuperNode chứa danh sách các tệp tin chia sẻ bởi ngƣời dùng và nơi lƣu trữ tệp tin. Mô hình mạng ứng dụng Kazaa Emule: Một trong những phần mềm chia sẻ tệp tin trong hệ thống mạng P2P lớn nhất giữa các ngƣời dùng trên Internet. Có thể sử dụng eMule để chia sẻ và tải tất cả các loại tệp tin trên Internet. Mô hình mạng ứng dụng Skype Skype: Là phần mềm VoIP phát triển bởi những ngƣời đã làm KazaA trong hệ thống mạng ngang hàng.
Skype cho phép ngƣời dùng đàm thoại và gửi message tới ngƣời dùng Skype khác. Có 2 loại nút: Original Host (OH) và Super nodes (SN). OH z 12 là một phần mềm ứng dụng cho phép sử dụng để đàm thoại và gửi message. Những nút có địa chỉ IP tĩnh, CPU, memory, băng thông đủ mạnh thì có thể đƣợc xem xét chọn làm super node.
OH kết nối với một Super nodes SN và phải đăng kí với Skype để đăng nhập thành công.2 PHÂN LOẠI MẠNG NGANG HÀNG Mạng ngang hàng đƣợc phân loại theo mục đích sử dụng hoặc mức độ tập trung của mạng. Phân loại mạng ngang hàng theo mục đích sử dụng, nhƣ: Chia sẻ file (file sharing), điện thoại VoIP (telephony), đa phƣơng tiện media streaming (audio, video), diễn đàn thảo luận (Discussion forums). Mạng ngang hàng cũng có thể phân loại theo mức độ tập trung của mạng, gồm 2 loại: Mạng ngang hàng không cấu trúc (unstructured) và Mạng ngang hàng có cấu trúc (structured).