鏈路狀態路由選擇

2021-08-20 04:43:37 字數 1544 閱讀 3342

鏈路狀態路由(link state)

主要思想:

發現 它的鄰居節點們,了解它們的網路位址

設定 到它的每個鄰居的成本度量

構造 乙個分組,包含它所了解到的所有資訊

傳送 這個分組給所有其他的路由器

計算 到每個路由器的最短路徑

1 發現鄰居節點

當乙個路由器啟動的時候,在每個點到點的線路傳送乙個特別的hello分組

收到hello分組的路由器應該回送乙個應答,應答中有它自己的名字 (採用乙個全球唯一的名字 globally unique name)

2 設定鏈路成本

為了決定線路的開銷,路由器傳送乙個特別的 echo 分組,另一端立刻回送乙個應答通過測量往返時間(round-trip time), 

傳送路由器可以獲得乙個合理的延遲估計值,為了得到更好的結果,可多次測量,取均值

一種常用的選擇:與鏈路頻寬成反比

3 構造鏈路狀態分組

鏈路狀態分組構造後被傳送給其他的路由器,分組中包含這些資訊:

1 傳送方的標識(id of the sender)

2 序列號(sequence number )

3 年齡(age )

4 鄰居列表(list of neighbors )

5 到鄰居的成本/量度(delay to each neighbor )

應該什麼時候構造分組?

周期性地構造和傳送,或者有特別的事件發生時構造,比如某條線路或鄰居down掉了

4 發布鏈路狀態分組

基本演算法:

每個分組都包含乙個序列號,序列號隨著新分組產生而遞增

路由器記錄下他看見的所有 (源路由器,序列號)對

當乙個的新的分組到達時,路由器根據它的記錄:

如果該分組是新的,就被從除了來線路外的所有其他線路**出去 ( flooding,泛洪)

如果是重複分組,即被丟棄(喜新厭舊)

如果該分組的序列號比對應的源路由器傳送的到過此地的分組的最大序列號還小,則該分組被當作過時的資訊而被拒絕

一些改進讓基本演算法更加健壯:

1 當乙個鏈路狀態分組到達某個路由器時,它首先被放到乙個保留區中等待一段時間

2 如果來自相同路由器的另乙個分組到達了,這兩個分組的序列號會被比較:

如果相等,是重複分組,丟棄

如果不相等,舊的那個被丟棄

3 為了防止路由器到路由器的線路發生錯誤,所有的鏈路狀態分組都要被確認

4 當一條線路空閒的時候,路由器掃瞄保留區,以便選擇乙個分組或確認,並將其傳送出去

5 計算新的路由路徑

一旦乙個路由器獲得了全部的鏈路狀態分組就可以構造出全網路圖來了(graph)

可以使用最短路徑演算法來計算路由器之間最短路徑

計算結果是一棵樹,會形成相應的路由,安裝在路由表中,引導資料分組的**

ls路由演算法特點:

優點:每個路由器的認識一致,收斂快,適合在大型網路使用

缺點:每個路由器需要較大的儲存空間,計算負擔大

s5 14 鏈路狀態路由選擇

為什麼dv逐漸讓位於ls?dv 站的不高,看得不遠 完全相信鄰居 ls 想辦法站得高,看更遠 多高 多遠?怎麼做?鏈路狀態路由 link state 主要思想 發現 它的鄰居節點們,了解它們的網路位址 設定 到它的每個鄰居的成本度量 構造 乙個分組,包含它所了解到的所有資訊 傳送 這個分組給所有其他...

s5 14 鏈路狀態路由選擇

為什麼dv逐漸讓位於ls?dv 站的不高,看得不遠 完全相信鄰居 ls 想辦法站得高,看更遠 多高 多遠?怎麼做?鏈路狀態路由 link state 主要思想 發現 它的鄰居節點們,了解它們的網路位址 設定 到它的每個鄰居的成本度量 構造 乙個分組,包含它所了解到的所有資訊 傳送 這個分組給所有其他...

鏈路狀態路由協議

鏈路狀態路由協議則如同使用地圖一樣,有了地圖,您就可以看到所有潛在的路徑並確定自己的首選路徑。鏈路的狀態是指與該路由器直連網路的狀態,幷包含關於網路型別以及那些網路中與該路由器相鄰的所有路由器的資訊 因此得名鏈路狀態路由協議。鏈路狀態路由協議 鏈路狀態路由協議又稱為 最短路徑優先協議,它建基於 ed...