创建的静态BFD会话可以用来进行echo报文方式的BFD单跳检测和多跳检测。
使用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参数。
(1) 进入系统视图。
system-view
(2) (可选)开启硬件BFD检测或高精度硬件bfd检测。
hardware bfd enable [ high-precision ]
缺省情况下,硬件bfd检测和高精度硬件bfd检测都是关闭的。
(3) 配置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地址仅支持全球单播地址。
(4) 创建静态BFD会话,并进入静态BFD会话视图。
(IPv4网络)
bfd static session-name [ peer-ip ipv4-address interface interface-type interface-number destination-ip ipv4-address [ source-ip ipv4-addres ] one-arm-echo [ discriminator { local local-value | 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 { local local-value | auto } ] ]
(5) (可选)指定静态BFD会话的本地标识符。
discriminator local local-value
缺省情况下,未指定静态BFD会话的本地标识符。
本命令仅用于创建静态BFD会话时未指定静态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-addres ] one-arm-echo [ discriminator { local local-value | auto } ] ]
(IPv6网络)
bfd static session-name [ peer-ipv6 ipv6-address [ vpn-instance vpn-instance-name ] destination-ipv6 ipv6-address [ source-ipv6 ipv6-addres ] one-arm-echo [ discriminator { local local-value | auto } ] ]
(4) (可选)指定静态BFD会话的本地标识符。
discriminator local local-value
缺省情况下,未指定静态BFD会话的本地标识符。
本命令仅用于创建静态BFD会话时未指定静态BFD会话标识符的场景。
创建的静态BFD会话可以用来进行控制报文方式的BFD单跳检测和多跳检测,通过与Track配合可为对链路故障响应速度要求较高的业务提供故障检测服务。关于Track与BFD联动的详细介绍,请参见“可靠性配置指导”中的“Track”。
如果对端创建了静态BFD会话,那么本端必须创建静态BFD会话。
首次创建静态BFD会话时,必须指定静态BFD会话的对端IPv4或IPv6地址。系统仅检查IP地址的形式,不检查其正确性。指定错误的对端IP地址或源IP地址均会导致静态BFD会话无法建立。
不同的静态BFD会话的本地标识符不能相同。
(1) 进入系统视图。
system-view
(2) (可选)开启硬件BFD检测或高精度硬件bfd检测。
hardware bfd enable [ high-precision ]
缺省情况下,硬件bfd检测和高精度硬件bfd检测都是关闭的。
(3) 创建静态BFD会话,并进入静态BFD会话视图。
(IPv4网络)
bfd static session-name peer-ip ipv4-address interface interface-type interface-number source-ip ipv4-address [ discriminator local local-value remote remote-value [ track-interface interface-type interface-number ] ]
需要保证指定的peer-ip为对端静态BFD会话所在的接口的IP地址,source-ip为本端静态BFD会话所在的接口的IP地址,否则无法建立静态BFD会话。
(IPv6网络)
bfd static session-name peer-ipv6 ipv6-address interface interface-type interface-number source-ipv6 ipv6-address [ discriminator local local-value remote remote-value [ track-interface interface-type interface-number ] ]
需要保证指定的peer-ipv6为对端静态BFD会话所在的接口的IPv6地址,source-ipv6为本端静态BFD会话所在的接口的IPv6地址,否则无法建立静态BFD会话。
(4) (可选)指定静态BFD会话的本地标识符和远端标识符。
discriminator { local local-value | remote remote-value }
缺省情况下,未指定静态BFD会话的本地标识符和远端标识符。
本命令仅用于创建静态BFD会话时未指定静态BFD会话标识符的场景。
(1) 进入系统视图。
system-view
(2) (可选)开启硬件BFD检测或高精度硬件bfd检测。
hardware bfd enable [ high-precision ]
缺省情况下,硬件bfd检测和高精度硬件bfd检测都是关闭的。
(3) 创建静态BFD会话,并进入静态BFD会话视图。
(IPv4网络)
bfd static session-name peer-ip ipv4-address [ vpn-instance vpn-instance-name ] source-ip ipv4-address [ discriminator local local-value remote remote-value ]
(IPv6网络)
bfd static session-name peer-ipv6 ipv6-address [ vpn-instance vpn-instance-name ] source-ipv6 ipv6-address [ discriminator local local-value remote remote-value ]
(4) (可选)指定静态BFD会话的本地标识符和远端标识符。
discriminator { local local-value | remote remote-value }
缺省情况下,未指定静态BFD会话的本地标识符和远端标识符。
本命令仅用于创建静态BFD会话时未指定静态BFD会话标识符的场景。
配置接口状态与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捆绑的成员接口。
回声功能对接口状态与BFD联动的会话无效。
(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会话进行特殊处理的功能处于关闭状态。
Initiator发送的SBFD控制报文中携带的远端标识符必须为Reflector上通过sbfd local-discriminator命令指定的标识符,当Reflector收到Initiator发送的SBFD控制报文后,发现报文中携带的远端标识符不是自己的本地标识符时,不会发送响应报文给Initiator。
(1) 进入系统视图。
system-view
(2) 使能MPLS与BFD联动功能。
mpls bfd enable
缺省情况下,MPLS与BFD联动功能处于关闭状态。
关于本命令的详细介绍,请参见“MPLS命令参考”中的“MPLS OAM”。
(3) (可选)配置SBFD检测时间倍数。
bfd multi-hop detect-multiplier value
缺省情况下,SBFD检测时间倍数为5。
(4) (可选)配置发送SBFD控制报文的最小时间间隔。
bfd multi-hop min-transmit-interval interval
缺省情况下,发送SBFD控制报文的最小时间间隔为400毫秒。
(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”。
(1) 进入系统视图。
system-view
(2) 使能MPLS与BFD联动功能。
mpls bfd enable
缺省情况下,MPLS与BFD联动功能处于关闭状态。
关于本命令的详细介绍,请参见“MPLS命令参考”中的“MPLS OAM”。
(3) (可选)配置SBFD检测时间倍数。
bfd multi-hop detect-multiplier value
缺省情况下,SBFD检测时间倍数为5。
(4) (可选)配置发送SBFD控制报文的最小时间间隔。
bfd multi-hop min-transmit-interval interval
缺省情况下,发送SBFD控制报文的最小时间间隔为400毫秒。
(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”。
缺省情况下,Initiator建立SBFD会话时,先向Reflector发送状态为Down的SBFD报文。此时,如果Reflector向Initiator发送Down状态的SBFD响应报文,Initiator将丢弃该报文,导致SBFD会话无法建立。为了避免上述情况的发生,请使用本功能改变Initiator收到Reflector发送的Down状态SBFD响应报文的处理方式。这样,当Initiator在SBFD会话建立期间接收到Down状态的SBFD响应报文后,发送Up状态的SBFD报文,以便建立SBFD会话。
在SBFD会话建立期间,不同的Reflector收到Initiator发送的Down状态的SBFD报文时,向Initiator发送的响应报文中的会话状态可能不同。为了保证SBFD会话能够正常建立,建议配置本功能。
(1) 进入系统视图。
system-view
(2) 配置Initiator在SBFD会话建立期间收到Reflector发送的Down状态的SBFD报文时,发送Up状态的SBFD报文。
sbfd initiator accept-down-response
缺省情况下,Initiator在SBFD会话建立期间收到Reflector发送的Down状态的SBFD报文时,Initiator丢弃该报文,SBFD会话无法建立。
在SBFD会话的Reflector端配置IPv4地址形式的本地标识符后,设备会自动转换为整数形式的本地标识符。IPv4地址形式的本地标识符用于和其他厂商互通,通常情况下,建议配置整数形式的本地标识符。
Reflector收到Initiator发送的SBFD控制报文中携带的远端标识符为Reflector上通过sbfd local-discriminator命令指定的任意一个标识符时,Reflector均会发送响应报文给Initiator。
(1) 进入系统视图。
system-view
(2) 在SBFD会话的Reflector端配置本地标识符。
sbfd local-discriminator { ipv4-address | integer-value }
缺省情况下,未配置SBFD会话的Reflector端的本地标识符。
多次执行本命令,可以为Reflector端配置多个本地标识符。