Chương 1 KIẾN THỨC NỀN TẢNG
1.4. Mạng ngang hàng có cấu trúc
1.4.3. Một số giao thức mạng ngang hàng có cấu trúc khác
1.4.3.1. Giao thức CAN
CAN (Content Addressable Network) [18] là giao thức mạng ngang hàng có cấu trúc khác, hoạt động dựa trên cấu trúc bảng băm phân tán. Mỗi nút trong mạng CAN quản lý một vùng (zone) trong không gian định danh và có thơng tin về các vùng lân cận trực tiếp. CAN hỗ trợ các thao tác cơ bản như chèn, tìm kiếm và xóa các thơng tin khóa từ bảng băm. Hệ thống được xây dựng dựa trên CAN có kiến trúc hồn tồn phân tán và có khả năng mở rộng, mỗi nút chỉ cần duy trì một lượng thông tin rất nhỏ về các nút trong mạng. Chức năng định tuyến và tìm kiếm trong CAN có khả năng chịu lỗi tốt, khi gặp sự cố các nút có thể định tuyến theo tuyến đường khác. CAN sử dụng không gian tọa độ ảo d-chiều để lưu trữ các giá trị khóa trong bảng băm. Mỗi nút đều có thơng tin về các nút lân cận trực tiếp trong hệ thống. Một nút mới khi tham gia vào mạng sẽ chọn ngẫu nhiên một điểm trong không gian d
chiều và liên hệ với nút chịu trách nhiệm quản lý vùng này. Tiếp theo, nút chịu trách nhiệm quản lý vùng chia vùng đó thành hai phần và gán một phần cho nút mới tham gia hệ thống. Sau đó, nút này gửi thông báo đến tất cả các nút lân cận để cập nhật bảng định tuyến. Mỗi nút duy trì thơng tin trong bảng định tuyến khoảng N nút. Khi một nút rời khỏi hệ thống, vùng không gian do nút đó quản lý được chuyển cho nút lân cận quản lý. Các nút trong mạng CAN trao đổi thông tin với nhau theo định kỳ. Giao thức CAN cần (Log
N1/d) bước để tìm kiếm một nút chứa nội dung cần tìm với N và d biểu diễn số nút và số chiều tương ứng.
Pastry [19] [22] là một giao thức mạng P2P có cấu trúc khá giống với Chord được cài đặt dựa trên bảng băm phân tán trong đó các giá trị khóa được lưu trữ trong một mạng ngang hàng. Trong hệ thống này, khi tham gia mạng, một định danh nodeID được gán ngẫu nhiên cho nút. Mỗi nút duy trì một
bảng định tuyến dọc theo các nút láng giềng. Khi một nút mới tham gia vào hệ thống nó cập nhật bảng định tuyến và thơng báo cho các nút lân cận khác về sự hiện diện của nó. Một nút gặp sự cố và được thay thế bằng một nút khác khi có một nút trung gian khơng thể giao tiếp với nút này. Pastry cần Θ (logN) bước để định tuyến gói tin đến đích, trong đó N là số nút đang hoạt động
trong mạng Pastry. Một nút trong mạng Pastry sử dụng định danh nodeID liên quan đến thơng điệp để định hướng gói tin đến nút gần nhất. Pastry là giao thức có khả năng tự tổ chức và phân tán cao. Pastry có khả năng xác định tuyến đường tốt nhất để truyền thông giữa các nút.