问题描述:

两台 S6700 均全局使能 RSTP,并配置 OSPF 和 VRRP。故障发生时,主设备上出现 OSPF、
VRRP 协议震荡。两台交换机上均出现 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. 查看端口 TC(Topology 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

处理过程

步骤 1 全局配置 stp tc-protection

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

步骤 2 全局配置 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 arp,V200R001 版本开始支持 arp topology-change disable 命令

根因

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

建议与总结

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

 

Last modification:February 16, 2019
If you think my article is useful to you, please feel free to appreciate