交换机cpu负载较高, dis logbuffer 查到有以下报警:
Switch %%01DEFD/4/CPCAR_DROP_MPU(l)[57]:Rate of packets to cpu exceeded the CPCAR limit on the MPU. (Protocol=arp-reply, ExceededPacketCount=020699)
解决办法:
采集端口TC(Topology Change)报文收发情况。
使用命令display stp tc-bpdu statistics查看所有使能STP的端口接收到的TC报文计数。间隔5秒再次获取一次,可以看出所有端口接收到的TC报文计数在均在增长。
原因分析
通过查看端口的TC报文计数,发现端口收到大量的TC报文,且在不断增长。触发MAC删除、ARP表项刷新,设备处理大量arp-miss、arp-request和arp-reply报文,导致CPU升高,OSPF Hello报文、VRRP心跳报文不能及时处理,出现震荡。
问题判断方法
1、全局配置stp tc-protection。
配置此命令后可以保证设备频繁收到TC报文时,每2秒周期内最多只处理1次表项刷新,从而减少MAC、ARP表项频繁刷新对设备造成的CPU处理任务过多。 2、全局配置arp topology-change disable及mac-address update arp。
当设备收到TC报文后,默认会清除MAC、老化ARP。当设备上的ARP表项较多时,ARP的重新学习会导致网络中的ARP报文过多。配置arp topology-change disable、mac-address update arp后,在网络拓扑变化时,可以根据MAC地址的出接口变化刷新ARP表项出接口。可以减少大量不必要的ARP表项刷新。 注:V100R006版本开始支持mac-address update arp命令,V200R001版本开始支持arp topology-change disable命令。 建议与总结
在部署STP时,建议配置TC保护功能,所有连接终端的接口配置成边缘端口,这样可以避免某些端口的状态变化引起整个STP网络震荡而重新收敛。在处理CPU高的问题时,多关注CPCAR丢包情况。
|