Cơ chế định tuyến CBRP

Một phần của tài liệu Nghiên cứu một số giao thức định tuyến trên mạng manet (Trang 25 - 27)

7. Bố cục của luận văn

2.1.1. Cơ chế định tuyến CBRP

Khi một nút nguồn S muốn cung cấp dữ liệu đến nút D (không có tuyến đường thích ứng trong bảng định tuyến), đầu tiên nút S sẽ kiểm tra neighbor table của mình, nếu có một tuyến đường thích ứng, nó chỉ việc bổ sung thêm tuyến đường này vào bảng định tuyến và trực tiếp gửi dữ liệu đến nút D. Ngược lại, nó sẽ bắt đầu một quá trình khám phá tuyến đường để xác định vị trí tuyến đường thích hợp đến nút đích.

2.2.1.1. Khám phá tuyến đường

Về cơ bản, trong khám phá tuyến đường, chỉ có nút CH là lũ lụt thông báo

Route Request Packets (RREQ) để tìm kiếm một tuyến đường nguồn. [9]

Để thực hiện khám phá tuyến đường đến nút đích D, nút nguồn S gửi một thông báo RREQ, với trường địa chỉ nút mục tiêu được thiết lập là nút đích D. Nó điền vào mục Neighboring Cluster Head với các nút CH của nó và các mục nút CH liền kề (từ CAT), Gateway Node Address tương ứng ho c là nút CH của chính nó ho c là nút

gateway của cụm liền kề. Đây là thông báo RREQ ban đầu được phát sóng.

* Khi một nút M nhận đƣợc một thông báo RREQ là nút thành viên

- Nếu nút đích D là nút láng giềng của nó, nó chỉ việc unicast RREQ đến nút D. - Ngược lại; nếu nút M được xác định là nút gateway thì unicast gói tin RREQ đến nút CH của nó.

Ngược lại, loại bỏ thông báo RREQ. [9]

* Khi nào một nút C nhận đƣợc RREQ là nút CH

- Bước 1: Nếu nó đã nhận được thông báo RREQ này trước đó (b ng cách kiểm tra trường identification) thì nó loại bỏ thông báo này; nếu không, tiếp tục thực hiện bước 2.

- Bước 2: Ghi địa chỉ riêng của nó vào trong danh sách Cluster Address.

- Bước 3: Nếu nút D là nút láng giềng của nó ho c là cách 2 bước nhảy thì unicast thông báo RREQ đến nút D. Ngược lại, ghi địa chỉ các nút CH có liên kết hai chiều vào trong CAT của nút C. Nếu địa chỉ các nút CH đã có trong danh sách Neighboring Cluster Head của RREQ trước thì bỏ qua. Ngược lại, nếu địa chỉ các nút CH đã có trong danh sách Cluster Address thì bỏ qua. Ngược lại, ghi mục địa chỉ các nút CH vào trong c p Neighboring Clusterhead/Gateway Node phát sóng thông báo RREQ. [9]

H G3 K CH2 CH1 CH3 G1 G2 D S 12

Hình 2.1. Định tuyến gói tin từ nút nguồn S đến nút đích D

Mỗi nút CH chuyển tiếp một gói tin RREQ chỉ một lần và nó không bao giờ chuyển nó đến một nút đã xuất hiện trong bản ghi tuyến đường. Trong CBRP, thông báo RREQ sẽ luôn luôn theo một lộ trình với các mô hình sau đây để đi đến nút đích D như sau (Hình 2.21):

S → CH1 → G1 → CH2 → G2 → G3 → CH3 → … → D

(G1, G2, … là nút gateway)

Bản ghi tuyến đường trong danh sách Cluster Address là CH1 → CH2 → CH3 → …

Khi mục tiêu của yêu cầu định tuyến là nút đích D, nhận được RREQ, nút D sẽ gửi ra một gói tin RREP trở lại nút S như là sự trả lời.

Nút D sẽ sao chép danh sách Cluster Address vào gói tin RREP (nút D có thể chọn để ghi nhớ danh sách đảo ngược của Cluster Address đến S r ng nếu D muốn tìm ra một con đường để đến nút S, nó có thể trực tiếp thăm dò tuyến đường này của nút CH). Nút D cũng sao chép trường identification ở RREQ đến RREP và đ t địa chỉ riêng của mình trong Calculated Route.

Bắt đầu truy vấn Kết thúc truy vấn D là nút láng giềng Chuyển RREQ đến CH ho c gateway cụm l\k Chuyển RREQ đến nút CH Nút D chuyển RREP đến nút S Unicast thông báo RREQ đến nút D Đ S D là nút láng giềng ho c two-hop S Đ Nút S gửi dữ liệu đến nút D

Hình 2.2. Sơ đồ cơ chế định tuyến CBRP

Cluster Address cung cấp đầy đủ thông tin về trình tự của cụm mà RREP cần phải đi qua để đến nút S. Vì mỗi nút CH có kiến thức về việc làm thế nào để tiếp cận với các nút CH láng giềng, gói tin RREP sẽ được chuyển đến S cuối c ng b ng cách sử dụng định tuyến IP nguồn lỏng (loose).

Trong khi chuyển tiếp Route Reply, nút CH trung gian sẽ tính toán một tuyến đường hop-by-hop tối ưu theo các thông tin chứa trong danh sách Cluster Address và đ t nó trong trường Calculated Route.

Nếu một nút nguồn không nhận được bất kỳ thông báo RREP sau khi gửi đi RREQ một thời gian nhất định, nó đi vào exponential backoff trước khi gửi lại RREQ. [7]

Như thường lệ, tất cả các tuyến đường nguồn biết được bởi một nút được lưu giữ trong một Route Cache. Khi một nút muốn gửi một gói tin, nó luôn luôn kiểm tra

Route Cache của nó đầu tiên trước khi thực hiện khám phá tuyến đường.

Một phần của tài liệu Nghiên cứu một số giao thức định tuyến trên mạng manet (Trang 25 - 27)

Tải bản đầy đủ (PDF)

(86 trang)