异常IGMP报文攻击导致主控板和接口板CPU 100%

发布时间:  2012-07-26 浏览次数:  72 下载次数:  0
问题描述
主控板和接口板CPU长时间100%,接口板转发出现全阻。
      
告警信息

      
处理过程
由于该设备并未开启IGMP功能,因此配置traffic-policy过滤所有IGMP报文,方法如下:
1、配置acl匹配IGMP报文
acl number 3099                                                                 
 rule 5 deny igmp                                                               
 rule 10 permit ip                                                              
2、配置流分类
traffic classifier antiIGMP operator or                                         
 if-match acl 3099                                                              
3、配置流行为                                               
traffic behavior antiIGMP                                                       
4、配置策略                                                   
traffic policy antiIGMP                                                         
 classifier antiIGMP behavior antiIGMP 
5、在接口入方向应用该策略
interface pos1/0/0
 traffic-policy antiIGMP inbound  
经过以上配置后主控板和接口板CPU使用率降了下来
      
根因
1、查看CPU使用率,发现主控板和接口板cpu 100%
<NE5000E>dis health
Slot          CPU Usage     Memory Usage (Used/Total)
-----------------------------------------------------
17 MPU(Master) 100%           24%  462MB/1913MB
 1 LPU          42%           48%  188MB/390MB
 2 LPU          38%           48%  188MB/390MB
 3 LPU         100%           54%  214MB/390MB
2、查看CPU的任务情况发现任务VPR占用了大量的CPU资源,该任务是用来处理上送路由器CPU的报文
<W-1>dis cpu 
TaskName        CPU        Runtime(CPU Tick High/CPU Tick Low)
VIDL            1%               0/2be77165
TICK             0%               0/  17e5db
IPCR             0%               0/    4b6f
 VPR            90%               0/ 65e8b49
 VPS             0%               0/   3a150
dTcm             5%               0/ 3423ea3
BEAT             0%               0/   1a7cf
3、基于以上信息在转发层面进行流量的分析后,发现有大量的报文正送往主控板的CPU处理,这些报文的协议号为2(IGMP报文),且目的ip是单播的
*3.1139475482 
IP/8/debug_case:Slot=14;                        
Discarding, interface = Pos14/1/0, version = 4, headlen = 20, tos = 0,          
pktlen = 45, pktid = 39706, offset = 0, ttl = 124, protocol = 2,                
checksum = 57757, s = 60.178.203.231, d = 218.16.223.108                        
*3.1139475482 
IP/8/debug_case:Slot=14;                        
Discarding, interface = Pos14/1/0, version = 4, headlen = 20, tos = 0,          
pktlen = 45, pktid = 13670, offset = 0, ttl = 122, protocol = 2,                
checksum = 35548, s = 60.181.138.90, d = 218.16.223.108      
      
建议与总结
 
      无

END