二层环路导致CPU使用率高的问题处理一例

发布时间:  2012-12-12 浏览次数:  248 下载次数:  0
问题描述
网速较慢,网口收发指示灯高频率闪烁。
告警信息
查看CPU使用率很高,比平时高出了一倍以上。
处理过程
查看CPU使用率 发现转发进程CPU使用率很高,
<USG2100>disp cpu    
09:01:15  2012/12/12           
CPU Usage Stat. Cycle: 60 (Second)        
CPU Usage            : 89% Max: 100%                   
CPU Usage Stat. Time : 2012-12-12  09:01:15       
CPU Usage Stat. Tick : 0xeec(CPU Tick High) 0x72079664(CPU Tick Low)           
Actual Stat. Cycle   : 0x0(CPU Tick High) 0x782026f5(CPU Tick Low)             
                                                                               
TaskName        CPU        Runtime(CPU Tick High/CPU Tick Low)                 
                        
DFWD            88%               0/720184a1            
.......................                       
                      
查看接口流量信息
<USG2100>disp interface brief                                                          
09:53:38  2012/12/12                                                           
PHY: Physical                                                                  
*down: administratively down                                                   
^down: standby                                                                 
(s): spoofing                                                                  
InUti/OutUti: input utility/output utility                                     
Interface                      PHY   Protocol InUti       OutUti       inErrors  outErrors  
Cellular5/0/0               down  up(s)       0%       0%                    0          0  
Ethernet0/0/0               up    up              0%        0.01%              0          0  
Ethernet1/0/0               down  down     0%        0%                    0          0  
Ethernet1/0/1               up    up              0.02%  78%                  0          0  
Ethernet1/0/6               up    up             100%     100%              0          0  
Ethernet1/0/7               up    up             100%     100%              1          1  
<USG2100>    
查看接口流量发现部分接口流量很大,有两个接口流量相近,如果有多个接口流量相近,说明存在环路的可能。
查看ethernet 1/0/6  和1/0/7 发现该接口下每秒收发报文数量很大,这些都是环路特征的体现。
<USG2100>disp inter ethernet 1/0/6                      
09:01:01  2012/12/12          
    Last 300 seconds input rate 42756224 bits/s, 83508 packets/s               
    Last 300 seconds output rate 42756224 bits/s, 83508 packets/s              
    Input: 48310854 packets, 3091894691 bytes            
           48310854 broadcasts, 0 multicasts              
    Output:48310856 packets, 3091894784 bytes           
           48310856 broadcasts, 0 multicasts       
 进一步查询IP统计信息,发现IP统计信息没有异常,说明此环路是二层环路引起的。
 <USG2100>disp ip statistics                                                    
10:38:20  2012/12/12                                                           
  Input:     sum               401299      local            137708                
             bad protocol           0      bad format               0                  
             bad checksum       0      bad options             0                  
             TTL exceeded        0                                              
  Output:    forwarding         0      local                 147477                 
             dropped                   0      no route            39535                  
  Fragment:  input                0      output                       0                  
             dropped                   0                                              
             fragmented             0      couldn't fragment    0                  
  Reassembling:sum         0      timeouts                   0                  
<USG2100>   

拔掉连接ethernet1/0/7或1/0/6的网线后,发现环路被清除,接口流量恢复正常,CPU使用率也恢复到正常范围内。
证实了环路是在ethernet 1/0/6 和1/0/7之间产生的,进一步排查网线,发现这两个接口被网线短接了,去除这条网线后,网络恢复正常了。
根因
这种现象本身说明网络流量很大导致的,有两种原因:
1)正常的业务流量很大;
2)网络出现了环路。
建议与总结
当遇到网速慢时,先要排查一下系统CPU使用率是否正常,如果CPU使用率很高,则进一步查看 是哪个进程CPU使用率高,如果是转发进程CPU使用率高,则进一步排查转发的流量是正常流量还是有环路情况存在,如果有交换机,可杂交换机里进行排查,交换机一般都有环路检测机制,可以很方便的定位出环路出在哪里。

END