OSPF如何將資料包從源路由到目的地?
開放最短路徑優先協議 (OSPF) 是一種路由協議,用於查詢資料包在連線的網路集合中傳遞時的最佳路徑。
該協議由網際網路工程任務組 (IETF) 指定為內部閘道器協議 (IGP) 之一,旨在處理在更大的自治系統網路(如單個企業的網路)內移動的流量,而該網路又可能由透過路由器連線的許多單獨的區域網組成。
解釋
區域 1 邊界路由器 區域 0 骨幹區域 邊界路由器 區域 2 OSPF。
OSPF 協議被稱為鏈路狀態路由協議,它維護鏈路狀態資料庫。網路中路由的狀態就是成本。OSPF 協議允許每個路由器計算到任何給定可達目的地的路由成本。
具有 OSPF 的路由器介面將透過多播過程(稱為 hello 過程)向相鄰路由器通告其鏈路成本。此網路被劃分為多個區域,可以簡化管理並最佳化流量和資源利用率。
區域由 32 位點分十進位制表示。按照慣例,區域 0 表示 OSPF 網路的骨幹區域,如上圖所示。
每個區域都必須與 OSPF 骨幹區域連線。此類連線由互連路由器實現,稱為區域邊界路由器 (ABR),如上圖所示。
邊界路由器為其連線的每個區域實現單獨的鏈路狀態資料庫,並維護網路中所有區域的彙總路由。OSPF 檢測網路拓撲的變化,例如鏈路故障,並且它能夠在非常短的時間內收斂到新的無環路由結構。
在 OSPF 中,資訊被髮送到每個節點,因此流量會非常高,因為我們必須進行泛洪。鏈路狀態路由很複雜,因為它使用 Dijkstra 演算法來查詢節點之間的最短路徑。
邊界路由器將接收所有泛洪的資料包並彙總資訊。關於某個區域的全部資訊將儲存在一個數據包中,併發送到其他區域。邊界路由器將資訊轉發到骨幹路由器,骨幹路由器將資訊轉發到另一個區域的邊界路由器。
OSPF 資料包格式
OSPF 資料包格式如下:
0 8 16 31
版本 | 型別 | 訊息 |
---|---|---|
源地址 | ||
區域 ID | ||
校驗和 | 身份驗證型別 | |
身份驗證 |
這裡:
版本 - 表示當前版本
型別 - 表示 OSPF 訊息的型別 (1–5)。
- 型別 1 - “hello” 訊息,
- 型別 2 - 請求,
- 型別 3 - 傳送,
- 型別 4 - 確認收到鏈路狀態訊息,
- 型別 5 - 保留。
訊息長度 - 表示要交換的訊息的長度。
源地址 - 標識傳送者。
區域 ID - 節點所在區域的 32 位識別符號。
校驗和 - 16 位網際網路校驗和。
身份驗證型別 - 1(普通密碼),2(加密身份驗證)。
身份驗證 - 包含密碼或加密校驗和。