02-SBFD故障处理手册
本章节下载: 02-SBFD故障处理手册 (184.41 KB)
在设备上执行display sbfd session initiator命令,查看不到会话信息,或者显示信息中“Session state”值不是“Up”,即SBFD会话无法Up。
本类故障的常见原因主要包括:
· 上层协议未下发创建SBFD会话的命令。
· SBFD会话数量超过设备规格。
· 响应端未配置SBFD本地标识符。
· SBFD发起端和响应端路由或者相关转发表项异常。
· SBFD检测的链路存在故障,导致SBFD报文无法正常交互。
本类故障的诊断流程如图1-1所示。
图1-1 SBFD会话无法建立的故障诊断流程图
(1) 使用display sbfd session initiator命令查看是否存在SBFD会话信息。
a. 如果不存在SBFD会话信息,则请执行步骤(2)。
b. 如果存在SBFD会话信息,但“Session state”显示为“Down”,则请执行步骤(4)。
(2) 检查是否存在上层协议联动SBFD的配置。
执行display current-configuration命令查看发起端是否存在上层协议联动SBFD的配置。
例如,SRv6 policy联动SBFD的配置如下:
segment-routing ipv6
traffic-engineering
policy 1
sbfd enable remote 1000
¡ 如果存在上层协议联动SBFD的配置,则执行步骤(3)。
¡ 如果不存在上层协议联动SBFD的配置,请配置上层协议联动SBFD的命令,并确保配置正确。
(3) 检查SBFD会话的数量是否超过了设备的会话规格。
a. 通过Probe命令display system internal bfd capability查看“Max session count”字段,检查设备定制的会话数量规格。
b. 通过display sbfd session initiator命令和display bfd session命令,分别查看设备上SBFD会话和BFD会话数量。
c. 判断SBFD会话和BFD会话数量的总和是否达到设备定制的会话数量规格。
- 如果SBFD会话和BFD会话数量的总和已经达到设备定制的会话数量规格,则无法创建新的SBFD会话,可通过删除一些不必要的SBFD或者BFD会话解决此问题。例如,如果存在多余的OSPF联动BFD的会话,请通过undo ospf bfd enable命令删除该会话。
- 如果SBFD会话和BFD会话数量的总和未达到设备定制的会话数量规格,则请执行步骤(4)。
(4) 检查SBFD发起端和响应端的标识符是否匹配。
在SBFD会话发起端执行display sbfd session initiator查看“Remote discr”字段的取值。然后在SBFD会话的响应端执行display current-configuration命令,查看本地标识符的配置值。
¡ 如果SBFD会话发起端的远端标识符与SBFD会话的响应端的本地标识符匹配,则请执行步骤(5)。
¡ 如果SBFD会话发起端的远端标识符与SBFD会话的响应端的本地标识符不匹配,请根据不同的情况选择不同的处理方式:
- 对于SBFD会话发起端未指定远端标识符的情况,请通过上层协议联动SBFD的命令指定远端标识符,或通过sbfd destination ipv4/sbfd destination ipv6命令指定远端标识符。
- 如果SBFD会话响应端未配置本地标识符,或者本地标识符的配置值与发起端指定的远端标识符不一致,则请在响应端通过sbfd local-discriminator命令配置本地标识符,或者修改标识符配置值。
(5) 检查SBFD路由、隧道信息是否正常。
当SBFD发起端或者响应端按照IP路径转发SBFD协议报文时,请执行如下步骤检查路由信息。
a. 请在SBFD会话的发起端执行display sbfd session initiator,查看“Destination IP”字段对应的IPv4地址或者IPv6地址。
b. 请在SBFD会话的发起端执行display ip routing-table命令或者display ipv6 routing-table命令,查看是否存在目的地址为“Destination IP”的路由信息。
c. 如果不存在路由信息,请参考“三层技术-IP路由类故障处理”,排除路由故障。
如果存在路由信息,但BFD会话无法Up,则请执行步骤(6)。
当SBFD发起端或者反射端按照LSP、PW、VXLAN、MPLS TE、SRLSP和SRv6 TE Policy等隧道路径转发时,请参考各模块的故障处理手册,检测隧道状态。如果隧道状态不正常,请排除隧道故障。如果隧道状态正常,但SBFD会话无法Up,请执行步骤(6)。
(6) 检查SBFD发包是否正常。
反复执行display sbfd session initiator verbose命令,查看“Tx count”取值的变化。“Tx Count”字段表示发送的报文数,如果该字段的取值一直为0,或者取值没有变化,说明SBFD发包不正常。请执行如下步骤检查SBFD的发包情况。
a. 请执行display interface interface-type interface-number命令查看接口的运行状态。如果“Current state”或“Line protocol state”字段的取值不是UP,请排除接口故障。如果接口的运行状态正常,请执行步骤b。
b. 请执行debugging bfd error命令,根据Debug信息判断发包失败的原因,并根据发包失败的原因排除故障。例如:
<Sysname> debugging bfd error
*Feb 22 11:27:58:715 2023 Sysname BFD/7/DEBUG: Encap link head return:0x40010001
上述信息表明SBFD封装链路头失败。如果无法排除故障,则请执行步骤(9)。
c. 如果执行上述操作后,SBFD能够正常发包,但是SBFD会话无法Up或者SBFD会话震荡,则请执行步骤(7)。如果执行上述操作后,SBFD还是存在发包异常的情况,则请执行步骤(8)。
(7) 检查SBFD收包是否正常。
在SBFD发起端反复执行display sbfd session initiator verbose命令,查看“Rx Count”字段的取值,即查看接收的报文数。
a. “Rx Count”计数一直为0或者没有变化,说明SBFD收包异常。请在Probe视图下执行display system internal bfd packet statistics命令查看“The detailed discarded packet statistics”中是否存在丢包计数。如果存在丢包,请根据具体的丢包原因排除故障。
- 如果无法排除故障,则请执行步骤(8)。
- 如果不存在丢包,则请执行步骤(9)。
b. “Rx Count”计数增加,但SBFD会话震荡,则请执行步骤(8)。
使用ping工具检查SBFD会话之间的链路是否能够正常转发报文。对于不同的链路类型,需要使用不同的ping工具,具体如表1-1所示。
链路类型 |
Ping工具 |
IP链路 |
IP Ping工具。即执行ping ip命令或行ping ipv6命令检查指定IPv4地址或IPv6地址是否可达 |
LSP隧道 |
MPLS Ping工具。即执行ping mpls ipv4命令检测LSP隧道的连通性 |
MPLS TE隧道 |
MPLS Ping工具。即执行ping mpls te命令检测MPLS TE隧道的连通性 |
PW |
MPLS Ping工具。即执行ping mpls pw命令检测PW隧道的连通性 |
SRv6 TE Policy |
SRv6 TE Policy Ping工具。即执行ping srv6-te policy命令检测SRv6转发路径的连通性 |
¡ 如果ping不通,请参见“Ping和Tracert—Ping不通”故障手册、“MPLS类”故障处理手册和“Segment Routing类故障处理”排除链路故障。
¡ 如果能ping通,请执行步骤(9)。
(9) 如果故障仍然未能排除,请收集如下信息,并联系技术支持人员。
¡ 上述步骤的执行结果。
¡ 设备的配置文件、日志信息、告警信息。
模块名:HH3C-BFD-STD-MIB
· hh3cBfdSessNumberLimit (1.3.6.1.4.1.25506.2.72.1.1.4)
· BFD_REACHED_UPPER_LIMIT
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!