距離向量型與鏈路狀態型路由協定的差異:以RIP與OSPF比較路由計算、收斂與規模
路由協定是讓路由器之間交換路由資訊、自動建立路由表的機制。在組織內部使用的協定(IGP)大致有兩種想法。距離向量型是由各路由器從鄰居得知「到哪個目的地、距離多少」,再加上到該鄰居的距離來選擇路由。代表例RIP以經過的路由器數(跳數)作為距離。鏈路狀態型則是各路由器通告自己鏈路的狀態,共享網路的地圖(拓撲),再各自以戴克斯特拉演算法計算最短路徑。代表例OSPF以每條鏈路設定之成本的總和來選擇路由。距離向量型機制單純、設定也簡單,但故障後路由穩定下來(收斂)較慢,不適合大型網路。鏈路狀態型的計算與記憶體負擔較大,但能迅速跟上變化,也能用於大型網路。
| 項目 | 距離向量型(RIP等) | 鏈路狀態型(OSPF等) |
|---|---|---|
| 路由器掌握的資訊 | 只有從鄰居得知、到各目的地的距離與下一跳。不知道整個網路的架構 | 同一區域內所有路由器與鏈路及其成本。區域內所有路由器擁有相同的地圖(鏈路狀態資料庫) |
| 路由的計算 | 在從鄰居得知的距離上加上到鄰居的距離,選出最小者(貝爾曼-福特演算法的想法) | 根據地圖,以自己為起點用戴克斯特拉演算法計算最短路徑樹 |
| 度量值(表示路由好壞的值) | RIP使用跳數。最多到15,16代表「無法到達」 | OSPF使用各鏈路成本的總和。成本可由管理者設定,一般以頻寬為基準決定 |
| 更新的傳送方式 | RIP以固定間隔(RFC 2453為30秒)把路由表的內容送給鄰居。有變化時也會立即傳送(觸發更新) | 有變化時,把鏈路狀態(LSA)傳遍整個區域(泛洪)。平時以Hello確認鄰居存活,LSA只以長間隔(30分鐘)重送 |
| 收斂速度與迴圈 | 慢。故障後可能發生距離逐步增加的無限計數問題。以水平分割等方式抑制 | 快。變化傳開後各路由器立即重新計算。所有路由器都從相同的地圖計算,因此不易形成迴圈 |
| 網路規模 | 適合小型網路。RIP無法處理16跳以上的目的地 | 也能用於大型網路。劃分區域,以骨幹區域(區域0)為中心分層 |
| 所需資源與設定 | CPU與記憶體負擔小。設定也簡單 | 保存地圖與計算最短路徑需要較多CPU與記憶體。區域的設計等,設定也較複雜 |
| 代表例 | RIP(RIPv1、RIPv2、IPv6用的RIPng) | OSPF(IPv4用的OSPFv2、IPv6用的OSPFv3)、IS-IS |
數值為具代表性的大致參考值,會因世代或產品而異。