25/05/2018, 08:39

Pastry

Tương tự như Chord, tạo ra một hệ thống hoàn toàn phân tán Việc định tuyến được dựa trên số lượng gần gũi của các khóa Pasty node và mục dữ liệu được kết hợp chặt chẽ với m bit nhận dạng Vùng dữ liệu từ 0 đến 2 m -1 (m ...

Tương tự như Chord, tạo ra một hệ thống hoàn toàn phân tán

Việc định tuyến được dựa trên số lượng gần gũi của các khóa

Pasty node và mục dữ liệu được kết hợp chặt chẽ với m bit nhận dạng

Vùng dữ liệu từ 0 đến 2m-1 (m đặc trưng 128 bit)

Kết hợp 1 khóa được giới hạn 1 node ID hoặc 1 key, tương ứng

Pasty hiển thị mã nhận dạng như một chuỗi số 2b, b chọn giá trị 4

Khóa A là được định vị tới node ID có số gần nhất

Ví dụ minh họa khoảng mã nhận dạng Pasty với 4 bit nhận dạng và b=2

Mô hình mạng

Với b=2, vì vậy tất cả các số, các digit nhỏ hơn 4

Node gần nhất được tới có khóa K01 là N01, trong khi K03 được định vị trên node N10

Khoảng cách của khóa K22 tới node N21 và N23 là bằng nhau cho nên chọn khóa thỏa mãn yêu cầu nhất

Các thông số:

|L|: là một kiểu cấu hình tham số có giá trị bằng 16 hoặc 32

M: là số nodes thiết lập hàng xóm gần nhất =2b, 2.2b

N: là số nodes tham gia vào mạng

l: là độ dài của nodeID (digit) gán cho mỗi node

b: độ lớn của mỗi digit trong nodeID

Thông tin định tuyến

Routing Table của Pasty được chia làm 3 thành phần chính

+ Rounting table (Bảng tìm đường)

- Lưu trữ những liên kết tới các mã nhận dạng (giống như Finger Table của Chord)

Có éLog2^b(N) ù dòng

Mỗi dòng có 2b-1 điểm vào

Mỗi điểm vào có l digit

Mỗi digit có giá trị lớn không quá 2b

+ Left set: Những node mà gần nhau nhất trong thời kỳ của mạng cục bộ được liệt kê trong việc thiết lập hàng xóm

Có |L|/2 nodeID gần nhất

Được sử dụng trong việc định tuyến các tin nhắn

+ Neighborhood set:

Chứa đựng nodeID và địa chỉ IP của |M| nodes gần

nhất

Sử dụng trong việc bảo trì các thuộc tính liên quan

đến vị trí các nodes

dựa trên cơ sở mạng xấp xỉ vô hướng hệ

mét

Ví dụ: Thông tin về bảng tìm đường với b=2

Bảng định tuyến mạng

Được sử dụng trong việc định tuyến các tin nhắn có khóa D đến node có ID A

Ril: điểm vào trong bảng tìm đường R ở cột I, hàng l (0<i<2b, 0<=l<=|128/b|)

Li: nodeID thứ i gần nhất trong mục Left set (- ë|L|/2û<=i<= ë|L|/2û)

Dl: là giá trị của digit thứ l trong khóa D

shl(A,B): chiều dài của tiền tố trong digit giữa A và B

Khi có node mới tham gia mạng:

- Được gán nodeID là X, đó là mã băm SHA-1 địa chỉ IP hoặc public key

- Xây dựng bảng định tuyến, Leftset, Neighbor:Khởi động bảng trạng thái và thông báo với những node khác gần nó, ví dụ node A

- Tự định vị trí nhờ sử dụng "expanding" IP multicast

- Node X hỏi A về bảng định tuyến kết nối truyền X như là một thông báo

- định tuyến đến node Z gần X nhất

- A, Z trả lời yêu cầu kết nối đến và tất cả các node trên đường tới X gửi bảng trạng thái tới X

X kiểm tra thông tin này, cập nhật bảng định tuyến của nó và thông báo về X.

Khi có node rời khỏi mạng(fail, depart, no warning)

- Để sửa chữa node hỏng cần:

× Thay thế node đã hỏng trong Left set nhờ Neighbor của nó liên lạc với các node tìm ra ID phù hợp nhất update vào Left set(số node hỏng đồng thời<ë|L|/2û node gần nhau)

× Sửa chữa điểm vào Rdl trong bảng tìm đường bằng Ril+1(i≠d) ở một node thích hợp

× Sử dụng định tuyến tin nhắn liên lạc với mỗi thành viên định kỳ để phát hiện ra node đang tồn tại.

× Kiểm tra khoảng cách của các nodes, cập nhật bảng Neighborhood

0