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

20-可靠性配置指导

目录

06-BFD配置

本章节下载 06-BFD配置  (398.83 KB)

06-BFD配置


1 BFD

1.1  BFD简介

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

1.1.1  单跳检测和多跳检测

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

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

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

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

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

1. echo报文方式

echo报文封装在UDP报文中传送,其UDP目的端口号为3785。

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

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

2. 控制报文方式

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

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

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

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

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

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

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

·     查询模式:本端的BFD会话工作在查询模式时,本端设备会向对端发送D比特位置1的BFD控制报文,对端(缺省为异步模式)收到该报文后将停止周期性发送BFD控制报文。这种情况下,仅对本端到对端的链路进行检测,即当对端设备在检测时间内未收到BFD控制报文时,则认为链路故障,将BFD会话状态置为down。如果通信双方的BFD会话均工作在查询模式,则双方都停止周期性发送BFD控制报文。这种情况下,系统将通过其他与BFD无关的机制对链路进行检测(比如Hello报文机制、硬件检测机制等)。当系统中的BFD会话数量较多时,采用查询模式可防止周期性发送BFD控制报文的开销对系统的正常运行造成影响。

1.1.3  BFD支持的应用

表1-1 BFD支持的应用

应用

参见信息

静态路由

IS-IS

OSPF

RIP

BGP

IP快速重路由

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

IPv6静态路由

OSPFv3

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

PIM

“IP组播配置指导”

MPLS L3VPN

MPLS OAM

“MPLS配置指导”

Track

“可靠性配置指导”

以太网链路聚合

“二层技术-以太网交换配置指导”

 

1.1.4  协议规范

与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  配置echo报文方式的BFD会话

1.3.1  BFD会话建立方式

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

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

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

1.3.2  配置限制和指导

为了避免对端发送大量的ICMP重定向报文造成网络拥塞,建议不要将echo报文的源IPv4/IPv6地址配置为属于该设备任何一个接口所在网段。

1.3.3  创建静态BFD会话

1. 功能简介

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

2. 配置限制和指导

使用echo报文方式的静态BFD会话进行检测时,仅需在本端创建静态BFD会话。

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

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

如果创建静态BFD会话时未指定source-ip/source-ipv6参数,将使用bfd echo-source-ip/bfd echo-source-ipv6命令指定的IPv4/IPv6地址作为echo报文的源IPv4/IPv6地址。如果创建静态BFD会话时指定了source-ip/source-ipv6参数,将使用该参数的地址作为echo报文的源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.3.4  配置单跳检测的BFD会话参数

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

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

bfd min-echo-receive-interval interval

本命令的缺省情况与设备的型号有关,具体请参见命令参考。

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

bfd detect-multiplier interval

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

1.3.5  配置多跳检测的BFD会话参数

(1)     进入系统视图。

system-view

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

bfd static session-name

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

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

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

本命令的缺省情况与设备的型号有关,具体请参见命令参考。

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

bfd multi-hop detect-multiplier value

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

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

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

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

·     bfd authentication-mode

·     bfd demand enable

·     bfd echo enable

·     bfd session init-mode

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

1. 功能简介

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

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

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

路径类型

参见信息

IP路径

本文“1.4.3  通过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会话视图。

(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.4.4  配置单跳检测的BFD会话参数

(1)     进入系统视图。

system-view

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

bfd session init-mode { active | passive }

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

(3)     进入接口视图。

interface interface-type interface-number

(4)     配置单跳BFD控制报文进行认证的方式。

bfd authentication-mode { m-md5 | m-sha1 | md5 | sha1 | simple } key-id { cipher cipher-string | plain plain-string }

缺省情况下,单跳BFD控制报文不进行认证。

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

bfd demand enable

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

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

bfd min-transmit-interval interval

本命令的缺省情况与设备的型号有关,具体请参见命令参考。

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

bfd min-receive-interval interval

本命令的缺省情况与设备的型号有关,具体请参见命令参考。

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

bfd detect-multiplier interval

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

1.4.5  配置多跳检测的BFD会话参数

(1)     进入系统视图。

system-view

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

bfd session init-mode { active | passive }

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

(3)     配置多跳BFD控制报文进行认证的方式。

bfd multi-hop authentication-mode { m-md5 | m-sha1 | md5 | sha1 | simple } key-id { cipher cipher-string | plain plain-string }

缺省情况下,多跳BFD控制报文不进行认证。

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

bfd multi-hop destination-port port-number

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

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

bfd multi-hop detect-multiplier value

本命令的缺省情况与设备的型号有关,具体请参见命令参考。

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

bfd multi-hop min-receive-interval interval

本命令的缺省情况与设备的型号有关,具体请参见命令参考。

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

bfd multi-hop min-transmit-interval interval

本命令的缺省情况与设备的型号有关,具体请参见命令参考。

1.4.6  配置BFD回声功能

1. 功能简介

使能BFD回声功能后,会话的一端周期性地发送echo报文,对端不对此报文进行处理,只将此报文转发回发送端,根据发送端是否能收到echo报文来判断链路状态。

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

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.4.7  配置接口状态与BFD联动

1. 功能简介

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

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

·     二层以太网接口

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

·     三层以太网接口

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

·     三层以太网子接口

·     VLAN接口

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 ]

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

1.5  开启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.6  配置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 { 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检测时间倍数为5。

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

bfd min-echo-receive-interval interval

本命令的缺省情况与设备的型号有关,具体请参见命令参考。

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

bfd min-receive-interval interval

本命令的缺省情况与设备的型号有关,具体请参见命令参考。

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

bfd min-transmit-interval interval

本命令的缺省情况与设备的型号有关,具体请参见命令参考。

1.7  开启告警功能

1. 功能简介

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

2. 配置步骤

(1)     进入系统视图。

system-view

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

snmp-agent trap enable bfd

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

1.8  BFD显示和维护

可在任意视图下执行以下命令,显示BFD会话信息。

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

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

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

display bfd session [ [ dynamic ] [ control | echo ] [ lsp | te | pw ] [ state { 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 [ 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会话统计信息。

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 TE Policy)

(2)     配置Reflector

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

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

2. 配置步骤

(1)     进入系统视图。

system-view

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

mpls bfd enable

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

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

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

bfd multi-hop detect-multiplier value

本命令的缺省情况与设备的型号有关,具体请参见命令参考。

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

bfd multi-hop min-transmit-interval interval

本命令的缺省情况与设备的型号有关,具体请参见命令参考。

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

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

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

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

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

1. 配置限制和指导

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

2. 配置步骤

(1)     进入系统视图。

system-view

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

mpls bfd enable

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

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

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

bfd multi-hop detect-multiplier value

本命令的缺省情况与设备的型号有关,具体请参见命令参考。

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

bfd multi-hop min-transmit-interval interval

本命令的缺省情况与设备的型号有关,具体请参见命令参考。

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

interface tunnel number [ mode mpls-te ]

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

mpls sbfd remote remote-id [ template template-name ]

缺省情况下,未使用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路径的过程如下:

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

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

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

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

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

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

(3)     源节点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。

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

关于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

(1)     进入系统视图。

system-view

(2)     进入Segment Routing视图。

segment-routing

(3)     进入SR-TE视图。

traffic-engineering

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

sr-policy sbfd 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功能。

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

缺省情况下,未配置SR-MPLS TE Policy的SBFD功能。

5. 配置echo报文方式的SBFD检测SR-MPLS TE Policy

(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功能。

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

缺省情况下,未配置SR-MPLS TE Policy的SBFD功能。

2.5.5  配置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 SBFD for SRv6 TE Policy检测过程

 

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检测生效。

3. 配置步骤

(1)     进入系统视图。

system-view

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

sbfd source-ipv6 ipv6-address

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

(3)     进入SRv6视图。

segment-routing ipv6

(4)     进入SRv6-TE视图。

traffic-engineering

(5)     进入SRv6 TE Policy视图。

policy policy-name

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

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

缺省情况下,未使用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  配置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检测时间倍数为5。

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

bfd min-transmit-interval interval

本命令的缺省情况与设备的型号有关,具体请参见命令参考。

2.8  SBFD显示和维护

可在任意视图下执行以下命令,显示SBFD会话信息。

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

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

新华三官网
联系我们