Thuật toán Trạng thái liên kết

Một phần của tài liệu Nghiên cứu nâng cao hiệu năng giao thức định tuyến cho mạng MANET (Trang 43 - 44)

Trạng thái liên kết là một mô tả đặc điểm các liên kết từ một nút đến các nút láng giềng. Các đặc điểm này bao gồm: địa chỉ của nút, mạng con (subnet), kiểu mạng kết nối, và các nút kết nối mạng đó, các thông tin này được lưu trên bảng thông tin trạng thái. Thuật toán trạng thái liên kết được thực hiện dựa trên các bảng thông báo trạng thái liên kết (LSA: Link State Advertisment), mỗi nút xây dựng cho mình một cơ sở dữ liệu trạng thái riêng dựa vào nội dung của các gói tin này. Do đó các nút biết rõ và chính xác thông tin tô pô mạng và thực hiện truyền dẫn các gói tin từ nút nguồn đến nút đích trong mạng dễ dàng. Khi một đường đi hay một kết nối thay đổi, nút phát hiện ra sự thay đổi này sẽ tạo ra một LSA để cập nhật đến kết nối này. Sau đó LSA được gửi đi cho tất cả các nút láng giềng. Mỗi nút thực hiện một bản sao bảng thông báo LSA. Sự phát tràn LSA này được yêu cầu đảm bảo cho tất cả các nút tạo ra cơ sở dữ liệu phản ánh một cách chính xác tô pô mạng trước khi cập nhật bảng định tuyến của chúng.

29

Thuật toán trạng thái liên kết được dùng để xây dựng và tính toán đường đi ngắn nhất từ nút nguồn đến tất cả các nút đích trong mạng. Thuật toán Dijkstra được áp dụng trong thuật toán định tuyến trạng thái liên kết theo mô tả cho đồ thị G = (V, E) với các giá trị cạnh không âm, trong trường hợp này giả sử w(u,v) ≥ 0 cho mỗi cạnh (u,v)  E, được thực hiện qua các bước sau [87](pp. 658-664):

Input: Đồ thị (G, w, s);

Dijkstra (G, w, s)

Bước 1: Khởi tạo nút nguồn (G, s); Bước 2: S: = {};

Bước 3: Khởi tạo hàng đợi ưu tiên Q = V[G] {Q chứa các đỉnh trong đồ thị G} Bước 4: While Q <> {} do

u = EXTRACT-MIN(Q) {Chọn ra đỉnh v trong Q láng giềng của đỉnh u có trọng số cạnh (u,v) nhỏ nhất gán cho u}

Bước 5: S = S {u} ; Q = Q \ {u}

Bước 6: for mỗi đỉnh v  Adj[u] do {v các đỉnh láng giềng với u}

if d( v) > d(u) + w then {d(u), d(v) là chi phí được tính từ nút nguồn đến các

đỉnh u, v}

d(v) = d(u) + w; {quay lại Bước 4}

Output: Cây đường đi ngắn nhất từ đỉnh s đến các nút trong mạng.

Sử dụng thuật toán định tuyến trạng thái liên kết sẽ dẫn đến một số nhược điểm: Nút sử dụng định tuyến theo trạng thái kết nối sẽ phải cần nhiều bộ nhớ hơn và hoạt động xử lý nhiều hơn là sử dụng định tuyến theo véc tơ khoảng cách.

Nút phải có đủ bộ nhớ để lưu cơ sở dữ liệu về tô pô mạng, bảng định tuyến. Khi khởi động việc định tuyến, tất cả các nút phải gửi gói tin LSA cho tất cả các nút khác, khi đó băng thông đường truyền sẽ bị chiếm dụng làm cho băng thông dành cho đường truyền dữ liệu của người dùng bị giảm xuống. Tuy nhiên, sau khi các nút đã thu thập đủ thông tin để xây dựng cơ sở dữ liệu về cấu trúc mạng thì băng thông đường truyền không bị chiếm dụng nữa.

Một phần của tài liệu Nghiên cứu nâng cao hiệu năng giao thức định tuyến cho mạng MANET (Trang 43 - 44)