11-BFD配置
本章節下載: 11-BFD配置 (402.37 KB)
1.4.3 通過bfd static命令手工創建靜態BFD會話
1.5.5 通過bfd static命令手工創建靜態BFD會話
1.5.9 配置BFD會話無法建立時,通知上層協議BFD會話down的超時時間
BFD(Bidirectional Forwarding Detection,雙向轉發檢測)是一個通用的、標準化的、介質無關和協議無關的快速故障檢測機製,用於檢測轉發路徑的連通狀況,保證設備之間能夠快速檢測到通信故障,以便能夠及時采取措施,保證業務持續運行。BFD可以為各種上層協議(如路由協議)快速檢測兩台設備間雙向轉發路徑的故障。上層協議通常采用Hello報文機製檢測故障,所需時間為秒級,而BFD可以提供毫秒級檢測。
BFD在兩台網絡設備上建立會話,用來檢測網絡設備間的雙向轉發路徑,為上層應用服務。BFD本身並沒有發現機製,而是靠被服務的上層協議通知來建立會話。上層協議在建立新的鄰居關係後,將鄰居的參數及檢測參數(包括目的地址和源地址等)通告給BFD;BFD根據收到的參數建立BFD會話。會話建立後會周期性地快速發送BFD報文,如果在檢測時間內沒有收到BFD報文,則認為該雙向轉發路徑發生了故障,並將故障信息通知給該會話所服務的上層應用,由上層應用采取相應的措施。下麵以OSPF與BFD聯動為例,簡單介紹BFD的工作流程。
如圖1-1所示,OSPF與BFD聯動觸發建立會話的流程為:
(1) OSPF通過自己的Hello機製發現鄰居並建立連接。
(2) OSPF在建立了新的鄰居關係後,將鄰居信息(包括目的地址和源地址等)通告給BFD。
(3) BFD根據收到的鄰居信息建立會話。
圖1-1 BFD會話建立流程圖
BFD檢測到鏈路故障通知OSPF的流程為:
(1) BFD檢測到鏈路故障,BFD會話狀態變為Down。
(2) BFD通知本地OSPF進程BFD鄰居不可達。
(3) 本地OSPF進程中斷OSPF鄰居關係。
圖1-2 BFD故障發現處理流程圖
BFD可以用來進行單跳和多跳檢測:
· 單跳檢測:是指對兩個直連設備進行IP連通性檢測,這裏所說的“單跳”是IP的一跳。例如,如圖1-3所示,使用BFD檢測Device A和Device B之間的IP單跳路徑。
圖1-3 單跳檢測
· 多跳檢測:BFD可以檢測兩個設備間任意路徑的鏈路情況,這些路徑可能跨越很多跳。例如,如圖1-4所示,使用BFD檢測Device A和Device B之間的IP多跳路徑。
圖1-4 多跳檢測
BFD會話通過echo報文和控製報文實現。
echo報文封裝在UDP報文中傳送,該報文IP頭中的源IP和目的IP均為本端設備的IP地址,其UDP目的端口號為3785。
本端發送echo報文建立BFD會話,對鏈路進行檢測。對端不建立BFD會話,隻需把收到的echo報文轉發回本端。如果在檢測時間內沒有收到對端轉發回的echo報文,則認為會話down。
echo報文方式的BFD會話不需要雙方均支持BFD功能,不支持BFD功能的設備接收到echo報文後,直接將該報文環回,從而達到快速檢測的目的。
當BFD會話工作於echo報文方式時,僅支持單跳檢測,且不受檢測模式的控製。
控製報文封裝在UDP報文中傳送,對於單跳檢測其UDP目的端口號為3784,對於多跳檢測其UDP目的端口號為4784。鏈路兩端的設備通過控製報文中攜帶的參數(會話標識符、期望的收發報文最小時間間隔、本端BFD會話狀態等)協商建立BFD會話。
BFD可以和路由協議等聯合使用,具體如表1-1所示。
表1-1 BFD支持的應用
應用 |
參見信息 |
IPv4靜態路由與BFD聯動 |
“三層技術-IP路由配置指導”中的“靜態路由” |
IPv6靜態路由與BFD聯動 |
“三層技術-IP路由配置指導”中的“IPv6靜態路由” |
RIP與BFD聯動 |
“三層技術-IP路由配置指導”中的“RIP” |
OSPF與BFD聯動 |
“三層技術-IP路由配置指導”中的“OSPF” |
OSPFv3與BFD聯動 |
“三層技術-IP路由配置指導”中的“OSPFv3” |
IS-IS與BFD聯動 |
“三層技術-IP路由配置指導”中的“IS-IS” |
BGP與BFD聯動 |
“三層技術-IP路由配置指導”中的“BGP” |
PIM與BFD聯動 |
“IP組播配置指導”中的“PIM” |
Track與BFD聯動 |
“網絡管理和監控配置指導” 中的“Track” |
SDWAN使用BFD檢測隧道連通性 |
“SDWAN配置指導”中的“SDWAN” |
與BFD相關的協議規範有:
· RFC 5880:Bidirectional Forwarding Detection (BFD)
· RFC 5881:Bidirectional Forwarding Detection (BFD) for IPv4 and IPv6 (Single Hop)
· RFC 5882:Generic Application of Bidirectional Forwarding Detection (BFD)
· RFC 5883:Bidirectional Forwarding Detection (BFD) for Multihop Paths
缺省BFD運行版本1,同時兼容版本0。不能通過命令行配置修改為版本0,當對端設備運行版本0會話時,本端自動會切換到版本0。
BFD會話建立後,可以動態協商BFD的相關參數(例如最小發送間隔、最小接收間隔、初始模式、報文認證等),兩端協議通過發送相應的協商報文後采用新的參數,不影響會話的當前狀態。
(1) 配置echo報文方式的BFD會話
(2) 配置控製報文方式的BFD會話
¡ 配置BFD會話無法建立時,通知上層協議BFD會話down的超時時間
(3) 配置BFD模板
(4) 開啟告警功能
建立echo報文方式的BFD會話的方式有兩種:
· 通過bfd static命令手工創建。
· 應用程序與BFD聯動時動態創建。
在已配置uRPF功能的設備上,需要注意:
· 配置應用程序與echo方式的BFD聯動時,設備會將對端轉發回來的echo報文丟棄。可以配置ACL允許echo報文源地址通過,並將此ACL應用於uRPF,從而抑製報文丟棄。
· 配置echo報文方式的靜態BFD會話時,為了避免設備將對端轉發回來的echo報文丟棄,需要保證靜態BFD會話中指定的源IPv4/IPv6地址能夠通過uRPF檢查。
關於uRPF功能的詳細介紹請參見“安全配置指導”中的“uRPF”。
建議配置echo報文的源IPv4/IPv6地址不屬於該設備任何一個接口所在網段,原因如下:
· 避免對端發送大量的ICMP重定向報文造成網絡擁塞。
· 本端開啟畸形報文檢測與防範功能的情況下,從對端返回的echo報文會被當做畸形報文過濾掉,導致本端無法建立BFD會話。關於畸形報文檢測與防範功能的詳細介紹,請參見“安全配置指導”中的“攻擊檢測與防範”。
不支持使用echo報文方式的BFD會話跨NAT設備進行路徑檢測。
創建的靜態BFD會話可以用來進行echo報文方式的BFD單跳檢測和多跳檢測。
使用echo報文方式的靜態BFD會話進行檢測時,僅需在本端創建靜態BFD會話。
首次創建靜態BFD會話時,必須指定靜態BFD會話的對端IPv4或IPv6地址。係統僅檢查IP地址的形式,不檢查其正確性。指定錯誤的對端IP地址或源IP地址均會導致靜態BFD會話無法建立。
不同的靜態BFD會話的本地標識符不能相同。
echo報文方式的靜態BFD會話選取報文源地址的規則如下:
(1) 如果創建靜態BFD會話時未指定source-ip/source-ipv6參數,將使用bfd echo-source-ip/bfd echo-source-ipv6命令指定的IPv4/IPv6地址作為echo報文的源IPv4/IPv6地址。
(2) 如果創建靜態BFD會話時指定了source-ip/source-ipv6參數,將使用該參數的地址作為echo報文的源IPv4/IPv6地址。建議用戶創建echo報文方式的靜態BFD會話時指定source-ip/source-ipv6參數。
(3) 如果未通過(1)或(2)指定報文的源地址,echo報文方式的靜態BFD會話將使用destination-ip/destination-ipv6參數指定的IPv4/IPv6地址作為報文的源IPv4/IPv6地址。
(1) 進入係統視圖。
system-view
(2) (可選)配置echo報文源IP地址。
¡ 配置echo報文源IPv4地址。
bfd echo-source-ip ip-address
缺省情況下,未配置echo報文的源IPv4地址。
¡ 配置echo報文源IPv6地址。
bfd echo-source-ipv6 ipv6-address
缺省情況下,未配置echo報文的源IPv6地址。
echo報文源IPv6地址僅支持全球單播地址。
(3) 創建靜態BFD會話,並進入靜態BFD會話視圖。
(IPv4網絡)
bfd static session-name [ peer-ip ipv4-address interface interface-type interface-number destination-ip ipv4-address [ source-ip ipv4-addres ] one-arm-echo discriminator { local local-value | auto } ]
(IPv6網絡)
bfd static session-name [ peer-ipv6 ipv6-address interface interface-type interface-number destination-ipv6 ipv6-address [ source-ipv6 ipv6-address ] one-arm-echo discriminator { local local-value | auto } ]
(1) 進入係統視圖。
system-view
(2) (可選)配置echo報文源IP地址。
¡ 配置echo報文源IPv4地址。
bfd echo-source-ip ip-address
缺省情況下,未配置echo報文的源IPv4地址。
¡ 配置echo報文源IPv6地址。
bfd echo-source-ipv6 ipv6-address
缺省情況下,未配置echo報文的源IPv6地址。
echo報文源IPv6地址僅支持全球單播地址。
(3) 創建靜態BFD會話,並進入靜態BFD會話視圖。
(IPv4網絡)
bfd static session-name [ peer-ip ipv4-address [ vpn-instance vpn-instance-name ] destination-ip ipv4-address [ source-ip ipv4-addres ] one-arm-echo discriminator { local local-value | auto } ]
(IPv6網絡)
bfd static session-name [ peer-ipv6 ipv6-address [ vpn-instance vpn-instance-name ] destination-ipv6 ipv6-address [ source-ipv6 ipv6-addres ] one-arm-echo discriminator { local local-value | auto } ]
在建立echo報文方式的BFD會話時,用戶可以根據網絡狀況和性能需求,調整設備接收echo報文的時間間隔、檢測時間倍數。
多個上層應用關聯同一個BFD會話,即會話的“源IP地址+目的IP地址+會話所在的接口+VPN+目的端口號”信息完全相同,檢測時間參數的優選順序如下:
(1) 靜態BFD會話視圖下設置的檢測時間參數、上層應用引用的BFD模板設置的檢測時間參數、上層應用單獨設置的檢測時間參數中的最小值。
(2) 接口視圖或係統視圖下設置的檢測時間參數。
(3) 缺省值。
一個BFD會話僅被一個上層應用關聯,檢測時間參數的優選順序如下:
(1) 上層應用是否支持引用BFD模板、是否支持單獨設置檢測時間參數會影響檢測時間參數的優選順序,具體如下:
¡ 如果上層應用既支持引用BFD模板,也支持單獨設置檢測時間參數,則上層應用既引用了BFD模板、又單獨設置了檢測時間參數時,上層協議優先使用引用的BFD模板中的檢測時間參數。
¡ 如果上層應用支持引用BFD模板、不支持單獨設置檢測時間參數,則上層應用引用BFD模板後,使用該BFD模板中的檢測時間參數。
¡ 如果上層協議支持單獨設置檢測時間參數、不支持引用BFD模板,則上層應用單獨設置檢測時間參數後,使用這些單獨設置的檢測時間參數。
(2) 接口視圖或係統視圖下設置的檢測時間參數。
(3) 缺省值。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置接收單跳echo報文的最小時間間隔。
bfd min-echo-receive-interval interval
缺省情況下,接收單跳echo報文的最小時間間隔為400毫秒。
(4) 配置單跳檢測的BFD檢測時間倍數。
bfd detect-multiplier interval
本命令的缺省情況與設備的型號有關,具體請參見命令參考。
(1) 進入係統視圖。
system-view
(2) 配置接收多跳echo報文的最小時間間隔。
bfd multi-hop min-echo-receive-interval interval
缺省情況下,接收多跳echo報文的最小時間間隔為400毫秒。
(3) 配置多跳檢測的BFD檢測時間倍數。
bfd multi-hop detect-multiplier value
本命令的缺省情況與設備的型號有關,具體請參見命令參考。
建立控製報文方式的BFD會話有兩種方式:靜態創建BFD會話和動態建立BFD會話。
BFD通過控製報文中的本地標識符和遠端標識符來區分不同的會話。靜態創建BFD會話和動態建立BFD會話的主要區別在於本地標識符和遠端標識符的獲取方式不同:
· 靜態BFD會話的本地標識符和遠端標識符由用戶手工配置。手工指定會話的本地標識符和遠端標識符的方法包括:
¡ 通過bfd static命令手工創建。
¡ 應用程序與BFD聯動時,由用戶手工指定會話的本地標識符和遠端標識符。
· 動態BFD會話的本端標識符由本端設備分配,遠端標識符在BFD會話協商建立過程中獲取。應用程序與BFD聯動時,如果用戶未指定會話的本地標識符和遠端標識符,則建立的會話為動態BFD會話。
BFD版本0不支持以下命令,配置不生效。
· bfd session init-mode
· bfd authentication-mode
· bfd demand enable
· bfd echo enable
BFD會話建立前有兩種模式:主動模式和被動模式。
· 主動模式:在建立會話前不管是否收到對端發來的BFD控製報文,都會主動發送BFD控製報文。
· 被動模式:在建立會話前不會主動發送BFD控製報文,直到收到對端發送來的控製報文。
通信雙方至少要有一方運行在主動模式才能成功建立起BFD會話。
(1) 進入係統視圖。
system-view
(2) 配置BFD會話建立前的運行模式。
bfd session init-mode { active | passive }
缺省情況下,BFD會話建立前的運行模式為主動模式。
BFD會話建立後有兩種模式:異步模式和查詢模式。
· 異步模式:設備周期性發送BFD控製報文,如果在檢測時間內沒有收到對端發送的BFD控製報文,則認為會話DOWN。缺省情況下,BFD會話為異步模式。
· 查詢模式:當係統中的BFD會話數量較多時,采用查詢模式可防止周期性發送BFD控製報文的開銷對係統的正常運行造成影響。
¡ 本端的BFD會話工作在查詢模式時,本端設備會向對端發送D比特位置1的BFD控製報文,對端(缺省為異步模式)收到該報文後將停止周期性發送BFD控製報文。這種情況下,僅對本端到對端的鏈路進行檢測,即當對端設備在檢測時間內未收到BFD控製報文時,則認為鏈路故障,將BFD會話狀態置為DOWN。
¡ 如果通信雙方的BFD會話均工作在查詢模式,則雙方都停止周期性發送BFD控製報文。這種情況下,係統將通過其他與BFD無關的機製對鏈路進行檢測(比如Hello報文機製、硬件檢測機製等)。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置BFD會話為查詢模式。
bfd demand enable
缺省情況下,BFD會話為異步模式。
創建的靜態BFD會話可以用來進行控製報文方式的BFD單跳檢測和多跳檢測。
如果對端創建了靜態BFD會話,那麼本端必須創建靜態BFD會話。
首次創建靜態BFD會話時,必須指定靜態BFD會話的對端IPv4或IPv6地址。係統僅檢查IP地址的形式,不檢查其正確性。指定錯誤的對端IP地址或源IP地址均會導致靜態BFD會話無法建立。
不同的靜態BFD會話的本地標識符不能相同。
(1) 進入係統視圖。
system-view
(2) 創建靜態BFD會話,並進入靜態BFD會話視圖。
(IPv4網絡)
bfd static session-name peer-ip ipv4-address interface interface-type interface-number source-ip ipv4-address discriminator local local-value remote remote-value
需要保證指定的peer-ip為對端靜態BFD會話所在的接口的IP地址,source-ip為本端靜態BFD會話所在的接口的IP地址,否則無法建立靜態BFD會話。
(IPv6網絡)
bfd static session-name peer-ipv6 ipv6-address interface interface-type interface-number source-ipv6 ipv6-address discriminator local local-value remote remote-value
需要保證指定的peer-ipv6為對端靜態BFD會話所在的接口的IPv6地址,source-ipv6為本端靜態BFD會話所在的接口的IPv6地址,否則無法建立靜態BFD會話。
(1) 進入係統視圖。
system-view
(2) 創建靜態BFD會話,並進入靜態BFD會話視圖。
bfd static session-name peer-ip default-ip interface interface-type interface-number source-ip ip-address discriminator local discr-value remote discr-value
需要保證指定的source-ip為本端靜態BFD會話所在的接口的IP地址,否則無法建立靜態BFD會話。
(3) (可選)配置接口狀態與靜態BFD會話聯動。
process-interface-status
缺省情況下,接口狀態不與靜態會話聯動,即靜態BFD會話狀態的改變不會影響接口數據鏈路層協議狀態。
本命令的支持情況與設備的型號有關,具體請參見命令參考。
(4) (可選)配置首次建立檢測數據鏈路層連通性的靜態BFD會話失敗時,通知數據鏈路層BFD會話down的超時時間。
first-fail-timer seconds
缺省情況下,首次建立檢測數據鏈路層連通性的靜態BFD會話失敗時,不會通知數據鏈路層BFD會話down。
配置process-interface-status命令後,本命令才會生效。
本命令的支持情況與設備的型號有關,具體請參見命令參考。
(5) (可選)開啟對檢測數據鏈路層連通性的靜態BFD會話進行特殊處理的功能。
special-processing [ admin-down | authentication-change | session-up ] *
缺省情況下,對檢測數據鏈路層連通性的靜態BFD會話進行特殊處理的功能處於關閉狀態。
本命令的支持情況與設備的型號有關,具體請參見命令參考。
(1) 進入係統視圖。
system-view
(2) 創建靜態BFD會話,並進入靜態BFD會話視圖。
(IPv4網絡)
bfd static session-name peer-ip ipv4-address [ vpn-instance vpn-instance-name ] source-ip ipv4-address discriminator local local-value remote remote-value
需要保證指定的peer-ip為對端靜態BFD會話所在的接口的IP地址,source-ip為本端靜態BFD會話所在的接口的IP地址,否則無法建立靜態BFD會話。
(IPv6網絡)
bfd static session-name peer-ipv6 ipv6-address [ vpn-instance vpn-instance-name ] source-ipv6 ipv6-address discriminator local local-value remote remote-value
需要保證指定的peer-ipv6為對端靜態BFD會話所在的接口的IPv6地址,source-ipv6為本端靜態BFD會話所在的接口的IPv6地址,否則無法建立靜態BFD會話。
在建立控製報文方式的BFD會話時,用戶可以根據網絡狀況和性能需求,調整設備接收控製報文的時間間隔、發送控製報文的時間間隔以及檢測時間倍數。
多個上層應用關聯同一個BFD會話,即會話的“源IP地址+目的IP地址+會話所在的接口+VPN+目的端口號”信息完全相同,檢測時間參數的優選順序如下:
(1) 靜態BFD會話視圖下設置的檢測時間參數、上層應用引用的BFD模板設置的檢測時間參數、上層應用單獨設置的檢測時間參數中的最小值。
(2) 接口視圖或係統視圖下設置的檢測時間參數。
(3) 缺省值。
一個BFD會話僅被一個上層應用關聯,檢測時間參數的優選順序如下:
(1) 上層應用是否支持引用BFD模板、是否支持單獨設置檢測時間參數會影響檢測時間參數的優選順序,具體如下:
¡ 如果上層應用既支持引用BFD模板,也支持單獨設置檢測時間參數,則上層應用既引用了BFD模板、又單獨設置了檢測時間參數時,上層協議優先使用引用的BFD模板中的檢測時間參數。
¡ 如果上層應用支持引用BFD模板、不支持單獨設置檢測時間參數,則上層應用引用BFD模板後,使用該BFD模板中的檢測時間參數。
¡ 如果上層協議支持單獨設置檢測時間參數、不支持引用BFD模板,則上層應用單獨設置檢測時間參數後,使用這些單獨設置的檢測時間參數。
(2) 接口視圖或係統視圖下設置的檢測時間參數。
(3) 缺省值。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖或靜態BFD會話視圖。
¡ 進入接口視圖。
interface interface-type interface-number
¡ 進入靜態BFD會話視圖。
bfd static session-name
靜態BFD會話必須已經存在。
(3) 配置發送單跳BFD控製報文的最小時間間隔。
bfd min-transmit-interval interval
缺省情況下,發送單跳BFD控製報文的最小時間間隔為400毫秒。
(4) 配置接收單跳BFD控製報文的最小時間間隔。
bfd min-receive-interval interval
缺省情況下,接收單跳BFD控製報文的最小時間間隔為400毫秒。
(5) 配置單跳檢測的BFD檢測時間倍數。
bfd detect-multiplier interval
本命令的缺省情況與設備的型號有關,具體請參見命令參考。
(1) 進入係統視圖。
system-view
(2) 配置多跳檢測的BFD檢測時間倍數。
bfd multi-hop detect-multiplier value
本命令的缺省情況與設備的型號有關,具體請參見命令參考。
(3) 配置接收多跳BFD控製報文的最小時間間隔。
bfd multi-hop min-receive-interval interval
缺省情況下,接收多跳BFD控製報文的最小時間間隔為400毫秒。
(4) 配置發送多跳BFD控製報文的最小時間間隔。
bfd multi-hop min-transmit-interval interval
缺省情況下,發送多跳BFD控製報文的最小時間間隔為400毫秒。
通過配置BFD會話認證信息,包括認證算法、認證密鑰,提高BFD會話的安全性。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖或靜態BFD會話視圖。
¡ 進入接口視圖。
interface interface-type interface-number
¡ 進入靜態BFD會話視圖。
bfd static session-name
靜態BFD會話必須已經存在。
配置靜態BFD會話的參數時,需要進入靜態BFD會話視圖。
(3) 配置單跳BFD控製報文進行認證的方式。
bfd authentication-mode { hmac-md5 | hmac-mmd5 | hmac-msha1 | hmac-sha1 | m-md5 | m-sha1 | md5 | sha1 | simple } key-id { cipher cipher-string | plain plain-string }
缺省情況下,單跳BFD控製報文不進行認證。
(1) 進入係統視圖。
system-view
(2) (可選)進入靜態BFD會話視圖。
bfd static session-name
靜態BFD會話必須已經存在。
配置靜態BFD會話的參數時,需要進入靜態BFD會話視圖。
(3) 配置多跳BFD控製報文進行認證的方式。
bfd multi-hop authentication-mode { hmac-md5 | hmac-mmd5 | hmac-msha1 | hmac-sha1 | m-md5 | m-sha1 | md5 | sha1 | simple } key-id { cipher cipher-string | plain plain-string }
缺省情況下,多跳BFD控製報文不進行認證。
IANA(Internet Assigned Numbers Authority,互聯網編號分配委員會)將端口號4784分配給BFD,用於BFD控製報文多跳檢測。缺省情況下,我司設備多跳BFD控製報文的目的端口號為4784。與多跳BFD控製報文目的端口號為3784的其他廠商設備互通時,建議兩端使用相同的多跳BFD控製報文端口號,否則可能會導致BFD會話協商失敗。
配置本功能後,隻有此後新創建的控製報文方式的多跳BFD會話,才會使用本功能設置的端口塊作為發送報文的目的端口號。對於配置本功能前已經Up的控製報文方式的多跳BFD會話,不會使用本功能設置的端口號作為發送報文的目的端口號。
(1) 進入係統視圖。
system-view
(2) 配置多跳BFD控製報文的目的端口號。
bfd multi-hop destination-port port-number
缺省情況下,多跳BFD控製報文的目的端口號為4784。
缺省情況下,控製報文工作方式的BFD會話無法建立時,不會通知上層協議BFD會話down。某些情況下,需要將BFD會話無法建立的消息通知給上層協議,以使上層協議作出正確的處理。比如在聚合鏈路中,由於鏈路故障等原因,BFD會話無法進入up狀態,從而導致聚合模塊無法及時將成員端口的選中狀態修改為非選中狀態,配置本命令可避免上述情況的發生。
本功能對echo報文方式的BFD會話無效。
(1) 進入係統視圖。
system-view
(2) (可選)配置BFD會話無法建立時,通知上層協議BFD會話down的超時時間。
bfd init-fail-timer seconds
缺省情況下,BFD會話無法建立時,不會通知上層協議BFD會話down。
配置本命令後,對於由於配置原因(比如對端設備沒有使能BFD,或者兩端的BFD認證配置不一致等)造成BFD會話無法進入up狀態的情況,如果配置了本定時器,會導致上層協議作出錯誤的處理,所以,請謹慎使用本命令。
使用異步模式的BFD會話檢測直連網段的連通性時,可以使用BFD回聲功能輔助進行故障檢測。使能BFD回聲功能後,會話的一端周期性地發送echo報文,同時自動降低控製報文的接收速率,減少對帶寬資源的消耗。對端不對echo報文進行處理,隻將此報文轉發回發送端。如果發送端連續幾個echo報文都沒有接收到,會話狀態將變為DOWN。
僅單跳檢測支持回聲功能。
回聲功能對接口狀態與BFD聯動的會話無效。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖或靜態BFD會話視圖。
¡ 進入接口視圖。
interface interface-type interface-number
¡ 進入靜態BFD會話視圖。
bfd static session-name
靜態BFD會話必須已經存在,且必須是檢測設備間數據鏈路層連通性的靜態BFD會話。
(3) 使能回聲功能。
bfd echo [ receive | send ] enable
缺省情況下,回聲功能處於關閉狀態。
配置接口狀態與BFD聯動後,係統將通過發送BFD控製報文來協商建立單跳檢測的BFD會話,實現對鏈路的快速檢測。當檢測到鏈路故障時,將接口鏈路層協議狀態置為“DOWN(BFD)”,從而幫助依賴接口鏈路層協議狀態的應用快速收斂。係統發送的BFD控製報文中的源地址為用戶手工指定的IP地址,目的地址固定為224.0.0.184。對於有IP地址的接口,建議將源地址指定為該接口的IP地址;如果接口沒有IP地址,建議將源地址指定為0.0.0.0以外的單播地址。
支持與BFD聯動的接口類型為:
· 三層以太網接口及其子接口。請不要在三層以太網接口和該三層以太接口創建的子接口上同時使用該功能,否則,將導致主接口或子接口的BFD檢測功能失效。
· 三層聚合接口、三層聚合接口的子接口以及三層聚合口的成員端口,其中三層聚合口的成員端口全部為三層以太網接口。請不要在三層聚合接口、該三層聚合接口的子接口以及該三層聚合口的成員端口上同時使用此功能,否則可能導致BFD檢測功能失效。
· VLAN接口
回聲功能對接口狀態與BFD聯動的會話無效。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置接口狀態與BFD聯動。
bfd detect-interface source-ip ip-addres [ discriminator local local-value remote remote-value ] [ template template-name ]
缺省情況下,接口狀態不與BFD聯動,即BFD檢測到鏈路故障時,不會將接口鏈路層協議狀態置為“DOWN(BFD)。
(4) (可選)配置接口與BFD聯動的會話首次建立失敗時,通知數據鏈路層BFD會話down的超時時間。
bfd detect-interface first-fail-timer seconds
缺省情況下,接口與BFD聯動的會話首次建立失敗時,不會通知數據鏈路層BFD會話down。
(5) (可選)開啟接口與BFD聯動的會話進行特殊處理的功能。
bfd detect-interface special-processing [ admin-down | authentication-change | session-up ] *
缺省情況下,對接口與BFD聯動的會話進行特殊處理的功能處於關閉狀態。
對於未指定出接口的會話,無法通過會話出接口配置BFD會話參數。使用BFD全局多跳可以配置,但是缺乏靈活性。通過BFD模板可以對參數進行靈活配置,LSP以及PW的BFD檢測關聯到BFD模板即可指定會話參數。
(1) 進入係統視圖。
system-view
(2) 創建BFD模板,並進入BFD模板視圖。
bfd template template-name
(3) (可選)配置BFD控製報文進行認證的方式。
bfd authentication-mode { hmac-md5 | hmac-mmd5 | hmac-msha1 | hmac-sha1 | m-md5 | m-sha1 | md5 | sha1 | simple } key-id { cipher cipher-string | plain plain-string }
缺省情況下,BFD控製報文不進行認證。
BFD版本0不支持本命令,配置不生效。
(4) 配置BFD檢測時間倍數。
bfd detect-multiplier value
本命令的缺省情況與設備的型號有關,具體請參見命令參考。
(5) 配置接收echo報文的最小時間間隔。
bfd min-echo-receive-interval interval
缺省情況下,接收echo報文的最小時間間隔為400毫秒。
(6) 配置接收BFD控製報文的最小時間間隔。
bfd min-receive-interval interval
缺省情況下,接收BFD控製報文的最小時間間隔為400毫秒。
(7) 配置發送BFD控製報文的最小時間間隔。
bfd min-transmit-interval interval
缺省情況下,發送BFD控製報文的最小時間間隔為400毫秒。
開啟BFD模塊的告警功能後,該模塊會生成告警信息,用於報告該模塊的重要事件。生成的告警信息將發送到設備的SNMP模塊,通過設置SNMP中告警信息的發送參數,來決定告警信息輸出的相關屬性。(有關告警信息的詳細介紹,請參見“網絡管理和監控配置指導”中的“SNMP”。)
(1) 進入係統視圖。
system-view
(2) 開啟BFD的告警功能。
snmp-agent trap enable bfd
缺省情況下,BFD的告警功能處於開啟狀態。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後BFD的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令可以清除BFD會話的統計信息。
表1-2 BFD顯示和維護
操作 |
命令 |
顯示BFD會話信息 |
display bfd session [ discriminator local local-value | static name session-name | verbose ] display bfd session [ [ dynamic ] [ control | echo ] [ ip ] [ state { down | admin-down | init | up } ] [ discriminator remote remote-value ] [ peer-ip ipv4-address [ vpn-instance vpn-instance-name ] ] [ verbose ] ] display bfd session [ [ dynamic ] [ control | echo ] [ ipv6 ] [ state { down | admin-down | init | up } ] [ discriminator remote remote-value ] [ peer-ipv6 ipv6-address [ vpn-instance vpn-instance-name ] ] [ verbose ] ] display bfd session [ [ dynamic ] [ control | echo ] [ state { down | admin-down | init | up } ] [ discriminator remote remote-value ] [ [ peer-ip ipv4-address [ vpn-instance vpn-instance-name ] ] | [ peer-ipv6 ipv6-address [ vpn-instance vpn-instance-name ] ] ] [ verbose ] ] display bfd session [ [ static ] [ ip ] [ state { down | admin-down | init | up } ] [ discriminator remote remote-value ] [ peer-ip ipv4-address [ vpn-instance vpn-instance-name ] ] [ verbose ] display bfd session [ [ static ] [ ipv6 ] [ state { down | admin-down | init | up } ] [ discriminator remote remote-value ] [ peer-ipv6 ipv6-address [ vpn-instance vpn-instance-name ] ] [ verbose ] |
清除BFD會話統計信息 |
reset bfd session statistics |
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!