• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 关于我们

11-可靠性配置指导

目录

07-BFD配置

本章节下载 07-BFD配置  (517.85 KB)

07-BFD配置

  录

1 BFD

1.1 BFD简介

1.1.1 BFD的基本原理

1.1.2 单跳检测和多跳检测

1.1.3 BFD会话的状态

1.1.4 BFD会话的工作方式

1.1.5 硬件BFD

1.1.6 BFD支持的应用

1.1.7 协议规范

1.2 BFD配置限制和指导

1.3 BFD配置任务简介

1.4 配置echo报文方式的BFD会话

1.4.1 BFD会话建立方式

1.4.2 配置限制和指导

1.4.3 通过bfd static命令手工创建静态BFD会话

1.4.4 调整BFD检测时间

1.5 配置控制报文方式的BFD会话

1.5.1 BFD会话建立方式

1.5.2 配置限制和指导

1.5.3 配置BFD会话建立前的运行模式

1.5.4 通过bfd static命令手工创建静态BFD会话

1.5.5 调整BFD检测时间

1.5.6 配置BFD会话认证信息

1.5.7 配置多跳BFD控制报文的目的端口号

1.5.8 配置检测SRv6 PW的静态BFD会话的目的端口号

1.5.9 全局配置检测EVPN VPLS over SRv6组网中SRv6 PW的静态BFD会话的目的端口号

1.5.10 全局配置检测EVPN VPWS over SRv6组网中SRv6 PW的静态BFD会话的目的端口号

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

1.5.12 配置BFD回声功能

1.5.13 配置接口状态与BFD联动

1.6 配置静态BFD会话关联功能

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

1.8 控制BFD会话协商功能

1.8.1 功能简介

1.8.2 开启设备整机重启后延迟BFD进行会话协商的功能

1.8.3 开启延迟DOWN状态的BFD会话进行协商的功能

1.9 配置BFD模板

1.10 开启告警功能

1.11 BFD显示和维护

2 SBFD

2.1 SBFD简介

2.2 SBFD会话的工作方式

2.3 SBFD配置限制和指导

2.4 SBFD配置任务简介

2.5 配置Initiator

2.5.1 配置限制和指导

2.5.2 配置Initiator(检测SRv6 Locator)

2.6 配置Reflector

2.7 控制SBFD会话协商

2.7.1 功能简介

2.7.2 开启设备整机重启后延迟SBFD进行会话协商的功能

2.7.3 开启延迟DOWN状态的SBFD会话进行协商的功能

2.8 配置BFD模板

2.9 SBFD显示和维护

 


1 BFD

1.1  BFD简介

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

1.1.1  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故障发现处理流程图

 

1.1.2  单跳检测和多跳检测

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

·     单跳检测:是指对两个直连设备进行IP连通性检测,这里所说的“单跳”是IP的一跳。例如,如图1-3所示,使用BFD检测Device A和Device B之间的IP单跳路径。

图1-3 单跳检测

 

·     多跳检测:BFD可以检测两个设备间任意路径的链路情况,这些路径可能跨越很多跳。例如,如图1-4所示,使用BFD检测Device A和Device B之间的IP多跳路径。

图1-4 多跳检测

 

1.1.3  BFD会话的状态

BFD会话有四种状态,分别为:DOWN、ADMIN DOWN、INIT和UP。各会话状态表示的含义如下:

·     DOWN:本端会话已经关闭或刚刚创建。DOWN状态表示转发路径不可用,与BFD会话联动的上层应用需要采取适当的措施,例如主备路径切换等。

·     ADMIN DOWN:通过管理手段阻止本端系统建立BFD会话时,BFD会话状态为ADMIN DOWN。会话处于ADMIN DOWN时,不代表转发路径不可用,与BFD会话联动的上层应用不需要采取措施。

·     INIT:本端已经可以与对端通信,且本端希望会话进入UP状态。

·     UP:本端会话已经建立成功。UP状态表示转发路径可用。

1.1.4  BFD会话的工作方式

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

1. echo报文方式

echo报文封装在UDP报文中传送,该报文IP头中的源IP和目的IP均为本端设备的IP地址,其UDP目的端口号为3785。

本端发送echo报文建立BFD会话,对链路进行检测。对端不建立BFD会话,只需把收到的echo报文转发回本端。如果在检测时间内没有收到对端转发回的echo报文,则认为会话down。

echo报文方式的BFD会话不需要双方均支持BFD功能,不支持BFD功能的设备接收到echo报文后,直接将该报文环回,从而达到快速检测的目的。

当BFD会话工作于echo报文方式时,仅在MPLS TE隧道和VXLAN的场景中支持多跳检测,其他应用的BFD会话仅支持单跳检测,两种应用均不受检测模式的控制。

2. 控制报文方式

控制报文封装在UDP报文中传送,对于单跳检测其UDP目的端口号为3784,对于多跳检测其UDP目的端口号为4784。链路两端的设备通过控制报文中携带的参数(会话标识符、期望的收发报文最小时间间隔、本端BFD会话状态等)协商建立BFD会话。

1.1.5  硬件BFD

软件BFD是指BFD检测过程中的报文收发、BFD会话状态机的维护完全依赖CPU来处理。软件BFD会极大的消耗CPU能力。同时,受CPU性能影响,能够支持的BFD会话规格较小,无法用于大规格BFD会话需求的应用场景。

硬件BFD把过度消耗CPU资源的会话处理转移到芯片,这样CPU可以及时处理其他重要任务。硬件BFD会话处理的性能不受限于CPU的性能。相较于软件BFD,硬件BFD能够支持大规格的BFD会话。

用户通过display bfd session verbose命令显示信息中的Hardware mode字段能够判断会话由软件维护还是由硬件维护:Hardware mode字段取值为Disabled,说明会话由软件维护;Hardware mode字段取值为Enabled,说明会话由硬件维护。

对于由硬件维护的BFD会话,触发会话切换为软件维护的常见操作包括:

·     配置硬件BFD不支持的命令:bfd echo enable

·     拔出支持硬件BFD的单板。

由硬件维护的BFD会话切换为软件维护时,可能会导致会话震荡,请谨慎配置。

1.1.6  BFD支持的应用

BFD可以和路由协议、MPLS等联合使用,具体如表1-1所示。

表1-1 BFD支持的应用

应用

参见信息

链路聚合与BFD联动

“二层技术-以太网交换配置指导”中的“以太网链路聚合”

IPv4静态路由与BFD联动

“三层技术-IP路由配置指导”中的“静态路由”

IPv6静态路由与BFD联动

“三层技术-IP路由配置指导”中的“IPv6静态路由”

OSPF与BFD联动

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

OSPFv3与BFD联动

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

IS-IS与BFD联动

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

BGP与BFD联动

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

PIM与BFD联动

“IP组播配置指导”中的“PIM”

MPLS与BFD联动

“MPLS配置指导”中的“MPLS OAM”

RSVP与BFD联动

“MPLS配置指导”中的“RSVP”

Track与BFD联动

“可靠性配置指导”中的“Track”

S-Trunk与BFD联动

“可靠性配置指导”中的“S-Trunk”

 

1.1.7  协议规范

与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)

·     RFC 7130:Bidirectional Forwarding Detection (BFD) on Link Aggregation Group (LAG) Interfaces

1.2  BFD配置限制和指导

缺省BFD运行版本1,同时兼容版本0。不能通过命令行配置修改为版本0,当对端设备运行版本0会话时,本端自动会切换到版本0。

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

1.3  BFD配置任务简介

本节中的所有配置均为可选,请根据实际情况选择配置。

(1)     配置echo报文方式的BFD会话

¡     通过bfd static命令手工创建静态BFD会话

¡     调整BFD检测时间

(2)     配置控制报文方式的BFD会话

¡     配置BFD会话建立前的运行模式

¡     通过bfd static命令手工创建静态BFD会话

¡     调整BFD检测时间

¡     配置BFD会话认证信息

¡     配置多跳BFD控制报文的目的端口号

¡     配置检测SRv6 PW的静态BFD会话的目的端口号

¡     全局配置检测EVPN VPLS over SRv6组网中SRv6 PW的静态BFD会话的目的端口号

¡     全局配置检测EVPN VPWS over SRv6组网中SRv6 PW的静态BFD会话的目的端口号

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

¡     配置BFD回声功能

¡     配置接口状态与BFD联动

(3)     配置静态BFD会话关联功能

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

(5)     控制BFD会话协商功能

(6)     配置BFD模板

(7)     开启告警功能

1.4  配置echo报文方式的BFD会话

1.4.1  BFD会话建立方式

建立echo报文方式的BFD会话的方式有两种:

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

·     应用程序与BFD联动时动态创建。

1.4.2  配置限制和指导

在已配置uRPF功能的设备上,需要注意:

·     配置应用程序与echo方式的BFD联动时,设备会将对端转发回来的echo报文丢弃。可以配置ACL允许echo报文源地址通过,并将此ACL应用于uRPF,从而抑制报文丢弃。

·     配置echo报文方式的静态BFD会话时,为了避免设备将对端转发回来的echo报文丢弃,需要保证静态BFD会话中指定的源IPv4/IPv6地址能够通过uRPF检查。

关于uRPF功能的详细介绍请参见“安全配置指导”中的“uRPF”。

1.4.3  通过bfd static命令手工创建静态BFD会话

1. 功能简介

创建的静态BFD会话可以用来进行echo报文方式的BFD单跳检测和多跳检测。

2. 配置限制和指导

使用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地址。

3. 配置单跳检测的静态BFD会话

(1)     进入系统视图。

system-view

(2)     (可选)配置echo报文源IP地址。

¡     配置echo报文源IPv4地址。

bfd echo-source-ip ip-address

缺省情况下,未配置echo报文的源IPv4地址。

为了避免对端发送大量的ICMP重定向报文造成网络拥塞,建议不要将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-address ] one-arm-echo [ discriminator { auto | local local-value } ] ]

(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 { auto | local local-value } ] ]

(4)     (可选)指定静态BFD会话的本地标识符。

discriminator local local-value

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

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

4. 配置多跳检测的静态BFD会话

(1)     进入系统视图。

system-view

(2)     (可选)配置echo报文源IP地址。

¡     配置echo报文源IPv4地址。

bfd echo-source-ip ip-address

缺省情况下,未配置echo报文的源IPv4地址。

为了避免对端发送大量的ICMP重定向报文造成网络拥塞,建议不要将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-address ] one-arm-echo[ discriminator { auto | local local-value } ] ]

(IPv6网络)

bfd static session-name [ peer-ipv6 ipv6-address [ vpn-instance vpn-instance-name ] destination-ipv6 ipv6-address [ source-ipv6 ipv6-address ] one-arm-echo [ discriminator { auto | local local-value } ] ]

(4)     (可选)指定静态BFD会话的本地标识符。

discriminator local local-value

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

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

1.4.4  调整BFD检测时间

1. 功能简介

在建立echo报文方式的BFD会话时,用户可以根据网络状况和性能需求,调整设备接收echo报文的时间间隔、检测时间倍数。

2. 配置限制和指导

多个上层应用关联同一个BFD会话,即会话的“源IP地址+目的IP地址+会话所在的接口+VPN+目的端口号”信息完全相同,检测时间参数的优选顺序如下:

(1)     静态BFD会话视图下设置的检测时间参数、上层应用引用的BFD模板设置的检测时间参数、上层应用单独设置的检测时间参数中的最小值。

(2)     接口视图或系统视图下设置的检测时间参数。

(3)     缺省值。

一个BFD会话仅被一个上层应用关联,检测时间参数的优选顺序如下:

(1)     上层应用是否支持引用BFD模板、是否支持单独设置检测时间参数会影响检测时间参数的优选顺序,具体如下:

¡     如果上层应用既支持引用BFD模板,也支持单独设置检测时间参数,则上层应用既引用了BFD模板、又单独设置了检测时间参数时,上层协议优先使用引用的BFD模板中的检测时间参数。

¡     如果上层应用支持引用BFD模板、不支持单独设置检测时间参数,则上层应用引用BFD模板后,使用该BFD模板中的检测时间参数。

¡     如果上层协议支持单独设置检测时间参数、不支持引用BFD模板,则上层应用单独设置检测时间参数后,使用这些单独设置的检测时间参数。

(2)     接口视图或系统视图下设置的检测时间参数。

(3)     缺省值。

3. 调整单跳BFD的检测时间

(1)     进入系统视图。

system-view

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

¡     进入接口视图。

interface interface-type interface-number

¡     进入静态BFD会话视图。

bfd static session-name

静态BFD会话必须已经存在。

配置静态BFD会话的参数时,需要进入静态BFD会话视图。

(3)     配置接收echo报文的最小时间间隔。

bfd min-echo-receive-interval interval

缺省情况下,接收echo报文的最小时间间隔为1000毫秒。

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

bfd detect-multiplier interval

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

4. 调整多跳BFD的检测时间

(1)     进入系统视图。

system-view

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

bfd static session-name

配置静态BFD会话的参数时,需要进入静态BFD会话视图。

(3)     配置接收多跳echo报文的最小时间间隔。

bfd multi-hop min-echo-receive-interval interval

缺省情况下,接收多跳echo报文的最小时间间隔为1000毫秒。

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

bfd multi-hop detect-multiplier value

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

1.5  配置控制报文方式的BFD会话

1.5.1  BFD会话建立方式

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

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

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

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

¡     应用程序与BFD联动时,由用户手工指定会话的本地标识符和远端标识符。例如,使用静态BFD会话方式检测MPLS LSP时,需要用户手工指定会话的本地标识符和远端标识符。关于静态BFD会话方式检测MPLS LSP的详细介绍,请参见“MPLS配置指导”中的“MPLS OAM”。

·     动态BFD会话的本地标识符由本端设备自动分配,远端标识符在BFD会话协商建立过程中获取。本端设备自动分配本地标识符的方法包括:

¡     通过bfd static命令的auto方式为本端自动分配会话的本地标识符。

¡     应用程序与BFD联动时,如果用户未指定会话的本地标识符和远端标识符,则由本端设备自动分配会话的本地标识符。

1.5.2  配置限制和指导

BFD版本0不支持以下命令,配置不生效。

·     bfd session init-mode

·     bfd authentication-mode

·     bfd echo enable

1.5.3  配置BFD会话建立前的运行模式

1. 功能简介

BFD会话建立前有两种模式:主动模式和被动模式。

·     主动模式:在建立会话前不管是否收到对端发来的BFD控制报文,都会主动发送BFD控制报文。

·     被动模式:在建立会话前不会主动发送BFD控制报文,直到收到对端发送来的控制报文。

通信双方至少要有一方运行在主动模式才能成功建立起BFD会话。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置BFD会话建立前的运行模式。

bfd session init-mode { active | passive }

缺省情况下,BFD会话建立前的运行模式为主动模式。

1.5.4  通过bfd static命令手工创建静态BFD会话

1. 功能简介

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

静态BFD会话可以检测如表1-2中的路径类型。本文仅介绍检测IP路径的静态BFD会话。

表1-2 静态BFD支持检测的路径类型

路径类型

参见信息

IP路径

本文“1.5.4  通过bfd static命令手工创建静态BFD会话

MPLS TE隧道

“MPLS配置指导”中的“MPLS OAM”

MPLS PW

“MPLS配置指导”中的“MPLS OAM”

SRv6 PW

“Segment Routing配置指导”中的“EVPN VPWS over SRv6”

 

2. 配置限制和指导

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

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

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

BFD报文IP头中源IP地址和目的IP地址的获取方式与BFD会话的工作方式有关,具体如下:

·     对于控制报文方式的静态BFD,BFD报文IP头中的源IP地址为source-ip/source-ipv6,目的IP地址为peer-ip/peer-ipv6。如果用户未指定source-ip/source-ipv6参数,则设备按照如下优选顺序设置BFD报文IP头中的源IP地址:

¡     设备在本地路由表中查找到达peer-ip/peer-ipv6地址的路由出接口,以该出接口的IPv4/IPv6地址作为本端发送BFD报文的源IPv4/IPv6地址。

¡     成功配置静态BFD会话后,修改出接口的IPv4/IPv6地址,设备会根据会话所处的阶段设置BFD协议报文的源源IPv4地址或IPv6地址。具体如下:

-     如果BFD会话处于协商阶段,则设备会自动更新BFD报文中的源IPv4/IPv6地址。

-     如果BFD会话处于检测阶段,则设备不会更新BFD报文中的源IPv4/IPv6地址。

¡     如果静态BFD会话视图下配置了network-slice命令,则设备使用网络切片地址。如果切片地址不可用,则BFD无法发包。关于网络切片的详细介绍,请参见“Segment Routing配置指导”中的“SRv6网络切片”。

·     对于echo报文方式的静态BFD,BFD报文IP头中的源IP地址为source-ip/source-ipv6,目的IP地址为destination-ip/destination-ipv6。如果用户既未指定source-ip/source-ipv6参数,也未配置bfd echo-source-ip/bfd echo-source-ipv6命令,BFD报文IP头中的源IPv4/IPv6地址为destination-ip/destination-ipv6参数指定的IPv4/IPv6地址。

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 { auto | local local-value remote remote-value } ]

bfd static session-name [ peer-ip ipv4-address interface interface-type interface-number [ 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 { auto | local local-value remote remote-value } ]

bfd static session-name [ peer-ipv6 ipv6-address interface interface-type interface-number [ 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 auto [ track-interface interface-type interface-number ] | discriminator local local-value remote remote-value [ track-interface interface-type interface-number ] ] ]

bfd static session-name [ peer-ip ipv4-address [ vpn-instance vpn-instance-name ] [ 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 auto [ track-interface interface-type interface-number ] | discriminator local local-value remote remote-value [ track-interface interface-type interface-number ] ] ]

bfd static session-name [ peer-ipv6 ipv6-address [ vpn-instance vpn-instance-name ] [ discriminator local local-value remote remote-value [ track-interface interface-type interface-number ] ] ]

使用静态BFD会话检测网络切片通道的连通性时,不能指定BFD报文的源IPv6地址参数。

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

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

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

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

1.5.5  调整BFD检测时间

1. 功能简介

在建立控制报文方式的BFD会话时,用户可以根据网络状况和性能需求,调整设备接收控制报文的时间间隔、发送控制报文的时间间隔以及检测时间倍数。

2. 配置限制和指导

多个上层应用关联同一个BFD会话,即会话的“源IP地址+目的IP地址+会话所在的接口+VPN+目的端口号”信息完全相同,检测时间参数的优选顺序如下:

(1)     静态BFD会话视图下设置的检测时间参数、上层应用引用的BFD模板设置的检测时间参数、上层应用单独设置的检测时间参数中的最小值。

(2)     接口视图或系统视图下设置的检测时间参数。

(3)     缺省值。

一个BFD会话仅被一个上层应用关联,检测时间参数的优选顺序如下:

(1)     上层应用是否支持引用BFD模板、是否支持单独设置检测时间参数会影响检测时间参数的优选顺序,具体如下:

¡     如果上层应用既支持引用BFD模板,也支持单独设置检测时间参数,则上层应用既引用了BFD模板、又单独设置了检测时间参数时,上层协议优先使用引用的BFD模板中的检测时间参数。

¡     如果上层应用支持引用BFD模板、不支持单独设置检测时间参数,则上层应用引用BFD模板后,使用该BFD模板中的检测时间参数。

¡     如果上层协议支持单独设置检测时间参数、不支持引用BFD模板,则上层应用单独设置检测时间参数后,使用这些单独设置的检测时间参数。

(2)     接口视图或系统视图下设置的检测时间参数。

(3)     缺省值。

3. 调整单跳BFD的检测时间

(1)     进入系统视图。

system-view

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

¡     进入接口视图。

interface interface-type interface-number

¡     进入静态BFD会话视图。

bfd static session-name

静态BFD会话必须已经存在。

配置静态BFD会话的参数时,需要进入静态BFD会话视图。

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

bfd min-transmit-interval interval

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

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

bfd min-receive-interval interval

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

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

bfd detect-multiplier interval

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

4. 调整多跳BFD的检测时间

(1)     进入系统视图。

system-view

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

bfd static session-name

静态BFD会话必须已经存在。

配置静态BFD会话的参数时,需要进入静态BFD会话视图。

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

bfd multi-hop detect-multiplier value

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

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

bfd multi-hop min-receive-interval interval

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

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

bfd multi-hop min-transmit-interval interval

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

1.5.6  配置BFD会话认证信息

1. 功能简介

通过配置BFD会话认证信息,包括认证算法、认证密钥,提高BFD会话的安全性。

2. 配置单跳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控制报文不进行认证。

3. 配置多跳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控制报文不进行认证。

1.5.7  配置多跳BFD控制报文的目的端口号

1. 功能简介

IANA(Internet Assigned Numbers Authority,互联网编号分配委员会)将端口号4784分配给BFD,用于BFD控制报文多跳检测。缺省情况下,H3C设备多跳BFD控制报文的目的端口号为4784。与多跳BFD控制报文目的端口号为3784的其他厂商设备互通时,建议两端使用相同的多跳BFD控制报文端口号,否则可能会导致BFD会话协商失败。

2. 配置限制和指导

配置本功能后,只有此后新创建的控制报文方式的多跳BFD会话,才会使用本功能设置的端口块作为发送报文的目的端口号。对于配置本功能前已经Up的控制报文方式的多跳BFD会话,不会使用本功能设置的端口号作为发送报文的目的端口号。

3. 配置步骤

(1)     进入系统视图。

system-view

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

bfd multi-hop destination-port port-number

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

1.5.8  配置检测SRv6 PW的静态BFD会话的目的端口号

1. 功能简介

使用静态BFD检测H3C设备与其他厂商设备之间建立的SRv6 PW时,可能会出现两端BFD会话的端口号不同的情况,这会导致BFD会话协商失败。为了避免上述问题,请使用本功能修改H3C设备检测SRv6 PW的静态BFD会话的目的端口号。

2. 配置限制和指导

静态BFD会话视图下配置bfd destination-port命令后,仅对该静态BFD会话生效。如果希望全局生效,则请在系统视图下配置bfd destination-port evpn-vpls-srv6命令或bfd destination-port evpn-vpws-srv6命令。

目前仅如下类型的静态BFD会话视图下支持配置bfd destination-port命令:

·     检测EVPN VPLS over SRv6组网中SRv6 PW的静态BFD会话

·     检测EVPN VPWS over SRv6组网中SRv6 PW的静态BFD会话

3. 配置步骤

(1)     进入系统视图。

system-view

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

bfd static session-name

静态BFD会话必须已经存在。

(3)     配置检测SRv6 PW的静态BFD会话的目的端口号。

bfd destination-port port-number

缺省情况下,未配置检测SRv6 PW的静态BFD会话的目的端口号,以系统视图下bfd destination-port evpn-vpls-srv6命令或bfd destination-port evpn-vpws-srv6命令的配置为准。

1.5.9  全局配置检测EVPN VPLS over SRv6组网中SRv6 PW的静态BFD会话的目的端口号

1. 功能简介

使用静态BFD检测EVPN VPLS over SRv6组网中H3C设备与其他厂商设备之间建立的SRv6 PW时,可能会出现两端BFD会话的端口号不同的情况,这会导致BFD会话协商失败。为了避免上述问题,请使用本功能修改H3C设备检测SRv6 PW的静态BFD会话的目的端口号。

2. 配置限制和指导

用户可以在系统视图或静态BFD会话视图下配置BFD控制报文的目的端口号,两者的关系如下:

·     系统视图下配置bfd destination-port evpn-vpls-srv6命令后,对所有检测EVPN VPLS over SRv6组网中SRv6 PW的静态BFD会话生效。

·     静态BFD会话视图下配置bfd destination-port命令,则仅对该会话生效。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     全局配置检测EVPN VPLS over SRv6组网中SRv6 PW的静态BFD会话的目的端口号。

bfd destination-port evpn-vpls-srv6 port-number

缺省情况下,检测EVPN VPLS over SRv6组网中SRv6 PW的静态BFD会话的目的端口号为3784。

1.5.10  全局配置检测EVPN VPWS over SRv6组网中SRv6 PW的静态BFD会话的目的端口号

1. 功能简介

使用BFD检测EVPN VPWS over SRv6组网中H3C设备与其他厂商设备之间建立的SRv6 PW时,可能会出现两端BFD会话的端口号不同的情况,这会导致BFD会话协商失败。为了避免上述问题,请使用本功能修改H3C设备检测SRv6 PW的静态BFD会话的目的端口号。

2. 配置限制和指导

用户可以在系统视图或静态BFD会话视图下配置BFD控制报文的目的端口号,两者的关系如下:

·     系统视图下配置bfd destination-port evpn-vpws-srv6命令后,对所有检测EVPN VPWS over SRv6组网中SRv6 PW的静态BFD会话生效。

·     静态BFD会话视图下配置bfd destination-port命令,则仅对该会话生效。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     全局配置检测EVPN VPWS over SRv6组网中SRv6 PW的静态BFD会话的目的端口号。

bfd destination-port evpn-vpws-srv6 port-number

缺省情况下,检测EVPN VPWS over SRv6组网中SRv6 PW的静态BFD会话的目的端口号为3784。

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

1. 功能简介

缺省情况下,控制报文工作方式的BFD会话无法建立时,不会通知上层协议BFD会话down。某些情况下,需要将BFD会话无法建立的消息通知给上层协议,以使上层协议作出正确的处理。比如在聚合链路中,由于链路故障等原因,BFD会话无法进入up状态,从而导致聚合模块无法及时将成员端口的选中状态修改为非选中状态,配置本命令可避免上述情况的发生。

2. 配置限制和指导

本功能对echo报文方式的BFD会话无效。

3. 配置步骤

(1)     进入系统视图。

system-view

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

bfd init-fail-timer seconds

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

注意

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

 

1.5.12  配置BFD回声功能

1. 功能简介

使用异步模式的BFD会话检测直连网段的连通性时,可以使用BFD回声功能辅助进行故障检测。使能BFD回声功能后,会话的一端周期性地发送echo报文,同时自动降低控制报文的接收速率,减少对带宽资源的消耗。对端不对echo报文进行处理,只将此报文转发回发送端。如果发送端连续几个echo报文都没有接收到,会话状态将变为DOWN。

仅单跳检测支持回声功能。

2. 配置限制和指导

回声功能对接口状态与BFD联动的会话无效。

3. 配置步骤

(1)     进入系统视图。

system-view

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

¡     进入接口视图。

interface interface-type interface-number

¡     进入静态BFD会话视图。

bfd static session-name

静态BFD会话必须已经存在。

(3)     使能回声功能。

bfd echo [ receive | send ] enable

缺省情况下,回声功能处于关闭状态。

1.5.13  配置接口状态与BFD联动

1. 功能简介

配置接口状态与BFD联动后,系统将通过发送BFD控制报文来协商建立单跳检测的BFD会话,实现对链路的快速检测。当检测到链路故障时,将接口链路层协议状态置为“DOWN(BFD)”,从而帮助依赖接口链路层协议状态的应用快速收敛。系统发送的BFD控制报文中的源地址为用户手工指定的IP地址,目的地址固定为224.0.0.184。对于有IP地址的接口,建议将源地址指定为该接口的IP地址;如果接口没有IP地址,建议将源地址指定为0.0.0.0以外的单播地址。

支持与BFD联动的接口类型为:

·     三层以太网接口

·     加入聚合组的三层以太网接口

·     三层以太网子接口

·     三层聚合口

·     三层聚合接口子接口

2. 配置限制和指导

回声功能对接口状态与BFD联动的会话无效。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     配置接口状态与BFD联动。

bfd detect-interface source-ip ip-address [ discriminator local local-value remote remote-value ] [ template template-name ]

当对端设备不支持通过自动协商的方式获取BFD会话的标识符时,必须指定discriminator参数,且两端都需要指定该参数,否则,BFD会话无法up。

(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会话进行特殊处理的功能处于关闭状态。

1.6  配置静态BFD会话关联功能

1. 功能简介

不同的静态BFD会话可以互相关联。静态BFD会话的状态会受到与其关联的静态BFD会话状态的影响。

假设建立关联关系的静态BFD会话名称分别为a和b,a、b之间支持建立如下两种关联关系:

·     单向关联:仅在a的会话视图下将a与b关联。或者,仅在b的会话视图下将b与a关联。

·     双向关联:在a的会话视图下将a与b关联,并在b的会话视图下将b与a关联。

单向关联关系的工作机制如下(假设仅在a的会话视图下执行本配置将a与b关联):

(1)     a的会话状态变为Down时,触发b的会话状态变为Down。在a的会话状态为Down期间,不允许b进行会话协商。

(2)     当a的会话状态由Down重新变为Up后,触发b进行会话协商。不管b能否协商为Up状态,都不会影响a的会话状态。

双向关联关系的工作机制如下(假设在a的会话视图下配置本命令将a与b关联,并在b的会话视图下配置本命令将b与a关联):

(1)     a的会话状态变为Down,触发b的会话状态变为Down。在a的会话状态为Down期间,不允许b进行会话协商。

(2)     当a的会话状态由Down重新变为Up后,触发b进行会话协商:

¡     如果b在a指定的时间内协商为Up状态,则a和b的会话状态均保持为Up状态。

¡     如果b在a指定的时间内未协商为Up状态,则触发a的会话状态变为Down。

(3)     同样地,b的会话状态变为Down后,触发a的会话状态变化的工作机制与(1)(2)类似。

2. 配置步骤

(1)     进入系统视图。

system-view

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

bfd static session-name

静态BFD会话必须已经存在。

(3)     将静态BFD会话与其他静态BFD会话关联。

associate-static-session session-name [ re-negotiate seconds ]

缺省情况下,静态BFD会话未关联其他静态BFD会话。

1.7  开启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会话。

BFD会话震荡抑制功能生效期间,使用display bfd session verbose命令查看BFD会话的详细信息,“Diag info”字段的显示内容“Dampening Down (Remaining time: XXs)”即为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.8  控制BFD会话协商功能

1.8.1  功能简介

上层应用使用BFD检测主用路径的场景中,如下两种情况会导致流量丢失:

·     设备整机重启可能会触发主备路径切换。当设备重启成功后,若检测主用路径的BFD会话重新UP,则触发备份路径切换到主路径。但是,如果此时上层协议的主路径还未完全恢复,会导致流量丢失。

·     主用路径DOWN后,触发上层协议进行主备路径切换。如果主路径故障恢复前,检测主用路径的BFD会话重新UP,将会触发备份路径切换到处于故障状态的主路径,会导致流量丢失。

为了解决上述问题,需要对BFD会话协商进行控制,具体方式为延迟BFD会话协商。

1.8.2  开启设备整机重启后延迟BFD进行会话协商的功能

1. 功能简介

开启本功能的设备重启成功后,会启动一个延迟定时器,在定时器超时前,如下两种情况的BFD会话不会进行会话协商:

·     已有的DOWN状态的BFD会话不会进行重新协商。

·     新建立的BFD会话不会进行协商。

延时定时器超时后,BFD会话的协商不再受本功能影响。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启设备整机重启后延迟BFD进行会话协商的功能,并设置延迟会话协商的时间。

bfd session-negotiation delay-upon-reboot interval

缺省情况下,设备整机重启后延迟BFD进行会话协商的功能处于关闭状态。

1.8.3  开启延迟DOWN状态的BFD会话进行协商的功能

1. 功能简介

开启本功能后,工作机制如下:

·     设备将对每一个从UP状态切换为DOWN状态的BFD会话启动一个定时器,在定时器超时前,对应的会话不会进行重协商。

·     任何新建立的BFD会话,设备都会启动定时器。在定时器超时前,不会重新进行会话协商。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启延迟DOWN状态的BFD会话进行协商的功能,并设置延迟会话协商的时间。

bfd session-negotiation delay-upon-down interval

缺省情况下,延迟DOWN状态的BFD会话进行协商的功能处于关闭状态。

1.9  配置BFD模板

1. 功能简介

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

2. 配置步骤

(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

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

(5)     配置接收echo报文的最小时间间隔。

bfd min-echo-receive-interval interval

缺省情况下,接收echo报文的最小时间间隔为1000毫秒。

(6)     配置接收BFD控制报文的最小时间间隔。

bfd min-receive-interval interval

缺省情况下,接收BFD控制报文的最小时间间隔为10毫秒。

(7)     配置发送BFD控制报文的最小时间间隔。

bfd min-transmit-interval interval

缺省情况下,发送BFD控制报文的最小时间间隔为10毫秒。

1.10  开启告警功能

1. 功能简介

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

2. 配置步骤

(1)     进入系统视图。

system-view

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

snmp-agent trap enable bfd

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

1.11  BFD显示和维护

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

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

表1-3 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 ] ] [ slot slot-number ]

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 ] ] [ slot slot-number ]

display bfd session [ [ dynamic ] [ control | echo ] [ lsp | te | pw | srv6-policy ] [ 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 ] ] [ slot slot-number ]

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 ] [ slot slot-number ]

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 ] [ slot slot-number ]

清除BFD会话统计信息

reset bfd session statistics


2 SBFD

2.1  SBFD简介

SBFD(Seamless BFD,无缝BFD)是一种单向的故障检测机制,简化了BFD的状态机(SBFD仅支持UP、DOWN两个状态),缩短了会话协商时间,其检测速度比BFD更快速。SBFD适用于仅一端需要进行链路状态检测的情况。

SBFD会话中,节点的角色分为发起端(Initiator)和响应端(Reflector):

·     Initiator:SBFD会话的发起者,负责维护SBFD会话的状态。Initiator周期性发送SBFD echo报文或SBFD控制报文。

·     Reflector:监听到达本地节点的SBFD控制报文,并判断是否需要生成SBFD响应报文。Reflector无需维护SBFD会话状态。

2.2  SBFD会话的工作方式

SBFD会话通过echo报文和控制报文实现。

1. echo报文方式

对于echo报文方式的SBFD,只需配置Initiator,无需配置Reflector。echo报文方式的SBFD的检测机制如下:

(1)     Initiator发送echo报文建立SBFD会话,对链路进行检测。

(2)     SBFD会话的目的端不需要任何SBFD相关配置,不会建立SBFD会话,只需把收到的echo报文转发回本端。

(3)     Initiator在检测时间超时前收到目的端转发回的echo报文,则认为链路可达。否则,认为链路不可达。

2. 控制报文方式

控制报文方式的SBFD的检测机制如下:

(1)     Initiator周期性向Reflector发送SBFD控制报文。

(2)     Reflector收到Initiator发送的SBFD报文后,检查报文中携带的远端标识符是否与本地节点为Reflector指定的标识符一致。如果一致,Reflector将向Initiator发送SBFD响应报文。如果不一致,Reflector将丢弃收到的SBFD报文。

(3)     Initiator在检测时间超时前收到响应报文,则认为链路可达。否则,认为链路不可达。

2.3  SBFD配置限制和指导

一个节点可以同时作为不同SBFD会话的Initiator和Reflector。

2.4  SBFD配置任务简介

(1)     配置Initiator

¡     配置Initiator(检测SRv6 Locator)

(2)     配置Reflector

(3)     (可选)控制SBFD会话协商

(4)     (可选)配置BFD模板

2.5  配置Initiator

2.5.1  配置限制和指导

Initiator发送的SBFD控制报文中携带的远端标识符必须为Reflector上通过sbfd local-discriminator命令指定的标识符,当Reflector收到Initiator发送的SBFD控制报文后,发现报文中携带的远端标识符不是自己的本地标识符时,不会发送响应报文给Initiator。

2.5.2  配置Initiator(检测SRv6 Locator)

1. 功能简介

在公网IP over SRv6 BE场景、IP L3VPN over SRv6 BE场景或EVPN L3VPN over SRv6 BE场景中,对端CE双归属接入到两个PE设备时,在本端PE设备上开启FRR功能后,本端PE上将形成主备两条路径。主路径发生故障时,为了使流量快速切换到备份路径进行转发,可以在本端PE设备配置本功能,通过SBFD快速检测对端PE设备通过BGP发布的SRv6 Locator网段的连通性,以便快速发现主路径故障,并引导流量快速切换至备份路径。

SBFD检测BGP发布的SRv6 Locator网段的连通性过程如下:

(1)     本端PE设备作为Initiator发送SBFD报文,SBFD将sbfd source-ipv6指定的地址作为SBFD报文源地址、SRv6 Locator网段作为SBFD报文目的地址。

(2)     对端PE设备作为Reflector收到SBFD报文后,检查报文中携带的远端标识符是否与本地配置的标识符一致。如果一致,Reflector将通过IPv6路由向Initiator发送SBFD响应报文。如果不一致,Reflector将丢弃收到的SBFD报文。

(3)     如果Initiator在检测时间超时前能够收到SBFD响应报文,则认为SRv6 Locator网段的连通性正常。否则,Initiator认为SRv6 Locator网段不可达,快速切换至备份路径。

2. 配置限制和指导

为保证本功能正常生效,请在本端PE设备上执行sbfd destination ipv6 remote-discriminator命令配置被检测SRv6 Locator网段和远端标识符的映射关系,并在主路径对端PE设备上执行sbfd local-discriminator命令设置Reflector端的本地标识符,并保证本端PE设备的远端标识符和对端PE设备上的本地标识符一致。

关于SRv6视图下所有配置命令的详细情况,请参见“Sgment Routeing命令参考”中的“SRv6”。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置Initiator发送SBFD报文使用的源IPv6地址。

sbfd source-ipv6 ipv6-address

缺省情况下,未配置Initiator发送SBFD报文使用的源IPv6地址。

(3)     进入SRv6视图。

segment-routing ipv6

(4)     配置SRv6 Locator的SBFD检测功能。

locator-sbfd enable [ template template-name ] [ prefix-list prefix-list-name ]

缺省情况下,未配置SRv6 Locator的SBFD检测功能。

2.6  配置Reflector

1. 配置限制和指导

在SBFD会话的Reflector端配置IPv4地址形式的本地标识符后,设备会自动转换为整数形式的本地标识符。IPv4地址形式的本地标识符用于和其他厂商互通,通常情况下,建议配置整数形式的本地标识符。

Reflector收到Initiator发送的SBFD控制报文中携带的远端标识符为Reflector上通过sbfd local-discriminator命令指定的任意一个标识符时,Reflector均会发送响应报文给Initiator。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     在SBFD会话的Reflector端配置本地标识符。

sbfd local-discriminator { ipv4-address | integer-value }

缺省情况下,未配置SBFD会话的Reflector端的本地标识符。

多次执行本命令,可以为Reflector端配置多个本地标识符。

2.7  控制SBFD会话协商

2.7.1  功能简介

上层应用使用SBFD检测主用路径的场景中,如下两种情况会导致流量丢失:

·     设备整机重启可能会触发主备路径切换。当设备重启成功后,若检测主用路径的SBFD会话重新UP,则触发备份路径切换到主路径。但是,如果此时上层协议的主路径还未完全恢复,会导致流量丢失。

·     主用路径DOWN后,触发上层协议进行主备路径切换。如果主路径故障恢复前,检测主用路径的SBFD会话重新UP,将会触发备份路径切换到处于故障状态的主路径,会导致流量丢失。

为了解决上述问题,需要对SBFD会话协商进行控制,具体方式为延迟SBFD会话协商。

2.7.2  开启设备整机重启后延迟SBFD进行会话协商的功能

1. 功能简介

开启本功能的设备重启成功后,会启动一个延迟定时器,在定时器超时前,如下两种情况的SBFD会话不会进行会话协商:

·     已有的DOWN状态的SBFD会话不会进行重新协商。

·     新建立的SBFD会话不会进行协商。

延时定时器超时后,SBFD会话的协商不再受本功能影响。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启设备整机重启后延迟SBFD进行会话协商的功能,并设置延迟会话协商的时间。

bfd session-negotiation delay-upon-reboot interval

缺省情况下,设备整机重启后延迟SBFD进行会话协商的功能处于关闭状态。

2.7.3  开启延迟DOWN状态的SBFD会话进行协商的功能

1. 功能简介

开启本功能后,工作机制如下:

·     设备将对每一个从UP状态切换为DOWN状态的SBFD会话启动一个定时器,在定时器超时前,对应的会话不会进行重协商。

·     任何新建立的SBFD会话,设备都会启动定时器。在定时器超时前,不会重新进行会话协商。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启延迟DOWN状态的SBFD会话进行协商的功能,并设置延迟会话协商的时间。

bfd session-negotiation delay-upon-down interval

缺省情况下,延迟DOWN状态的SBFD会话进行协商的功能处于关闭状态。

2.8  配置BFD模板

1. 功能简介

通过BFD模板可以对SBFD会话的参数进行灵活配置。使用SBFD检测如下类型的路径时,可通过关联BFD模板获取SBFD会话参数:

·     SRv6 TE Policy

2. 配置步骤

(1)     进入系统视图。

system-view

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

bfd template template-name

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

bfd detect-multiplier value

缺省情况下,SBFD检测时间倍数为3。

(4)     配置发送SBFD控制报文的最小时间间隔。

bfd min-transmit-interval interval

缺省情况下,发送SBFD控制报文的最小时间间隔为10毫秒。

(5)     配置接收SBFD echo报文的最小时间间隔。

bfd min-echo-receive-interval interval

缺省情况下,接收SBFD echo报文的最小时间间隔为1000毫秒。

2.9  SBFD显示和维护

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

表2-1 SBFD显示和维护

操作

命令

显示SBFD会话信息

display sbfd session { initiator [ discriminator value | [ ipv6 [ peer-ipv6 ipv6-address ] | srv6-policy ] [ verbose ] | verbose ] | reflector [ discriminator value | verbose ] }

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们