一、OSPF選路規則解析
OSPF作為經典的鏈路狀態路由協議,其選路規則采用層次化優先級機制,不同路由類型遵循嚴格比較順序:
1. 路由類型優先級
優先級 | 路由類型 | 描述 |
---|---|---|
1 | 域內路由 | 通過1類、2類LSA生成 |
2 | 域間路由 | 通過3類LSA生成 |
3 | 域外路由 | 通過5類/7類LSA生成 |
2. 不同類型路由比較規則
域內路由之間,域間路由之間會選擇開銷值小的路由加到路由表上
??域內與域間??
域內路由(Intra-Area)絕對優先于域間路由(Inter-Area)
??域間與域外??
域間路由絕對優先于域外路由(External)
??域外路由之間??
E類型路由分為兩類:
- ??類型1(E1)??:總開銷=種子度量值+路徑開銷
- ??類型2(E2)??:總開銷=種子度量值(默認類型)
比較規則:
- E1路由優先于E2路由
- 同類型比較:
- E1:比較總開銷(種子+路徑)
- E2:先比較種子度量值,相同則比較路徑開銷
二、OSPF防環機制深度剖析
1. 區域內防環(基于SPF算法的確定性計算)?
1)基礎概念??
??核心LSA類型??:
Router-LSA (Type-1)
:描述路由器鏈路狀態(接口、鄰居、Cost)
Network-LSA (Type-2)
:由DR生成,描述廣播/NBMA網段連接關系
2)有向圖構建規則?
鏈路類型(Link Type)?
Stub鏈路:
Stub網段表示該網段只有數據入口,例如一個Loopback接口就是一個 Stub網段。 此膠片描述了路由器節點和Stub網段的表示方式。 Cost表示從一個端點到另一個端點的開銷,該參數可以在OSPF接口上配置,表示數據離開該接口(出接口)的開銷。
Transit鏈路:
Transit網段有能力轉發既不是本網段產生的,也不以本網段做為目的地的數據。 有至少兩臺路由器的廣播型網段或NBMA網段就是一種Transit網段。 從路由器到所連Transit網段的開銷值就是連接到這個網段的接口所配置的開銷值。 從一個Transit網段到連接到這個網段的路由器的開銷為0。(稱為偽節點)
Point-to-Point(P2P)鏈路:
LSDB描述兩接口處于同一網段的點到點網段的規則如下: 兩臺路由器經由兩條有向線段直接相連,每個方向一條。 連接兩個接口的網段被表示成Stub網段。 兩個路由器同時通告Stub連接到該PPP網段。
3)SPF計算過程
OSPF的SPF計算分為??兩個階段??,確保不會因Stub網段引入環路:
??第一階段??:僅計算有雙向箭頭的節點,生成最短路徑樹(SPT)。
- 使用Dijkstra算法,每次選擇最小Cost的節點加入SPT。
- ??關鍵防環??:Transit網段到路由器的Cost=0,確保不會反向計算。
??第二階段??:掛載Stub網段到SPT,作為葉子節點。
- Stub網段不參與拓撲計算,僅作為終點,避免環路。
4)SPF計算實戰
拓補:
生成有向圖:
第一階段(忽略Stub):
第二階段(最終SPT):
2. 區域間防環(基于星型拓撲和水平分割)??
1)??骨干區域強制連接??
所有非骨干區域(非Area 0)必須直接連接到Area 0,區域間路由需通過Area 0中轉,形成邏輯星型拓撲,避免區域間直接傳遞路由。
??2)ABR的嚴格規則??
??規則1??:ABR僅將直連區域的內部路由注入Area 0,不會將非骨干區域的Type-3 LSA回傳至Area 0。
示例:若ABR從Area 1收到Type-3 LSA,不會將其重新注入Area 0。
??規則2??:ABR不會將Type-3 LSA回傳到原始區域(類似水平分割)。
??規則3??:ABR必須與Area 0有活躍鄰接關系,否則不參與區域間路由計算。
??3)Cost累加機制??
區域間路由的Cost按距離矢量方式逐跳累加(ABR通告自身Cost,下游路由器疊加到達ABR的Cost),但通過星型拓撲限制路徑唯一性。
3. 域外防環(依賴Type-4 LSA和ASBR定位)??
1)??ASBR的定位??
外部路由(Type-5 LSA)的防環依賴于準確找到ASBR的位置:
- ??同一區域??:通過Type-1/2 LSA計算ASBR路徑。
- ??其他區域??:依賴Type-4 LSA(ASBR Summary LSA)定位ASBR,確保路徑可達。
2)??Type-4 LSA的作用??
- Type-4 LSA由ABR生成,描述ASBR的位置,其他區域路由器通過Type-4 LSA計算到達ASBR的最短路徑,再結合Type-5 LSA計算外部路由。
- ??防環邏輯??:Type-5 LSA的傳播依賴Type-1/4 LSA的路徑計算,確保外部路由的下一跳始終指向正確的ASBR。
三、RFC 2328附錄E
1. 問題背景
當存在相同網絡號不同掩碼的外部路由時:
OSPF是一種基于鏈路狀態型路由協議,其中3 類、5 類、7類LSA傳遞的是路由信息,但是由于用于標識一條LSA的頭部信息中沒有掩碼信息,會導致路由覆蓋的情況。
2. 附錄E解決方案
場景 | 處理方式 |
---|---|
短掩碼先注入 | 長掩碼路由使用定向廣播地址作為Link-ID |
長掩碼先注入 | 1. 撤銷原LSA 2. 重新注入短掩碼路由 3. 長掩碼路由使用定向廣播地址 |
3. 實現條件
- 網絡地址需連續分配
- 避免真實網絡使用定向廣播地址
- 序列號遞增保證LSA更新有效性