问题描述
客户使用我司VPN设备组网,分支去访问总部的部分应用卡慢,这个应用是金蝶用友U8之类的ERP应用。并且经过确认,客户VPN隧道里面其他的业务都正常,就只有这些应用访问慢。
有效排查步骤
1、VPN隧道不存在丢包延迟
2、两端设备性能正常
3、抓取vpntun隧道里面,业务的数据包进行分析,发现这个业务数据包本身存在大量的小包,并且属于高交互型的应用。数据包特征,如下图:



根因
此类金蝶U8用友ERP之类的应用,由于其业务的特性,多为高交互型的小包,VPN隧道延迟远高于内网延迟,所以会导致此类业务访问特别慢。
解决方案
推VDI的远程应用来解决此类问题
建议与总结
解释说明两个问题,第一个是为什么其他的业务不会卡慢,为什么在内网访问不慢? 1、举个例子,客户有10000字节的数据包,需要经过VPN隧道传输,如果分成50个字节一个数据包传输,那么需要200次。如果都是1500字节,那么7次就足够了。假设VPN隧道延迟是30ms,那么50字节的小包需要6秒才能完成,1500字节的,0.21秒就完成了,这样时间差距是巨大的。这就是为什么小包过多的应用为什么会访问慢 2、再举个例子,上面有提到数据包是高交互型的数据包。什么是高交互型的数据包,就是数据包里面能看到数据包是一个接一个的进行发送。正常的业务数据包,应该是连续发好几个数据包的,这样数据包传输效率更高 3、再再举个例子,假设总部内网延迟是2ms,公网VPN延迟40ms,同样的这种数据包数量,假设内网打开是2秒,那么公网VPN打开这个应用就是40秒,这个差距是巨大的。这个就是为什么同一个应用,在总部VPN打开很慢,在总部内网打开却很快的原因 综上1/2/3点,此类高交互型的小包在公网VPN隧道跑,就是会很慢,VPN隧道本身是没有解决办法的,只能是推VDI的远程应用来解决