Giao thức ABR (Associativity-Based Routing) [2]

Một phần của tài liệu LUẬN VĂN:ĐÁNH GIÁ CHI PHÍ TÌM ĐƯỜNG CỦA MỘT SỐ GIAO THỨC ĐỊNH TUYẾN TRONG MẠNG MANET doc (Trang 39 - 41)

Giao thức ABR được đề xuất và phát triển bởi C.K. Toh năm 1996. Nó là giao thức định tuyến khởi tạo phía nguồn, nghĩa là không cần các cập nhật định tuyến theo chu kỳ. ABR lựa chọn các tuyến dựa trên sự ổn định theo thời gian (Temporal Stability) của các liên kết giữa các nút. Giao thức ABR sử dụng gói tin beacon để báo hiệu sự tồn tại của mỗi nút với các nút hàng xóm. Các gói tin beacon này dùng để cập nhật bảng liên kết của mỗi nút. Sử dụng bảng ổn định theo thời gian và bảng liên kết, nút có thể chia các liên kết với hàng xóm thành hai kiểu: ổn định và không ổn định. Hoạt động của giao thức ABR bao gồm 3 giai đoạn:

Phát hiện tuyến

Nếu nút nguồn có tuyến tới nút đích trong bộ đệm tuyến RC (Route Cache) của nó, tuyến này sẽ được sử dụng ngay lập tức. Nếu không, quá trình phát hiện tuyến RD (Route Discovery) được khởi tạo như sau:

ü Phát tràn các thông điệp RREQ (Route Request) vào mạng. Các thông điệp này chỉ được chuyển tiếp bởi các nút trung gian, giống như trong DSR. Khi nút trung gian nhận được thông điệp RREQ, nó gắn địa chỉ và đánh dấu liên kết (Associativity Tick) của nó vào gói tin.

ü Khi thông điệp RREQ tới được đích, nút đích sẽ đợi một thời gian trước khi lựa chọn tuyến tốt nhất bằng cách kiểm tra liên kết dọc theo mỗi đường dẫn. Nếu nhiều tuyến có cùng mức độ ổn định, tuyến với số chặng ít nhất được lựa chọn. ü Khi nút đích lựa chọn xong tuyến, nó gửi gói tin phản hồi ngược trở lại nguồn

dọc theo cùng đường dẫn.

Hình 14. Lựa chọn tuyến trong ABR

Trong hình 14 có 3 tuyến có thể từ 1-12: 1-5-7-9-12, 1-2-4-8-10-12, 1-2-4-8- 11-12 nhưng ABR chỉ lựa chọn tuyến 3 bởi phần trăm các liên kết ổn định theo tuyến này là cao nhất.

Sửa/Xây dựng lại tuyến

Trường hợp 1: Liên kết bị lỗi.

Liên kết lỗi được phát hiện bởi tất cả các nút hàng xóm nhờ các gói tin beacon. Nút gần liên kết bị lỗi nhấtở hướng nguồn sẽ khởi tạo quá trình sửa tuyến cục bộ. Đầu tiên nút sẽ quảng bá gói tin RouteRepair (truy vấn cục bộ LQ) tới các hàng xóm của nó. Nếu liên kết lỗi có thể được khắc phục cục bộ, nút nguồn sẽ không cần phát tràn lại truy vấn quảng bá mới.

Nếu nút hiện tại không thể sửa được liên kết lỗi, nút kế tiếp hướng về nguồn (nút luồng lên) sẽ khởi tạo lại quảng bá truy vấn cục bộ. Quá trình này diễn ra cho đến khi nút ở trung tâm đường đi lỗi không thể sửa được. Sau đó, nút nguồn được thông báo bắt đầu một quá trình phát hiện tuyến mới mới

Hình 15. Xây dựng lại tuyến trong ABR

Trong hình 15, đường đi 8-11-12 gặp lỗi. Nút 8 khởi tạo quảng bá cục bộ và kết quả cuối cùng tìm được đường dẫn mới là 8-10-12. Trong trường hợp có 2 nút liên tiếp phát hiện thấy liên kết bị lỗi chẳng hạn là 4-8 và 8-11, đường dẫn mới có thể sử dụng là 1-5-7-9-12.

Trường hợp 2: Nút đích di chuyển ra ngoài phạm vi của nút cuối cùng trước đích.

Đầu tiên nút cuối cùng trước đích xóa tuyến của nó. Sau đó quá trình LQ được khởi tạo để kiểm tra xem nút vẫn có thể tới được hay không. Nếu đích đến không thể tới được, nó lựa chọn tuyến con tốt nhất và phản hồi lại. Mặt khác, quá trình LQ được chuyển tiếp tới nút luồng lên kế cận. Thông tiệp RN (Route Notification) được gửi tới nút luồng lên kế cận để xóa tuyến không hợp lệ và thông báo cho nút này là nó nên khởi tạo quá trình LQ. Nếu việc quay lui này chiếm hơn nửa đường đi tới nguồn, quá trình LQ sẽ dừng lại và nút nguồn khởi tạo tiến trình truy vấn quảng bá mới.

Nếu tuyến được phát hiện không cần sử dụng nữa, nút nguồn khởi tạo gói tin quảng bá xóa tuyến RD (Route Delete). Tất cả các nút dọc theo tuyến sẽ xóa đầu vào tuyến từ danh sách định tuyến của chúng. Thông điệp RD được quảng bá đầy đủ vì nút nguồn không biết bất kỳ sự thay đổi đường dẫn nào trong suốt quá trình xây dựng lại tuyến.

Một phần của tài liệu LUẬN VĂN:ĐÁNH GIÁ CHI PHÍ TÌM ĐƯỜNG CỦA MỘT SỐ GIAO THỨC ĐỊNH TUYẾN TRONG MẠNG MANET doc (Trang 39 - 41)