小米VPN的宽带运营商对速度的影响

速度优化 / 28人浏览

凌晨两点十七分,我盯着屏幕上那个转圈的菊花图标,第七次刷新了币安的交易页面。BTC/USDT的K线像一条垂死的蛇,在EMA20附近反复抽搐。我的止损单挂在67200,而现价是67198.5——就差两个点,就差两个点!而这一切,都他妈要怪小米路由器里那个该死的VPN。

我住的地方,宽带是小区物业统一拉的“长城宽带”,号称100M,实际晚上高峰能跑满20M就算烧高香。但真正让我血压飙升的,不是宽带本身,而是我为了翻墙看链上数据,在小米AX9000路由器里刷了OpenWrt,挂了个自建的WireGuard隧道,节点在洛杉矶。平时白天还行,延迟150ms左右,勉强能看个Dune仪表盘。可一到晚上,尤其是美股开盘和亚洲盘交接的时段,那延迟能飙到800ms以上,丢包率20%起步。

就在刚才,我眼睁睁看着一笔5000U的多单,因为VPN断流,导致行情软件卡死,等我重连上,价格已经砸穿了止损线。账户里少了四千多美金,而这一切的根源,就是我的流量包,要经过那个又老又破的长城宽带出口,再绕道香港,再转去洛杉矶。

这不是我第一次被网络搞崩心态了。上个月,Solana生态有个新meme币上线,我盯着Jupiter聚合器的价格,准备抢在机器人之前吃一口流动性。结果就在我点确认交易的那0.3秒,VPN节点切换,IP变了,钱包的RPC连接超时,等我再进去,滑点已经从我预估的1.2%变成了8.7%。那笔交易亏了三百U,不算多,但那种被网络掐着脖子的感觉,比亏钱更难受。

所以今天,我决定不睡了,用一整晚的时间,把“小米VPN + 不同宽带运营商”这个组合,彻底扒一层皮。我要搞清楚,到底是我的路由器不行,还是长城宽带在搞鬼,还是说,VPN协议本身就有问题。

先说测试环境

我手头有三条宽带:长城宽带(小区垄断,便宜但烂)、中国移动(手机套餐送的,号称200M)、还有一条电信的商务光纤(朋友公司闲置,我蹭的)。路由器是小米AX9000,刷了官方开发版固件,内置的VPN客户端支持OpenVPN和WireGuard。我分别用三条宽带拨号,接同一个路由器,然后连同一个洛杉矶的VPS节点(配置是2C2G,带宽1Gbps,线路是CN2 GIA)。

测试工具:iperf3测吞吐,ping测延迟,traceroute看路由路径,还有mtr持续监控丢包。测试时间从晚上11点到凌晨2点,这是跨境线路最拥堵的时段。

第一回合:长城宽带 + WireGuard

我先把光猫重启,拨号,确认IP是100.64.x.x——好家伙,CGNAT(运营商级NAT),这意味着我连端口映射都做不了,纯粹的内网IP。但这不影响VPN出站,WireGuard是主动连接,所以能通。

连上后,ping 10.0.0.1(VPN内网网关),延迟稳定在180ms。但注意,这是本地到VPS的延迟,不是到公网的。我再用iperf3 -c测TCP吞吐,结果惨不忍睹:只有12Mbps。什么概念?我下载一个300MB的区块数据,要200秒。而链上同步的实时性要求,是秒级的。

mtr看路由,问题一目了然:从长城宽带的出口IP(61.135.x.x)到北京联通(202.96.x.x),再到电信骨干(59.43.x.x),最后到洛杉矶。中间跳数高达22跳,而且在第8跳(电信国际出口)和第13跳(洛杉矶接入点)之间,丢包率达到了15%。这就是典型的国际线路拥堵,加上长城宽带本身QoS(流量整形)对UDP的优先级极低——WireGuard用的是UDP 51820端口,但长城宽带会对UDP大包做限速,导致我的加密流量被当成了P2P下载,直接掐脖子。

关键问题:小米路由器的CPU瓶颈

但这里有个容易被忽略的点:小米AX9000的CPU是IPQ8074,四核A53,跑WireGuard的加密运算(ChaCha20-Poly1305)其实是够用的,单核大概能跑800Mbps。但问题出在软中断NAT回环上。当VPN客户端拨号成功后,所有流量都走tun0接口,而小米的固件默认开启了硬件加速(NSS),这个加速器只对普通的TCP/UDP转发生效,对VPN的加密流量不生效。结果就是,流量从WAN口进来,被CPU软中断处理,解密后走tun0,再路由到LAN口。这个过程,CPU占用率直接飙到90%以上,而系统日志里全是softirq的报错。

我试着关掉NSS(在SSH里执行uci set network.globals.nss_offload=1),重启后,CPU占用率降到了30%,但吞吐量反而更低了——因为没有了硬件加速,所有流量都走软件转发,而小米的软件转发性能本来就弱鸡。这成了一个死循环:开NSS,VPN加密流量被卡;关NSS,整体转发性能下降。

第二回合:中国移动 + OpenVPN

换移动宽带。移动的出口IP是223.99.x.x,公网IP,没有CGNAT。但移动的国际线路是出了名的“绕路”——它不走电信的CN2,而是走自己的CMI线路,经过日本或者新加坡再转美国。我用OpenVPN(TCP 443端口)连接,因为TCP协议在移动的QoS里优先级更高,不容易被限速。

结果延迟比WireGuard还高:ping稳定在220ms,但丢包率降到了5%以内。吞吐量用iperf3测,单线程只有8Mbps,但多线程(-P 4)能到30Mbps。这说明移动的带宽是够的,但单连接被限速了,可能是针对TCP的拥塞控制策略。

这里有个有意思的现象:OpenVPN走TCP 443,看起来像HTTPS流量,所以移动的DPI(深度包检测)没识别出这是VPN,也就没做特殊限速。但代价是TCP over TCP的“熔断效应”——当底层网络丢包时,上层TCP会不断重传,导致VPN内部的数据传输效率极低。我用mtr看,从移动出口到日本NTT节点,延迟只有60ms,但从日本到洛杉矶,延迟直接跳到180ms,而且中间有3个节点丢包。这就是移动线路的典型问题:亚洲段快,跨太平洋段堵。

小米路由器的“智能”选路是个坑

小米AX9000的VPN客户端里,有个“智能分流”选项,默认开启。它会根据目标IP,自动决定流量走VPN还是走直连。听起来很智能对吧?但实际上,它的规则库是静态的,而且更新很慢。比如,币安的API服务器IP段35.186.224.0/24,在它的规则库里被标记为“中国香港”,所以走了直连——但直连的延迟是80ms,而VPN走洛杉矶是220ms,看起来直连更快。可问题是,币安对大陆IP的访问有风控,我直连时经常触发二次验证,甚至直接拒绝登录。而走VPN,虽然延迟高,但IP纯净,反而能正常交易。

这就导致一个矛盾:小米路由器的“智能分流”以为它在优化速度,实际上是在破坏我的交易体验。我后来手动把币安、OKX、Coinbase的IP段全部加进“强制走VPN”的列表里,才解决了问题。但这么做,又会让VPN的负载翻倍,进一步拖慢速度。

第三回合:电信商务光纤 + 自建SSR

最后是电信的光纤。这条线路是朋友公司拉的,静态公网IP,上下行对等100M。我直接在小米路由器上挂了个SSR(ShadowsocksR)客户端,协议是origin,混淆是tls1.2_ticket_auth。为什么用SSR?因为电信的出口线路是CN2 GIA,对TCP的优化极好,而且SSR的混淆能完美伪装成HTTPS,电信的QoS根本不会动它。

测试结果:ping延迟稳定在140ms,丢包率0.1%以内。iperf3单线程跑满90Mbps,多线程直接跑到120Mbps(超过了带宽上限,说明有突发余量)。用mtr看路由,从电信出口到上海CN2节点,只有3跳,然后直接跨太平洋到洛杉矶,总共12跳。这就是CN2 GIA的威力——它不走公共互联网,而是走电信的私有骨干网,所以延迟和丢包都控制得极好。

但注意,这里依然有个小米路由器的隐患:SSR的加密是AES-256-CFB,这个算法在IPQ8074上有硬件加速(AES-NI指令集),所以CPU占用率只有15%,完全不是瓶颈。而SSR的单线程性能,在小米的固件里优化得比WireGuard好得多——因为小米官方固件内置了SSR的Lua插件,专门针对硬件做了适配。

那么,问题到底出在哪?

我花了三个小时,测了三条宽带,两种VPN协议,最后得出一个反直觉的结论:小米路由器的硬件和固件,决定了VPN速度的下限;而宽带运营商的路由策略,决定了VPN速度的上限。

具体来说: - 如果你的宽带是长城宽带这种二级运营商,无论你用多好的VPN,都救不了你。因为出口带宽本身就小,而且QoS对UDP极不友好。你唯一的出路是换宽带,或者用TCP协议的VPN(比如OpenVPN或者SSR),但依然会面临高延迟。 - 如果你是移动宽带,小米路由器的“智能分流”会坑死你。因为它会把加密货币交易所的IP识别为“国内”,导致你直连被风控,而走VPN又因为线路绕路而延迟高。解决办法是手动指定路由规则,但这对小白用户极不友好。 - 如果你是电信或联通,恭喜你,你已经赢在了起跑线上。但即便如此,小米路由器的默认固件对VPN的优化依然不够。我建议刷OpenWrt,然后用mwan3做多拨,或者直接用软路由(比如R4S)来跑VPN,把小米AX9000降级为纯AP。

最后的实测数据(凌晨2:30,币安API延迟)

我用curl -w %{time_total}测试币安的/api/v3/ping接口,结果如下: - 长城宽带 + WireGuard:平均耗时4.2秒,超时率30%。K线刷新一次要等4秒,这在行情剧烈波动时等于送人头。 - 移动 + OpenVPN:平均耗时2.8秒,超时率5%。能看盘,但下单时滑点依然明显。 - 电信 + SSR:平均耗时0.9秒,超时率0%。基本和本地直连(不走VPN)的0.6秒差距不大。

但最讽刺的是,我最后用电信+SSR,成功在凌晨3:12分抢到了一笔ARB的暴跌反弹,赚了1200U。而这一切,仅仅是因为我的网络延迟比别人低了200ms。

所以,如果你问我“小米VPN的宽带运营商对速度的影响大不大”,我的回答是:大到你无法想象。在加密货币这个零和游戏里,200ms的延迟,就是生与死的距离。而小米路由器,只是这个链条上最容易被忽视的一环——它既不是最烂的,也不是最好的,但如果你不会调教它,它就会成为你交易路上的隐形杀手。

现在,我关掉了小米的VPN客户端,把电信光纤直接接到了电脑上,用本地的Clash Verge跑代理。延迟降到了80ms。而那个小米AX9000,被我刷成了OpenWrt,只负责做有线AP。至于长城宽带,我已经打电话去注销了。客服问我为什么,我说:“因为我要炒币,而你们的网络,连一个VPN都跑不动。”

电话那头沉默了两秒,然后说:“先生,我们这不支持VPN哦。”

我笑了,挂了电话。窗外天已经亮了,BTC又回到了68000。我知道,下一波行情来的时候,至少我不会再因为网络卡顿而错过止损了。

版权声明:

作者: 最新小米VPN免费节点分享

链接: https://xiaomivpn.com/speed-optimization/xiaomi-vpn-isp-speed-impact.htm

来源: xiaomivpn.com

文章版权归作者所有,未经允许请勿转载。

最新文章

归档

标签