某局点AC CPU利用率高处理经验案例
一、 组网
不涉及
二、 问题描述:
某局点在8月份每天用户高峰期,中午12:00-13:00,晚上19:00以后,AC插卡的CPU利用率最高达到100%,网关服务器不能访问AC插卡,关联用户体验差,上网非常慢。CPU利用率如下:
100%| ######
95%| ######
90%| ######
85%| ######
80%| ######
75%| ######
70%| ######
65%| ######
60%| ######
55%| ######
50%| ######
45%|#######
40%|########
35%|########
30%|########
25%|########
20%|########
15%|########
10%|######## # # # # #
5%|############################################################
------------------------------------------------------------
10 20 30 40 50 60 (minutes)
三、 过程分析:
通过9月3、4日两天高峰期间对上送AC CPU的报文进行了观察,发现有大量的default报文,而其他报文流量正常。
[AC-master-hidecmd]fpl-diag showcpufc
Proto Rx Drop RxSpeed(pps)
---------------------------------------------------------------------
1 default 308708231 42086505 374
2 udp 30210569 426315 68
3 tcp 3740 42 0
4 dot1x 0 0 0
5 dhcp 2418336 18051 2
6 igmp 0 0 0
7 ntp 0 0 0
8 arp 231795671 2891973 43
9 snmp 1 0 0
10 telnet 8934 142 0
11 icmp 74533291 909962 134
12 lwapp 467300737 0 173
13 loopback 0 0 0
14 pppoe 0 0 0
15 iactp 0 0 0
16 acsei 0 0 0
17 iec 1878800 0 0
18 wlanex 0 0 0
19 stp 0 0 0
20 meshaction 0 0 0
21 lwapp_data 295854364 0 65
22 dot11_ctrl 6286079 60642 12
23 iactp_eapol 0 0 0
24 svp 0 0 0
25 ipc 0 0 0
26 http 204 0 0
27 ip 0 0 0
28 ipv6 45227905 390399 124
29 ethernet 1903 5 0
30 radius 818794 29644 1
31 vrrp 0 0 0
32 capwap_ctrl 67 0 0
33 capwap_data 0 0 0
34 dot11_auth 1200909 113556 2
35 dot11_assoc 614337 12713 1
36 dot11_reassoc 185000 931 0
37 dot11_null 208946958 1412572 310
对default进行了详细分析,发现是设备收到了大量不正常的ipv6报文,触发CPU给报文源回应ICMPv6 超时差错报文,导致CPU利用率上升。以致网关服务器无法访问AC插卡,用户体验差,上网速率慢。
ICMPv6 超时报文发送功能是在设备收到IPv6 数据报文后,如果发生超时差错,则将报文丢弃并给源端发送ICMPv6 超时差错报文。
设备在满足下列条件时会发送 ICMPv6 超时报文:
? 设备收到 IPv6 数据报文后,如果报文的目的地不是本地且报文的Hop limit 字段是1,则发送“Hop limit 超时”ICMPv6 差错报文;
? 设备收到目的地址为本地的 IPv6 数据报文的第一个分片后,启动定时器,如果所有分片报文
到达之前定时器超时,则会发送“重组超时”ICMPv6 差错报文。
设备接收到大量需要发送 ICMPv6 差错报文的恶意攻击报文,设备会因为处理大量该类报文而导致性能降低。为了避免上述现象发生,可以关闭设备的ICMPv6 超时报文发送功能,从而减少网络流量、防止遭到恶意攻击。
[AC-master-hidecmd]fpl-diag showcpufcdefault
start .....
mid(0x11) type(0x00000004): 308
mid(0x11) type(0x00000002): 7001
mid(0x17) type(0x00000001): 86
mid(0x43) type(0x00000001): 52
end .....
四、 解决方法:
通过配置undo ipv6 hoplimit-expires命令,该命令用来关闭设备的ICMPv6超时报文的发送功能。
缺省情况下,ICMPv6超时报文发送功能处于开启状态。
[AC-master] undo ipv6 hoplimit-expires
[AC-master-hidecmd]fpl-diag showcpufcdefault
start .....
mid(0x11) type(0x00000004): 4842
mid(0x17) type(0x00000001): 3481
mid(0x43) type(0x00000001): 945
mid(0xc5) type(0x00000001): 166651
end .....
多日观察,CPU中不存在 type(0x00000002)的报文,CPU利用率为正常状态。如下:
[AC-master-hidecmd]dis cpu task
===== Current CPU usage info =====
CPU Usage Stat. Cycle: 45 (Second)
CPU Usage : 23%
CPU Usage Stat. Time : 2014-09-12 11:45:04
CPU Usage Stat. Tick : 0x10fbd(CPU Tick High) 0xe037f3fb(CPU Tick Low)
Actual Stat. Cycle : 0x0(CPU Tick High) 0xb3255e4e(CPU Tick Low)
TaskName CPU Runtime(CPU Tick High/CPU Tick Low)
CTLT 0% 0/ 33e1d
CKPT 0% 0/ 13ea
VIDL 77% 0/8a7d96f5
TICK 0% 0/ dbd31e
STMR 0% 0/ 1005823
IPCT 0% 0/ 58740e
DrTC 0% 0/ 8d7017
MCIN 0% 0/ 1876f
FSHE 0% 0/ 633a
IPCB 0% 0/ 127292
RPCQ 0% 0/ 45f1e5
VP 0% 0/ 3d2
ADJ6 0% 0/ 911a
IPCM 0% 0/ 11c56
INFO 1% 0/ 1efba51
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作