问题描述:
两台 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 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 命令
根因
通过查看端口的 TC 报文计数,发现端口收到大量的 TC 报文,且在不断增长。触发 MAC 删除、
ARP 表项刷新,设备处理大量 arp-miss、arp-request 和 arp-reply 报文,导致 CPU 升高,OSPF Hello
报文、VRRP 心跳报文不能及时处理,出现震荡
建议与总结
在部署 STP 时,建议配置 TC 保护功能,所有连接终端的接口配置成边缘端口,这样可以避免
某些端口的状态变化引起整个 STP 网络震荡而重新收敛
建议装一个写代码的插件,排版看起来就更整齐一些 :idea:
:oops: 例如啥插件,推荐一下呗
Crayon Syntax Highlighter,试试这个
:mrgreen: 已使用,非常感谢推荐,十分好用