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

20-可靠性配置指导

目录

10-BFD配置

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

10-BFD配置

  录

1 BFD

1.1 BFD简介

1.1.1 BFD的基本原理

1.1.2 单跳检测和多跳检测

1.1.3 BFD会话的工作方式

1.1.4 BFD支持的应用

1.1.5 协议规范

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.4.5 配置BFD忽略echo报文的出入接口一致性检查

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

1.5.1 BFD会话建立方式

1.5.2 配置限制和指导

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

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

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

1.5.6 调整BFD检测时间

1.5.7 配置BFD会话认证信息

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

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

1.5.10 配置BFD回声功能

1.5.11 配置接口状态与BFD联动

1.5.12 配置检测三层聚合接口对应的聚合链路的静态BFD会话

1.5.13 配置BFD报文的TTL值

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显示和维护

1.11.1 显示BFD配置及运行状况

1.11.2 清除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(检测SR-MPLS TE Policy)

2.5.5 配置Initiator(检测SRv6 Locator)

2.5.6 配置Initiator(检测SRv6 TE Policy)

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会话通过echo报文和控制报文实现。

1. echo报文方式

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

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

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

当BFD会话工作于echo报文方式时,仅支持单跳检测,且不受检测模式的控制。

2. 控制报文方式

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

1.1.4  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”

SR-MPLS TE Policy与BFD联动

“Segment Routing配置指导”中的“SR-MPLS TE Policy”

Track与BFD联动

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

S-Trunk与BFD联动

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

SDWAN使用BFD检测隧道连通性

“SDWAN配置指导”中的“SDWAN”

 

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 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检测时间

¡     配置BFD忽略echo报文的出入接口一致性检查

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

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

¡     调整BFD检测时间

¡     配置BFD会话认证信息

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

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

¡     配置BFD回声功能

¡     配置接口状态与BFD联动

¡     配置检测三层聚合接口对应的聚合链路的静态BFD会话

¡     配置BFD报文的TTL值

(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  配置限制和指导

对于echo报文方式的BFD会话,建议在创建BFD会话的一端配置bfd echo-source-ip/bfd echo-source-ipv6命令,且配置的源IPv4/IPv6地址不属于该设备任何一个接口所在网段,以避免对端发送大量的ICMP重定向报文造成网络拥塞。

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

(3)     如果未通过(1)(2)指定报文的源地址,echo报文方式的静态BFD会话将使用destination-ip/destination-ipv6参数指定的IPv4/IPv6地址作为报文的源IPv4/IPv6地址。

建议用户创建echo报文方式的静态BFD会话时指定source-ip/source-ipv6参数。

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

(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-address ] one-arm-echo [ discriminator 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 auto ] ]

(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地址。

¡     配置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 ] ]

(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 ] ]

(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检测时间倍数为5。

1.4.5  配置BFD忽略echo报文的出入接口一致性检查

1. 功能简介

使用echo报文方式的静态BFD会话检测直连设备间的IP转发路径时,缺省情况下,BFD会检查发送echo报文的出接口与接收echo报文的入接口是否一致:

·     如果一致,设备会接收echo报文。

·     如果不一致,设备会丢弃收到的echo报文。

如果设备间存在多条报文通路,则建议配置本功能,以免设备发送echo报文的出接口与接收echo报文的入接口不一致,导致BFD会话无法UP。

本功能仅对未达到UP状态的BFD会话生效,其工作机制如下:

·     配置bfd ignore-receive-interface命令后,BFD会判断会话的状态,只有BFD会话未达到UP状态时,从该BFD会话接收到echo报文后,才不会检查echo报文入接口与发送该echo报文的出接口是否一致。

·     配置bfd ignore-receive-interface命令,且BFD会话达到UP状态后,如果执行undo bfd ignore-receive-interface命令,则echo报文出入接口不一致的BFD会话不会变为DOWN。只有其他原因导致BFD会话DOWN并尝试重新建立BFD会话时,BFD才会对echo报文出入接口的一致性进行检查。

2. 配置步骤

(1)     ‍进入系统视图。

system-view

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

bfd static session-name

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

(3)     配置BFD忽略echo报文的出入接口一致性检查。

bfd ignore-receive-interface

缺省情况下,BFD会检查发送echo报文的出接口与接收echo报文的入接口是否一致。如果一致,设备会接收echo报文;如果不一致,设备会丢弃收到的echo报文。

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

1.5.1  BFD会话建立方式

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

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

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

¡     在静态BFD会话视图下通过discriminator命令手工指定。

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

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

1.5.2  配置限制和指导

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

·     bfd authentication-mode

·     bfd demand enable

·     bfd echo enable

·     bfd session init-mode

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会话建立后的运行模式

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.5.5  通过bfd static命令手工创建静态BFD会话

1. 功能简介

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

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

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

路径类型

参见信息

IP路径

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

MPLS TE隧道

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

MPLS PW

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

 

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 ]

需要保证指定的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 ]

需要保证指定的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会话视图。

bfd static session-name peer-ip default-ip interface interface-type interface-number source-ip ip-address

需要保证指定的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会话进行特殊处理的功能处于关闭状态。

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

(IPv6网络)

bfd static session-name [ peer-ipv6 ipv6-address [ vpn-instance vpn-instance-name ] [ source-ipv6 ipv6-address ] [ track-interface interface-type interface-number ] ]

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

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

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

1.5.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控制报文的最小时间间隔。

bfd min-transmit-interval interval

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

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

bfd min-receive-interval interval

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

(4)     配置单跳检测的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检测时间倍数为5。

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

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

bfd multi-hop min-receive-interval interval

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

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

bfd multi-hop min-transmit-interval interval

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

 

1.5.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.5.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.5.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.5.10  配置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.11  配置接口状态与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.5.12  配置检测三层聚合接口对应的聚合链路的静态BFD会话

1. 功能简介

使用BFD检测聚合链路时,可通过如下两种方式实现:

·     方式一:通过link-aggregation bfd命令开启链路聚合的BFD功能。

·     方式二:通过bfd static命令并指定bind-route-aggregation参数,创建检测聚合链路及其成员链路的静态BFD会话。

对于方式一,某条成员链路故障可能会导致BFD会话Down,引发链路聚合模块误认为聚合链路不可用。为了避免上述问题,建议使用方式二。但是方式二仅支持单跳检测,如需进行多跳检测,请使用方式一。

上述两种方式的工作机制对比、配置注意事项如表1-3所示。用户只能选择其中一种方式检测聚合链路。

表1-3 使用BFD检测聚合链路的两种方式对比

方式

工作机制

单跳检测/多跳检测

配置注意事项

方式一

仅创建单个BFD会话,通过各个成员接口轮询发送BFD报文的方式检测聚合链路状态

支持单跳检测和多跳检测仅支持单跳检测

两端聚合接口的BFD会话源地址和目的地址必须成对配置,且源地址和目的地址为不同的单播地址(0.0.0.0除外)。例如本端聚合接口配置link-aggregation bfd ipv4 source 1.1.1.1 destination 2.2.2.2时,对端聚合接口要配置link-aggregation bfd ipv4 source 2.2.2.2 destination 1.1.1.1后,才能正确建立起BFD会话

同一个聚合接口下,只能使用一个静态BFD会话检测聚合链路

聚合子接口下,不允许配置bfd static bind-route-aggregationlink-aggregation bfd命令

方式二

1.     创建静态BFD主会话,链路聚合与主会话联动

2.     为聚合链路下的各个成员接口创建静态BFD子会话,子会话用于检测成员链路

3.     只要有一个子会话为Up状态,主会话即为Up状态,表示聚合链路可用。只有当所有检测成员链路的静态BFD会话均Down时,主会话才会变为Down状态,表示聚合链路不可用

仅支持单跳检测

两端的BFD会话源地址和目的地址必须成对配置,且源地址和目的地址为不同的单播地址(0.0.0.0除外)。例如本端配置bfd static abc bind-route-aggregation peer-ipv4 1.1.1.1 interface route-aggregation 1 source-ipv4 1.1.1.2 discriminator auto时,对端配置bfd static abc bind-route-aggregation peer-ipv4 1.1.1.2 interface route-aggregation 1 source-ipv4 1.1.1.1 discriminator auto后,才能正确建立起BFD会话

同一个聚合接口下,只能使用一个静态BFD会话检测聚合链路

聚合子接口下,不允许配置bfd static bind-route-aggregation命令

配置聚合接口与VPN实例关联,或者取消聚合接口与VPN实例的关联关系会导致设备删除BFD主会话并重新创建BFD主会话

 

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     创建静态BFD会话,并进入静态BFD会话视图。

(IPv4网络)

bfd static session-name [ bind-route-aggregation peer-ip ipv4-address interface interface-type interface-number source-ip ipv4-address discriminator auto ]

两端聚合接口的BFD会话源地址和目的地址必须成对配置,且源地址和目的地址为不同的单播地址(0.0.0.0除外)。

(IPv6网络)

bfd static session-name [ bind-route-aggregation peer-ipv6 ipv6-address interface interface-type interface-number source-ipv6 ipv6-address discriminator auto ]

两端聚合接口的BFD会话源地址和目的地址必须成对配置,且源地址和目的地址为不同的单播地址(0::0除外)。

1.5.13  配置BFD报文的TTL值

1. 功能简介

H3C设备与其他厂商设备互通时,如果BFD会话两端设备上BFD报文的TTL值不同,则可能会导致BFD会话协商失败。使用本功能将本端发送BFD报文的TTL值调整为和对端一致,可以解决上述问题。

配置本功能后,当设备接收到对端发送的BFD报文时,如果BFD报文中携带的状态字段取值为DOWN或INIT,则本端会检查报文中的TTL值,具体机制如下:

·     对于单跳BFD会话,如果本端接收到的BFD报文的TTL值与通过bfd ttl命令设置的ttl-value不同,本端将丢弃该报文。

·     对于多跳BFD会话,如果本端接收到的BFD报文的TTL值大于通过bfd ttl命令设置的ttl-value,本端将丢弃该报文。

如果在配置本功能前BFD会话已经协商UP,配置本功能后,本端将BFD会话的状态置为AdminDown,触发BFD会话重新协商。

2. 配置限制和指导

使用bfd ttl命令设置BFD报文的TTL值时,需要注意:

·     bfd ttl命令对echo报文方式的BFD会话不生效,不会改变此类会话报文的TTL值。

·     bfd ttl命令不会改变SBFD报文的TTL值。设备也不会检查SBFD会话报文中的TTL值。

·     如果bfd ttl命令指定的多个IPv4或IPv6地址范围中都包括某个IPv4地址或IPv6地址,则设备使用最长匹配方式为该IPv4或IPv6地址的BFD会话报文选择TTL值。

·     对于同一个IPv4网段或IPv6网段,配置的单跳BFD报文TTL值必须大于多跳BFD报文TTL值。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置BFD报文的TTL值。

bfd { peer-ip ipv4-address mask-length | peer-ipv6 ipv6-address prefix-length } ttl { single-hop | multi-hop } ttl-value

缺省情况下,单跳BFD报文TTL值为255,多跳BFD报文TTL值为64。

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会话。

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

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

bfd min-transmit-interval interval

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

1.10  开启告警功能

1. 功能简介

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

2. 配置步骤

(1)     进入系统视图。

system-view

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

snmp-agent trap enable bfd

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

1.11  BFD显示和维护

1.11.1  显示BFD配置及运行状况

可在任意视图下执行以下命令:

·     显示BFD会话信息。

display bfd session [ discriminator local-value | discriminator local local-value | static name session-name | verbose ]

display bfd session [ [ dynamic ] [ control | echo ] [ ip ] [ state { admin-down | down | init | up } ] [ discriminator remote remote-value ] [ peer-ip { ipv4-address | default-ip } [ vpn-instance vpn-instance-name ] ] [ interface interface-type interface-number ] [ verbose ] ]

display bfd session [ [ dynamic ] [ control | echo ] [ ipv6 ] [ state { admin-down | down | init | up } ] [ discriminator remote remote-value ] [ peer-ipv6 ipv6-address [ vpn-instance vpn-instance-name ] ] [ interface interface-type interface-number ] [ verbose ] ]

display bfd session [ [ dynamic ] [ control | echo ] [ state { admin-down | down | init | up } ] [ discriminator remote remote-value ] [ [ peer-ip { ipv4-address | default-ip } [ vpn-instance vpn-instance-name ] ] | [ peer-ipv6 ipv6-address [ vpn-instance vpn-instance-name ] ] ] [ verbose ] ]

display bfd session [ [ dynamic ] [ control | echo ] lsp [ state { admin-down | 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 [ [ dynamic ] [ control | echo ] te [ state { admin-down | 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 ] ] ] [ interface interface-type interface-number ] [ verbose ] ]

display bfd session [ [ dynamic ] [ control | echo ] pw [ state { admin-down | 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 [ [ dynamic ] [ control | echo ] srv6-policy [ state { admin-down | 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 { admin-down | down | init | up } ] [ discriminator remote remote-value ] [ peer-ip { ipv4-address | default-ip } [ vpn-instance vpn-instance-name ] ] [ verbose ]

display bfd session [ [ static ] [ ipv6 ] [ state { admin-down | down | init | up } ] [ discriminator remote remote-value ] [ peer-ipv6 ipv6-address [ vpn-instance vpn-instance-name ] ] [ verbose ]

·     显示BFD报文TTL值的配置信息。

display bfd ttl

1.11.2  清除BFD会话统计信息

请在用户视图下执行以下命令,清除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(检测SR-MPLS TE Policy)

¡     配置Initiator(检测SRv6 Locator)

¡     配置Initiator(检测SRv6 TE Policy)

(2)     配置Reflector

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

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

2.5  配置Initiator

2.5.1  配置限制和指导

对于控制报文方式的SBFD,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。其中,源地址为LDP LSP按照如下顺序选取后的地址:

(1)     mpls sbfd命令(for LDP LSP)中source-ip参数指定的地址。

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

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

3. 配置步骤

(1)     进入系统视图。

system-view

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

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

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

如果希望控制建立SBFD会话使用的远端标识符,可以使用本命令配置被检测路径的目的IPv4地址和远端标识符的映射关系。

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

mpls bfd enable

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

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

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

bfd multi-hop detect-multiplier value

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

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

bfd multi-hop min-transmit-interval interval

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

(6)     配置使用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”。

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可达。

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

2. 配置限制和指导

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

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

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

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

3. 配置步骤

(1)     进入系统视图。

system-view

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

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

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

如果希望控制建立SBFD会话使用的远端标识符,可以使用本命令配置被检测路径的目的IPv4地址和远端标识符的映射关系。

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

mpls bfd enable

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

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

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

bfd multi-hop detect-multiplier value

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

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

bfd multi-hop min-transmit-interval interval

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

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

interface tunnel number [ mode mpls-te ]

(7)     配置使用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”。

2.5.4  配置Initiator(检测SR-MPLS TE Policy)

1. 功能简介

SBFD可以用来检测SR-MPLS TE Policy的连通性,为其提供毫秒级的故障检测速度,并实现快速的故障切换。缺省情况下,SBFD仅检测SR-MPLS TE Policy中优先级最高的候选路径里的所有SID列表。当SR-MPLS TE Policy中优先级最高的候选路径里存在多个SID列表时,SBFD会对所有SID列表进行检测。当SBFD检测到优先级最高的候选路径下所有SID列表均无效时,则SBFD触发候选路径切换。

图2-1 SR-MPLS TE Policy与SBFD联动示意图

 

图2-1所示,通过控制报文方式的SBFD检测SR-MPLS TE Policy路径的过程如下:

(2)     作为Initiator的源节点Device A对外发送SBFD报文,SBFD控制报文封装SR-MPLS TE Policy中优先级最高的候选路径。当SR-MPLS TE Policy中优先级最高的候选路径里存在多个SID列表时,会建立多个SBFD会话分别用来检测每一个SID列表对应的转发路径。

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

(4)     源节点Device A如果收到SBFD回应报文,则认为该SID列表对应的转发路径正常;否则,会认为该SID列表对应转发路径故障。如果一个候选路径下所有SID列表对应的转发路径都发生故障,则SBFD触发候选路径切换。

通过echo报文方式的SBFD检测SR-MPLS TE Policy路径的过程如下:

(5)     作为Initiator的源节点Device A对外发送SBFD报文,SBFD echo报文封装SR-MPLS TE Policy中优先级最高的候选路径。当SR-MPLS TE Policy中优先级最高的候选路径里存在多个SID列表时,会建立多个SBFD会话分别用来检测每一个SID列表对应的转发路径。

(6)     尾节点Device E收到SBFD echo报文后,通过查找IP路由表按照最短路径将报文转发出去。

(7)     源节点Device A在检测时间超时前收到尾节点Device E转发回来的SBFD echo报文,则认为该SID列表对应的转发路径正常;否则,会认为该SID列表对应转发路径故障。如果一个候选路径下所有SID列表对应的转发路径都发生故障,则SBFD触发候选路径切换。

2. 配置限制和指导

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

对于同一源节点和尾节点之间不同的SR-MPLS TE Policy,由于尾节点回应SBFD报文时根据IP路由表进行转发,所以SBFD回应报文的转发路径是相同的。SBFD回应报文的转发路径故障将引起所有SBFD会话Down,进而导致源节点和目的节点间所有SR-MPLS TE Policy Down。

不能通过SBFD echo报文方式检测Endpoint为IPv6地址SR-MPLS TE Policy。

如果SR-MPLS TE Policy下同时开启SBFD功能和BFD echo功能,则优先建立SBFD会话。

如果SR-MPLS TE Policy下同时开启SBFD echo功能和BFD echo功能,则优先建立SBFD echo会话。

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

(1)     source-address命令指定的报文源地址。

(2)     mpls lsr-id或者sbfd source-ipv6命令指定的地址。

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

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

3. 配置准备

配置本功能前,需要执行mpls bfd enable命令开启MPLS BFD功能。有关mpls bfd enable命令的详细介绍,请参见“MPLS命令参考”中的“MPLS OAM”。

4. 配置控制报文方式的SBFD检测SR-MPLS TE Policy(IPv4 Endpoint)

(1)     进入系统视图。

system-view

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

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

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

如果希望控制建立SBFD会话使用的远端标识符,可以使用本命令配置被检测路径的目的IPv4地址和远端标识符的映射关系。

(3)     进入Segment Routing视图。

segment-routing

(4)     进入SR-TE视图。

traffic-engineering

(5)     开启所有SR-MPLS TE Policy的SBFD功能。

sr-policy sbfd enable [ proxy-reflector ] [ remote remote-id ] [ template template-name ] [ backup-template backup-template-name ]

缺省情况下,所有SR-MPLS TE Policy的SBFD功能处于关闭状态。

(6)     (可选)配置SBFD的检测时间参数。

sr-policy sbfd timer { detect-multiplier multiplier-value | min-tx-interval transmit-interval }

缺省情况下,未配置SBFD的检测时间参数。

(7)     进入SR-MPLS TE Policy视图。

policy policy-name

(8)     (可选)配置SR-MPLS TE Policy SBFD报文的源地址。

source-address ipv4 ipv4-address

缺省情况下,未配置SR-MPLS TE Policy SBFD报文的源地址。

如果未配置本命令,则SR-MPLS TE Policy SBFD报文的源地址为mpls lsr-id命令指定的地址。

(9)     配置SR-MPLS TE Policy的SBFD功能。

sbfd { disable | enable [ proxy-reflector [ disable ] ] [ remote remote-id ] [ template template-name ] [ backup-template backup-template-name ] }

缺省情况下,未配置SR-MPLS TE Policy的SBFD功能,以SR-TE视图下的配置为准。

5. 配置控制报文方式的SBFD检测SR-MPLS TE Policy(IPv6 Endpoint,SBFD报文封装类型为IPv4格式)

(1)     进入系统视图。

system-view

(2)     进入Segment Routing视图。

segment-routing

(3)     进入SR-TE视图。

traffic-engineering

(4)     开启所有SR-MPLS TE Policy的SBFD功能。

sr-policy sbfd enable encapsulation-mode ipv4 [ proxy-reflector ] [ remote remote-id ] [ template template-name ] [ backup-template backup-template-name ]

缺省情况下,所有SR-MPLS TE Policy的SBFD功能处于关闭状态。

(5)     (可选)配置SBFD的检测时间参数。

sr-policy sbfd timer { detect-multiplier multiplier-value | min-tx-interval transmit-interval }

缺省情况下,未配置SBFD的检测时间参数。

(6)     进入SR-MPLS TE Policy视图。

policy policy-name

(7)     (可选)配置SR-MPLS TE Policy SBFD报文的源地址。

source-address ipv4 ipv4-address

缺省情况下,未配置SR-MPLS TE Policy SBFD报文的源地址。

如果未配置本命令,则SR-MPLS TE Policy SBFD报文的源地址为mpls lsr-id命令指定的地址。

(8)     配置SR-MPLS TE Policy的SBFD功能。

sbfd { disable | enable [ encapsulation-mode ipv4 ] [ proxy-reflector [ disable ] ] [ remote remote-id ] [ template template-name ] [ backup-template backup-template-name ] }

缺省情况下,未配置SR-MPLS TE Policy的SBFD功能,以SR-TE视图下的配置为准。

6. 配置控制报文方式的SBFD检测SR-MPLS TE Policy(IPv6 Endpoint,SBFD报文封装类型为IPv6格式)

(1)     进入系统视图。

system-view

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

sbfd source-ipv6 ipv6-address

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

(3)     进入Segment Routing视图。

segment-routing

(4)     进入SR-TE视图。

traffic-engineering

(5)     开启所有SR-MPLS TE Policy的SBFD功能。

sr-policy sbfd enable [ encapsulation-mode ipv6 ] [ proxy-reflector ] [ remote remote-id ] [ template template-name ] [ backup-template backup-template-name ]

缺省情况下,所有SR-MPLS TE Policy的SBFD功能处于关闭状态。

(6)     (可选)配置SBFD的检测时间参数。

sr-policy sbfd timer { detect-multiplier multiplier-value | min-tx-interval transmit-interval }

缺省情况下,未配置SBFD的检测时间参数。

(7)     进入SR-MPLS TE Policy视图。

policy policy-name

(8)     (可选)配置SR-MPLS TE Policy SBFD报文的源地址。

source-address ipv6 ipv6-address

缺省情况下,未配置SR-MPLS TE Policy SBFD报文的源地址。

(9)     配置SR-MPLS TE Policy的SBFD功能。

sbfd { disable | enable [ encapsulation-mode ipv6 ] [ proxy-reflector [ disable ] ] [ remote remote-id ] [ template template-name ] [ backup-template backup-template-name ] }

缺省情况下,未配置SR-MPLS TE Policy的SBFD功能,以SR-TE视图下的配置为准。

7. 配置echo报文方式的SBFD检测SR-MPLS TE Policy(IPv4 Endpoint)

(1)     进入系统视图。

system-view

(2)     进入Segment Routing视图。

segment-routing

(3)     进入SR-TE视图。

traffic-engineering

(4)     开启所有SR-MPLS TE Policy的SBFD功能。

sr-policy sbfd echo enable [ template template-name ] [ backup-template backup-template-name ]

缺省情况下,所有SR-MPLS TE Policy的SBFD功能处于关闭状态。

(5)     (可选)配置SBFD的检测时间参数。

sr-policy sbfd timer { detect-multiplier multiplier-value | min-tx-interval transmit-interval }

缺省情况下,未配置SBFD的检测时间参数。

(6)     进入SR-MPLS TE Policy视图。

policy policy-name

(7)     (可选)配置SR-MPLS TE Policy SBFD报文的源地址。

source-address ipv4 ipv4-address

缺省情况下,未配置SR-MPLS TE Policy SBFD报文的源地址。

如果未配置本命令,则SR-MPLS TE Policy SBFD报文的源地址为mpls lsr-id命令指定的地址。

(8)     配置SR-MPLS TE Policy的SBFD功能。

sbfd echo { disable | enable [ template template-name ] [ backup-template backup-template-name ] }

缺省情况下,未配置SR-MPLS TE Policy的SBFD功能,以SR-TE视图下的配置为准。

2.5.5  配置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.5.6  配置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切换到备份路径。

图2-2所示,在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报文。

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

图2-2 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。其中,源地址为SRv6 TE Policy按照如下顺序选取后的地址:

(1)     source-address命令指定的报文源地址。

(2)     sbfd source-ipv6命令指定的地址。

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

SRv6 TE Policy的尾节点位于纯IPv4网络中,使用SBFD检测此SRv6 TE Policy时,需要保证SBFD报文的封装模式为Encaps方式,同时需要在Initiator配置SBFD报文使用的源IPv4地址。

支持通过如下两种方式配置SBFD报文使用的源IPv4地址:

·     SRv6 TE Policy视图下通过source-address ipv4命令配置SBFD报文使用的源IPv4地址。

·     系统视图下通过sbfd source-ipv4命令配置SBFD报文使用的源IPv4地址,并确保Reflector上存在到达通过本命令配置的IPv4地址的路由。

设备按照如下优先顺序选取报文源地址:

(1)     ‍source-address ipv4命令配置的报文源地址。

(2)     sbfd source-ipv4命令配置的报文源地址。

关于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)     (可选)配置Initiator发送SBFD报文使用的源IPv4地址。

sbfd source-ipv4 ipv4-address

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

SRv6 TE Policy的尾节点位于纯IPv4网络中,使用SBFD检测此SRv6 TE Policy时,需要通过sbfd source-ipv4命令或者source-address ipv4命令配置发送SBFD报文使用的源IPv4地址。

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

bfd multi-hop detect-multiplier value

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

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

bfd multi-hop min-transmit-interval interval

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

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

sbfd source-ipv6 ipv6-address

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

(7)     进入SRv6视图。

segment-routing ipv6

(8)     进入SRv6-TE视图。

traffic-engineering

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

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

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

(10)     进入SRv6 TE Policy视图。

policy policy-name

(11)     (可选)配置SRv6 TE Policy SBFD报文的源地址。

source-address ipv6 ipv6-address

缺省情况下,未配置SRv6 TE Policy SBFD报文的源地址。

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

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

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

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

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会话参数:

·     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

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

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

bfd min-transmit-interval interval

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

2.9  SBFD显示和维护

可在任意视图下执行以下命令:

·     显示Initiator端的SBFD会话信息。

display sbfd session initiator [ discriminator value | verbose ]

display sbfd session initiator lsp [ state { admin-down | down | up } ] [ peer-ip ipv4-address ] [ fec-destination-ip ipv4-address mask-length ] [ discriminator remote remote-value ] [ verbose ]

display sbfd session initiator te [ state { admin-down | down |  up } ] [ peer-ip ipv4-address ] [ interface interface-type interface-number ] [ discriminator remote remote-value ] [ verbose ]

display sbfd session initiator sr-policy [ state { admin-down | down |  up } ] [ peer-ip ipv4-address ] [ policy policy-name ] [ color color-value ] [ { end-point ipv4-address | end-point-ipv6 ipv6-address } ] [ nhlfe nid ] [ discriminator remote remote-value ] [ verbose ]

display sbfd session initiator srv6-policy [ state { admin-down | down | up } ] [ peer-ipv6 ipv6-address ] [ policy policy-name ] [ color color-value ] [ { end-point ipv4-address | end-point-ipv6 ipv6-address } ] [ nhlfe nid ] [ discriminator remote remote-value ] [ verbose ]

display sbfd session initiator ipv6 [ state { admin-down | down | up } ] [ peer-ipv6 ipv6-address ] [ discriminator remote remote-value ] [ verbose ]

·     显示Reflector端的SBFD会话信息。

display sbfd session reflector [ discriminator value | verbose ]

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

新华三官网
联系我们