路由生成算法調研

1.路由

路由(名詞):數據包從源地址到目的地址所經過的路徑,由一系列路由節點組成。

路由(動詞):從一個接口上收到數據包,根據數據包的目的地址進行定向並轉發到另一個接口的過程。

2.路由表

路由表是一個存儲在路由器或者聯網計算機中的電子表格(文件)或類數據庫。路由表存儲着指向特定網絡地址的路徑,路由表中含有網絡周邊的拓撲信息。建立路由表的主要是爲了實現路由協議和靜態路由選擇。

  • Linux可以通過route命令查看路由表
    這裏寫圖片描述

3.路由算法

路由算法,又名選路算法,算法的目的是找到一條從源路由器到目的路由器的“好”路徑(即具有最低費用的路徑)。路由器使用路由算法來找到到達目的地的最佳路由。

路由算法通常具有下列設計目標的一個或多個:優化、簡單、低耗、健壯、穩定、快速聚合、靈活性。

4.常見的路由生成算法
(1)LS算法

採用LS算法時,每個路由器必須遵循以下步驟:

①確認在物理上與之相連的路由器並獲得它們的IP地址。當一個路由器開始工作後,它首先向整個網絡發送一個“HELLO”分組數據包。每個接收到數據包的路由器都將返回一條消息,其中包含它自身的IP地址。

②測量相鄰路由器的延時(或者其他重要的網絡參數,比如平均流量)。爲做到這一點,路由器向整個網絡發送響應分組數據包。每個接收到數據包的路由器返回一個應答分組數據包。將路程往返時間除以2,路由器便可以計算出延時。(路程往返時間是網絡當前延遲的量度,通過一個分組數據包從遠程主機返回的時間來測量。)該時間包括了傳輸和處理兩部分的時間——也就是將分組數據包發送到目的地的時間以及接收方處理分組數據包和應答的時間。

③向網絡中的其他路由器廣播自己的信息,同時也接收其他路由器的信息。

在這一步中,所有的路由器共享它們的知識並且將自身的信息廣播給其他每一個路由器。這樣,每一個路由器都能夠知道網絡的結構以及狀態。
④ 使用一個合適的算法,確定網絡中兩個節點之間的最佳路由。

在這一步中,路由器選擇通往每一個節點的最佳路由。它們使用一個算法來實現這一點,如Dijkstra最短路徑算法。在這個算法中,一個路由器通過收集到的其他路由器的信息,建立一個網絡圖。這個圖描述網絡中的路由器的位置以及它們之間的鏈接關係。每個鏈接都有一個數字標註,稱爲權值或成本。這個數字是延時和平均流量的函數,有時它僅僅表示節點間的躍點數。例如,如果一個節點與目的地之間有兩條鏈路,路由器將選擇權值最低的鏈路。

(2)Dijkstra算法

①路由器建立一張網絡圖,並且確定源節點和目的節點,在這個例子裏我們設爲V1和V2。然後路由器建立一個矩陣,稱爲“鄰接矩陣”。在這個矩陣中,各矩陣元素表示權值。例如,[i, j]是節點Vi與Vj之間的鏈路權值。如果節點Vi與Vj之間沒有鏈路直接相連,它們的權值設爲“無窮大”。

②路由器爲網路中的每一個節點建立一組狀態記錄。此記錄包括三個字段:
前序字段——表示當前節點之前的節點。
長度字段——表示從源節點到當前節點的權值之和。
標號字段——表示節點的狀態。每個節點都處於一個狀態模式:“永久”或“暫時”。

③路由器初始化(所有節點的)狀態記錄集參數,將它們的長度設爲“無窮大”,標號設爲“暫時”。

④路由器設置一個T節點。例如,如果設V1是源T節點,路由器將V1的標號更改爲“永久”。當一個標號更改爲“永久”後,它將不再改變。一個T節點僅僅是一個代理而已。

⑤路由器更新與源T節點直接相連的所有暫時性節點的狀態記錄集。

⑥路由器在所有的暫時性節點中選擇距離V1的權值最低的節點。這個節點將是新的T節點。

⑦如果這個節點不是V2(目的節點),路由器則返回到步驟⑤。

⑧如果節點是V2,路由器則向前回溯,將它的前序節點從狀態記錄集中提取出來,如此循環,直到提取到V1爲止。這個節點列表便是從V1到V2的最佳路由。

(3)鏈路向量選路算法

鏈路狀態算法(也稱最短路徑算法)發送路由信息到互聯網上所有的結點,然而對於每個路由器,僅發送它的路由表中描述了其自身鏈路狀態的那一部分。

(4)距離向量算法

距離向量算法(也稱爲Bellman-Ford算法)則要求每個路由器發送其路由表全部或部分信息,但僅發送到鄰近結點上。從本質上來說,鏈路狀態算法將少量更新信息發送至網絡各處,而距離向量算法發送大量更新信息至鄰接路由器。 ——由於鏈路狀態算法收斂更快,因此它在一定程度上比距離向量算法更不易產生路由循環。但另一方面,鏈路狀態算法要求比距離向量算法有更強的CPU能力和更多的內存空間,因此鏈路狀態算法將會在實現時顯得更昂貴一些。

5.路由收斂

收斂是指在最佳路徑的判斷上所有路由器達到一致的過程。

當某個網絡事件引起路由可用或不可用時,路由器就發出更新信息。路由更新信息遍及整個網絡,引發重新計算最佳路徑,最終達到所有路由器一致公認的最佳路徑。

收斂慢的路由算法會造成路徑循環或網絡中斷。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章