S6700交换机收到大量TC报文导致CPU高和协议震荡

发布时间:  2015-07-20 浏览次数:  2528 下载次数:  0
问题描述

两台S6700 均全局使能RSTP,并配置OSPFVRRP。故障发生时,主设备上出现OSPFVRRP协议震荡。两台交换机上均出现CPU高的日志信息,同时网管上监控CPU占用率多次超过90%,同时还有大量的ARP报文超过CPCAR后丢弃的日志记录。

通过网管监控的CPU利用率情况,如图所示 :

通过网管监控看到的CPU利用率


 

告警信息

1.         交换机上出现CPU占用率过高的日志信息。

S6700-1 %%01VOSCPU/4/CPU_USAGE_HIGH(l)[31]:The CPU is overloaded(CpuUsage=96%, Threshold=95%), and the tasks with top three CPU occupancy are: 
FTS  total      : 18% 
SRMT  total      : 11% 
SOCK  total      : 8%

S6700-1 %%01VOSCPU/4/CPU_USAGE_HIGH(l)[60]:The CPU is overloaded(CpuUsage=100%, Threshold=95%), and the tasks with top three CPU occupancy are: 
PPI   total      : 41% 
SRMT  total      : 10% 
FTS  total      : 8%

2.         交换机上还有大量的ARP报文超过CPCAR后丢弃的日志记录。

S6700-1 %%01DEFD/4/CPCAR_DROP_MPU(l)[56]:Rate of packets to cpu exceeded the CPCAR limit on the MPU. (Protocol=arp-miss, ExceededPacketCount=016956)

S6700-1 %%01DEFD/4/CPCAR_DROP_MPU(l)[57]:Rate of packets to cpu exceeded the CPCAR limit on the MPU. (Protocol=arp-reply, ExceededPacketCount=020699)

S6700-1 %%01DEFD/4/CPCAR_DROP_MPU(l)[58]:Rate of packets to cpu exceeded the CPCAR limit on the MPU. (Protocol=arp-request, ExceededPacketCount=0574)

3.         查看端口TCTopology Change)报文收发情况。

所有使能RSTP的端口,接收的TC报文计数均在增长。

<S6700> display stp tc-bpdu statistics 
 -------------------------- STP TC/TCN information -------------------------- 
 MSTID Port                        TC(Send/Receive)      TCN(Send/Receive) 
 0     GigabitEthernet0/0/1               19319/3271            0/0  
 0     GigabitEthernet0/0/2               29761/676             0/0  
 0     GigabitEthernet0/0/3               128/4                 0/0   
 0     GigabitEthernet0/0/4               24615/1016            0/0 
 0     GigabitEthernet0/0/5               30697/98              0/0 
 0     GigabitEthernet0/0/6               25447/317             0/0 

处理过程

步骤全局配置stp tc-protection

配置此命令后可以保证设备频繁收到TC报文时,每2秒周期内最多只处理1次表项刷新。从而减少MACARP表项频繁刷新对设备造成的CPU处理任务过多。

步骤全局配置arp topology-change disablemac-address update arp

 

当设备收到TC报文后,默认会清除MAC、老化ARP。当设备上的ARP表项较多时,ARP的重新学习会导致网络中的ARP报文过多。配置arp topology-change disablemac-address update arp后,在网络拓扑变化时,可以根据MAC地址的出接口变化刷新ARP表项出接口。可以减少大量不必要的ARP表项刷新。

说明:V100R006版本开始支持mac-address update arpV200R001版本开始支持arp topology-change disable命令。

根因

通过查看端口的TC报文计数,发现端口收到大量的TC报文,且在不断增长。触发MAC删除、ARP表项刷新,设备处理大量arp-missarp-requestarp-reply报文,导致CPU升高,OSPF Hello报文、VRRP心跳报文不能及时处理,出现震荡。

建议与总结

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

END