一、OSPF介紹
?OSPF(Open Shortest Path First,開放最短路徑優先)協議作為一種基于鏈路狀態的路由協議,它為網絡中的路由器提供了一種高效、可靠的方式來共享路由信息,并計算出最短路徑。
特點:
- 收斂速度快,能快速適應網絡變化。
- 支持區域劃分,適合大規模網絡。
- 提供更準確和詳細的路由信息。
- 對網絡拓撲變化的適應性強。
二、OSPF概念
1.Router ID
Router ID(路由器標識符)是一個 32 位的標識符,用于唯一標識一臺 OSPF 路由器。
-
唯一性:在一個 OSPF 域內必須是唯一的,不能與其他路由器的 Router ID 重復。
- 選舉規則:通常,管理員可以手動配置 Router ID。如果沒有手動配置,OSPF 會自動選取路由器上活動的最大 IP 地址作為 Router ID。
- 穩定性要求:一旦確定,應盡量保持不變,因為 Router ID 的改變可能會導致一些路由信息的重新計算和傳播,對網絡穩定性有一定影響。
- 路由計算:在進行路由計算和構建拓撲結構時,Router ID 是關鍵的標識。
- 鄰居建立:在 OSPF 鄰居建立過程中,Router ID 用于識別不同的路由器。
2.鏈路狀態
鏈路狀態指的是路由器接口的狀態信息,包括接口的 IP 地址、子網掩碼、網絡類型、Cost(成本)值等。
鏈路狀態信息通過 LSA(Link State Advertisement,鏈路狀態通告)報文在路由器之間進行交換。
主要作用包括:
- 構建拓撲圖:通過收集各個路由器的鏈路狀態信息,OSPF 可以構建出整個網絡的拓撲結構,包括路由器的連接關系、鏈路的帶寬等信息。
- 計算最優路徑:基于鏈路狀態信息和最短路徑算法,OSPF 可以計算出到達每個目的地的最優路徑,并將其存儲在路由表中。
- 快速收斂:當網絡拓撲發生變化時,路由器可以迅速感知并更新鏈路狀態信息,從而快速計算出新的最優路徑,實現快速收斂。
- 避免路由環路:OSPF 通過使用鏈路狀態信息和最短路徑算法,可以避免出現路由環路,保證網絡的穩定性和可靠性。
3.Cost
Cost(花銷)用于表示到達目的地的路徑代價。
Cost 值通常由以下因素決定:
- 鏈路帶寬:鏈路的帶寬會影響 Cost 的值。一般來說,帶寬越高,Cost 值越小,表示通過該鏈路到達目的地的代價越低。
- 接口類型:不同類型的接口可能具有不同的默認 Cost 值。例如,以太網接口的默認 Cost 值通常為 1,而廣域網接口的默認 Cost 值可能較高。
- 手動配置:管理員可以手動配置接口的 Cost 值,以影響 OSPF?路由的選擇。
Cost 的計算公式
- 通常是參考帶寬除以接口帶寬。例如,如果參考帶寬為 100Mbps,而接口帶寬為 10Mbps,則 Cost 值為 10。
Cost 值的作用
- 幫助 OSPF 協議選擇最優路徑,OSPF?路由器會根據鏈路狀態信息和 Cost 值計算到達每個目的地的最短路徑,并將其存儲在路由表中。當需要轉發數據包時,路由器會根據路由表選擇成本最低的路徑。
4.報文類型
- Hello 報文:用于發現、建立和維護鄰居關系。
- Hello 報文會被周期性地發送到鄰居路由器,以確保鏈路的可用性和鄰居的存在。Hello 報文還用于選舉 DR和 BDR。
- (Designated Router,指定路由器)
- (Backup Designated Router,備份指定路由器)
- Hello 報文會被周期性地發送到鄰居路由器,以確保鏈路的可用性和鄰居的存在。Hello 報文還用于選舉 DR和 BDR。
- DD報文:數據庫描述報文,用于描述本地鏈路狀態數據庫(LSDB)的情況。
- DD 報文包含了 LSA的頭部信息,用于與鄰居路由器進行數據庫同步。
- (Database Description)
- (Link State Advertisement,鏈路狀態通告)
- DD 報文包含了 LSA的頭部信息,用于與鄰居路由器進行數據庫同步。
- LSR報文:鏈路狀態請求報文,用于向鄰居路由器請求自身缺少的鏈路狀態信息。
- 當路由器發現自己的鏈路狀態數據庫中缺少某些 LSA 時,會發送 LSR 報文請求鄰居路由器發送相應的 LSA。
- (Link State Request)
- 當路由器發現自己的鏈路狀態數據庫中缺少某些 LSA 時,會發送 LSR 報文請求鄰居路由器發送相應的 LSA。
- LSU報文:鏈路狀態更新報文,用于向鄰居路由器發送詳細的鏈路狀態信息。
- 當路由器接收到 LSR 報文后,會使用 LSU 報文回復請求的 LSA。LSU 報文包含了真正的 LSA 內容,用于更新鄰居路由器的鏈路狀態數據庫。
- (Link State Update)
- 當路由器接收到 LSR 報文后,會使用 LSU 報文回復請求的 LSA。LSU 報文包含了真正的 LSA 內容,用于更新鄰居路由器的鏈路狀態數據庫。
- LSAck報文:鏈路狀態確認報文,用于確認收到的 LSU 報文。
- 當鄰居路由器收到 LSU 報文后,會發送 LSAck 報文進行確認。LSAck 報文可以確保鏈路狀態信息的傳輸可靠性。
- (Link State Acknowledgment)
- 當鄰居路由器收到 LSU 報文后,會發送 LSAck 報文進行確認。LSAck 報文可以確保鏈路狀態信息的傳輸可靠性。
5.LSA類型
- 路由器 LSA:每臺運行 OSPF 的路由器都會產生這種類型的 LSA。
- 它描述了路由器的接口和接口的Cost值以及描述路由器的特殊角色,如虛擬鏈路、ABR和 ASBR等。
- (Router LSA,Type 1)
- (Area?Border Router,區域邊界路由器)
- ( Autonomous System Border Router,自治系統邊界路由器)
- 它描述了路由器的接口和接口的Cost值以及描述路由器的特殊角色,如虛擬鏈路、ABR和 ASBR等。
- 網絡 LSA:在多路訪問型網絡(如以太網或幀中繼網絡)中,會選舉出 DR(和 BDR。DR 會發送這種類型的 LSA,用來描述網絡中的所有路由器。
- (Network LSA,Type 2)
- 網絡匯總 LSA:由 ABR產生,用于通告其他區域的網絡信息。
- 匯總了與 ABR 相連的其他區域的網絡信息,并將其發送到其他區域。
- (Network Summary LSA,Type 3)
- (Area Border Router,區域邊界路由器)
- 匯總了與 ABR 相連的其他區域的網絡信息,并將其發送到其他區域。
- ASBR 匯總 LSA:由 ABR 產生,用于通告 ASBR的位置。
- 告訴其他區域 ASBR 的位置,以便其他區域的路由器能夠通過 ABR 到達 ASBR。
- (ASBR Summary LSA,Type 4)
- ( Autonomous System Border Router,自治系統邊界路由器)
- 告訴其他區域 ASBR 的位置,以便其他區域的路由器能夠通過 ABR 到達 ASBR。
- 外部 LSA:由 ASBR 產生,用于通告外部路由信息。
- 描述了 ASBR 從其他路由協議(如 BGP)學習到的路由信息,并將其通告給 OSPF 網絡。
- (External LSA,Type 5)
- 描述了 ASBR 從其他路由協議(如 BGP)學習到的路由信息,并將其通告給 OSPF 網絡。
- 組播 LSA:用于支持組播路由。
- (Multicast LSA,Type 6)
- NSSA 外部 LSA:在 NSSA使用,類似于 Type 5 LSA,但它的通告范圍僅限于 NSSA 區域。
- (NSSA External LSA,Type 7)
- (Not-So-Stubby Area,非完全末梢區域)