NE40E下挂网吧出现大量丢包的问题处理

发布时间:  2010-03-31 浏览次数:  56 下载次数:  0
问题描述
NE40E下挂的网吧经常出现大量丢包,具体表现是下挂网吧玩游戏卡,ping下挂设备,ping包有丢包现象。
组网:
NE40E --eth-trunk0.71--------s8505--------s6503-------锋火交换机---网吧
配置了包统计
acl number 3002
 rule 5 permit icmp source 222.134.50.14 0 destination 222.134.50.9 0
traffic classifier test operator or
 if-match acl 3002
traffic behavior test
raffic policy test
 share-mode
 statistics enable
 classifier test behavior test
interface Eth-Trunk0.71
 vlan-type dot1q 71
 ip address 222.134.50.17 255.255.255.240
 ip address 222.134.50.9 255.255.255.248 sub
 ip address 123.133.132.89 255.255.255.252 sub
 traffic-policy test inbound
 statistic enable
出方向初始值
<ZP_NE40E>disp icmp statistics 
   Output:echo               50130     
入方向初始值
<ZP_NE40E>disp traffic policy  statistics  interface Eth-Trunk 0.71 inbound   if-match ACL 3002 
  rule 5 permit icmp source 222.134.50.14 0 destination 222.134.50.9 0 
    19,610 bytes, 185 packets
    Last 30 seconds rate 0 pps, 0 bps
ping 了100个
--- 222.134.50.14 ping statistics ---
    100 packet(s) transmitted
    73 packet(s) received
    27.00% packet loss
    round-trip min/avg/max = 1/1/25 ms
    disp icmp statistics 
出方向统计值:
  Output:echo               50230      
<ZP_NE40E>disp traffic policy statistics interface Eth-Trunk 0.71 inbound verbose rule-based
Info: The statistics is shared because the policy is shared.
Interface: Eth-Trunk0.71 
Classifier: test operator or
 if-match ACL 3002 
  rule 5 permit icmp source 222.134.50.14 0 destination 222.134.50.9 0 
    30,210 bytes, 285 packets
    Last 30 seconds rate 0 pps, 320 bps
从结果看是出了100个包,而且在接口板上全都收到了,应该是在报文上送的时候出了问题。


处理过程
直接查看slot 1 CPU占用率,约达到60%,查看 CP CAR 计数,其中大部分被CP CAR 丢弃,一部分上送,因此可以确定是由于ICMP报文上送过多造成CPU占用率高。

需要找出发送ICMP请求报文的来源,直接在slot 1 单板上行抓包,约每抓几十次报文,可以抓到一个ICMP请求报文,分析ICMP报文,源IP地址都相同,目的地址是本设备,随后根据这个源IP地址,尝试进行隔离过滤,需要用CPU defend 命令对常见攻击报文进行防攻击配置。


在系统视图下使用display health命令,观察各个单板的CPU使用率情况。
[Quidway] display health
Slot          CPU Usage  Memory Usage(Used/Total)---------------------------------------------------- 9 MPU(Master)  9%           32%  280MB/877MB 1 LPU            60%           26%  239MB/917MB 
2 LPU           5%           41%  379MB/917MB
3 LPU           4%           33%  135MB/405MB
7 LPU           3%           36%  146MB/405MB   
并且查看cpu占用进程,发现SOCK任务CPU占用率高,则说明可能是攻击导致。
[40E-diagnose]efu qos cp-car cnt_show 3
    Excp ID :      Green :     Yellow :        Red
 0x8        : 0x23dc81   : 0x0        : 0xfd8d822-----0x8代表icmp报文
 0xf        : 0x347e     : 0x0        : 0x0
 0x10       : 0x15e1     : 0x0        : 0x0
 0x5d       : 0x3d       : 0x0        : 0x0
 0x73       : 0xf5c5     : 0x0        : 0x0
 0x79       : 0x3d5f1    : 0x0        : 0x0
 
观察Red列计数,如果存在该计数或者该计数存在并且在不断增长,则说明是由于该类报文攻击导致的问题。
通过debug                                                                    
                                                                                
*1.106593515 ZP_NE40E IP/7/debug_case:   Delivering是                                       
Delivering, interface = GE1/0/5, version = 4, headlen = 20, tos = 0,            
pktlen = 72, pktid = 256, offset = 2960, ttl = 124, protocol = 1,               
checksum = 19362, s = 119.185.0.206, d = 119.185.0.97                           
prompt: IP packet is delivering up!                                             
                                                                                
*1.106593515 ZP_NE40E IP/7/debug_case:Slot=1;          Reveving:需要上送主控的报文                         
Receiving, interface = GE1/0/5, version = 4, headlen = 20, tos = 0,             
pktlen = 72, pktid = 256, offset = 2960, ttl = 124, protocol = 1,               
checksum = 19362, s = 119.185.0.206, d = 119.185.0.97                           
prompt: Receiving IP packet from GigabitEthernet1/0/5    
其中源地址119.185.0.206这个地址是攻击源。                       
                                                                 
根因

由于出现攻击报文,导致单板ICMP上送通道拥塞,正常ICMP报文被挤掉。

解决方案

1、在设备上部署黑名单,过滤掉攻击报文:
#
acl number 3999
 rule 5 permit icmp source 1.1.1.1 0
#
return

#
cpu-defend policy 1
 blacklist acl 3999
#
return
 

#
slot X
 cpu-defend-policy 1
#

2、在端口上部署复杂流分类,将攻击报文deny掉。

建议与总结

END