S12700交换机端口被识别为攻击端口且ARP报文超过CPCAR值导致业务丢包

发布时间:  2016-07-16 浏览次数:  314 下载次数:  0
问题描述


如上图所示组网, S12712设备做核心网关,用户报文先经过AP进行GRE封装,后经交换机二层转发到达AC控制器,AC控制器将报文解封装之后送回给网关。问题现象是 WLAN 用户上网受到影响,在核心交换机上ping AC控制器有丢包,丢包概率1.5%-5%之间,且上网用户数多的时候丢包更严重一点。

告警信息
处理过程

1、交换机ping AC,通过流统发现部分ping报文AC没有回应 

      使用交换机vlanif43地址172.16.193.254 ping AC 控制器,在丢包时查看流量统计,发现交换机已经将报文发出,但是AC控制器回应时有丢包

2、由于AC为第三方厂家设备,且第三方厂家无有效定位手段确认其不回应报文的原因,因此只能尝试针对网关连AC的端口进行流镜像抓包确认

 

通过抓包可以看到每次ping不通对端AC设备时,都伴随有对端发送过来的ARP请求报文,且交换机存在不回应ARP请求的现象。

3、交换机不回应arp报文,通常由于上送CPUARP报文太多被交换机丢弃导致,但通过display cpu-defend statistics all发现slot 2/12单板在故障时间并没有存在大量的arp丢弃现象

=====================================================================

  ===============display cpu-defend statistics all===============

===================================================================== --------------------------------------------------------------------------------

 Statistics on slot 2/12:

--------------------------------------------------------------------------------

Packet Type          Pass(Packet/Byte)   Drop(Packet/Byte)  Last-dropping-time 

--------------------------------------------------------------------------------

arp-miss                         21150              128061  2016-06-02 12:09:11

                               3096560            35131876

arp-reply                        34569                   0  -                  

                               2214724                   0

arp-request                       7200                3465  2016-06-02 11:09:11

                                460800              221760

                   -------故障时,drop计数并没有增加   

4、检查交换机的端口防攻击,发现核心交换机连AC的端口由于收到过多的arp报文,被识别成了攻击端口

端口防攻击功能解释:当端口受到攻击后(默认在一个端口下收到协议报文速率超过30pps之后即认为该端口正遭受端口攻击),会将其报文降低优先级,单独对其进行cp-car限速处理

5、查询端口防攻击上送CPU 报文计数,发现有较多的报文丢弃

6、 在对端AC设备上配置静态ARP,ping 不再丢包,由此可以确认,ping丢包是由于对端设备学习不到ARP导致

根因

由于所有AC控制器全部连到2/12号单板,且所有用户上网集中通过AC的两个10G端口连往核心交换机,端口收到过多的ARP被交换机识别为攻击端口,在端口被识别为攻击端口之后,该端口收到的ARP报文会被单独限速处理,默认car值为64Kbps,但现网中有8000 用户,每秒上送的ARP速率已远超过car值,因此大量的ARP会被丢弃,在这种情况下,当对端设备ARP老化时,向网关发送的ARP请求报文会被概率性丢弃,导致对端无法学习ARP,从而造成丢包现象。

解决方案

1、 调高car

可以适当的调大接口板和主控板的car值,目前主控已经从128Kbps调大到256Kbps,2/12号单板已从原始的64Kbps调大到128Kpbs,如果后续业务量有上升,ARP学习不到概率变大,并且现网无恶意攻击存在,可以尝试将接口板car值调大到192Kpbs(较高的car值会将更多的ARP上送CPU,从而会消耗更多的CPU资源,CPU使用率也会随之升高)。

2、 扩容接口板

当前仅一块儿接口板承担所有业务,一旦接口板出现故障,将影响全校业务,建议扩容单板做链路备份和ARP报文分担,减少ARP对单块单板的报文冲击以及无单板热备份的风险。

建议与总结

1、在有大量ARP报文的接入场景中(例如:wlan用户较多的时候),尽量不要把所有用户都通过一块单板接入,避免ARP对单板的报文冲击。

END