MA5200G因受ICMP攻击导致PING丢包

发布时间:  2012-07-26 浏览次数:  133 下载次数:  25
问题描述
拓扑图见附件。
MA5200G通过OSPF路由负载分担双上行到GSR和NE80E。
发现从MA5200G上PING外网IP地址不稳定,丢包率达40%多;从MA5200G PING NE80E上的互连地址,无丢包;从MA5200G PING GSR上的互连地址,丢包率达40%多。
告警信息

处理过程
1、经过上述的观察,初步定位为MA5200G到GSR链路问题,导致丢包,使用户感知上网速度慢。为使在测试链路时不影响骨干路由,将MA5200G到GSR的链路OSPF花费值设置为1000,强制其为备用链路,主用链路走NE80E。
2、开始测试MA5200G到GSR之间的传输,发现光衰也在我们设备要求的范围内。于是将两边的尾纤也都做了调换,甚至连GSR上的板卡都做了调换。但现象反复,PING 对端设备仍有丢包。于是又将MA5200G的G3/0/0换至G3/0/1,相当于给MA5200G换了一个模块,但现象仍反复。
3、抓Debug 报文,看ICMP报文在何处丢失。报文见附件。从此报文来看,MA5200G收到了大量ICMP攻击,且攻击源地址就是3槽位下面的地址,攻击目的地址也是3槽位的地址,这样就导致了3槽位业务板与主控板之间的通道就被这种报文给占满,导致PING GSR有丢包,而PING NE80E不丢包。原因是3槽位到主控板的通道带宽被占满,而4槽位到主控板的通道带宽正常,故才会有上述情况发生。 
4、由于是ICMP攻击,查找出攻击源。有两种解决方法:一种方法是将攻击源禁止上线,第二种方法是,禁PING。问题解决,不再丢包。
根因
MA5200G设备对ICMP报文处理有两种不同的机制:第一种是将各个业务板收到的ICMP报文送到主控板的CPU去处理,以减少业务板CPU的资源,这种处理机制很好的保护了业务不受这种报文的影响,系统默认就是此种方式。但同时为了保护主控板的CPU不受到重负荷,主控板和业务板之间的通道带宽一般都不是很大,这样就有效的保护了主控板的CPU。所以,在这种方式下,当通道带宽被占满的情况下,去往主控板处理的报文就会有被丢弃的情况发生,但由于业务仍然是在各业务板自己的CPU上处理,故不受到影响。第二种处理机制就是各业务板上的ICMP报文就只在各业务板自己的CPU上处理,不送至主控板的CPU处理。这种情况机制下,就避免了通道的瓶颈,不会有丢包的现象发生,但由于这种报文消耗了各业务板的CPU资源,故业务会受到影响。使用命令(ICMP-REPLY FAST)可以切换至这种机制。
      
建议与总结

      

END