• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

11-可靠性配置指导

目录

10-BFD配置

本章节下载 10-BFD配置  (270.31 KB)

docurl=/cn/Service/Document_Software/Document_Center/Switches/Catalog/S12500/S12500G-AF/Configure/Operation_Manual/H3C_S12500G_AF_R8043Pxx-2938/11/202203/1578397_30005_0.htm

10-BFD配置


1 BFD

1.1  BFD简介

BFD(Bidirectional Forwarding Detection,双向转发检测)是一个通用的、标准化的、介质无关和协议无关的快速故障检测机制,用于检测IP网络中链路的连通状况,保证设备之间能够快速检测到通信故障,以便能够及时采取措施,保证业务持续运行。BFD可以为各种上层协议(如路由协议)快速检测两台设备间双向转发路径的故障。上层协议通常采用Hello报文机制检测故障,所需时间为秒级,而BFD可以提供毫秒级检测。

1.1.1  BFD会话的建立与拆除

BFD本身并没有发现机制,而是靠被服务的上层协议通知来建立会话。上层协议在建立新的邻居关系后,将邻居的参数及检测参数(包括目的地址和源地址等)通告给BFD;BFD根据收到的参数建立BFD会话。

当网络出现故障时:

(1)     BFD检测到链路故障后,拆除BFD会话,通知上层协议邻居不可达;

(2)     上层协议中止邻居关系;

(3)     如果网络中存在备用路径,设备将选择备用路径进行通信。

1.1.2  单跳检测和多跳检测

BFD可以用来进行单跳和多跳检测:

·     单跳检测:是指对两个直连设备进行IP连通性检测,这里所说的“单跳”是IP的一跳。

·     多跳检测:BFD可以检测两个设备间任意路径的链路情况,这些路径可能跨越很多跳。

1.1.3  BFD会话的工作方式和检测模式

BFD会话通过控制报文实现。

控制报文封装在UDP报文中传送,对于单跳检测其UDP目的端口号为3784,对于多跳检测其UDP目的端口号为4784。

链路两端通过周期性发送控制报文建立BFD会话,对链路进行检测。

BFD会话建立前不管是否收到对端发来的BFD控制报文,都会主动发送BFD控制报文;

BFD会话建立后,设备周期性发送BFD控制报文,如果在检测时间内没有收到对端发送的BFD控制报文,则认为会话down。

1.1.4  BFD支持的应用

表1-1 BFD支持的应用

应用

参见信息

静态路由

IS-IS

OSPF

RIP

BGP

IP快速重路由

“三层技术-IP路由配置指导”

IPv6静态路由

OSPFv3

“三层技术-IP路由配置指导”

PIM

“IP组播配置指导”

1.1.5  协议规范

与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 5885:Bidirectional Forwarding Detection (BFD) for the Pseudowire Virtual Circuit Connectivity Verification (VCCV)

1.2  BFD配置限制和指导

BFD会话建立后,可以动态协商BFD的相关参数(例如最小发送间隔、最小接收间隔、初始模式等),两端协议通过发送相应的协商报文后采用新的参数,不影响会话的当前状态。

BFD会话两端配置的BFD检测时间倍数的取值范围均为3~15。

对于建立在跨成员设备的聚合接口上的BFD会话,当负责收发BFD报文的主设备异常重启时,从设备接替收发BFD报文的工作需要一定的时间,如果BFD会话检测时间较短或者会话数量较多,可能会出现BFD会话震荡的情况。

BFD会话不支持配置在精简型二层聚合接口上,关于精简型二层聚合接口的详细介绍请参见“二层技术-以太网交换配置指导”中的“以太网链路聚合”。

对于管理用以太网口,仅支持BFD MAD检测功能,不能配置其他BFD支持的应用。关于BFD MAD检测功能的详细介绍请参见“虚拟化技术”中的“IRF”。

在IRF环境中使用BFD时,如果BFD会话的检测时间小于IRF链路down的延迟上报时间,可能会导致BFD会话震荡。为了避免上述问题的产生,建议调整IRF链路down的延迟上报时间,使其小于BFD会话的检测时间。关于IRF链路down延迟上报功能的详细介绍,请参见“虚拟化技术配置指导”中的“IRF”。

1.3  控制报文方式配置

1.3.1  BFD会话建立方式

建立控制报文方式的BFD会话有两种方式:静态创建BFD会话和动态建立BFD会话。

BFD通过控制报文中的本地标识符和远端标识符来区分不同的会话。静态创建BFD会话和动态建立BFD会话的主要区别在于本地标识符和远端标识符的获取方式不同:

·     静态BFD会话的本地标识符和远端标识符由用户手工配置。手工指定会话的本地标识符和远端标识符方法包括:

¡     通过bfd static命令手工创建。

¡     应用程序与BFD联动时,由用户手工指定会话的本地标识符和远端标识符。

·     动态BFD会话的本端标识符由本端设备分配,远端标识符在BFD会话协商建立过程中获取。应用程序与BFD联动时,如果用户未指定会话的本地标识符和远端标识符,则建立的会话为动态BFD会话。

1.3.2  配置限制和指导

配置被服务的上层协议支持BFD功能后,无需执行本配置,设备上会自动创建控制报文方式的BFD会话。

1.3.3  创建静态BFD会话

1. 功能简介

创建的静态BFD会话可以用来进行控制报文方式的BFD单跳检测和多跳检测,通过与Track配合可为对链路故障响应速度要求较高的业务提供故障检测服务。关于Track与BFD联动的详细介绍,请参见“可靠性配置指导”中的“Track”。

2. 配置限制和指导

如果对端创建了静态BFD会话,那么本端必须创建静态BFD会话。

首次创建静态BFD会话时,必须指定静态BFD会话的对端IPv4或IPv6地址。系统仅检查IP地址的形式,不检查其正确性。指定错误的对端IP地址或源IP地址均会导致静态BFD会话无法建立。

不同的静态BFD会话的本地标识符不能相同。

3. 创建单跳检测的静态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会话。

(3)     (可选)指定静态BFD会话的本地标识符和远端标识符。

discriminator { local local-value | remote remote-value }

缺省情况下,未指定静态BFD会话的本地标识符和远端标识符。

本命令仅用于创建静态BFD会话时未指定静态BFD会话标识符的场景。

 

4. 创建多跳检测的静态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 [ track-interface interface-type interface-number ] ]

(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 [ track-interface interface-type interface-number ] ]

(3)     (可选)指定静态BFD会话的本地标识符和远端标识符。

discriminator { local local-value | remote remote-value }

缺省情况下,未指定静态BFD会话的本地标识符和远端标识符。

本命令仅用于创建静态BFD会话时未指定静态BFD会话标识符的场景。

1.3.4  配置单跳检测

(1)     进入系统视图。

system-view

(2)     进入接口视图或静态BFD会话视图。

¡     进入接口视图。

interface interface-type interface-number

¡     进入静态BFD会话视图。

bfd static session-name

配置静态BFD的单跳检测会话参数时,需要进入相应的BFD会话视图。

(3)     配置发送和接收单跳BFD控制报文的最小时间间隔。

bfd min-control-interval interval

缺省情况下,接收和发送单跳BFD控制报文的最小时间间隔为400毫秒。

(4)     配置单跳检测的BFD检测时间倍数。

bfd detect-multiplier interval

缺省情况下,单跳检测的BFD检测时间倍数为5。

(5)     (可选)配置BFD会话无法建立时,通知上层协议BFD会话down的超时时间。

a.     退回系统视图。

quit

b.     配置BFD会话无法建立时,通知上层协议BFD会话down的超时时间。

bfd init-fail-timer seconds

缺省情况下,BFD会话无法建立时,不会通知上层协议BFD会话down。

注意

配置本命令后,对于由于配置原因(比如对端设备没有使能BFD,或者两端的BFD认证配置不一致等)造成BFD会话无法进入up状态的情况,如果配置了本定时器,会导致上层协议作出错误的处理,所以,请谨慎使用本命令。

 

1.3.5  配置多跳检测

(1)     进入系统视图。

system-view

(2)     (可选)进入静态BFD会话视图。

bfd static session-name

配置静态BFD的多跳检测会话参数时,需要进入相应的BFD会话视图。

(3)     配置多跳BFD控制报文的目的端口号。

bfd multi-hop destination-port port-number

缺省情况下,多跳BFD控制报文的目的端口号为4784。

本命令仅支持在系统视图下配置。

(4)     配置多跳检测的BFD检测时间倍数。

bfd multi-hop detect-multiplier value

缺省情况下,多跳检测的BFD检测时间倍数为5。

(5)     配置发送和接收多跳BFD控制报文的最小时间间隔。

bfd multi-hop min-control-interval interval

缺省情况下,接收和发送多跳BFD控制报文的最小时间间隔为400毫秒。

(6)     (可选)配置BFD会话无法建立时,通知上层协议BFD会话down的超时时间

bfd init-fail-timer seconds

缺省情况下,BFD会话无法建立时,不会通知上层协议BFD会话down。

本命令仅支持在系统视图下配置。

注意

配置本命令后,对于由于配置原因(比如对端设备没有使能BFD,或者两端的BFD认证配置不一致等)造成BFD会话无法进入up状态的情况,如果配置了本定时器,会导致上层协议作出错误的处理,所以,请谨慎使用本命令。

 

1.4  开启BFD会话震荡抑制功能

1. 功能简介

BFD检测到链路故障时,会拆除BFD会话,并通知上层协议邻居不可达。当上层协议重新建立邻居关系后,BFD会话重新up。当链路频繁发生故障并故障恢复时,将导致BFD会话震荡,引发设备不断执行上述操作,这会占用大量的系统资源并影响网络的稳定性。可配置本功能通过如下惩罚机制对BFD会话震荡进行抑制。

BFD会话震荡的惩罚机制通过initial-intervalsecondary-intervalmaximum-interval参数来进行抑制:

·     在抑制时间间隔内,不允许建立BFD会话;在抑制时间间隔超时后,允许建立BFD会话。抑制时间最大不超过maximum-interval

·     BFD会话第二次down后,在initial-interval时间间隔内,不允许重新建立BFD会话。

·     BFD会话第三次down后,在secondary-interval时间间隔内,不允许重新建立BFD会话。

·     BFD会话第四次或更多次down后,按照如下规则抑制BFD会话的建立:

¡     secondary-interval×2n-3(n为BFD会话震荡的次数,初始值为4)小于或等于maximum-interval时,在secondary-interval×2n-3时间间隔内,不允许重新建立BFD会话。

¡     secondary-interval×2n-3(n为BFD会话震荡的次数,初始值为4)大于maximum-interval时,在maximum-interval时间间隔内,不允许重新建立BFD会话。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启BFD会话震荡抑制功能。

bfd dampening [ maximum maximum-interval initial initial-interval secondary secondary-interval ]

缺省情况下,不会对BFD会话的建立进行抑制。

initial-intervalsecondary-interval配置值不允许大于maximum-interval

1.5  配置BFD模板

1. 功能简介

对于未指定出接口的会话,无法通过会话出接口配置BFD会话参数。使用BFD全局多跳可以配置,但是缺乏灵活性。通过BFD模板可以对参数进行灵活配置,LSP以及PW的BFD检测关联到BFD模板即可指定会话参数。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     创建BFD模板,并进入BFD模板视图。

bfd template template-name

(3)     配置BFD检测时间倍数。

bfd detect-multiplier value

缺省情况下,BFD检测时间倍数为5。

(4)     配置发送和接收单跳BFD控制报文的最小时间间隔。

bfd min-control-interval interval

缺省情况下,接收和发送单跳BFD控制报文的最小时间间隔为400毫秒。

1.6  开启告警功能

1. 功能简介

开启BFD模块的告警功能后,该模块会生成告警信息,用于报告该模块的重要事件。生成的告警信息将发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。(有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。)

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启BFD的告警功能。

snmp-agent trap enable bfd

缺省情况下,BFD的告警功能处于开启状态。

1.7  BFD显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后BFD的运行情况,通过查看显示信息验证配置的效果。

在用户视图下执行reset命令可以清除BFD会话的统计信息。

表1-2 BFD显示和维护

操作

命令

显示BFD会话信息

display bfd session [ discriminator local local-value | static 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 ] [ lsp | te | pw ] [ 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保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们