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

13-可靠性配置指导

目录

09-BFD配置

本章节下载 09-BFD配置  (595.91 KB)

09-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 开启硬件BFD检测功

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

1.5.1 BFD会话建立方式

1.5.2 配置限制和指导

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

1.5.4 调整BFD检测时间

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

1.6.1 BFD会话建立方式

1.6.2 配置限制和指导

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

1.6.4 配置BFD会话建立后的运行模式

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

1.6.6 调整BFD检测时间

1.6.7 配置BFD会话认证信息

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

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

1.6.10 配置BFD回声功能

1.6.11 配置接口状态与BFD联动

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

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

1.9 控制BFD会话协商功能

1.9.1 功能简介

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

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

1.10 配置BFD模板

1.11 开启告警功能

1.12 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(检测LDP LSP)

2.5.3 配置Initiator(检测MPLS TE隧道)

2.5.4 配置Initiator(检测SRv6 TE Policy)

2.5.5 配置Initiator收到Down状态响应报文的处理方式

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报文后,直接将该报文环回,从而达到快速检测的目的。

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 demand enablebfd echo enable

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

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

1.1.6  BFD支持的应用

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

表1-1 BFD支持的应用

应用

参见信息

链路聚合与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”

IPv6 PIM与BFD联动

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

MPLS与BFD联动

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

RSVP与BFD联动

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

SRv6 TE Policy与BFD联动

“Segment Routing配置指导”中的“SRv6 TE Policy”

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会话,当负责收发BFD报文的单板被拔出或异常重启时,备用单板接替收发BFD报文的工作需要一定的时间,如果BFD会话检测时间较短或者会话数量较多,可能会出现BFD会话震荡的情况。(IRF模式)

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

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

1.3  BFD配置任务简介

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

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

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

¡     调整BFD检测时间

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

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

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

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

¡     调整BFD检测时间

¡     配置BFD会话认证信息

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

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

¡     配置BFD回声功能

¡     配置接口状态与BFD联动

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

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

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

(6)     配置BFD模板

(7)     开启告警功能

1.4  开启硬件BFD检测功能

1. 功能简介

设备支持软件BFD以及硬件BFD。

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

硬件BFD将发送报文、接收报文以及故障检测等消耗CPU性能的功能转移到硬件芯片上处理,从而提升CPU的利用率,以便支持大规格的BFD会话。硬件BFD支持高精度检测,开启高精度检测功能后,支持的最小检测时间间隔为3毫秒。

2. 配置限制和指导

开启硬件BFD检测功能后,同一个设备上建立的BFD会话中最小接收间隔不能超过6种。

使能该命令前需保证设备运行的业务板均属于下表所列单板,当开启该功能后也不允许再插入除了表1-2以外的单板,不然可能会引起BFD功能异常。同时在开启或者关闭之前需保证当前环境不存在已建立的BFD会话,否则再次使能该命令可能会引起BFD功能问题。

该命令仅生效于开启硬件BFD检测或高精度硬件BFD检测功能后新建立的BFD会话。

表1-2 单板信息一览表

单板类型

单板丝印

CSPEX单板

CSPEX-1304S、CSPEX-1404S、CSPEX-1504S

 

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启硬件BFD检测或高精度硬件BFD检测功能。

hardware bfd enable [ high-precision ]

缺省情况下,硬件BFD检测和高精度硬件BFD检测都是关闭的。

 

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

1.5.1  BFD会话建立方式

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

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

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

1.5.2  配置限制和指导

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

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

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

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

1.5.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.5.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报文的最小时间间隔为100毫秒。

¡     对于SR8803-F设备:如果未安装CSPEX-1404S单板、CSPEX-1504S单板,则不能配置时间间隔小于1000ms;如果安装了这些单板,则不能配置时间间隔小于100ms;

¡     对于SR8805-F设备:如果未安装CSR07SRPUC1主控板,则不能配置时间间隔小于100ms;如果安装了该单板,则不能配置时间间隔小于1000ms;

¡     对于SR8808-F/SR8812-F设备:不能配置时间间隔小于100ms。

如果开启了硬件BFD检测,则不能配置时间间隔小于10ms。

(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报文的最小时间间隔为100毫秒。

¡     对于SR8803-F设备:如果未安装CSPEX-1404S单板、CSPEX-1504S单板,则不能配置时间间隔小于1000ms;如果安装了这些单板,则不能配置时间间隔小于100ms;

¡     对于SR8805-F设备:如果未安装CSR07SRPUC1主控板,则不能配置时间间隔小于100ms;如果安装了该单板,则不能配置时间间隔小于1000ms;

¡     对于SR8808-F/SR8812-F设备:不能配置时间间隔小于100ms。

如果开启了硬件BFD检测,则不能配置时间间隔小于10ms。

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

bfd multi-hop detect-multiplier value

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

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

1.6.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.6.2  配置限制和指导

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

·     bfd session init-mode

·     bfd authentication-mode

·     bfd demand enable

·     bfd echo enable

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

1. 功能简介

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

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

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

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

2. 配置步骤

(1)     进入系统视图。

system-view

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

bfd session init-mode { active | passive }

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

1.6.4  配置BFD会话建立后的运行模式

1. 功能简介

BFD会话建立后有两种模式:异步模式和查询模式。

·     异步模式:设备周期性发送BFD控制报文,如果在检测时间内没有收到对端发送的BFD控制报文,则认为会话DOWN。缺省情况下,BFD会话为异步模式。

·     查询模式:当系统中的BFD会话数量较多时,采用查询模式可防止周期性发送BFD控制报文的开销对系统的正常运行造成影响。

¡     本端的BFD会话工作在查询模式时,本端设备会向对端发送D比特位置1的BFD控制报文,对端(缺省为异步模式)收到该报文后将停止周期性发送BFD控制报文。这种情况下,仅对本端到对端的链路进行检测,即当对端设备在检测时间内未收到BFD控制报文时,则认为链路故障,将BFD会话状态置为DOWN。

¡     如果通信双方的BFD会话均工作在查询模式,则双方都停止周期性发送BFD控制报文。这种情况下,系统将通过其他与BFD无关的机制对链路进行检测(比如Hello报文机制、硬件检测机制等)。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     配置BFD会话为查询模式。

bfd demand enable

缺省情况下,BFD会话为异步模式。

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

1. 功能简介

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

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

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

路径类型

参见信息

IP路径

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

MPLS TE隧道

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

MPLS PW

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

SRv6 PW

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

 

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

需要保证指定的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 | 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 | 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.6.6  调整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控制报文的最小时间间隔为100毫秒。

¡     对于SR8803-F设备:如果未安装CSPEX-1404S单板、CSPEX-1504S单板,则不能配置时间间隔小于1000ms;如果安装了这些单板,则不能配置时间间隔小于100ms;

¡     对于SR8805-F设备:如果未安装CSR07SRPUC1主控板,则不能配置时间间隔小于100ms;如果安装了该单板,则不能配置时间间隔小于1000ms;

¡     对于SR8808-F/SR8812-F设备:不能配置时间间隔小于100ms。

如果开启了硬件BFD检测,则不能配置时间间隔小于10ms。

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

bfd min-receive-interval interval

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

¡     对于SR8803-F设备:如果未安装CSPEX-1404S单板、CSPEX-1504S单板,则不能配置时间间隔小于1000ms;如果安装了这些单板,则不能配置时间间隔小于100ms;

¡     对于SR8805-F设备:如果未安装CSR07SRPUC1主控板,则不能配置时间间隔小于100ms;如果安装了该单板,则不能配置时间间隔小于1000ms;

¡     对于SR8808-F/SR8812-F设备:不能配置时间间隔小于100ms。

如果开启了硬件BFD检测,则不能配置时间间隔小于10ms。

(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控制报文的最小时间间隔为100毫秒。

¡     对于SR8803-F设备:如果未安装CSPEX-1404S单板、CSPEX-1504S单板,则不能配置时间间隔小于1000ms;如果安装了这些单板,则不能配置时间间隔小于100ms;

¡     对于SR8805-F设备:如果未安装CSR07SRPUC1主控板,则不能配置时间间隔小于100ms;如果安装了该单板,则不能配置时间间隔小于1000ms;

¡     对于SR8808-F/SR8812-F设备:不能配置时间间隔小于100ms。

如果开启了硬件BFD检测,则不能配置时间间隔小于10ms。

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

bfd multi-hop min-transmit-interval interval

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

¡     对于SR8803-F设备:如果未安装CSPEX-1404S单板、CSPEX-1504S单板,则不能配置时间间隔小于1000ms;如果安装了这些单板,则不能配置时间间隔小于100ms;

¡     对于SR8805-F设备:如果未安装CSR07SRPUC1主控板,则不能配置时间间隔小于100ms;如果安装了该单板,则不能配置时间间隔小于1000ms;

¡     对于SR8808-F/SR8812-F设备:不能配置时间间隔小于100ms。

如果开启了硬件BFD检测,则不能配置时间间隔小于10ms。

1.6.7  配置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.6.8  配置多跳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.6.9  配置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.6.10  配置BFD回声功能

1. 功能简介

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

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

2. 配置限制和指导

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

在同一接口下,同时配置bfd detect-interfacebfd echo enable命令,只有bfd detect-interface命令生效。

3. 配置步骤

(1)     进入系统视图。

system-view

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

¡     进入接口视图。

interface interface-type interface-number

¡     进入静态BFD会话视图。

bfd static session-name

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

(3)     使能回声功能。

bfd echo [ receive | send ] enable

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

1.6.11  配置接口状态与BFD联动

1. 功能简介

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

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

·     二层以太网接口

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

·     三层以太网接口

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

·     三层以太网子接口

·     三层聚合口

·     Serial接口、POS接口、E1通道创建出来的串口、E3通道创建出来的串口、T1通道创建出来的串口、T3通道创建出来的串口、MP-group接口和加入MP-group的成员接口、HDLC捆绑接口和加入HDLC捆绑的成员接口。

2. 配置限制和指导

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

接口如果开启QinQ功能,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.7  配置静态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.8  开启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.9  控制BFD会话协商功能

1.9.1  功能简介

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

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

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

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

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

1. 功能简介

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

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

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

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

2. 配置步骤

(1)     进入系统视图。

system-view

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

bfd session-negotiation delay-upon-reboot interval

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

1.9.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.10  配置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报文的最小时间间隔为100毫秒。

¡     对于SR8803-F设备:如果未安装CSPEX-1404S单板、CSPEX-1504S单板,则不能配置时间间隔小于1000ms;如果安装了这些单板,则不能配置时间间隔小于100ms;

¡     对于SR8805-F设备:如果未安装CSR07SRPUC1主控板,则不能配置时间间隔小于100ms;如果安装了该单板,则不能配置时间间隔小于1000ms;

¡     对于SR8808-F/SR8812-F设备:不能配置时间间隔小于100ms。

如果开启了硬件BFD检测,则不能配置时间间隔小于10ms。

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

bfd min-receive-interval interval

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

¡     对于SR8803-F设备:如果未安装CSPEX-1404S单板、CSPEX-1504S单板,则不能配置时间间隔小于1000ms;如果安装了这些单板,则不能配置时间间隔小于100ms;

¡     对于SR8805-F设备:如果未安装CSR07SRPUC1主控板,则不能配置时间间隔小于100ms;如果安装了该单板,则不能配置时间间隔小于1000ms;

¡     对于SR8808-F/SR8812-F设备:不能配置时间间隔小于100ms。

如果开启了硬件BFD检测,则不能配置时间间隔小于10ms。

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

bfd min-transmit-interval interval

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

¡     对于SR8803-F设备:如果未安装CSPEX-1404S单板、CSPEX-1504S单板,则不能配置时间间隔小于1000ms;如果安装了这些单板,则不能配置时间间隔小于100ms;

¡     对于SR8805-F设备:如果未安装CSR07SRPUC1主控板,则不能配置时间间隔小于100ms;如果安装了该单板,则不能配置时间间隔小于1000ms;

¡     对于SR8808-F/SR8812-F设备:不能配置时间间隔小于100ms。

如果开启了硬件BFD检测,则不能配置时间间隔小于10ms。

1.11  开启告警功能

1. 功能简介

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

2. 配置步骤

(1)     进入系统视图。

system-view

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

snmp-agent trap enable bfd

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

1.12  BFD显示和维护

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

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

表1-4 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 ]

(IRF模式)

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

查询系统BFD的工作模式,硬件规格占用情况,会话支持情况

display bfd working-mode

清除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。目前仅支持采用静态方式建立SBFD会话,即通过命令行手工指定远端的标识符,根据指定的标识符建立SBFD会话。

2.4  SBFD配置任务简介

(1)     配置Initiator

¡     配置Initiator(检测LDP LSP)

¡     配置Initiator(检测MPLS TE隧道)

¡     配置Initiator(检测SRv6 TE Policy)

¡     配置Initiator收到Down状态响应报文的处理方式

(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(检测LDP LSP)

1. 功能简介

使用SBFD检测LSP隧道的连通性的过程为:

(1)     LSP隧道的头节点作为Initiator,将SBFD报文注入LDP LSP中。

(2)     LSP隧道的尾节点作为Reflector,在收到SBFD报文后,如果报文中携带的远端标识符与本地配置的标识符相同,则通过IP路由发送SBFD响应报文给Initiator。

(3)     Initiator在检测时间超时前收到Reflector发送的SBFD响应报文,即认为该LSP可达。

关于利用LDP动态建立LSP的详细介绍,请参见“MPLS配置指导”中的“LDP”。

2. 配置限制和指导

LDP LSP通知SBFD创建会话时,会将报文的源地址、目的地址等信息通告给SBFD。其中,源地址为本端设备的MPLS LSR ID。因此,配置SBFD检测LDP LSP功能前,需要先在本端设备上配置MPLS LSR ID,并确保远端设备上存在到达MPLS LSR ID的路由。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     使能MPLS与BFD联动功能。

mpls bfd enable

缺省情况下,MPLS与BFD联动功能处于关闭状态。

关于本命令的详细介绍,请参见“MPLS命令参考”中的“MPLS OAM”。

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

bfd multi-hop detect-multiplier value

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

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

bfd multi-hop min-transmit-interval interval

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

¡     对于SR8803-F设备:如果未安装CSPEX-1404S单板、CSPEX-1504S单板,则不能配置时间间隔小于1000ms;如果安装了这些单板,则不能配置时间间隔小于100ms;

¡     对于SR8805-F设备:如果未安装CSR07SRPUC1主控板,则不能配置时间间隔小于100ms;如果安装了该单板,则不能配置时间间隔小于1000ms;

¡     对于SR8808-F/SR8812-F设备:不能配置时间间隔小于100ms。

如果开启了硬件BFD检测,则不能配置时间间隔小于10ms。

(5)     配置使用SBFD检测指定FEC对应LSP的连通性。

mpls sbfd dest-addr mask-length [ nexthop nexthop-address ] [ remote remote-id ] [ template template-name ] [ source-ip ipv4-address ]

缺省情况下,未使用SBFD检测FEC对应LSP的连通性。

关于本命令的详细介绍,请参见“MPLS命令参考”中的“MPLS OAM”。

(6)     (可选)配置被检测路径的目的IPv4地址和远端标识符的映射关系。

sbfd destination ipv4 destination-ipv4-address remote-discriminator { ipv4-address | integer-value }

缺省情况下,未配置Initiator端被检测路径的目的IPv4地址和远端标识符的映射关系。

2.5.3  配置Initiator(检测MPLS TE隧道)

1. 功能简介

使用控制报文方式的SBFD检测基于SR-MPLS建立的MPLS TE隧道连通性的过程为:

(1)     MPLS TE隧道的头节点作为Initiator,将SBFD报文注入SRLSP中。

(2)     MPLS TE隧道的尾节点作为Reflector,在收到SBFD报文后,如果报文中携带的远端标识符与本地配置的标识符相同,则通过IP路由发送SBFD响应报文给Initiator。

(3)     Initiator在检测时间超时前收到Reflector发送的SBFD响应报文,即认为该SRLSP可达。

echo报文方式的SBFD仅支持检测MPLS TE双向隧道的连通性。使用echo报文方式的SBFD检测基于SR-MPLS建立的MPLS TE隧道连通性的过程为:

(1)     MPLS TE隧道的头节点作为Initiator,将SBFD echo报文注入SRLSP中,SBFD echo报文沿着标签栈到达尾节点。

(2)     MPLS TE隧道的尾节点收到带标签的SBFD echo报文后,查找LFIB表从相应的出接口将SBFD echo报文转发出去。

(3)     Initiator在检测时间超时前收到尾节点转发回来的SBFD echo报文,即认为该SRLSP可达。

关于SRLSP的详细介绍,请参见“Segment Routing配置指导”中的“SR-MPLS”。

2. 配置限制和指导

配置通过SBFD echo报文检测MPLS TE隧道时,仅支持检测MPLS TE双向隧道的连通性。

MPLS TE隧道通知SBFD创建会话时,会将报文的源地址、目的地址等信息通告给SBFD。其中,源地址为MPLS TE隧道按照如下顺序选取后的地址:

(1)     mpls sbfd命令(for MPLS TE隧道)中source-ip参数指定的地址。

(2)     mpls lsr-id命令指定的地址。

需要确保Reflector端存在到达Initiator端发送的SBFD报文中源地址的路由。

3. 配置控制报文方式的SBFD检测MPLS TE隧道

(1)     进入系统视图。

system-view

(2)     使能MPLS与BFD联动功能。

mpls bfd enable

缺省情况下,MPLS与BFD联动功能处于关闭状态。

关于本命令的详细介绍,请参见“MPLS命令参考”中的“MPLS OAM”。

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

bfd multi-hop detect-multiplier value

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

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

bfd multi-hop min-transmit-interval interval

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

¡     对于SR8803-F设备:如果未安装CSPEX-1404S单板、CSPEX-1504S单板,则不能配置时间间隔小于1000ms;如果安装了这些单板,则不能配置时间间隔小于100ms;

¡     对于SR8805-F设备:如果未安装CSR07SRPUC1主控板,则不能配置时间间隔小于100ms;如果安装了该单板,则不能配置时间间隔小于1000ms;

¡     对于SR8808-F/SR8812-F设备:不能配置时间间隔小于100ms。

如果开启了硬件BFD检测,则不能配置时间间隔小于10ms。

(5)     进入MPLS TE隧道对应的Tunnel接口视图。

interface tunnel number [ mode mpls-te ]

(6)     (可选)配置检测MPLS TE隧道的连通性时SBFD会话的参数。

¡     配置MPLS TE隧道的SBFD检测时间倍数。

mpls bfd detect-multiplier value

缺省情况下,未配置MPLS TE隧道的SBFD检测时间倍数。

如果MPLS TE隧道接口下同时配置本命令和mpls sbfd template,则mpls sbfd template命令优先生效。两者都未配置时,以bfd multi-hop detect-multiplier命令的配置为准。

¡     配置MPLS TE隧道发送SBFD报文的最小时间间隔。

mpls bfd min-transmit-interval interval

缺省情况下,未配置MPLS TE隧道发送SBFD报文的最小时间间隔。

如果MPLS TE隧道接口下同时配置本命令和mpls sbfd template,则mpls sbfd template命令优先生效。两者都未配置时,以bfd multi-hop min-transmit-interval命令的配置为准。

(7)     (可选)配置检测MPLS TE备隧道的连通性时SBFD会话的参数。

¡     配置MPLS TE备隧道的SBFD检测时间倍数。

mpls bfd backup detect-multiplier value

缺省情况下,未配置MPLS TE备隧道的SBFD检测时间倍数。

如果MPLS TE隧道接口下同时配置本命令和mpls sbfd backup-path template,则mpls sbfd backup-path template命令优先生效。两者都未配置时,以bfd multi-hop detect-multiplier命令的配置为准。

¡     配置MPLS TE备隧道发送SBFD报文的最小时间间隔。

mpls bfd backup min-transmit-interval interval

缺省情况下,未配置MPLS TE备隧道发送SBFD报文的最小时间间隔。

如果MPLS TE隧道接口下同时配置本命令和mpls sbfd backup-path template,则mpls sbfd backup-path template命令优先生效。两者都未配置时,以bfd multi-hop min-transmit-interval命令的配置为准。

(8)     配置使用SBFD检测隧道接口对应MPLS TE隧道的连通性

mpls sbfd [ remote remote-id ] [ template template-name ] [ backup-path [ template template-name ] ] [ source-ip ipv4-address ]

缺省情况下,未使用SBFD检测隧道接口对应MPLS TE隧道的连通性。

关于本命令的详细介绍,请参见“MPLS命令参考”中的“MPLS OAM”。

(9)     (可选)配置被检测路径的目的IPv4地址和远端标识符的映射关系。

sbfd destination ipv4 destination-ipv4-address remote-discriminator { ipv4-address | integer-value }

缺省情况下,未配置Initiator端被检测路径的目的IPv4地址和远端标识符的映射关系。

4. 配置echo报文方式的SBFD检测MPLS TE隧道

(1)     进入系统视图。

system-view

(2)     使能MPLS与BFD联动功能。

mpls bfd enable

缺省情况下,MPLS与BFD联动功能处于关闭状态。

关于本命令的详细介绍,请参见“MPLS命令参考”中的“MPLS OAM”。

(3)     进入MPLS TE隧道对应的Tunnel接口视图。

interface tunnel number [ mode mpls-te ]

(4)     (可选)配置检测MPLS TE隧道的连通性时SBFD会话的参数。

¡     配置MPLS TE隧道的SBFD检测时间倍数。

mpls bfd detect-multiplier value

缺省情况下,未配置MPLS TE隧道的SBFD检测时间倍数。

如果MPLS TE隧道接口下同时配置本命令和mpls sbfd echo template,则mpls sbfd echo template命令优先生效。两者都未配置时,以bfd detect-multiplier命令的配置为准。

¡     配置MPLS TE隧道接收SBFD报文的最小时间间隔。

mpls bfd min-receive-interval interval

缺省情况下,未配置MPLS TE隧道接收SBFD报文的最小时间间隔。

如果MPLS TE隧道接口下同时配置本命令和mpls sbfd echo template,则mpls sbfd echo template命令优先生效。两者都未配置时,以bfd min-echo-receive-interval命令的配置为准。

(5)     (可选)配置检测MPLS TE备隧道的连通性时SBFD会话的参数。

¡     配置MPLS TE备隧道的SBFD检测时间倍数。

mpls bfd backup detect-multiplier value

缺省情况下,未配置MPLS TE备隧道的SBFD检测时间倍数。

如果MPLS TE隧道接口下同时配置本命令和mpls sbfd echo backup-path template,则mpls sbfd echo backup-path template命令优先生效。两者都未配置时,以bfd detect-multiplier命令的配置为准。

¡     配置MPLS TE备隧道接收SBFD报文的最小时间间隔。

mpls bfd backup min-receive-interval interval

缺省情况下,未配置MPLS TE备隧道接收SBFD报文的最小时间间隔。

如果MPLS TE隧道接口下同时配置本命令和mpls sbfd echo backup-path template,则mpls sbfd echo backup-path template命令优先生效。两者都未配置时,以bfd min-echo-receive-interval命令的配置为准。

(6)     配置使用SBFD检测隧道接口对应MPLS TE隧道的连通性

mpls sbfd echo [ template template-name ] [ backup-path [ template template-name ] ] [ source-ip ipv4-address ]

mpls sbfd reverse-lsp binding-sid label label-value [ template template-name ] [ backup-path [ template template-name ] ] [ source-ip ipv4-address ]

缺省情况下,未使用SBFD检测隧道接口对应MPLS TE隧道的连通性。

关于本命令的详细介绍,请参见“MPLS命令参考”中的“MPLS OAM”。

2.5.4  配置Initiator(检测SRv6 TE Policy)

1. 功能简介

SBFD可以用来检测SRv6 TE Policy的连通性,为其提供毫秒级的故障检测速度,并实现快速的故障切换。一个SRv6 TE Policy中,优先级最高的有效路径为主路径,优先级次高的有效路径为备份路径。SBFD对SRv6 TE Policy的主、备路径进行检测。如果主、备路径中存在多个SID列表,SBFD会对所有SID列表进行检测。当SBFD检测到SRv6 TE Policy主路径的所有SID列表均无效时,SBFD通知SRv6 TE Policy切换到备份路径。

(4)所示,在Device A上配置SRv6 TE Policy,并使用SBFD检测该SRv6 TE Policy。SBFD检测SRv6 TE Policy的过程如下:

(1)     头节点作为Initiator发送SBFD报文,SBFD报文封装SRv6 TE Policy中主路径或备份路径对应的SID列表,分别对主、备路径进行检测。

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

如果Reflector发送的SBFD响应报文被引到SRv6 TE Policy,则由SRv6 TE Policy转发SBFD响应报文。当头节点SRv6 TE Policy转发SBFD报文的路径和尾节点SRv6 TE Policy转发SBFD报文的路径不一致时,尾节点的SRv6 TE Policy故障会导致头节点的SBFD会话down,头节点认为SID列表故障,可能会导致头节点错误地切换主备路径。为了避免上述问题,请保证头节点和尾节点的SRv6 TE Policy转发SBFD报文的来回路径一致。

(3)     如果头节点在检测时间超时前能够收到SBFD响应报文,则认为SRv6 TE Policy的SID列表正常。否则,头节点认为SID列表故障。如果主路径下的所有SID列表都发生故障,则SBFD触发主备路径切换。

(4)     SRv6 TE Policy与SBFD联动示意图

 

2. 配置限制和指导

SRv6-TE视图和SRv6 TE Policy视图下均可以配置SRv6 TE Policy的SBFD功能。SRv6-TE视图的配置对所有SRv6 TE Policy都有效,而SRv6 TE Policy视图的配置只对当前SRv6 TE Policy有效。对于一个SRv6 TE Policy来说,优先采用该SRv6 TE Policy内的配置,只有该SRv6 TE Policy内未进行配置时,才采用SRv6-TE视图的配置。

SRv6 TE Policy通知SBFD创建会话时,会将报文的源地址、目的地址等信息通告给SBFD。其中,源地址为sbfd source-ipv6命令指定的地址。需要确保远端设备上存在到达sbfd source-ipv6命令指定的地址的路由。

目前,支持通过BFD echo报文和SBFD两种方式检测SRv6 TE Policy。在同一SRv6 TE Policy下同时配置以上两种检测方式时,SBFD检测生效。

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

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置被检测路径的目的IPv6地址和远端标识符的映射关系。

sbfd destination ipv6 destination-ipv6-address remote-discriminator { ipv4-address | integer-value }

缺省情况下,未配置Initiator端被检测路径的目的IPv6地址和远端标识符的映射关系。

如果未通过sbfd命令或srv6-policy sbfd命令指定SBFD会话的远端标识符,那么必须配置sbfd destination ipv6 remote-discriminator命令,否则建立的SBFD会话无法协商UP。

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

bfd multi-hop detect-multiplier value

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

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

bfd multi-hop min-transmit-interval interval

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

¡     对于SR8803-F设备:如果未安装CSPEX-1404S单板、CSPEX-1504S单板,则不能配置时间间隔小于1000ms;如果安装了这些单板,则不能配置时间间隔小于100ms;

¡     对于SR8805-F设备:如果未安装CSR07SRPUC1主控板,则不能配置时间间隔小于100ms;如果安装了该单板,则不能配置时间间隔小于1000ms;

¡     对于SR8808-F/SR8812-F设备:不能配置时间间隔小于100ms。

如果开启了硬件BFD检测,则不能配置时间间隔小于10ms。

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

sbfd source-ipv6 ipv6-address

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

(6)     进入SRv6视图。

segment-routing ipv6

(7)     进入SRv6 TE视图。

traffic-engineering

(8)     全局开启SRv6 TE Policy的SBFD功能并配置相关参数。

srv6-policy sbfd [ remote remote-id ] [ template template-name ] [ backup-template backup-template-name ]

缺省情况下,SRv6 TE Policy的SBFD功能处于关闭状态。

(9)     进入SRv6 TE Policy视图。

policy policy-name

(10)     配置使用SBFD检测SRv6 TE Policy。

sbfd { disable | enable [ remote remote-id ] [ template template-name ] [ backup-template backup-template-name ] [ oam-sid sid ] [ encaps | insert ] }

缺省情况下,未使用SBFD检测SRv6 TE Policy的连通性。

关于本命令的详细介绍,请参见“Sgment Routeing命令参考”中的“SRv6 TE Policy”。

2.5.5  配置Initiator收到Down状态响应报文的处理方式

1. 功能简介

缺省情况下,Initiator建立SBFD会话时,先向Reflector发送状态为Down的SBFD报文。此时,如果Reflector向Initiator发送Down状态的SBFD响应报文,Initiator将丢弃该报文,导致SBFD会话无法建立。为了避免上述情况的发生,请使用本功能改变Initiator收到Reflector发送的Down状态SBFD响应报文的处理方式。这样,当Initiator在SBFD会话建立期间接收到Down状态的SBFD响应报文后,发送Up状态的SBFD报文,以便建立SBFD会话。

2. 配置限制和指导

在SBFD会话建立期间,不同的Reflector收到Initiator发送的Down状态的SBFD报文时,向Initiator发送的响应报文中的会话状态可能不同。为了保证SBFD会话能够正常建立,建议配置本功能。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置Initiator在SBFD会话建立期间收到Reflector发送的Down状态的SBFD报文时,发送Up状态的SBFD报文。

sbfd initiator accept-down-response

缺省情况下,Initiator在SBFD会话建立期间收到Reflector发送的Down状态的SBFD报文时,Initiator丢弃该报文,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端开启硬件反射功能。

hardware sbfd-reflector enable

缺省情况下,硬件反射功能是开启的。

standard工作模式下,设备不支持本功能。

sdn-wan工作模式下,仅下表所列单板支持本功能。

表2-1 单板信息一览表

单板类型

单板丝印

CSPEX单板

CSPEX-1304S、CSPEX-1404S、CSPEX-1504S

 

(3)     在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会话参数:

·     LDP LSP

·     MPLS TE隧道

·     SR-MPLS TE Policy

·     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控制报文的最小时间间隔为100毫秒。

¡     对于SR8803-F设备:如果未安装CSPEX-1404S单板、CSPEX-1504S单板,则不能配置时间间隔小于1000ms;如果安装了这些单板,则不能配置时间间隔小于100ms;

¡     对于SR8805-F设备:如果未安装CSR07SRPUC1主控板,则不能配置时间间隔小于100ms;如果安装了该单板,则不能配置时间间隔小于1000ms;

¡     对于SR8808-F/SR8812-F设备:不能配置时间间隔小于100ms。

如果开启了硬件BFD检测,则不能配置时间间隔小于10ms。

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

bfd min-echo-receive-interval interval

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

2.9  SBFD显示和维护

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

表2-2 SBFD显示和维护

操作

命令

显示SBFD会话信息

display sbfd session { initiator | reflector } [ discriminator value | verbose ]

display sbfd session initiator srv6-policy [ verbose ]

 

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

新华三官网
联系我们