OSPF通過周期性地向鄰居發送Hello封包來實作鄰居檢測,但檢測到故障的所需的時間比較長(預設情況下,P2P、Broadcast類型接口的OSPF鄰居失效時間為40s,P2MP、NBMA類型接口的OSPF鄰居失效時間為120s)。語音、視訊以及其他點播業務應用,對丢包和延遲非常敏感,當資料到達吉比特速率時,較長的時間檢測時間會導緻大量資料丢失,無法滿足電信級網絡高高可靠性的需求。
為了解決上述問題,與靜态路由、RIP路由與BFD關聯一樣,也可以配置指定程序或指定接口的OSPF與BFD關聯,以便快速檢測鍊路的狀态。其故障故障檢測時間可以達到毫秒級,可大大提高鍊路狀态變化時OSPF路由收斂速度。
【說明】目前,BFD會話不會感覺路由的切換。如果綁定的對端IP位址改變引起路由切換到其他鍊路上,除非原鍊路不同,否則,BFD不會重新協商。
1. 配置OSPF與BFD關聯
配置OSPF與BFD關聯的流程如下(後面兩個可選配置任務沒有先後次序之分,且可根據實際需要選擇配置)。
① 配置全局BFD功能。
② 配置全局的OSPF BFD特性。
③ (可選)阻止接口動态建立BFD會話。
僅當需要對對應的OSPF程序下某些接口上建立BFD會話,才需要進行本項配置任務。
④ (可選)配置指定接口的OSPF BFD特性。
如果希望單獨隻對某些指定的端口配置與全局配置不一樣的BFD與OSPF關聯特性,那麼當這些接口的鍊路發生故障時,路由器可以快速的感覺,并及時通知OSPF重新計算路由,進而提供OSPF的收斂速度。當OSPF鄰居關系我Down時,則動态BFD會話。但在接口上OSPF建立BFD會話也需要先進行第一項配置任務,使能全局BFD功能。
OSPF與BFD關聯的配置步驟
配置任務 | 步驟 | 指令 | 說明 |
公共配置步驟 | 1 | System-view | 進入系統視圖 |
配置全局BFD功能 | 2 | Bfd | 配置全局BFD功能并進入全局BFD視圖 |
配置全局的OSPF BFD特性 | 3 | Quit | 退出BFD視圖,傳回系統視圖 |
4 | Ospf [process-id] | 進入OSPF視圖 | |
5 | Bfd all-interface enable | 打開OSPF BFD特性的開關,建立BFD會話。這樣,當配置了全局BFD特性,且鄰居達到Full時,OSPF為該程序下所有具有鄰居關系的鄰居建立BFD會話。 | |
6 | Bfd all-interface {min-rx-interval receive-interval | min-tx-interval transmit-interval | detect-multiplier multiplier-value | frr-bingding} | (可選)指定需要建立BFD會話的各個參數值(一般推薦使用預設值)。指令中的參數說明如下。 1. min-rx-interval receive-interval:可多選參數,指定期望從對端接收BFD封包的最小時間間隔,取值範圍為10-20000的整數毫秒,預設值是1000ms。 2. min-tx-interval transmit-interval:可多選參數,指定向對端發送BFD封包的最小發送間隔,取值範圍為10-2000的整數毫秒,預設值是1000ms。 3. detect-multiplier multiplier-value:可多選參數,指定本地檢測倍數,取值範圍為3-50的整數,預設值是3。 4. frr-bingding:可多選選項,将BFD會話狀态與接口的鍊路狀态進行綁定。當BFD會話狀态變為Down時,接口的實體層鍊路狀态也會變為Down,進而觸發流量切換到備份路徑。 【說明】以上這些參數具體如何配置,取決于網絡狀況以及網絡可靠性要求,對于網絡可靠性要求較高的鍊路,可以減小BFD封包實際發送時間間隔,否則可以增大BFD封包實際發送時間間隔。 l 本地BFD封包實際發送時間間隔=MAX{本地配置的發送時間間隔transmit-interval,對端配置的接收時間間隔receive-interval}。 l 本地BFD封包實際接收時間間隔=MAX{對端配置的發送時間間隔transmit-interval,本地配置的接收時間間隔receive-interval} l 本地BFD封包實際檢測時間=本地實際接收時間間隔×對端配置的BFD檢測倍數multiplier-value。 預設情況下,在OSPF程序下不使能BFD特性,可用undo bfd all-interface {min-rx-interval | min-tx-interval | detect-multiplier | frr-bingding}*指令恢複對應BFD會話參數為預設值。 | |
7 | Quit | 退出OSPF視圖,傳回系統視圖 | |
(可選)阻止接口動态建立BFD會話 | 8 | Interface interface-type interface-number | 鍵入要阻止接口動态BFD會話的接口,進入接口視圖 |
9 | Ospf bfd block | (可選)阻止以上接口動态建立BFD會話。因為在執行完成第3步的bfd all-interface enable指令後,該程序下所有使能OSPF且鄰居狀态為Full的鄰居都将建立BFD會話。如果不希望某些接口使能BFD特性,則需要在這些接口上配置本指令阻止動态建立BFD會話。 預設情況下,不要阻塞接口動态建立BFD特性,可用可用undo ospf bfd block或者或者 ospf bfd disable指令取消該阻塞特性 | |
10 | Quit | 退出接口視圖,傳回系統視圖 | |
(可選)配置指定接口的OSPF BFD特性 | 11 | Interface interface-type interface-number | 鍵入要使能BFD特性的OSPF接口,進入接口視圖 |
12 | Ospf bfd enable | 打開接口BFD特性的開關,建立BFD會話 | |
13 | Ospf bfd {min-rx-interval receive-interval | min-tx-interval transmit-interval | detect-multiplier multiplier-value | frr-bingding} | (可選)在使能了OSPF接口下配置BFD特性和BFD會話的參數值。具體參數參見第6步,隻不過這裡時針對特定接口配置的。 1. min-rx-interval receive-interval:可多選參數,指定期望從對端接收BFD封包的最小時間間隔,取值範圍為10-20000的整數毫秒,預設值是1000ms。 2. min-tx-interval transmit-interval:可多選參數,指定向對端發送BFD封包的最小發送間隔,取值範圍為10-2000的整數毫秒,預設值是1000ms。 3. detect-multiplier multiplier-value:可多選參數,指定本地檢測倍數,取值範圍為3-50的整數,預設值是3。 4. frr-bingding:可多選選項,将BFD會話狀态與接口的鍊路狀态進行綁定。當BFD會話狀态變為Down時,接口的實體層鍊路狀态也會變為Down,進而觸發流量切換到備份路徑。 【說明】接口下的BFD會話參數配置優先級高于第6步在在OSPF程序下進行的BFD會話參數配置。即如果在OSPF程序和具體接口下都進行了BFD會話參數配置,則該接口将以本步配置為準。 預設情況下,OSPF接口下不使能BFD特性,可用undo ospf bfd {min-rx-interval | min-tx-interval | detect-multiplier | frr-bingding}*指令取消對應接口下的BFD特性,恢複BFD會話參數我預設值。 |
以上配置好後,可在任意視圖下執行以下display指令檢視OSPF與BFD關聯哦會話消息。
l display ospf [process-id] bfd session interface-type interface-number [router-id]。
l display ospf [process-id] bfd session {route-id|all}