========懒人可以跳到最后========
背景:Azure东部机房基本A1,Ubuntu14.04系统;
江苏电信的VPS,带宽百兆,Debian7系统,安装了锐速加速;
直接下载文件速度:
root@phiyme-azure1:~# curl -o test
http://xxx/100mb.test -H "Host:xxx"
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 100M 100 100M 0 0 10.6M 0 0:00:09 0:00:09 --:--:-- 10.7M
用openvpn的static key模式建立了隧道VPN,基于UDP协议时:
ping,ICMP over UDP,延时15ms左右,丢包率13%~18%波动;
下载,TCP over UDP,因为是内网所以不受到锐速加速:
root@phiyme-azure1:~# curl -o test
http://10.xxx/100mb.test -H "Host:xxx"
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 100M 100 100M 0 0 864k 0 0:01:58 0:01:58 --:--:-- 913k
尝试将openvpn的协议替换成了tcp(azure作为server,江苏电信作为client):
TCP over TCP下载,外层TCP走公网受到了锐速加速
root@phiyme-azure1:~# curl -o test
http://10.xxx/100mb.test -H "Host:xxx"
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 100M 100 100M 0 0 2066k 0 0:00:49 0:00:49 --:--:-- 2014k
本来以为是TCP的问题,后来发现ICMP over TCP也有丢包现象(表现为ping值波动,是重发包的表现),意识到和锐速有关,把锐速在tun接口也打开了,openvpn协议换回UDP,TCP over UDP(内层TCP经锐速加速)
root@phiyme-azure1:~# curl -o test
http://10.xxx/100mb.test -H "Host:xxx"
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 100M 100 100M 0 0 3721k 0 0:00:27 0:00:27 --:--:-- 3670k
在测试过程中,系统负载、内存、CPU均很低,基本可以排除其它瓶颈。
已经提交客服支持,等待回复。
========结论========
1、Azure的网络bug/QoS会导致openvpn数据产生丢包,原因可能是加密流量、非标准端口等,TCP与UDP协议均会丢包
2、我给锐速打了个软广告