【計算機網絡】第四章 網絡層(5)

八.路由算法node

1. 路由與轉發算法

1)路由算法(協議)肯定去往目的網絡的最佳路徑網絡

2)轉發表肯定在本路由器如何轉發分組異步

2. 網絡抽象:圖分佈式

 

1)應用:如P2PNpeers集合,ETCP鏈接集合學習

2)費用spa

  ·c(x, x’) = 鏈路(x, x’)的費用3d

  ·每段鏈路的費用能夠老是1,或者是帶寬的倒數、擁塞程度等blog

  ·路徑費用:(x1, x2,..., xp) = c(x1, x2) + c(x2, x3) +...+c(xp-1, xp)路由

  ·關鍵問題:求源到目的的最小費用路徑(路由算法)

3. 路由算法分類

1)靜態 vs 動態

  ·靜態路由:手工配置、路由更新慢、優先級高

  ·動態路由:路由更新快、按期更新、及時響應鏈路費用或網絡拓撲變化

2)全局 vs 分散

  ·全局信息:全部路由器掌握完整的網絡拓撲和鏈路費用信息(如鏈路狀態路由算法)

  ·分散信息:路由器只掌握物理相連的鄰居及鏈路費用,在此基礎上進行鄰居間信息交換、迭代運算(如距離向量路由算法)

4. 鏈路狀態路由算法(LS):Dijkstra算法

1)全部結點掌握網絡拓撲和鏈路費用:經過「鏈路狀態廣播」,全部結點擁有相同信息

2)計算從一個結點到全部其餘結點的最短路徑:得到該結點的轉發表

3)迭代:k次迭代後獲得到達k個目的結點的最短路徑

4)符號

  ·c(x, y)爲結點xy的鏈路費用,若是xy不相連則爲正無窮

  ·D(v):從源到目的v的當前路徑費用值

  ·p(v):沿從源到目的v的當前路徑,v的前序結點

  ·N’:已經找到最小費用路徑的結點集合

5)算法描述:

 

6)舉例:

 

·u的最終最短路徑樹

 

·u的最終轉發表

 

7)討論

  ·算法複雜性

    - n個結點,每次迭代須要檢測全部不在集合N中的結點w

    - n(n+1)/2次比較,複雜度爲O(n²)

    - 更高效的實現爲O(nlogn)

  ·存在震盪的可能性:假設鏈路費用是該鏈路承載的通訊量

 

 

5. 距離向量路由算法(DV):Bellman-Ford動態規劃方程

(1)dx(y) := xy最短路徑的費用(距離),則:

 

(2)舉例

 

(3)重點:結點得到最短路徑的下一跳,該信息用於轉發表中

(4)x維護向量(DV):Dx = [Dx(y): y ϵ N]Dx(y) = 從結點x到結點y的最小費用估計

(5)核心思想

  ·每一個結點不定時地將其自身的DV估計發送給其鄰居

  ·當x接收到鄰居的新DV估計時,即依據B-F更新其自身的距離向量估計:Dx(y) <- minv{c(x, v) + Dv(y)} for each node y ϵ N

  ·Dx(y)將最終收斂於實際的最小費用dx(y)

(6)特色

  ·異步迭代:局部鏈路費用改變和來自鄰居的DV更新引起局部迭代

  ·分佈式:每一個結點的DV發生變化時才通告給鄰居

(7)算法描述:每一個結點循環等待 -> 從新計算 -> 通告

(8)舉例

 

(9)鏈路費用變化

(10)無窮計數問題

 

  ·毒性逆轉:若是一個結點z到達目的x的最小費用路徑經過某個鄰居,則通告給該鄰居結點到達目的的距離爲無窮大

 

  ·定義最大度量:如有效費用值爲15跳,那麼16跳錶示正無窮

 

6. 層次路由

(1)提出理由

  ·大規模網絡抽象成圖,路由器計算的信息交換量巨大,會淹沒鏈路

  ·每一個網絡的管理指望自治其網內路由

(2)什麼是層次路由

  ·聚合路由器爲一個區域:自治系統AS

  ·同一AS內的路由器運行相同的路由協議(算法):自治系統內部路由協議

  ·網關路由器:位於AS邊緣,經過鏈路鏈接其餘AS網關路由器

3)互連的AS:轉發表由AS內部路由算法與AS間路由算法共同配置

4)自治系統間路由任務:假設AS1內某路由收到一個目的地址在AS1外的數據報

  ·學習到哪些目的網絡能夠經過AS2到達,哪些能夠經過AS3到達

  ·將這些網絡可達性信息傳播給AS1內部路由器

  ·例:1d的轉發表設置

 

  ·熱土豆路由:將分組發送給最近的網關路由器

相關文章
相關標籤/搜索