04-BFD配置
本章节下载: 04-BFD配置 (157.04 KB)
BFD(Bidirectional Forwarding Detection,双向转发检测)是一个通用的、标准化的、介质无关和协议无关的快速故障检测机制,用于检测IP网络中链路的连通状况,保证设备之间能够快速检测到通信故障,以便能够及时采取措施,保证业务持续运行。
BFD可以为各种上层协议(如路由协议等)快速检测两台设备间双向转发路径的故障。上层协议通常采用Hello报文机制检测故障,所需时间为秒级,而BFD可以提供毫秒级检测。
实际应用中,BFD可以用来进行单跳和多跳检测:
· 单跳检测:是指对两个直连设备进行IP连通性检测,这里所说的“单跳”是IP的一跳。
· 多跳检测:BFD可以检测两个设备间任意路径的链路情况,这些路径可能跨越很多跳。
BFD本身并没有发现机制,而是靠被服务的上层协议通知来建立会话,具体过程如下:
(1) 上层协议通过自己的Hello机制发现邻居并建立连接;
(2) 上层协议在建立新的邻居关系后,将邻居的参数及检测参数(包括目的地址和源地址等)通告给BFD;
(3) BFD根据收到的参数建立BFD会话。
(1) BFD检测到链路故障后,拆除BFD会话,通知上层协议邻居不可达;
(3) 如果网络中存在备用路径,设备将选择备用路径进行通信。
BFD会话通过下面两种报文来实现:
· echo报文:封装在UDP报文中传送,其UDP目的端口号为3785。
· 控制报文:封装在UDP报文中传送,对于单跳检测其UDP目的端口号为3784,对于多跳检测其UDP目的端口号为4784。
本端发送echo报文建立BFD会话,对链路进行检测。对端不建立BFD会话,只需把收到的echo报文转发回本端。
当BFD会话工作于echo报文方式时,仅支持单跳检测,并且不受检测模式的控制。
链路两端通过周期性发送控制报文建立BFD会话,对链路进行检测。
BFD会话建立前有两种模式:主动模式和被动模式。
· 主动模式:在建立会话前不管是否收到对端发来的BFD控制报文,都会主动发送BFD控制报文;
· 被动模式:在建立会话前不会主动发送BFD控制报文,直到收到对端发送来的控制报文。
通信双方至少要有一方运行在主动模式才能成功建立起BFD会话。
BFD会话建立后有两种模式:异步模式和查询模式。
· 异步模式:设备周期性发送BFD控制报文,如果在检测时间内没有收到对端发送的BFD控制报文,则认为会话down。
· 查询模式:设备周期性发送BFD控制报文,但是对端(缺省为异步模式)会停止周期性发送BFD控制报文。如果通信双方都是查询模式,则双方都停止周期性发送BFD控制报文。当需要验证连接性的时候,设备会以协商的周期连续发送几个P比特位置1的BFD控制报文。如果在检测时间内没有收到返回的报文,就认为会话down;如果收到对方回应的F比特位置1的报文,就认为连通,停止发送报文,等待下一次触发查询。
另外,也可以链路两端通过发送控制报文建立和保持BFD会话,任意一端通过发送echo报文检测链路状态。
· 静态路由与BFD联动:详细情况请参见“三层技术-IP路由配置指导”中的“静态路由”。
· IPv6静态路由与BFD联动:详细情况请参见“三层技术-IP路由配置指导”中的“IPv6静态路由”。
· RIP与BFD联动:详细情况请参见“三层技术-IP路由配置指导”中的“RIP”。
· OSPF与BFD联动:详细情况请参见“三层技术-IP路由配置指导”中的“OSPF”。
· OSPFv3与BFD联动:详细情况请参见“三层技术-IP路由配置指导”中的“OSPFv3”。
· IS-IS与BFD联动:详细情况请参见“三层技术-IP路由配置指导”中的“IS-IS”。
· IPv6 IS-IS与BFD联动:详细情况请参见“三层技术-IP路由配置指导”中的“IPv6 IS-IS”。
· BGP与BFD联动:详细情况请参见“三层技术-IP路由配置指导”中的“BGP”。
· IPv6 BGP与BFD联动:详细情况请参见“三层技术-IP路由配置指导”中的“IPv6 BGP”。
· PIM与BFD联动:详细情况请参见“IP组播配置指导”中的“PIM”。
· IPv6 PIM与BFD联动:详细情况请参见“IP组播配置指导”中的“IPv6 PIM”。
· Track与BFD联动:详细情况请参见“可靠性配置指导”中的“Track”。
· IP快速重路由:目前支持快速重路由的有OSPF、RIP、IS-IS和静态路由。详细情况请参见“三层技术-IP路由配置指导”中的“OSPF”、“IS-IS”、“RIP”和“静态路由”。
与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
· RFC 5884:Bidirectional Forwarding Detection (BFD) for MPLS Label Switched Paths (LSPs)
· RFC 5885:Bidirectional Forwarding Detection (BFD) for the Pseudowire Virtual Circuit Connectivity Verification (VCCV)
· 配置BFD功能的接口不能开启Easy IP功能,否则可能导致BFD功能不能正常使用。有关Easy IP功能的详细介绍,请参见“三层技术-IP业务配置指导”中的“NAT”。
· 配置BFD功能的三层以太网子接口、三层聚合子接口不能配置QinQ终结功能。有关QinQ终结功能的详细介绍,请参见“二层技术-以太网交换配置指导”中的“VLAN终结”。
· 使能了BFD功能的聚合接口上,如需要增加或删除成员端口,在此之前请将该成员端口shutdown,否则会导致BFD功能不能正常使用。
在配置BFD之前,需配置接口的网络层地址,使相邻节点之间网络层可达。
BFD会话建立后,可以动态协商BFD的相关参数(例如最小发送间隔、最小接收间隔、初始模式、报文认证等),两端协议通过发送相应的协商报文后采用新的参数,不影响会话的当前状态。
表1-1 echo报文方式配置
配置echo报文源IP地址 |
缺省情况下,没有配置echo报文的源IP地址 需要注意的是,当echo报文源IP地址不是本设备上的IP地址时,不能配置uRPF功能 为了避免对端发送大量的ICMP重定向报文造成网络拥塞,建议不要将echo报文的源IP地址配置为属于该设备任何一个接口所在网段 echo报文源IPv6地址仅支持全球单播地址 |
|
(可选)配置接收echo报文的最小时间间隔 |
缺省情况下,接收echo报文的最小时间间隔为400毫秒 |
|
(可选)配置单跳BFD检测时间倍数 |
缺省情况下,单跳BFD检测时间倍数为5 |
echo功能在发送控制报文的BFD会话时使用。使能echo功能并且会话up后,设备周期性发送echo报文检测链路连通性,同时降低控制报文的接收速率。
配置BFD会话建立前的运行模式 |
bfd session init-mode { active | passive } |
缺省情况下,BFD会话建立前的运行模式为主动模式 |
(可选)配置单跳BFD控制报文进行认证的方式 |
bfd authentication-mode simple key-id { cipher cipher-string | plain plain-string } |
缺省情况下,单跳BFD控制报文不进行认证 |
(可选)配置BFD会话为查询模式 |
缺省情况下,BFD会话为异步模式 |
|
使能echo功能 |
缺省情况下,echo功能处于关闭状态 |
|
(可选)配置发送单跳BFD控制报文的最小时间间隔 |
缺省情况下,发送单跳BFD控制报文的最小时间间隔为400毫秒 |
|
(可选)配置接收单跳BFD控制报文的最小时间间隔 |
缺省情况下,接收单跳BFD控制报文的最小时间间隔为400毫秒 |
|
(可选)配置单跳BFD检测时间倍数 |
缺省情况下,单跳BFD检测时间倍数为5 |
|
(可选)创建一个检测本接口状态的BFD会话 |
配置BFD会话建立前的运行模式 |
bfd session init-mode { active | passive } |
缺省情况下,BFD会话建立前的运行模式为主动模式 |
(可选)配置多跳BFD控制报文进行认证的方式 |
bfd multi-hop authentication-mode simple key-id { cipher cipher-string | plain plain-string } |
缺省情况下,多跳BFD控制报文不进行认证 |
(可选)配置多跳BFD控制报文的目的端口号 |
bfd multi-hop destination-port port-number |
缺省情况下,多跳BFD控制报文的目的端口号为4784 |
(可选)配置多跳BFD检测时间倍数 |
缺省情况下,多跳BFD检测时间倍数为5 |
|
(可选)配置接收多跳BFD控制报文的最小时间间隔 |
缺省情况下,接收多跳BFD控制报文的最小时间间隔为400毫秒 |
|
(可选)配置发送多跳BFD控制报文的最小时间间隔 |
缺省情况下,发送多跳BFD控制报文的最小时间间隔为400毫秒 |
开启BFD模块的Trap功能后,模块会生成级别为notifications的Trap报文,用于报告该模块的重要事件。生成的Trap报文将被发送到设备的信息中心,通过设置信息中心的参数,最终决定Trap报文的输出规则(即是否允许输出以及输出方向)。
表1-4 配置BFD的Trap功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
使能BFD的Trap功能 |
snmp-agent trap enable bfd |
可选 缺省情况下,Trap开关打开,BFD发送Trap报文 |
· snmp-agent trap enable bfd命令的详细介绍请参见“网络管理和监控命令参考/SNMP”中的snmp-agent trap enable命令。
· 有关信息中心参数的配置请参见“网络管理和监控配置指导”中的“信息中心”。
在完成上述配置后,在任意视图下执行display命令可以显示配置后BFD的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除BFD会话的统计信息。
表1-5 BFD显示和维护
显示BFD会话信息 |
|
清除BFD会话统计信息 |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!