AR2240产品(V2R7版本)A2A VPN业务出现丢包故障

发布时间:  2016-08-16 浏览次数:  341 下载次数:  0
问题描述
  • 设备版本信息:AR2240 V200R007SPC600
  • 组网概述:Huawei站点AR2240设备和Cisco站点ASR1002设备作为CE设备通过运营商广域L3VPN网络连通,广域链路开启A2A VPN加密特性对数据流量进行加密,分片处理策略为加密前分片。广域出口MTU为1500。
  • 组网拓扑图:

  • Huawei AR路由器相关配置:

       #
        pki realm default
        enrollment self-signed
       #
        ssl policy default_policy type server
        pki-realm default
       #

        ike proposal 10
         encryption-algorithm aes-cbc-128
         dh group14
         authentication-algorithm sha1
         sa duration 1200
         prf hmac-sha2-256
       #
        ike peer branches v1
         pre-shared-key simple XXXX
         ike-proposal 10
         remote-address A.B.C.D
         remote-address E.F.G.H
       #
        ipsec policy branches_1 10 gdoi
        group identity number 1111
        ike-peer branches
        tunnel local binding-interface
       #

        interface GigabitEthernet0/0/2.123

         ipsec policy branches_1

       #

  • 故障现象:AR设备上线后出现部分服务器业务卡顿,经排查发现AR设备出入方向均存在A2A VPN丢包现象

        A2A VPN隧道建立后,在AR设备上执行display ipsec gdoi-sa命令检查outpacket droop count显示出方向报文丢弃计数在持续增加

      

告警信息

执行display ipsec gdoi-sa命令检查outpacket droop count字段发现华为和思科站点之间交互存在丢包计数:

===============================
Interface: GigabitEthernet0/0/2.123
Path MTU: 1500
===============================
  ---------------------------------
  Gdoi policy name         : "branches_1"
  Sequence number          : 10
  ---------------------------------
    [TEK SA]
    Protected vrf : 0
    Protocol      : 0
    Flow source      : 10.40.0.0/255.248.0.0/0
    Flow destination : 10.15.0.0/255.255.0.0/0
    Protocol      : 0
    Flow source      : 10.15.0.0/255.255.0.0/0
    Flow destination : 10.40.0.0/255.248.0.0/0
    Protocol      : 0
    Flow source      : 10.0.4.0/255.255.252.0/0
    Flow destination : 10.15.0.0/255.255.0.0/0
    Protocol      : 0
    Flow source      : 10.15.0.0/255.255.0.0/0
    Flow destination : 10.0.4.0/255.255.252.0/0
    Protocol      : 0
    Flow source      : 0.0.0.0/0.0.0.0/0
    Flow destination : 10.245.0.30/255.255.255.255/0
    Protocol      : 0
    Flow source      : 10.245.0.30/255.255.255.255/0
    Flow destination : 0.0.0.0/0.0.0.0/0
  
    Inpacket count            : 343701
    Inpacket decap count      : 343599
    Outpacket count           : 668422
    Outpacket encap count     : 669569
    Inpacket drop count       : 0
    Outpacket drop count      : 4580
    Anti-replay drop count    : 0

处理过程

1.根据业务互访存在故障的IP地址段确认该互访通过A2A VPN加密

2.通过display ipsec gdoi-sa命令检查AR2240路由器上的A2A VPN转发计数,发现Outputpack drop count字段存在丢包计数,且计数在不断增长。根据此现象判断丢包发生在AR2240路由器的广域接口出方向

3.进入设备诊断视图,执行display forward ipsec error counter命令,检查报文丢弃的原因,可以看到设备需要对报文进行加密前分片,由于报文自身设置了强制不分片标记,导致无法加密引起丢弃

4.根据报文丢弃的根因,进一步分析了思科设备的行为,对于思科路由器,在配置A2A VPN(思科称之为Get VPN)加密前分片功能后,设备自动清除报文强制不分片标记;华为AR路由器的标记位清除功能可设置。

根因

Huawei AR路由器A2A VPN特性部署加密前分片功能后,在对报文进行转发处理时,加密模块会对报文加密后增加加密头后的总长度进行计算,如果加密报文总长度超出接口MTU值,则需要先对报文进行分片后加密。在故障场景中存在被设置了强制不分片标记的大报文,路由器无法对该报文进行分片后加密导致出现报文丢弃的现象。

在Huawei AR路由器部署A2A VPN特性后,原始报文在转发时需要增加隧道头和ESP头/尾。在本案例中,每个报文需要增加约70字节的额外长度(加密报文额外增加的报文长度与加密算法以及特性配置强相关,需要根据不同的业务部署具体分析),报文封装格式参考如下:



解决方案

根据报文丢弃的根因,结合对比思科路由器的行为,在华为AR路由器上需要在接口下手工配置清除强制不分片标记的命令,进行如下配置修改后,问题解决:

#

interface GigabitEthernet0/0/2.123

 ipsec policy branches_1

 clear ip df

#

建议与总结
在部署A2A VPN加密前分片功能时,需要提前确认应用场景中是否存在强制不分片的加密后超出接口MTU的大包,如果存在,需要在接口上开启清除强制不分片标记功能。

END