文章目錄
- IP路由基礎
- 路由表(RIB)和轉發表(FIB)
- 動態路由協議
- 動態路由協議:
- OSPF
- OSPF基礎
- 工作原理:
- OSPF網絡類型簡介
- DR和BDR的選舉
- 選舉規則:
- OSPF單區域路由計算
- LSA報文信息
- LSA處理原則
- 單區域OSPF只會產生兩類LSA:
- Router LSA 報文詳解
- Network LSA 報文詳解
- LSA泛洪機制
- 1類LSA種的鏈路類型如
- OSPF多區域及路由引入
- 多區域及路由計算
- LSA報文
- 多區域的防環機制
- 虛連接的作用
- 外部路由及路由計算
- 五類LSA
- 報文
- 四類LSA
- OSPF外部路由的2種度量值類型
- OSPF特殊區域及路由匯總
- Stub區域
- Totally Stub區域
- NSSA和Totally NSSA
- 路由匯總
- 在ABR執行路由匯總
- OSPF路由匯總的類型
- 在ASBR執行路由匯總
- OSPF 高級特性
- Silent-Interface
- OSPF認證機制
- 路由控制
- 設置等價路由
- 缺省路由通告
- 對發送的LSA進行過濾
- 對ABR Type3 LSA進行過濾:
- 設置LSDB中External LSA的最大數量
- OSPF多進程
- 轉發地址
- OSPF快速收斂
- PRC
- 智能定時器
- 控制LSA的生成與接收
- 控制路由計算
- OSPF IP FRR
- 與BFD聯動
- 與BFD聯動
IP路由基礎
路由器收到ip報文時,更具其目的進行匹配路由表,匹配成功則轉發路由,失敗則直接丟棄
路由表(RIB)和轉發表(FIB)
路由器維護著一個本地路由核心表,此外還存在從各種協議學習到的路由表
轉發表是將路由表中的最優路徑下載而來而生成的,路由器根據轉發表來進行轉發
-
各種協議生成的路由表
- 協議路由表中存放著該協議發現的路由信息
- 直連路由表 靜態路由表 OSPF 路由表
-
本地核心路由表
- 對各個協議的路由表中相同的表項進行優選,得到本地核心路由表
- 本地核心路由表中的最優路由,是依據各種路由協議的優先級和度量值來選取的。
- 從協議路由表中進行路由選擇生成而來
-
轉發表
- 將本地核心路由表中的最優路由下載而來 與RIB高度一致
- 最長匹配 優先級 花銷
動態路由協議
靜態路由是由工程師手動配置維護的路由條目,適用與小型穩定的網絡路由
但是:
- 無法適應規模較大的網路
- 無法動態響應網絡變化
動態路由協議:
-
按照工作區域分類:
- 內部網關協議:RIP OSPF ISIS
- 外部網關協議:BGP
-
按工作機制和算法分類
- 距離矢量路由協議:RIP
- 鏈路狀態路由協議:ISIS OSPF
自治系統AS:自治系統是一組互聯的IP地址集合,由一個或多個自治系統號(ASN)標識。每個AS通常由一個或多個路由器和與之相連的子網組成,這些路由器共同遵循同一套路由協議,形成一個統一管理和控制的網絡單元
AS范圍(1~65535)
私有網絡編號(64512~65535)
距離矢量路由協議:
- 運行該路由協議的路由器周期性的泛洪自己的路由表,通過路由的交互,每臺路由器都從相鄰的路由器學習到路由,并且加載進自己的路由表,再通告給其他的用戶
- 對于網絡中的所有路由器而言,路由器并不清楚網絡的拓撲,只是簡單的知道要去往某個目的網段方向在哪里,開銷有多大。
鏈路狀態路由協議(LSA泛洪 link-state-advertiserment):
- 鏈路狀態路由協議通告的的是鏈路狀態而不是路由信息。運行鏈路狀態路由協議的路由器之間首先會建立鄰居關系,然后彼此之間開始交互LSA
- 每臺路由器都會產生LSA,路由器將接收到的LSA放入自己的LSDB。路由器通過對LSDB中所存儲的LSA進行解析,進而了解全網拓撲。
- 每臺路由器基于LSDB,使用SPF算法進行計算。每臺路由器都計算出一棵以自己為根的、無環的、擁有最短路徑的“樹”。有了這棵“樹”,路由器就已經知道了到達所有網段的優選路徑。
- 路由器將計算出來的優選路徑,加載進自己的協議路由表
OSPF
OSPF基礎
基于鏈路狀態的內部網關路由協議
ospf是一種基于鏈路狀態的內部網關路由協議
- ipv4一般是version 2
- ipv6 一般是version 3
-
Router ID:用于在自治系統中唯一標識一臺運行OSPF的路由器,按點分十進制的形式
-
Router ID選舉規則如下:
-
手動配置OSPF路由器的Router ID(建議手動配置)
-
如果沒有手動配置Router ID,則路由器使用Loopback接口中最大的IP地址作為Router ID
-
如果沒有配置Loopback接口,則路由器使用物理接口中最大的IP地址作為Router ID
-
-
-
Area:用于標識一個OSPF的區域
- 區域是從邏輯上將設備劃分為不同的組,每個組用區域號(Area ID)來標識
- OSPF的區域ID是一個32bit的非負整數,按點分十進制的形式呈現,例如Area0.0.0.1。
-
度量值:用Cost(開銷)作為路由的度量值。每一個激活了OSPF的接口都會維護一個接口Cost值
- 缺省 的接口Cost = 100 Mbit/s / 接口帶寬
- OSPF以“累計cost”為開銷值,也就是流量從源網絡到目的網絡所經過所有路由器的出接口的cost總和
-
鄰居表:OSPF在傳遞鏈路信息之前,需先通過hello報文建立鄰居關系
- 鄰居表顯示了OSPF路由器之間的鄰居狀態
- 使用display ospf peer查看
-
LSDB:LSDB會保存自己產生的及從鄰居收到的LSA信息
-
使用命令行display ospf lsdb查看LSDB表
-
Type標識LSA的類型,AdvRouter標識發送LSA的路由器
-
OSPF協議路由表
-
OSPF路由表保存了從OSPF學習到的網段最優條目
-
使用命令display ospf routing查看OSPF路由表
-
報文格式和類型
- OSPF報文直接采用IP封裝,在報文的IP頭部中,協議號為89
- OSPF一共定義了5種類型的報文,不同類型的OSPF報文有相同的頭部格式
- Hello: 周期性發送,發現和維護鄰居關系
- Database Description :描述本地LSDB的摘要信息,用于兩臺設備進行數據庫同步。
- Link State Request 用于向對方請求所需要的LSA,設備只有在 OSPF鄰居雙方成功交換DD報文后才會向對方發出LSR報文。
- Link State Update 用于向對方發送其所需要的詳細LSA。
- Link State Ack 用來對收到的LSA進行確認。
工作原理:
-
OSPF使用Hello報文發現和建立鄰居關系
- 在以太網鏈路上,缺省時,OSPF采用組播的形式發送Hello報文(目的地址224.0.0.5)
- OSPF Hello報文中包含了路由器的Router ID、鄰居列表等信息
鄰居狀態:
- Down:這是鄰居的初始狀態,表示沒有從鄰居收到任何信息
- Init:在此狀態下,路由器已經從鄰居收到了Hello報文,但是自己的Router ID不在所收到的Hello報文的鄰居列表中
- 2-way:在此狀態下,路由器發現自己的Router ID 存在于收到的Hello報文的鄰居列表中。
-
OSPF建立鄰居關系之后使用DD報文建立鄰接關系
- ExStart:鄰居狀態變成此狀態以后,路由器開始向鄰居發送DD報文。在此狀態下發送的DD報文不包含鏈路狀態描述。 只用于選舉主從關系
- Exchange:在此狀態下,路由器與鄰居之間相互發送包含鏈路狀態信息摘要的DD報文。
- Loading:在此狀態下,路由器與鄰居之間相互發送LSR報 文、LSU報文、LSAck報文
-
LSDB同步
- loading:R1開始向R2發送LSR報文,請求那些在Exchange狀態下通過DD 報文發現的、并且在本地LSDB中沒有的鏈路狀態信息。
- R2向R1發送LSU報文,LSU報文中包含了那些被請求的鏈路狀態 的詳細信息。R1在完成LSU報文的接收之后,且沒有其他待請求 的LSA后,會將鄰居狀態從Loading變為Full。
- R1向R2發送LSAck報文,作為對LSU報文的確認
OSPF網絡類型簡介
OSPF有四種網絡類型:BMA(Broadcast)、NBMA、P2MP和P2P
一般情況下,鏈路兩端的OSPF接口網絡類型必須一致,否則雙方無法建立鄰居關系
- P2P指的是在一段鏈路上只能連接兩臺網絡設備的環境。 廣播、組播數據包都可以轉發(PPP鏈路)
- BMA也被稱為Broadcast,指的是一個允許多臺設備接入的、支持廣播、組播報文的環境。(Ethernet(以太網))
- NBMA指的是一個允許多臺網絡設備接入且不支持廣播 與組播報文的環境。OSPF模擬在廣播型網絡上的操作,但 是每個路由器的鄰居需要手動配置(全互連的幀中繼(Frame-Relay))
- P2MP相當于將多條P2P鏈路的一端進行捆綁得到的網絡。P2MP可以支持廣播、組播的轉發。沒有一種鏈路層協議會被缺省的認為是P2MP網絡類型(非完全連接的幀中繼或ATM改為 P2MP的網絡)
DR和BDR的選舉
在MA網絡類型中如果每臺OSPF路由器都與其他的所有路由器建立OSPF鄰接關系,便會導致網絡中存在過多 的OSPF鄰接關系,增加設備負擔,也增加了網絡中泛洪的OSPF報文數量,當拓撲出現變更,網絡中的LSA泛洪可能會造成帶寬的浪費和設備資源的損耗
為了優化MA網絡中OSPF鄰接關系,OSPF指定了三種OSPF路由器身份,DR(Designated Router,指定路由器)、BDR(Backup Designated Router,備用指定路由器)和DRother路由器。
只允許DR、BDR與其他OSPF路由器建立鄰接關系。DRother之間不會建立全毗鄰的OSPF鄰接關系,雙方 停滯在2-way狀態(建立鄰居關系)。
選舉規則:
DR/BDR的選舉是非搶占式的。
DR/BDR的選舉是基于接口的
- 接口啟動OSPF的狀態:差值大于等于40S,先啟動的為DR
- 接口的DR優先級越大越優先,取值范圍0~255,默認為1
- 接口的DR優先級相等時,Router ID越大越優先
只有MA網絡類型需要選DR。
ospf基礎配置:
啟動OSPF進程,進入OSPF視圖。
[Huawei] ospf [ process-id | Router ID Router ID ]
進程號是本地概念,兩臺使用不同OSPF進程號設備之間也能夠建立鄰接關系,不同的進程維護各自的LSDB創建并進入OSPF區域視圖
[Huawei-ospf-1] area area-id在OSPF區域中使能OSPF
[Huawei-ospf-1-area-0.0.0.0] network network-address wildcard-mask
執行該命令配置區域所包含的網段。設備的接口IP地址掩碼長度≤network命令指定的掩碼長度,且接口的主IP地址必須在network命令指定的網段范圍內,此時該接口才會在相應的區域內激活OSPF。接口視圖下使能OSPF:
[Huawei-GigabitEthernet1/0/0] ospf enable process-id area area-id
ospf enable命令用來在接口上使能OSPF,優先級高于network命令。接口視圖下:設置選舉DR時的優先級
[Huawei-GigabitEthernet1/0/0] ospf dr-priority priority接口視圖下:設置Hello報文發送的時間間隔
[Huawei-GigabitEthernet1/0/0] ospf timer Hello interva接口視圖下:設置網絡類型
[Huawei-GigabitEthernet1/0/0] ospf network-type { broadcast | nbma | p2mp | p2p }
OSPF單區域路由計算
同一個區域中的所有路由器擁有完全一致的LSDB
LSA報文信息
LS Type(鏈路狀態類型):指示本LSA的類型。
Link State ID(鏈路狀態ID):不同的LSA,對該字段的定義不同。
Advertising Router(通告路由器):產生該LSA的路由器的Router ID
鏈路狀態類型、鏈路狀態ID、通告路由器三元組唯一地標識了一個LSA
LS Age(鏈路狀態老化時間):此字段表示LSA已經生存的時間,單位 是秒,默認為0,越大越舊
LS Sequence Number(鏈路狀態序列號):當LSA每次有新的實例 產生時,序列號就會增加。
LS Checksum(校驗和):用于保證數據的完整性和準確性
鏈路狀態老化時間 、鏈路狀態序列號 、校驗和用于判斷LSA的新舊
LSA處理原則
OSPF通過交互LSA實現鏈路狀態數據庫同步,路由器收到LSA后,按照以下原則處理
- 如果收到的LSA本地沒有,則更新LSDB并泛洪該 LSA。
- 如果本地LSDB已存在該LSA,但是收到的更新,則更新LSDB并泛洪該LSA。
- 如果收到的LSA和LSDB中相同,則忽略,并終止泛洪。
- 如果收到的LSA損壞,例如Checksum錯誤,則不接收該LSA。
收到一個LSA的多個實例時
- 先檢查序列號是否相同,若相同則檢驗校驗和是否相同,如不同則序列號更大為優
- 校驗和是否相同,若相同則檢查Max Age=3600 s,如不相同則校驗和更大為優
- 檢驗Max Age=3600 s,若相等則收到LSA更優,如不相等則檢查Age差是否超過15min,超過之后Age小的更優,沒有超過則默認為同一個LSA,保留先收到的
單區域OSPF只會產生兩類LSA:
路由器LSA (Router LSA):每個設備都會產生,描述了設備的鏈路狀態和開銷,該LSA只能在接口所屬的區域內泛洪
網絡LSA (Network LSA) 由DR產生,描述該DR所接入的MA網絡中所有與之形成鄰接關系的路由器,以及DR自己。該 LSA只能在接口所屬區域內泛洪
Router LSA 報文詳解
- V (Virtual Link ) :如果產生此LSA的路由器是虛連接的端點,則置為1。
- E (External ): 如果產生此LSA的路由器是ASBR,則置為1。
- B (Border ):如果產生此LSA的路由器是ABR,則置為1。
- links :LSA中的Link(鏈路)數量。Router LSA使用Link來承載 路由器直連接口的信息。
Link Type | Link ID | Link Data |
---|---|---|
Point-to-Point(P2P):描述一個從本 路由器到鄰居路由器之間的點到點鏈路, 屬于拓撲信息 | 鄰居路由器的 Router ID | 宣告該Router LSA的路 由器接口的IP地址 |
TransNet:描述一個從本路由器到一個 Transit網段(例如MA或者NBMA網段) 的連接,屬于拓撲信息 | DR的接口IP地址 | 宣告該Router LSA的路 由器接口的IP地址 |
StubNet:描述一個從本路由器到一個 Stub網段(例如Loopback接口)的連 接,屬于網段信息 | 宣告該Router LSA的路由器接 口的網絡IP地址 | 該Stub網絡的網絡掩碼 |
virtual-link(虛鏈路):用于描述虛鏈 路上的鄰居關系 | 鄰居路由器的 Router ID | 宣告該Router LSA的路 由器接口的IP地址 |
Network LSA 報文詳解
- Link State ID :DR的接口IP地址。
- Network Mask:MA網絡的子網掩碼。
- Attached Router:連接到該MA網絡的路由器的Router-ID (與該DR建立了鄰接關系的鄰居的Router-ID,以及DR自己的 Router-ID),如果有多臺路由器接入該MA網絡,則使用多個字段描述
LSA泛洪機制
OSPF拓撲發生改變時:各OSPF設備會立即泛洪LSA
定期泛洪:華為OSPF設備每隔30min會泛洪一次LSA
1類LSA種的鏈路類型如
OSPF接口網絡類型為P2P產生的鏈路類型為P2P和stubnet
OSPF接口網絡類型為MA產生的鏈路類型為transnet
OSPF多區域及路由引入
多區域及路由計算
為解決大型網絡中,單區域產生的LSDB過于臃腫導致的網絡擁堵而引入的多區域的OSPF。
路由器可以分為兩種角色:
- 區域內部路由器(Internal Router):該類設備的所有接口都屬于同一個OSPF區域
- 區域邊界路由器(Area Border Router):該類設備接口分別連接兩個及兩個以上的不同區域
邊界路由器ABR會產生三類的LSA,該LSA只會在除了該路由器所處的區域傳播
LSA報文
LS Type:取值3,代表Network Summary LSA。
Link State ID:路由的目的網絡地址。
Advertising Router:生成LSA的Router ID。
Network Mask:路由的網絡掩碼。
metric:到目的地址的路由開銷
多區域的防環機制
-
OSPF要求所有的非骨干區域必須與Area0直接相連,區域間路由需經由Area0中轉,禁止非骨干區域之間直接路由傳遞
-
ABR不會將描述到達某個區域內網段路由的3類LSA 再注入回該區域
-
ABR從非骨干區域收到的3類LSA不能用于區域間路由的計算
虛連接的作用
不建議使用這種方式,容易造成環路
OSPF要求骨干區域必須是連續的,但是并不要求物理上連續,可以使用虛連接使骨干區域在邏輯上連續
條件:
- 在任意兩個ABR上建立
- 這兩個ABR都有端口連接到一個相同的非骨干區域
外部路由及路由計算
五類LSA
ASBR(AS Boundary Router):自治系統邊界路由器。只要一臺OSPF設備引入了外部路由,它就成為了ASBR。
AS外部LSA (AS External LSA) 由ASBR產生,用于描述到達OSPF域外的路由
ASBR將外部路由信息以AS-external LSA(5類LSA)的形式在OSPF網絡內泛洪
報文
-
LS Type:取值5,代表AS-external-LSA。
-
Link State ID:外部路由的目的網絡地址。
-
Advertising Router:生成該LSA的Router ID。
-
Network Mask:網絡掩碼。
-
E :該外部路由所使用的度量值類型
- 0:度量值類型為Metric-Type-1
- 1:度量值類型為Metric-Type-2
-
metric:到目的網絡的路由開銷。
-
Forwarding Address(FA):到所通告的目的地址的 報文將被轉發到這個地址
- 當轉發地址全為零的時候,則到達改外部網段的流量會被發往引入這條路由的ASBR
- 當轉發地址不為零的時候,則流量會發往這個轉發地址
- 可以在某些網絡拓撲中避免他的次優路徑
四類LSA
當ABR收到五類LSA之后產生,通告外部路徑給本地區域路由
ASBR匯總LSA (ASBR Summary LSA) 由ABR產生,描述到ASBR的路由,通告給除ASBR所在區域的其他相關區域
OSPF外部路由的2種度量值類型
- Metric-Type-1 可信程度高,AS外部開銷與AS內部開銷相當 AS內部開銷+AS外部開銷
- Metric-Type-2 (缺省) 可信程度低,AS外部開銷遠大于AS內部開銷 AS外部開銷
優先級:區域內路由>區域間路由>外部路由(1類>2類)
在ABR路由器中,進入OSPF區域視圖下,配置虛鏈路
[Huawei]ospf process ID
[Huawei-ospf-process ID]area Area ID
[Huawei-ospf-process ID-area-Area ID]vlink-peer neighbor’s router ID
虛連接要求兩個ABR都有端口連接到一個相同的非骨干區域進入OSPF進程視圖,引入外部路由
[Huawei]ospf process ID
[Huawei-ospf-process ID] import-route { limit limit-number | { bgp [ permit-ibgp ] | direct | unr | rip [ process-id-rip ] | static | isis [ process-id-isis ] | ospf [ process-id-ospf ] } [ cost cost | type type | tag tag | route-policy route-policy-name ] * }
OSPF特殊區域及路由匯總
OSPF的區域可分為兩種類型:
傳輸區域(Transit Area):除了承載本區域發起的流量和訪問本區域的流量外,還承載了源IP和目的 IP都不屬于本區域的流量,即“穿越型流量”
末端區域(Stub Area):只承載本區域發起的流量和訪問本區域的流量
Stub區域
Stub區域的ABR不向Stub區域內傳播它接收到的AS外部路由,Stub區域中路由器的LSDB、路由表規模都會大大減小。
為保證Stub區域能夠到達AS外部,Stub區域的ABR將生成一條缺省路由(使用3類LSA描述)。
配置Stub區域時需要注意下列幾點:
- 骨干區域不能被配置為Stub區域。
- Stub區域中的所有路由器都必須將該區域配置為Stub。
- Stub區域內不能引入也不接收AS外部路由。
- 虛連接不能穿越Stub區域。
Totally Stub區域
Totally Stub區域既不允許AS外部路由在本區域內傳播,也不允許區域間路由在本區域內傳播。
Totally Stub區域內的路由器通過本區域ABR下發的缺省路由(使用3類LSA描述)到達其他區域,以及AS外部
NSSA和Totally NSSA
NSSA區域能夠引入外部路由,同時又不會學習來自OSPF網絡其它區域引入的外部路由。
Totally NSSA與NSSA區域的配置區別在于前者在ABR上需要追加no-summary關鍵字。
為了讓NSSA區域內的路由器能夠通過骨干區域到達AS外部,NSSA區域的ABR會自動向該區域注入一條缺省路由,該路由采用7類LSA描述
路由匯總
將一組前綴相同的路由匯聚成一條路由,從而達到減小路由表規模以及優化設備資源利 用率的目的
在ABR執行路由匯總
OSPF路由匯總的類型
- 在ABR執行路由匯總:對區域間的路由執行路由匯總
- 在ASBR執行路由匯總:對引入的外部路由執行路由匯總
有幾率造成環路------解決方案:生成unr路由 使用黑洞路由
在ASBR執行路由匯總
在ASBR配置路由匯總后,ASBR將對自己所引入的外部路由進行匯總。
NSSA區域的ASBR也可以對引入NSSA區域的外部路由進行匯總。
在NSSA區域中,ABR執行7類LSA轉化成5類LSA動作,此時它也是ASBR。若配置路由匯總,則對由7類LSA轉化成的5 類LSA進行匯總。
OSPF 高級特性
Silent-Interface
通過Silent-Interface的配置,增強OSPF的組網適應能力,減少系統資源的消耗
Silent-Interface有以下特性:
-
Silent-Interface不會接收和發送OSPF報文。
-
Silent-Interface的直連路由仍可以發布出去。
適用于連接業務側的接口,需要將路由通過OSPF發布,但不需要與對端設備建立鄰居關系
ospf process id
ospf視圖下:silent interface enable
OSPF認證機制
OSPF支持報文認證功能,只有通過認證的OSPF報文才能被接收
路由器支持兩種OSPF報文認證方式,當兩種認證方式都存在時,優先使用接口認證方式:
-
區域認證方式:一個OSPF區域中所有的路由器在該區域下的認證模式和口令必須一致。
-
ospf process id ospf視圖中:area id 區域視圖中: authentication-mode md5/hmac-md5/simple cipher password
-
接口認證方式:相鄰路由器直連接口下的認證模式和口令必須一致。
-
interface gigabitethernet 0/0/1 接口視圖下: ospf authentication-mode md5/hmac-md5 Key ID cipher password
路由控制
設置等價路由
- 到達同一目的的路徑有多條,且開銷值相同則是等價路由
- 可以用來實現負載分擔
設置進行負載分擔的等價路由的最大數量
ospf process id
ospf視圖下:maximum load-balancing 2
缺省路由通告
- 由區域邊界路由器(ABR)發布Type3 LSA,用來指導區域內路由器進行區域之間報文的轉發。
- 由自治系統邊界路由器(ASBR)發布Type5 LSA或Type7 LSA,用來指導OSPF路由域內路由器進行域外報文的轉發。
在普通區域通過default-route-advertise命令配置 由ASBR發布的Type5 LSA 在普通區域泛洪
在NSSA區域通過nssa [default-route-advertise]由ASBR發布 Type7 LSA 在NSSA區域泛洪
Stub區域和Totally Stub區域 以及 Totally NSSA區域:都是自動生成將缺省路由通告到普通OSPF區域
[Huawei-ospf-1] default-route-advertise [ [ always | permit-calculate-other ] | cost cost | type type | routepolicy route-policy-name [ match-any ] ]
對發送的LSA進行過濾
對OSPF接口發送的LSA進行過濾:
- 當兩臺路由器之間存在多條鏈路時,可以在某些鏈路上通過對發送的LSA進行過濾,減少不必要的重傳,節省帶寬資源。
- 通過對OSPF接口出方向的LSA進行過濾可以不向鄰居發送無用的LSA,從而減少鄰居LSDB的大小,提高網絡收斂速度。
對ABR Type3 LSA進行過濾:
- 對區域內出、入方向ABR Type3 LSA(Summary LSA)設置過濾條件,只有通過過濾的LSA才能被發布和接收。
- 通過對區域內的LSA進行過濾可以不向鄰居發送無用的LSA,從而減少LSDB的大小,提高網絡收斂速度。
配置對OSPF接口出方向的LSA進行過濾
[Huawei-GigabitEthernet0/0/1] ospf filter-lsa-out { all | { summary [ acl { acl-number | acl-name } ] | ase [ acl { acl-number | acl-name } ] | nssa [ acl { acl-number | acl-name } ] } }配置對區域內出方向的Type3 LSA進行過濾:
[Huawei-ospf-1-area-0.0.0.1] filter { acl-number | acl-name acl-name | ip-prefix ip-prefix-name | routepolicy route-policy-name } export
配置對區域內入方向的Type3 LSA進行過濾:
[Huawei-ospf-1-area-0.0.0.1] filter { acl-number | acl-name acl-name | ip-prefix ip-prefix-name | routepolicy route-policy-name } import
設置LSDB中External LSA的最大數量
- 當LSDB中的數據過大可能會導致OSPF Database Overflow(數據庫超限)
- 此時可以設置LSDB中External LSA的最大數量 一旦超過,自動開啟Overflow
- 在此種狀態下不生成五類LSA,丟棄新生成的五類LSA,并不回復ack報文
設置OSPF的LSDB中External LSA的最大條目數
[Huawei-ospf-1] lsdb-overflow-limit number
OSPF網絡中所有路由器都配置相同的上限值,只要路由器上外部路由的數量達到該上限,路由器就進入 Overflow狀態,并同時啟動Overflow狀態定時器(默認超時時間為5秒),路由器在定時器超過5秒后自動 退出Overflow狀態。
避免新產生的五類LSA因為數據庫中的內容過多而不被記錄
OSPF多進程
多用在VPN模式下
不同OSPF進程之間的路由交互相當于不同路由協議之間的路由交互,需要相互引入。
路由器的一個接口只能屬于某一個OSPF進程。
轉發地址
五類和七類會帶上轉發地址
到達所通告的目的地的數據包應該被轉發到的地址,如果轉發地址為0.0.0.0,那么數據包將被轉發到始發ASBR上
- 當ASBR引入外部路由時,若Type5 LSA中的FA字段為0,表示路由器認為到達目的網段的數據 包應該發往ASBR
- 若Type5 LSA中的FA字段不為0,表示路由器認為到達目的網段的數據包 應該發往這個FA所標識的設備。
當以下條件全部滿足時,FA字段才可以被設置為非0:
- ASBR在其連接外部網絡的接口(外部路由的出接口)上激活了OSPF;
- 該接口沒有被配置為Silent-Interface;
- 該接口的OSPF網絡類型為Broadcast或NBMA;
- 該接口的IP地址在OSPF配置的network命令指定的網段范圍內。
不使用轉發地址可能會導致次優路徑
OSPF快速收斂
PRC
當網絡上路由發生變化的時候,只對發生變化的路由進行重新計算
PRC不計算節點路徑,而是根據SPF算法算出來的最短路徑樹來更新路由
PRC計算
全網泛洪新增LSA
其他路由收到該LSA后會創建新的路由,繼承原有訪問節點以及下一跳
智能定時器
控制LSA的生成與接收
OSPF通過如下兩個規定來避免網絡連接或者路由頻繁動蕩引起的過多占用設備資源的情況:
- 同一條LSA在1秒內不能再次生成,即LSA的更新時間間隔5秒
- LSA被接收的時間間隔為1秒
在網絡相對穩定、對路由收斂時間要求較高的組網環境中,可以通過智能定時器指定LSA的更新時間間隔 為0來取消LSA的更新時間間隔
使得拓撲或者路由的 變化可以立即通過LSA發更新時間間隔布到網絡中, 或者立即被感知到,從而加快網絡中路由的收斂速度
控制路由計算
當網絡發生變化時,OSPF的LSDB會發生改變,需要重新計算最短路徑
通過配置智能定時器,設置合理的SPF計算的間隔時間,可以避免占用過多的路由器內存和帶寬資源
OSPF IP FRR
Fast reroute ( 快 速 重 路 由)是動態 IP FRR
利 用 LFA ( Loop-Free Alternates)算法預先計算出備份路徑,保存在轉發表中,以備在故障時將流量快速切換到備份鏈路上
以可提供備份鏈路的鄰居為根節點,利用SPF算法計算出到目的節點的最短距離。然后,按照不等式計 算出開銷最小且無環的備份鏈路
與BFD聯動
OSPF與BFD聯動就是將BFD和OSPF關聯起來,一旦與鄰居之間的鏈路出現故障,BFD對鏈路故 障的快速感應能夠加快OSPF對于網絡拓撲變化的響應
在進程下:bfd all-interfaces enable
配置BFD會話的參數值:bfd all-interfaces { min-rx-interval receive-interval | min-tx-interval transmitinterval | detect-multiplier multiplier-value | frr-binding }
在接口模式下:ospf bfd enable
在使能OSPF的特定接口下配置BFD會話的參數值:ospf bfd { min-rx-interval receive-interval | min-tx-interval transmitinterval | detect-multiplier multiplier-value | frr-binding }
利 用 LFA ( Loop-Free Alternates)算法預先計算出備份路徑,保存在轉發表中,以備在故障時將流量快速切換到備份鏈路上
以可提供備份鏈路的鄰居為根節點,利用SPF算法計算出到目的節點的最短距離。然后,按照不等式計 算出開銷最小且無環的備份鏈路
與BFD聯動
OSPF與BFD聯動就是將BFD和OSPF關聯起來,一旦與鄰居之間的鏈路出現故障,BFD對鏈路故 障的快速感應能夠加快OSPF對于網絡拓撲變化的響應
在進程下:bfd all-interfaces enable
配置BFD會話的參數值:bfd all-interfaces { min-rx-interval receive-interval | min-tx-interval transmitinterval | detect-multiplier multiplier-value | frr-binding }
在接口模式下:ospf bfd enable
在使能OSPF的特定接口下配置BFD會話的參數值:ospf bfd { min-rx-interval receive-interval | min-tx-interval transmitinterval | detect-multiplier multiplier-value | frr-binding }