Phụ lục B MỘT SỐ KỸ THUẬT CHỌN ĐƯỜNG ĐI TỐI ƯU

Một phần của tài liệu KIẾN THỨC MẠNG CƠ BẢN (Trang 83 - 86)

ƯU

Việc chọn con đường tối ưu để truyền các gói tin đi trên mạng phải thực hiện một số công việc sau:

 Quyết định chọn đường theo những tiêu chuẩn tối ưu nào đó.

 Cập nhật thông tin chọn đường.

Có một số kỹ thuật chọn đường tối ưu thường được sử dụng khi xây dựng tầng mạng

 Chọn đường tập trung đặc trưng bởi sự tồn tại của một số trung tâm điều khiển mạng thực hiện việc chọn đường sau đó gửi các bảng chọn đường tới các nút mạng. Các nút mạng đều đặn gửi thông tin của chúng tới các chung tâm theo một khoảng thời gian hoặc khi có một sự kiện nào đó.

 Chọn đương phân tán được thực hiện tại mỗi nút của mạng. Việc này đòi hỏi sự trao đổi thông tin thường xuyên giữa các nút.

I.

GIẢI THUẬT DIJKSTRA CHO VIỆC CHỌN ĐƯỜNG TẬP

TRUNG

Giải thuật này tìm con đường có “độ dài” (chi phí) cực tiểu từ một nút nguồn tới mỗi nút còn lại của mạng

Gọi l(i,j) là “độ dài” của đường nối trực tiếp 2 nút i và j l(i,j) =∞ nếu không tồn tại đường nối

Nk là tập hợp tạo thành bởi k+1 phần tử (nguồn và k nút gần nguồn nhất sau k bước thực hiện giai thuật).

N0={1}

D0(v)=l(1,v) v ∉ N0

Bước k (tính và cập nhật) Nk = Nk-1∪ {w}

trong đó w thoả mãn biểu thức Dk-1(w) = min Dk-1(v), v ∉ Nk-1

Dk(v) = min [Dk-1(v), Dk-1(w) + l(w,v)], v ∉ Nk

Thuật toán dừng khi tất cả các nút đã nằm trong N

II.

GIẢI THUẬT FORD& FULKERSON CHO VIỆC CHỌN

ĐƯỜNG PHÂN TÁN

Giải thuật này cho phép tìm tất cả các con đường “ngắn” nhất từ tất cả các nut tới một đích chung. Sau k bước lặp, mỗi nút được đánh dấu bởi cặp giá trị (nk(v), Dk(v))

Dk(v) là “độ dài” cực tiểu (hiện tại) từ nút v tới đích

nk(v) là nút tiếp theo (hiện tại) trên con đường “tối ưu” từ nút v tới đích, được tính ở bước k.

Bước 0 (khởi động)

D0(1) = 0 và tất cả các nút được đánh dấu (•,∞) Bước k (tính và cập nhật)

Với mọi v ≠ 1 (đích), cập nhật Dk(v) như sau: Dk(v) = min [Dk-1(w) + l(v,w)]

w∈Nv

trong đó Nv là tập các nút láng giềng của v. Cập nhật nk(v) như sau:

nk(v) = w1, với w1 thoả mãn biểu thức : (adsbygoogle = window.adsbygoogle || []).push({});

Dk-1(w1) + l(v,w1) = min [Dk-1(w) + l(v,w)] w∈Nv

Thuật toán dừng khi tất cặp giá trị đánh dấu của mỗi nút giữ nguyên không thay đổi nữa.

Một phần của tài liệu KIẾN THỨC MẠNG CƠ BẢN (Trang 83 - 86)