路由表生成演算法

2021-10-01 18:00:25 字數 2579 閱讀 5365

一:幾個概念

1:路由器:

是連線網際網路中的個區域網,廣域網的裝置,它會根據通道的情況自動選擇和設定路由,以最佳路徑,按前後順序傳送訊號.

路由器又稱閘道器裝置是用於連線多個邏輯上分開的網路,所謂邏輯網路是代表乙個單獨的網路或者乙個子網,當資料從乙個子網傳輸到另乙個子網時,可通過路由器的路由功能來完成.因此,路由器具有潘丹網路位址和選擇ip路徑的功能,它能在多個網路互聯的環境中,簡歷靈活的連線,可用完全不同的資料分組和介質訪問方法連線各種網路,路由器只接受受源站或其他路由器的資訊,屬於網路層的互聯裝置.

2:路由表

是指路由器或者其他網際網路的網路裝置上儲存的一張資訊表, 該表中存有到達特定網路終端的路徑,在某些情況下,還有一些與這些路徑相關的度量。

llinux下檢視路由裝置

destination:是目的網路位址

genmask:是子網掩碼

gateway:是下一條位址

iface是傳送介面

flags中的u標誌表示此條目有效,g標誌表示此條目的下一條位址是某個路由器的位址,沒有g標誌的條目表示目的網路位址是與本機介面直接相連的網路,不必經路由**,因此下一條位址位址處記為*號.

如果傳送資料報的目的位址是192.168.0.0根第一韓的子網掩碼做與運算得到192.168.0.0與第一行的目的網路位址相符.因此從etho介面傳送出去,.如果要傳送的資料報的目的位址跟前面庫右邊條目不匹配,那麼就要按照預設路由條目,從eth0介面發出去,首先發往192.168.0.1路由器,在讓路由器根據它的路由表決定下一跳位址.

二:常見的路由表的生成演算法

1:向量-距離演算法

路由器周期性地向其相鄰路由器廣播自己知道的路由資訊,用以通知相鄰路由器自己可以到達的網路以及到達該網路的距離.相鄰路由器可以根據收到的路由資訊修改和重新整理自己的路由表

優點:演算法簡單,易於實現

缺點:是慢收斂問題,路由器的路徑變化需要像波浪一樣從相鄰路由器傳輸出去,過程緩慢

給個例子:

已知路由器r6有表1所示的路由表,現在收到相鄰路由表r4發來路由更新訊息,如表2所示.試更新路由器r6的路由表.

表1:

表2:

先把錶2中距離都加1,並把下一跳路由器都改為r4,得到表3

表3和表1做比較.

第一行在表1中沒有,因此把這一行新增到表1中,

第二行的net2在表1中有,且下一跳路由器也是r4,因此要更新

第三行的net3在表1中有,但是下一條路由器不用,於是就要比較距離,新的路由資訊的距離是2,小於原來表中的4,因此要更新

更新後的r6 的路由表如下所示:

2:鏈路-狀態演算法

也叫最短路徑優先演算法(ls),它的思路是:

(1):路由器向相鄰路由器傳送查詢報文,測試它和相鄰路由器的鏈路狀態,如果可以收到相鄰路由器發回的相應,說明該路由器和相鄰路由器可以正常通訊

(2):收到該路由器和其他相鄰路由器的鏈路狀態後,還向系統找那個所有參加最短路徑優先演算法的路由器傳送鏈路狀態報文

(3):個路由器收到其他路由器傳送的鏈路狀態後,根據報文中的資料重新整理本路由儲存的網路拓撲結構圖.如果鏈路發生變化,路由器將採用dijkstra演算法生成新的最短路徑優先數並重新整理路由表.

3:dijkstra演算法( 又叫狄克斯特拉演算法)

(1):路由器建立一張網路圖,並且確定源節點和目的節點,我們假定為v1和v2,然後路由器建立乙個矩陣. 稱」鄰接矩陣」.在這個矩陣中,各矩陣元素表示權值,如[i,j]是節點之間鏈路權值如果節點vi和節點vj之間沒有鏈路直接相連,它們的權值設為」無窮大」

(2)路由器為網路中每一節點建立一組狀態記錄.次記錄包括三個字段

前序字段–表示當前節點之前的節點

長度字段–表示從源節點到當前節點的權值之和

標號字段–表示節點的狀態.每個節點都處於乙個狀態模式:」永久」或」暫時」

3:路由器初始化(所有節點的)狀態記錄集引數,將它們的長度設為」無窮大」,標號設為」暫時」

4:路由器設定乙個t節點.例如,如果設v1是源t節點,路由器將v1的標號更改為」永久」,當乙個標號更改為」永久」後,它講不再改變,乙個t節點僅僅是乙個**而已

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

6: 6、路由器在所有的暫時性節點中選擇距離v1的權值最低的節點。這個節點將是新的t節點。

7、如果這個節點不是v2(目的節點),路由器則返回到步驟5。

8、如果節點是v2,路由器則向前回溯,將它的前序節點從狀態記錄集中提取出來,如此迴圈,直到提取到v1為止。這個節點列表便是從v1到v2的最佳路由。

文章最後發布於: 2017-07-11

路由和路由表生成演算法

路由 資料報從源位址到目的位址所需要經過的路徑,由一系列節點組成。路由節點 乙個具有路由功能的主機或者路由器,維護一張路由表,通過查詢路由表來決定向那個姐傳送資料報。路由表 由很多路由條目組成,每個條目都指明去往某個網路的資料報應該經由哪個接收和傳送,其中最後乙個是預設路由條目。路由條目 路由表中的...

路由表條目生成演算法

在linux系統中可以使用route命令檢視路由表 destination 目的網路位址 gateway 下一跳位址 genmask 子網掩碼 iface 傳送介面 flags u標誌表示此條目有效 可以禁用某些條目 g標誌表示此條目的下一跳位址是某個路由器的位址,沒有g標誌的條目表示目的網路位址是...

路由表的生成演算法

一 幾個概念 1 路由器 是連線網際網路中的個區域網,廣域網的裝置,它會根據通道的情況自動選擇和設定路由,以最佳路徑,按前後順序傳送訊號.路由器又稱閘道器裝置是用於連線多個邏輯上分開的網路,所謂邏輯網路是代表乙個單獨的網路或者乙個子網,當資料從乙個子網傳輸到另乙個子網時,可通過路由器的路由功能來完成...