CHƯƠNG 2 : AN NINH CHO CẤU TRÚC CHỈ MỤC PHÂN TÁN
2.4. Tấn công định tuyến và phương pháp phòng chống
2.4.4. Thuật toán quay lui
Để tìm kiếm/ định tuyến, nút nguồn cần chuyển tiếp truy vấn của mình tới nút tham chiếu trong bảng chỉ mục để tìm nút có định danh gần nhất so với định danh của khóa muốn tìm (nút successor). Nếu nút successor của khóa muốn tìm là một trong các nút tham chiếu của bảng chỉ mục, định danh nút này sẽ được gửi lại nút đặt truy vấn và quá trình tìm kiếm kết thúc. Ngược lại, truy vấn tiếp tục được gửi đi.
Khi yêu cầu truy vấn xuất hiện tại một nút nào đó, nó sẽ tìm nút thích hợp để chuyển yêu cầu truy vấn, nút sẽ nhận yêu cầu truy vấn này phải trải qua quá trình xác thực, kiểm tra. Giả sử nút này không vượt qua quá trình xác thực (theo thuật toán tại mục 2.4.3), nút trao yêu cầu truy vấn sẽ tìm đến nút liền kề với nút này và có định danh gần với định danh của khóa muốn tìm nhất trong bảng chỉ mục của mình, quá trình này gọi là thuật toán quay lui. Nút không vượt qua quá trình xác thực sẽ được thêm vào danh sách “đen” (black list) để tranh sử dụng lại.
Hình 2.7 dưới đây minh họa thuật toán quay lui, nút nguồn đặt yêu cầu truy vấn tìm nút đích cho nút cuối cùng (nút này có định danh gần nhất so với định danh khóa muốn tìm) trong bảng chỉ mục của mình với bước chuyển 1 (BC1). Nút này vượt qua quá trình xác thực và chuyển tiếp yêu cầu truy vấn từ nút nguồn cho nút tiếp theo với BC2. Qua quá trình xác thực xác định nút nhận yêu cầu truy vấn cho BC2 là hợp lệ, nó chuyển tiếp yêu cầu truy vấn cho nút tiếp theo với BC3, tuy nhiên nút này cung cấp bước chuyển tiếp nữa lại không vượt qua quá trình xác thực, nút đặt yêu cầu truy vấn thực hiện thuật toán quay lui, lựa chọn nút gần nhất với khóa muốn tìm qua BC4. Nút nhận yêu cầu truy vấn qua BC4 cung cấp bước
chuyển tiếp không hợp lệ, tiến trình quay lại với nút nhận yêu cầu truy vấn qua BC5. Từ nút này qua tìm kiếm đã tìm được nút đích.
BC 1
BC 2
Nút nguồn Nút đích
Bước chuyển tiếp truy vấn (BC) Nút nhiễm độc