首页 > 其他 > 详细

STP震荡引起CPU占用率高

时间:2020-06-04 09:54:50      阅读:126      评论:0      收藏:0      [点我收藏+]
STP震荡引起CPU占用率高
问题现象描述
一台盒式交换机的CPU占用率过高,交换机输出大量的ARP报文超过CPCAR后丢弃的日志,同时采集端口信息时,发现所有使能STP的端口接收的TC报文计数均在增长。

问题根因说明
端口收到大量的TC报文引起STP震荡,触发大量MAC表项删除、ARP表项刷新,使交换机需要处理大量ARP-Miss、ARP-Request和ARP-Reply报文,导致CPU占用率升高。

问题判断方法

  1. 查看日志,设备上出现CPU占用率过高的日志信息。
    技术分享图片
  2. 查看日志,设备上还有大量的ARP报文超过CPCAR后丢弃的日志记录。
    技术分享图片
  3. 采集端口TC(Topology Change)报文收发情况。
    隔几秒执行一次display stp tc-bpdu statistics命令,查看端口TC/TCN报文收发计数,发现所有使能STP的端口,接收的TC报文计数均在增长。
    解决方案
  4. 系统视图下执行stp tc-protection命令,打开TC保护的告警开关。
    打开TC保护告警开关后,可以保证设备频繁收到TC报文时,每2秒周期内最多只处理1次表项刷新,从而减少MAC、ARP表项频繁刷新对设备造成的CPU处理任务过多。
    同时设备会触发MSTP_1.3.6.1.4.1.2011.5.25.42.4.2.15 hwMstpiTcGuarded和MSTP_1.3.6.1.4.1.2011.5.25.42.4.2.16 hwMstpProTcGuarded两个告警。
  5. 系统视图下执行arp topology-change disable命令,去使能设备响应TC报文的功能。
    当设备收到TC报文后,默认会对ARP表项进行老化。执行该命令后,当设备收到TC报文时,不对ARP表项进行老化或删除,避免网络拓扑变化频繁时,设备重新的学习ARP表项造成网络中ARP报文过多,导致设备的CPU占用率过高。
  6. 系统视图下执行mac-address update arp命令,使能MAC刷新ARP功能。
    当设备收到TC报文后,默认会清除MAC表项。执行该命令后,在MAC地址表项出接口刷新时,设备将直接刷新ARP表项的出接口,可以减少大量不必要的ARP表项刷新。
    经验总结
    在处理CPU高的问题时,需要多关注CPCAR丢包情况。

在部署STP时,建议配置TC保护功能,并将所有连接终端的接口配置成边缘端口,这样可以避免某些端口的状态变化引起整个STP网络震荡而重新收敛。

STP震荡引起CPU占用率高

原文:https://blog.51cto.com/7936658/2500946

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!