計(jì)算機(jī)網(wǎng)絡(luò)——網(wǎng)絡(luò)層-鏈路狀態(tài)路由算法

計(jì)算機(jī)網(wǎng)絡(luò)系列博文——目錄

鏈路狀態(tài)(Link State,LS)路由選擇算法

  • 全局式的路由選擇算法;

鏈路狀態(tài)廣播算法

  • 為獲取全局網(wǎng)絡(luò)信息,實(shí)踐中要求每個(gè)節(jié)點(diǎn)向網(wǎng)絡(luò)中所有其它節(jié)點(diǎn)廣播鏈路狀態(tài)分組;
  • 節(jié)點(diǎn)廣播的結(jié)果是,所有節(jié)點(diǎn)都具有了該網(wǎng)絡(luò)等同的完整的視圖;

鏈路狀態(tài)路由選擇算法

  • 具體的鏈路狀態(tài)路由選擇算法可選用Dijkstra算法等單源最短路徑算法;
  • 每個(gè)節(jié)點(diǎn)都在其上運(yùn)行單源最短路徑算法,以獲取到達(dá)每個(gè)目的地的下一跳路由節(jié)點(diǎn),從而構(gòu)造轉(zhuǎn)發(fā)表;

Dijkstra算法

c(x,y): 結(jié)點(diǎn)x到結(jié)點(diǎn)y鏈路費(fèi)用;如果x和y不直接相連,則=∞
D(v): 從源到目的v的當(dāng)前路徑費(fèi)用值
p(v): 沿從源到v的當(dāng)前路徑,v的前序結(jié)點(diǎn)

每輪迭代,從最短路徑未確定的節(jié)點(diǎn)集合中,選取一個(gè)路徑最短的節(jié)點(diǎn),到該節(jié)點(diǎn)的當(dāng)前最短路徑就是到該節(jié)點(diǎn)的最短路徑,將之加入最短路徑已確定節(jié)點(diǎn)集合,并更新到該節(jié)點(diǎn)鄰接節(jié)點(diǎn)的當(dāng)前最短路徑;

k次迭代后,得到到達(dá)k個(gè)目的結(jié)點(diǎn)的最短路徑

算法復(fù)雜性

對(duì)n個(gè)節(jié)點(diǎn)

時(shí)間復(fù)雜度O(n^2)

更高效的實(shí)現(xiàn) O(nlogn)

鏈路狀態(tài)路由算法的問(wèn)題

存在震蕩(oscillations)可能

在狀態(tài)a下,算法判定轉(zhuǎn)換到狀態(tài)b費(fèi)用更底,
在狀態(tài)b下,算法判定轉(zhuǎn)換到狀態(tài)a費(fèi)用更底;

這是由于由于算法選擇的路由會(huì)影響鏈路擁塞程度,鏈路擁塞程度會(huì)影響鏈路權(quán)重,鏈路權(quán)重又會(huì)影響算法選擇的路由;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容