CHƯƠNG 1 – TỔNG QUAN VỀ MẠNG NGANG HÀNG 1. Khái niệm mạng ngang hàng Trong quá trình phát triển của mạng máy tính chúng ta ñã ñược chứng kiến sự phát triển vượt bậc của các mô hình mạng. Ban ñầu chỉ là 2 máy tính kết nối với nhau một cách thuần túy, sau ñó là mạng LAN với kết nối vài chục máy tính trong một phạm vi nhỏ. Không chỉ dừng lại ở ñó mô hình mạng ngày càng ñược mở rộng cả về tính chất và quy mô thành mạng WAN, PAN với hàng nghìn máy tính kết nối với nhau trong một phạm vi lớn hơn.
Và cuối cùng là sự ra ñời của mạng Internet - vốn ñược xem như một sự phát triển vĩ ñại của ngành công nghệ thông tin nói riêng và của toàn thế giới nói chung. Internet là kho tài nguyên khổng lồ của loài người với rất nhiều ứng dụng chia sẻ thông tin, mang con người trên toàn thế giới xích lại gần nhau hơn. Hiện nay hầu hết các ứng dụng trên mạng Internet ñều ñược xây dựng theo mô hình Client/Server với các tính năng ưu việt của nó như: các máy Client không cần cấu hình mạnh, tiết kiệm ñược ñịa chỉ IP do có thể cấp phát ñược ñịa chỉ IP ñộng, việc bảo trì các phần mềm phục vụ trên Server là tập trung nên rất dễ dàng. Tuy nhiên ñổi lại trong các mô hình mạng Client/Server, chi phí ñầu tư cho các server ñó rất ñắt ñỏ.
Hệ thống ngày càng lớn thì việc mở rộng ñòi hỏi chi phí ngày càng cao cho việc nâng cấp server hoặc thậm chí là phải bổ sung thêm server mới. Mặt khác, nếu các máy server gặp sự cố thì toàn bộ hệ thống sẽ bị ảnh hưởng thậm chí ngừng hoạt ñộng ngay lập tức. Ngoài ra mô hình Client/Server cũng không tận dụng ñược sức mạnh của các máy client. Chính bởi vậy, ñể khắc phục các nhược ñiểm của mô hình Client/Server, cấu trúc mang ngang hàng (Peer-To-Peer) ra ñời, ñang ngày càng ñược quan tâm và phát triển rộng rãi hơn trong thời gian gần ñây.
Mạng ngang hàng (Peer-To-Peer network), còn gọi là mạng ñồng ñẳng, là cấu trúc mạng máy tính trong ñó hoạt ñộng của mạng chủ yếu dựa vào khả năng tính toán và băng thông của các máy tham gia chứ không tập trung vào một số nhỏ các máy phục vụ trung tâm như các mạng thông thường. Mạng ngang hàng thường ñược sử dụng ñể kết nối các máy thông qua một lượng kết nối dạng adhoc. Mạng ngang hàng hiện có rất nhiều ứng dụng. Ứng dụng thường xuyên gặp nhất là chia sẻ tệp tin, tất cả các dạng dữ liệu như văn bản, âm thanh, hình ảnh.
hoặc ñể truyền dữ liệu thời gian thực như ñiện thoại VoIP. Một mạng ngang hàng ñúng nghĩa không có khái niệm máy chủ và máy khách, nói cách khác, tất cả các máy tham gia ñều bình ñẳng và ñược gọi là peer, là một nút mạng ñóng vai trò ñồng thời là máy khách và máy chủ ñối với các máy khác trong mạng. TIEU LUAN MOI download : skknchat@gmail. Phân loại mạng ngang hàng Ta có thể phân loại các mạng ngang hàng hiện nay theo tiêu chí về mức ñộ tập trung của chúng như sau: 1.
Mạng ngang hàng lai ghép Hình 1. Mạng ngang hàng lai ghép Gọi là mạng ngang hàng lai ghép vì trong mạng vẫn có một máy chủ trung tâm dùng ñể lưu trữ thông tin của các máy trạm thành viên và trả lời các truy vấn. Tuy nhiên, tài nguyên phân phối của mạng không nằm trên máy chủ ñó mà nằm trên chính các máy trạm thành viên. Máy chủ trung tâm chỉ có vai trò lưu trữ thông tin về các máy trạm thành viên và các thông tin tài nguyên ñược chia sẻ ñể có thể sẵn sàng cung cấp các thông tin liên quan mỗi khi có một máy trạm gửi yêu cầu tìm kiếm tới.
Các mạng ngang hàng lai ghép này có thể sử dụng các trạm ñịnh tuyến ñể xác ñịnh ñia chỉ IP của các máy trạm. Các ñại diện cho mạng ngang hàng lai ghép ñược biết ñến nhiều nhất là Napster và BitTorrent. Mạng ngang hàng thuần túy Khác với mạng ngang hàng lai ghép, mạng ngang hàng thuần túy là một mạng ngang hàng ñúng nghĩa, không có máy chủ trung tâm quản lý mạng, không có bộ ñịnh TIEU LUAN MOI download : skknchat@gmail.com 13 tuyến trung tâm. Các máy trạm tham gia mạng có vai trò vừa là máy chủ vừa là máy khách và có khả năng ñịnh tuyến ñộc lập.
Mạng ngang hàng thuần túy Hình 3. Lớp mạng phủ Mạng phủ (Overlay network) ñược xây dựng bên trên một hoặc nhiều mạng vật lý ñang tồn tại, bao gồm tất cả các nút mạng ñại diện cho các máy tham gia và các liên kết giữa các nút mạng này. Một liên kết tồn tại giữa hai nút mạng khi một nút mạng này biết vị trí của nút mạng kia. Dựa vào cấu trúc liên kết giữa các nút mạng trong mạng ta có thể phân loại mạng ngang hàng thuần túy thành 2 loại: có cấu trúc hay không cấu trúc.
TIEU LUAN MOI download : skknchat@gmail. Mạng ngang hàng thuần túy không có cấu trúc Mạng ngang hàng ñược xem là thuần túy không có cấu trúc khi các liên kết giữa các nút mạng trong mạng ñược thiết lập một cách ngẫu nhiên, không theo qui luật nào. Mạng ngang hàng thuần túy không có cấu trúc dễ dàng ñược xây dựng: một máy mới khi muốn tham gia mạng có thể lấy luôn các liên kết có sẵn của một máy khác ñang ở trong mạng và sau ñó dần dần bổ sung thêm các liên kết mới của riêng mình mà không cần bất cứ một thủ tục nào khác. Khi một máy muốn tìm một dữ liệu trong mạng ngang hàng không cấu trúc, yêu cầu tìm kiếm sẽ ñược truyền trên cả mạng ñể tìm ra càng nhiều máy chia sẻ càng tốt.
Nhược ñiểm có thể thấy ngay của hệ thống này là không có gì ñảm bảo việc tìm kiếm sẽ thành công. ðối với việc tìm kiếm các dữ liệu phổ biến ñược chia sẻ trên nhiều máy, tỉ lệ thành công là khá cao, ngược lại, nếu dữ liệu chỉ ñược chia sẻ trên một vài máy thì xác suất tìm thấy là khá nhỏ. Tính chất này là hiển nhiên vì trong mạng ngang hàng không cấu trúc, không có bất kì mối tương quan nào giữa các máy tính và dữ liệu mà mỗi máy tính quản lý trong mạng, do ñó yêu cầu tìm kiếm cần ñược chuyển một cách ngẫu nhiên ñến một số máy trong mạng. Số lượng máy trong mạng càng lớn thì khả năng tìm thấy thông tin càng nhỏ.
Một nhược ñiểm khác của hệ thống này là do không có ñịnh hướng, một yêu cầu tìm kiếm thường ñược chuyển cho một số lượng lớn máy trong mạng làm tiêu tốn một lượng lớn băng thông của mạng, dẫn ñến hiệu quả tìm kiếm chung của mạng thấp. Hầu hết các mạng ngang hàng phổ biến là không cấu trúc như Napster, Gnutella, Fasttrack và eDonkey2000. Mạng ngang hàng thuần túy có cấu trúc ðể khắc phục nhược ñiểm của các mạng ngang hàng không có cấu trúc, mạng ngang hàng có cấu trúc ñược xây dựng bằng cách sử dụng hệ thống DHT (Distributed Hash Table - Bảng Băm Phân Tán). Hệ thống này ñịnh nghĩa liên kết giữa các nút mạng trong mạng ngang hàng theo một thuật toán cụ thể, ñồng thời xác ñịnh chặt chẽ mỗi nút mạng sẽ chịu trách nhiệm ñối với một phần dữ liệu ñược chia sẻ trong mạng.
Với cấu trúc này, khi một máy cần tìm một dữ liệu, nó chỉ cần áp dụng một giao thức chung ñể xác ñịnh nút mạng nào chịu trách nhiệm cho dữ liệu ñó và sau ñó liên lạc trực tiếp ñến nút mạng ñó ñể lấy kết quả. Một số mạng ngang hàng có cấu trúc nổi tiếng bao gồm Chord, CAN, Kademlia, Pastry và Tapestry. Các ứng dụng trên mạng ngang hàng Cùng với sự phát triển của kiến trúc mạng ngang hàng, các ứng dụng trên mạng ngang hàng cũng ngày một phát triển và trở lên phổ biến. Các ứng dụng thường xuyên gặp nhất là các ứng dụng chia sẻ file như Napster [11], Kazaa [8] và Gnutella [18].
TIEU LUAN MOI download : skknchat@gmail.com 15 Các dịch vụ âm nhạc của Napster cho thấy công nghệ P2P khá tin cậy, cho phép cung cấp và thiết lập một mạng ngang hàng cỡ lớn với nǎng lực rất mạnh từ các máy tính cá nhân bình thường. Trong khi ñó, Freenet [17] lại nhằm tới mục ñích xây dựng một nơi lưu trữ không tập trung, nơi mà người dùng có thể ñưa lên các thông tin và dữ liệu của bản thân mình lên ñó một cách tự do, không giới hạn. Freenet không có các máy chủ trung tâm và thuật toán tìm kiếm ñược xây dựng sử dụng các bảng băm phân tán. Giao tiếp giữa các nút mạng của Freenet ñều ñược mã hóa và ñịnh tuyến thông qua các nút mạng khác nên sẽ rất khó ñể xác ñịnh ñược nút mạng nào thực sự yêu cầu thông tin và nội dung của nó nhằm ñảm bảo tính nặc danh, tự do, không giới hạn của hệ thống.
Ngoài ra, công nghệ P2P còn ñược áp dụng trong các hệ thống trò chuyện trực tuyến (Instant messaging systems) như ICQ [7], cho phép người dùng trao ñổi thông tin với nhau qua một phương thức P2P lai ghép. Một ứng dụng khác cũng áp dụng khá thành công mô hình mạng ngang hàng là việc tận dụng khả năng tính toán của các máy tham gia mạng cho một mục ñích chung như Seti@home [15] phục vụ cho việc nghiên cứu và tìm kiếm trí tuệ ngoài trái ñất. Các ứng dụng truyền thông ña phương tiện ngang hàng lại có những tính chất hoàn toàn khác với các hệ thống P2P ñược mô tả ở trên. Các dữ liệu ñược chia sẻ trong các hệ thống P2P ở trên hầu hết chỉ có thể ñược mở ra bởi người dùng sau khi toàn bộ dữ liệu ñã ñược download xong trong khi với các dữ liệu ña phương tiện thời gian thực, dữ liệu ñó lại ñược sử dụng, chạy (play) ngay trong khi ñang ñược download về máy trạm.
Mặt khác, nếu dữ liệu trong các hệ thống trò chuyện trực tuyến thường ở dạng text và có kích thước rất nhỏ, chỉ vài Kilobyte, thì dữ liệu của các ứng dụng truyền thông ña phương tiện lại có kích thước rất lớn, có thể lên tới hàng nghìn Kilobytes. Do ñó, các hệ thống truyền thông ña phương tiện thường ñòi hỏi ñặc biệt nhiều băng thông của mạng và bị nhiều ràng buộc về ñộ trễ thời gian ñáp ứng. Mô phỏng mạng ngang hàng dùng PeerSim 1.