1、使能STP的网络拓扑中出现链路故障或链路故障恢复后,业务流量恢复需要超过30秒,即端口无法快速收敛1.1.1定位思路遇到这种问题时,小编给大家总结了如下的定位思路:1)确认对端端口是否使能STP;2)检查端口是否工作在STP模式;3)检查端口的链路类型是否为点对点。1.1.2定位步骤具体的定位步骤,请小伙伴们往下瞅:步骤1:确认对端端口是否使能STP终端、服务器都不支持STP协议,如果这些设备和交换机连接,建议在交换机的端口上执行命令stp edged-port enable 开启边缘端口属性或执行命令stp disable去使能STP。否则,当用户插拔链路连接介质,或先执行shutdown,
2、再执行undo shutdown,重启端口后,因对端端口不会发送STP的协议报文进行协商,导致交换机上的端口经过2倍的Forward Delay(默认为15秒)时间后才能正常转发报文。步骤2:检查端口是否工作在STP模式全局配置为RSTP/MSTP模式的设备,当端口接收到STP模式报文后,端口可以自动迁移到STP模式下工作。通过命令display stp interface查看端口实际的工作模式(查看Port STP Mode字段哦):由于STP模式不能提供快速迁移机制,端口状态变化后,需要等待2倍的Forward Delay(默认15秒)才能迁移到转发状态。可以通过在交换机端口配置stp n
3、o-agreement-check命令来避免端口连接的上游设备模式为RSTP或者与MSTP实现存在私有性差异的厂商设备时,上游桥设备不能快速迁移问题。当端口自动迁移到STP兼容工作模式后,以下情况端口无法自动迁移回原来的RSTP/MSTP模式,导致与其他运行RSTP/MSTP模式的设备无法互通。运行STP模式的设备已关机或移走;运行STP模式的设备修改为运行RSTP/MSTP模式。因此需要在端口上执行stp mcheck命令,将端口手动迁移到RSTP/MSTP模式。步骤3:检查端口链路类型是否为点对点RSTP/MSTP模式提供了端口快速迁移机制:当两端均使能STP而且链路类型为点对点时,才能实
4、现端口状态的快速迁移。可以通过stp point-to-point auto | force-false | force-true 命令配置链路类型,端口的链路类型默认为auto,即由RSTP/MSTP来检测与端口相连的链路是否是点对点链路,两端均工作在全双工模式是才可能成为点对点链路。通过display stp interface查看端口的链路类型:Config=auto表示使用stp point-to-point命令配置的值为auto,Active=true表示当前工作在点对点链路类型。步骤4:如果以上步骤还不能解决问题,小伙伴们莫急,可以收集相关信息联系华为工程师处理。在这里提醒下小伙伴
5、们,在使能STP之前,别忘了检查参与STP计算的端口是否使能了bpdu enable命令。具体的请参见下面的表格。另外,小伙伴们需要关注这种场景:因为中间设备或者传输的问题导致STP报文不能透传,这个可以通过display stp interface interface-type interface-number命令判断,查看BPDU Received计数。如果计数一直为零或者没有增加,则有可能是中间设备或者传输导致收不到STP报文。1.2故障现象2:使能STP的网络中,流量业务时断时续,设备CPU占用率高1.2.1定位思路同样滴,小编给大家总结了如下的定位思路:1)端口是否持续收到TC报文;
6、2)端口是否收到多种STP报文;3)设备是否存在报文攻击。1.2.2定位步骤具体的定位步骤,请小伙伴们继续往下瞅:端口是否持续收到TC报文执行命令display cpu-usage查看设备整机或接口板上占用CPU较高的任务,如果交换机接口板的PPI任务(适配层任务,维护芯片中各个接口的状态)CPU使用率较高,则排查端口是否持续收到大量TC报文。如果CPU利用率较高的任务中没有PPI任务,则按照步骤3进行处理。通过如下命令行可查看端口收、发TC报文的情况:display stp tc-bpdu statistics:该命令从框式V100R006版本,盒式V100R005版本开始支持。displa
7、y stp topology-change: 该命令从框式V100R006版本,盒式V100R005版本开始支持。 如果通过以上排查,确认端口持续收到大量TC报文,小伙伴们可以通过使用stp tc-protection命令,使能交换机对TC报文的保护功能,实现对TC报文的限制,以达到对设备进行保护的目的。另外,还可以通过stp tc-protection threshold命令指定Hello Time时间内处理TC类型STP报文的次数。在收到TC报文转发刷新转发表项时,STP的收敛方式不同,交换机对ARP表项的处理方式不同,建议配置为normal:如果STP的收敛方式配置为fast,交换机将A
8、RP表中的相关表项直接删除。如果STP的收敛方式配置为normal,交换机将ARP表中相关表项的剩余存活时间置为0,对这些表项进行老化处理。如果使能TC保护、修改STP收敛方式后,PPI任务的CPU利用率仍然较高,小伙伴们莫着急,请继续按照步骤2进行处理。端口是否收到多种STP报文可以通过display stp history命令查看端口角色计算的历史记录,如果端口的角色不断更新,表明端口收到来自不同设备的报文,说明组网存在问题:同时,打开以下STP debug开关,采集故障期间交互的STP报文和事件信息,排除非法的STP报文。步骤3设备是否存在报文攻击网络中出现链路故障或报文攻击,可能导致端
9、口长时间接收不到对端发送的STP协议报文,发生STP切换状态,例如会产生如下日志:Jul 26 2012 02:26:40 Switch %01MSTP/6/SET_PORT_DISCARDING(l):In MSTP process 0 instance 0, MSTP set port GigabitEthernet4/0/10 state as discarding.43 Switch %01MSTP/6/SET_PORT_FORWARDING(l):In MSTP process 0 instance 0, MSTP set port GigabitEthernet4/0/10 sta
10、te as forwarding.IFNET/4/LINK_STATE:The line protocol line-protocol on the interface interface-name has entered the state state.如果链路正常,通过display stp interface interface-type interface-number查看BPDU Received计数。如果计数没有周期增长,且端口下BPDU配置正确,则在端口入方向绑定流策略对STP报文进行流量统计,以确认对端设备是否周期发送了STP协议报文。配置和查看方法如下:配置流策略:查看流量统
11、计:如果通过流量统计查看到STP报文计数在周期增加,但使用命令display stp interface interface-type interface-number查看BPDU Received计数没有增加,那么需要再使用命令display cpu-defend statistics all查看是否有其他大量报文在上送CPU处理。小伙伴们注意啦:在不同形态、不同版本的交换机上,使用display cpu-defend statistics all命令查看到的报文类型可能不同哦。交换机通过CPCAR机制对上送控制平面的报文进行业务细化,分别进行限速与队列调度,以保护控制平面的安全。如果某些协议报文已经超过CPCAR的阈值出现丢包,通过命令display cpu-defend configuration all查看这些协议报文所在的队列是否与STP报文在同一队列:如果以上步骤还不能解决问题,小伙伴们可以收集相关信息联系华为工程师处理哦。本期的故障定位招数已经给大家分享完了,相信小伙伴们再遇到STP故障时,可以轻松应对了。以后再有类似的故障,小编再给大家分享哦,拜拜。