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

06-三层技术-IP路由

目录

02-IS-IS故障处理手册

本章节下载 02-IS-IS故障处理手册  (239.44 KB)

02-IS-IS故障处理手册

1 三层技术-IP路由类故障处理

1.1  IS-IS故障处理

1.1.1  IS-IS邻居无法建立

1. 故障描述

·     IS-IS邻居Down。

·     IS-IS邻居关系震荡。

2. 常见原因

本类故障的常见原因主要包括:

·     设备底层故障或者链路故障,导致IS-IS无法正常的收发Hello报文。

·     链路两端的设备配置的System ID相同。

·     链路两端接口的MTU设置不一致,或者接口的MTU小于发送的Hello报文的长度。

·     链路两端接口的IP地址不在同一网段。

·     链路两端的IS-IS接口认证方式不匹配。

·     链路两端的IS-IS Level不匹配。

·     建立IS-IS Level-1邻居时,链路两端设备的区域地址不匹配。

3. 故障分析

本类故障的诊断流程如图1-1所示。

图1-1 IS-IS邻居无法建立的故障诊断流程图

 

4. 处理步骤

(1)     检查接口的物理层状态是否为UP。

请执行display interface [ interface-type [ interface-number | interface-number.subnumber ] ]命令查看IS-IS接口物理层的状态是否为UP。

¡     如果接口物理层的状态为DOWN,说明接口故障,请首先解决此问题。

¡     如果接口物理状态为UP,请执行步骤2。

(2)     检查链路是否故障

请执行ping命令,检查链路是否故障。如果链路正常,请执行步骤3。

如果IS-IS使用BFD检测设备间链路,通过isis bfd session-restrict-adj命令开启BFD抑制IS-IS建立和保持邻接关系的功能后,接口发送的Hello报文中将会携带BFD-enabled TLV,当两端BFD-enabled TLV中的信息一致时,抑制IS-IS建立和保持邻居关系的功能生效。当BFD会话Down时,无法建立IS-IS邻居关系。

请执行display bfd session命令查看检测IS-IS两端链路的BFD会话的状态,如果“State”字段取值为“Down”,请排除链路故障。如果“State”字段取值为“Up”,请执行步骤3。

(3)     检查CPU或内存利用率是否过高。

¡     请执行display cpu-usage命令检查CPU利用率。如果设备的主控板和接口板的CPU利用率过高,IS-IS将无法正常收发协议报文,从而导致邻居关系震荡。可通过关闭一些不必要的功能解决此问题。如果CPU利用率不高,则执行步骤4。

¡     请执行display memory-threshold命令,查看显示信息中的Current free-memory state,即系统当前内存使用状态。如果Current free-memory state为Minor、Severe或Critical,表示剩余空闲内存较少,可能会导致设备无法收发IS-IS报文或处理IS-IS报文速度较慢,请关闭一些不必要的功能尝试解决此问题。如果系统当前内存使用状态为Normal,则执行步骤4。

(4)     检查接口在IS-IS协议下的状态是否正常。

a.     请执行display current-configuration interface interface-type interface-number命令检查接口是否使能了IS-IS功能。

-     如果未使能IS-IS功能,请通过isis enable命令在对应的接口上使能IS-IS功能。

-     如果已使能IS-IS功能,请执行下一步。

b.     请执行display isis interface命令,检查使能了IS-IS的接口的状态(“IPv4 state”或“IPv6 state”字段)是否为正常状态。

-     如果IS-IS接口状态为“Lnk:Up/IP:Dn”,说明IPv4或IPv6相邻节点的链路层可达、网络层不可达,请处理网络层故障问题。

-     如果IS-IS接口状态为“Up”,请执行步骤5。

(5)     检查两端IP地址是否在同一网段。

对于IPv4 IS-IS,请执行display interface brief命令查看两端接口的IPv4地址。

¡     如果两端接口的IPv4地址不在同一网段,请在接口视图下执行ip address命令修改两端的IPv4地址,使其在同一网段。

¡     如果两端接口的IPv4地址处于同一网段,请执行步骤6。

对于IPv6 IS-IS,无需执行此检查。

(6)     检查各IS-IS接口的MTU是否一致。

请执行display interface [ interface-type [ interface-number | interface-number.subnumber ] ]命令查看接口MTU信息。

¡     如果接口的MTU值配置不一致,请在接口视图下执行mtu size命令,将各个接口的MTU值修改为一致。

¡     如果接口的MTU值一致,请执行步骤7。

(7)     检查IS-IS能否接收到Hello报文。

请执行display isis packet hello by-interface verbose命令,检查IS-IS能否接收到Hello报文。如果设备无法接收Hello报文,请排除丢包问题。如果故障依然存在,请执行步骤12

如果设备能够接收Hello报文,请继续执行以下检查:

¡     如果“Duplicate system ID”字段的统计计数随时间增长,说明System ID冲突。请执行步骤8。

¡     如果“Mismatched level (LAN)”字段的统计计数随时间增长,说明Level不匹配。请执行步骤9。

¡     如果“Bad area address TLV”字段的统计计数随时间增长,说明区域地地址不匹配。请执行步骤10。

¡     如果其他字段的统计计数随时间增长,请执行步骤12。

(8)     检查链路两端的设备配置的System ID是否相同。

请执行display current-configuration configuration isis命令检查链路两端的设备配置的System ID是否相同。

¡     如果链路两端的设备配置的System ID相同,请通过network-entity命令修改配置,使两端的System ID不同。

¡     如果两端System ID不相同,请执行步骤9。

(9)     检查链路两端的设备的IS-IS Level是否匹配。

请检查设备及IS-IS接口的Level级别:

¡     请执行display current-configuration | include is-level命令,检查链路两端设备的Level级别。如果通过display current-configuration | include is-level命令无法查询到设备的Level级别的相关配置,表明设备的Level级别为缺省值为Level-1-2。

¡     请执行display current-configuration interface interface-type interface-number | include circuit-level命令,检查接口的链路邻接关系类型。如果通过display current-configuration interface interface-type interface-number | include circuit-level命令无法查询到接口的链路邻接关系类型,说明接口的链路邻接关系类型为缺省值,这种情况下,该接口既可以建立Level-1的邻接关系,也可以建立Level-2的邻接关系。

需要保证链路两端的Level匹配才能建立IS-IS邻居关系,接口Level匹配的原则如下:

¡     若本端接口的级别为Level-1,则对端接口的级别必须是Level-1或Level-1-2。

¡     若本端接口的级别为Level-2,则对端接口的级别必须是Level-2或Level-1-2。

¡     若本端接口的级别为Level-1-2,则对端接口的级别可以是Level-1、Level-2或Level-1-2。

对于不同的情况,请选择不同的处理方式:

¡     如果链路两端设备的IS-IS Level不匹配,请在IS-IS视图下使用is-level命令修改设备的IS-IS级别,或者在接口视图下使用isis circuit-level命令修改接口的Level级别。

¡     如果链路两端设备的IS-IS Level匹配请执行步骤10。

(10)     检查链路两端设备的区域地址是否匹配。

请执行display isis命令查看“Network entity”字段,检查链路两端设备的区域地址是否匹配。“Network entity”的格式为X…X.XXXX.XXXX.XXXX.00,前面的“X…X”是区域地址,中间的12个“X”是交换机的System ID,最后的“00”是SEL。

¡     如果链路两端的设备建立Level-1的邻居关系,则它们必须在同一区域内。如果链路两端的设备建立的是Level-2邻居关系,则无需检查区域地址是否一致。

当建立Level-1邻居的两端设备区域地址不同时,请在IS-IS视图下使用network-entity命令修改设备的区域地址。

¡     如果链路两端区域地址匹配,请执行步骤11。

(11)     检查链路两端设备的认证方式是否匹配。

请执行display current-configuration interface-type interface-number | include isis命令检查链路两端设备IS-IS接口的认证方式。

a.     如果两端认证类型不匹配,请在链路两端设备的IS-IS接口视图下执行isis authentication-mode命令,将两端设置为相同的认证类型。

b.     如果认证方式相同的情况下,IS-IS仍然无法建立邻居关系,请将两端设置为相同的认证密码。

如果故障依然存在,请执行步骤12。

(12)     如果故障仍然未能排除,请收集如下信息,并联系技术支持人员

¡     上述步骤的执行结果。

¡     设备的配置文件、日志信息、告警信息。

5. 告警与日志

相关告警

模块名:ISIS-MIB

·     isisAdjacencyChange (1.3.6.1.2.1.138.0.17)

相关日志

·     ISIS/3/ISIS_NBR_CHG

1.1.2  设备学习不到IS-IS路由

1. 故障描述

设备学习不到IS-IS路由。

2. 常见原因

本类故障的常见原因主要包括:

·     IS-IS协议和其它路由协议发布相同的路由,并且其他协议的优先级高于IS-IS协议。

·     引入的外部路由优先级低,没有被优选。

·     引入的外部路由类型不同,没有被优选。

·     IS-IS开销值类型不匹配。

·     IS-IS邻居没有正常建立。

·     两台设备的System ID配置相同。

·     LSP报文认证不匹配。

·     设备底层故障或者链路故障,造成LSP报文丢失。

·     LSP长度超过了设备可以接收的LSP的最大长度。

3. 故障分析

本类故障的诊断流程如图1-2所示。

图1-2 设备学习不到IS-IS路由的故障诊断流程图

 

4. 处理步骤

(1)     检查IS-IS路由表是否正确。

请执行display isis route命令,查看IS-IS路由表。

¡     如果IS-IS路由表中存在指定的路由,请执行display ip routing-table ip-address [ mask | mask-length ] verbose命令查看IP路由表中是否存在协议优先级比IS-IS高的路由。

-     如果存在协议优先级比IS-IS高的路由,请根据网络规划调整配置。

-     如果不存在协议优先级比IS-IS高的路由,请执行步骤7。

¡     如果IS-IS路由表中不存在指定的路由,请执行步骤2。

(2)     检查指定的IS-IS路由是否发布。

(3)     在发布指定路由的设备上,执行display isis lsdb verbose local命令,查看本地产生的LSP报文中是否携带了指定路由。

¡     如果LSP报文中没有携带指定的路由,请检查IS-IS配置是否正确,例如接口是否使能IS-IS。如果指定的路由是IS-IS引入的外部路由,请执行display ip routing-table protocol protocol verbose命令查看该路由的“State”字段,当“State”字段的取值中包含“Inactive”时,说明外部路由处于非激活状态,这种情况下,IS-IS不会将此路由发布出去。请检查外部路由的配置,使该路由的“State”取值包含“Active”和“Adv”。

¡     如果LSP报文中携带了指定的路由,请执行步骤3。

(4)     检查指定的IS-IS路由的开销类型是否一致。

(5)     多台设备通过路由引入的方式发布到达同一目的地的路由,并希望这些外部路由形成等价路由的场景中,需要检查IS-IS引入路由的开销类型是否一致。不同的开销类型的路由开销值不同,具体如下:

¡     如果开销类型为external,那么IS-IS通过LSP发布引入的外部路由时,该路由的开销值为原有开销值+64。

¡     如果开销类型为internal,那么IS-IS通过LSP发布引入的外部路由时,该路由的开销值为原有开销值。

(6)     缺省情况下,我司设备引入的外部路由的开销类型为external。如果其他厂商设备引入外部路由的开销类型与我司缺省情况不同,会导致到达同一目的地的路由开销不同。邻居设备会优选开销最小的路由。对于这种情况,请修改引入外部路由的开销类型,保证各厂商设备引入外部路由的开销类型相同。修改我司设备引入外部路由的开销类型的步骤如下:

a.     在发布指定路由的设备上,执行display current-configuration configuration isis命令检查IS-IS引入外部路由的配置。

b.     通过import-route命令修改引入外部路由的开销类型。

(7)     上述情况外的其他情况,请执行步骤4。

(8)     检查IS-IS的数据库是否同步。

(9)     在学习不到IS-IS路由的设备上,执行display isis lsdb命令,查看是否收到发布指定路由的设备的LSP报文。

¡     如果LSDB数据库中不存在指定的LSP报文,请排查是否存在链路故障。如果不存在链路故障,请通过display isis命令查看“LSP length receive”字段的取值,判断指定的LSP报文长度是否超过了设备可以接收的LSP报文的最大长度。当“LSP length receive”字段的取值超过了设备可以接收的LSP报文的最大长度时,请在生成LSP的设备上通过lsp-length originate命令将生成LSP报文的最大长度配置为该区域内所有IS-IS接口MTU的最小值。

¡     如果LSDB数据库中存在指定的LSP报文,但“Seq Num”字段值与发布该LSP的设备上执行display isis lsdb local verbose命令查看到的“Seq Num”字段值不一致,并且Seq Num持续增加,说明网络中存在另一设备的System ID与发布该路由的设备的System ID相同。请排查并修改网络中设备的System ID配置。

¡     如果LSDB数据库中存在指定的LSP报文,但“Seq Num”字段值与发布该LSP的设备上执行display isis lsdb local verbose命令查看到的“Seq Num”字段值不一致,并且始终保持不变,可能是在传输过程中因为链路故障等原因导致LSP报文被丢弃,请排查设备的底层链路以及中间链路是否存在故障。

¡     如果LSDB数据库中存在指定的LSP报文,并且Seq Num与发布该LSP的设备上通过display isis lsdb local verbose命令显示的Seq Num一致,请执行步骤5。

(10)     检查IS-IS开销值类型是否匹配。

(11)     分别在发布路由的设备和学习不到路由的设备上,执行display isis命令,查看“Cost style”的取值,检查两端的IS-IS开销值类型是否匹配。只有开销值类型相同时,才能学到路由。

¡     如果链路两端设备的IS-IS开销值类型不匹配,请在IS-IS视图下执行cost-style命令修改配置。

¡     如果两端设备的IS-IS开销值类型匹配,请执行步骤6。

(12)     检查IS-IS邻居是否正常建立。

(13)     在路径上的每一台设备上执行display isis peer命令,查看IS-IS邻居是否都正常建立。

¡     如果存在邻居没有正常建立的情况,请参见“IS-IS邻居无法建立”排除故障。

¡     如果不存在邻居未能正常建立的情况,请执行步骤7。

(14)     如果故障仍然未能排除,请收集如下信息,并联系技术支持人员。

¡     上述步骤的执行结果。

¡     设备的配置文件、日志信息、告警信息。

5. 告警与日志

相关告警

相关日志

1.1.3  IS-IS路由震荡

1. 故障描述

IS-IS路由反复增删。

2. 常见原因

本类故障的常见原因主要包括:

·     IS-IS邻居震荡。

·     MPLS LSP隧道震荡。

·     在建立IS-IS邻居的两台设备上引入了相同的外部路由,而且引入的外部路由的优先级低于IS-IS协议的优先级低。

·     两台设备配置的System ID相同。

3. 故障分析

本类故障的诊断流程如图1-3所示。

图1-3 IS-IS路由震荡的故障诊断流程图

 

4. 处理步骤

(1)     检查路由震荡的情况。

执行display ip routing-table ip-address verbose命令,查看路由震荡的具体情况,具体步骤如下:

¡     如果路由震荡的前后,“TunnelID”字段发生了变化,请检查MPLS LSP隧道是否存在震荡。

执行display mpls lsp verbose命令,通过“Last Chg Time”字段查看LDP的LSP最近一次状态变化的时间。如果最近一次变化的时间距离执行display mpls lsp verbose命令的时间较近,说明MPLS LSP隧道存在震)。

对于这种情况,请参考LDP LSP震荡的定位思路或TE Tunnel由Up突然变Down的定位思路,排查LSP震荡问题。

¡     如果路由的“Cost”或者“Interface”字段发生变化,请检查该路由路径上的IS-IS邻居是否在震荡。

¡     如果在路由表中某条IS-IS路由的Age字段频繁置为0并重新计数,导致该路由时有时无,请执行display isis lsdb verbose命令来查找携带该路由的LSP,并记录此LSP报文的LSPID。然后,执行display isis lsdb verbose lsp-id命令查看这条LSP的更新情况。

-     如果LSP中始终包含指定的路由,请检查该路由路径上的IS-IS邻居是否震荡。

-     如果发现LSP的“Seq Num”字段值不断增加,同时LSP更新前的内容和LSP更新后的内容差异很大,请检查网络中是否存在两台配置了相同System ID的设备。

-     如果发现LSP的“Seq Num”字段值不断增加,同时在LSP更新前后,指定的路由时有时无,请定位生成该LSP的设备,并在该设备上执行步骤2。

¡     如果路由的“Protocol”字段发生变化,请执行步骤2。

(2)     检查IS-IS引入外部路由的配置。

如果指定的路由是作为外部路由引入到IS-IS的,在引入该路由的设备上,执行display ip routing-table ip-address verbose命令,查看路由震荡的具体情况,具体步骤如下:

¡     如果路由表中处于“Active”状态的路由是IS-IS路由,而不是IS-IS引入的外部路由,说明网络中其他IS-IS设备发布了相同的路由。请根据网络规划修改路由协议的优先级,或者,在引入外部路由的IS-IS设备上配置路由过滤策略,控制下发到IP路由表的路由。

¡     对于其它情况,请执行步骤3。

(3)     如果故障仍然未能排除,请收集如下信息,并联系技术支持人员。

¡     上述步骤的执行结果。

¡     设备的配置文件、日志信息、告警信息。

5. 告警与日志

相关告警

相关日志

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

新华三官网
联系我们