LINK TURBO 全方位分析:原理、细节、测试

百家 作者:爱否科技 2018-12-27 13:22:59


 - 文字版 -

老实说当我看到 Link Turbo 这个名字的时候内心是失望的。最开始的 GPU Turbo 的确是一个吓人的技术,随后的 CPU Turbo 就有点蹭热度的嫌疑了,现在又搞出来个 Link Turbo,号称可以同时利用 Wi-Fi 和 LTE 来提升网络表现。那这个 Link Turbo 究竟是真实有效的技术,还是又一个营销词汇呢?

首先我们要明白 Link Turbo 想解决的问题是什么:它要智能在 Wi-Fi 和 LTE 之间选一路或者两路并用来改善网络体验。听上去很复杂,但其实就是想解决一个 Wi-Fi 不行的时候自动切换到 LTE 的痛点。

但是怎么判断 Wi-Fi 不稳定?是不是网络稍微波动一下就切换?什么时候用单路、什么时候 Wi-Fi 和 4G 并用?多耗流量怎么办?Wi-Fi 恢复了之后还会切回来吗?和苹果的无线局域网助理有什么区别?好像问题还挺多。

为此我们对荣耀 V20 做了详尽的测试,来尝试看看实际应用效果。也深入华为内部,和对方工程师进行了详细的交流,来尝试解析 Link Turbo 的实现原理。


设计实验

三种手段,20 台手机


我们针对它想解决的问题,设计了三种 Wi-Fi 不通畅但 LTE 通畅的实验环境,细分为三个:第一个是 Wi-Fi 网速受限,比如说舍友在下东西,或者酒店商场 Wi-Fi;第二个是路由器本身满载,信道占满或者路由器性能太差,比如说办公室几十个人用一个路由器;最后一个干脆就是弱信号,比如你家别墅太大。

针对这三种情况我们要控制变量:网速占满的情况,通过路由器端限速的功能,给测试手机仅保留 1mbps 的上行/下行速度;

路由器负载过大的情况我们直接粗暴地给路由器连上 50 个手机,光连上还不行,这些手机要不停通过 IPERF 命令与服务器建立小流量、但不间断的连接,然后我们在这个有压力场景下进行测试。

不过现实是冰冷的,当打流的手机达到 20 台的时候,网络基本已经瘫痪了。所以这项测试我们只好只用 20 台手机打流,在此之上做测试。因为这不是个路由器横评,我就不提是哪家的路由器了。

弱信号我们发现只把路由器拿远还不够弱,为了模拟穿墙,我们直接把路由器塞到屏蔽箱中,半盖上盖子。这种环境能把 Wi-Fi 热点的 RSSI 控制在 -75 左右,基本就是只有一格,但就是不断,百爪挠心的状态。

参与测试的手机有荣耀 V20、三星 S9+、一加 6T、小米 MIX3 和 iPhone XS Max,其中 iPhone 在系统中开启「无线局域网助理」、荣耀 V20 开启 Link Turbo、三星、一加和小米开启「自适应 WLAN」,三星 S9+ 比较特殊,在「切换到蜂窝数据」这里有「普通模式」和「主动模式」两个选项,所以 S9+ 我们要分开两个情况来测试。


测试结论

Link Tubro 确实有用


第一项测试是 Speedtest,三次取平均值,在 Wi-Fi 网速受限的场景下,V20 下载速度可以达到 138.33mbps,上传速度可以达到 18.53mbps,这显然是有 LTE 帮忙加速了,其他手机因为被限速,下载上传速度基本都在 1mbps 附近。

在路由器拥堵的场景下,荣耀 V20 同样有非常好的表现,iPhone 和三星仍然死抠 Wi-Fi 不放,速度在 1mbps 左右;MIX3 和一加 6T 则是尝试多次无法完成测试。

在弱信号场景,V20 仍然可以借助 LTE 来加速,此时仅有三星的主动模式可以切换到 LTE 上,其他手机速度都很差。

在这些情况下,荣耀 V20 不是切换到 LTE 业务,而是 Wi-Fi 和 LTE 并用,所以速度比只用 LTE 还要稍高一些。不过细心的朋友可能已经看到了,我们在 Speedtest 上选择的是 HUAWEI Shenzhen 节点。如果换到了距离我们最近的 China Unicom Beijing 节点,V20 的表现就和其他手机差不多。

诶?怎么回事?

这其实不是什么猫腻,这是因为在 Speedtest 上,Link Turbo 调用的加速技术叫做 MP-TCP,也就是多个路径上进行 TCP 连接,在手机这种天生就有 Wi-Fi 和 4G 两条网络连接的设备上,就可以把这两条连接一起用起来,实现网速叠加;如果其中一条连接断掉,还可以无缝切换到另一条连接。

这项技术 2013 年诞生,是一个行业开源项目,但是很少有人应用。MP-TCP 需要客户端和服务端都进行适配,此次荣耀 V20 在手机端包含了这项技术,但是也需要服务器端进行相应的适配工作才行。而 China Unicom Beijing 节点没适配 MP-TCP,自然就没办法增速;刚才那个 HUAWEI Shenzhen 的节点,是华为自己搭的。

所以大家应该也看出来了,MP-TCP 是一个确实有效的技术,而它的价值就取决于有多少服务可以支持它。不然谁没事干每天只是测速呢。

还好,爱奇艺支持 MP-TCP。根据我们的测试,缓存一集电视剧,在三个 Wi-Fi 不理想的场景上,荣耀 V20 总是第一个缓存完的,在后两个场景,一部分竞品手机甚至出现了持续零速度和下载中断的问题;iPhone、三星的主动模式和一加 6T 偶尔可以切换到 LTE 下载,但并不能完整覆盖三个场景。

据我们了解,爱奇艺的这个缓存加速功能,首先需要你是爱奇艺会员,其次初期仅限北京地区。

刚才我们提到 MP-TCP 是一个存在了几年的开源项目,但是因为流量一直都比较贵(中国已经算便宜的了,国外更贵),一直都没有找到很好的使用场景,我流量这么贵你还要拿它下东西?实际上在 iOS 7 上,Siri 就已经通过 MP-TCP 来加速语音识别的速度了,并且在 iOS 11 上也提供了相应的 API,但是一直鲜有 app 去应用。

怎么推广 MP-TCP 就是个问题。这个问题华为方面给出的答案有两个:第一个是最近腾讯王卡、2233 卡这种免流卡比较流行,流量价格实际上已经比较低了;二来是,它们会去尝试和公有云 CDN 服务商来谈合作,加速 MP-TCP 的部署。这个思路其实很聪明。

现在网络上的静态内容很多都通过租用 CDN 服务来加速分发,把静态文件存放到多个高速 CDN 节点上,用户就近访问,速度就很快。如果这些 CDN 服务支持 MP-TCP 技术,就意味着放在 CDN 上的文件直接就可以被多路访问,免去了开发者手动一个一个适配的难度。

实际上斗鱼的一部分流量就走了网宿的 CDN 服务,而华为和网宿谈好 MP-TCP 的部署之后,就可以直接加速斗鱼直播,不需要斗鱼做太多工作。

至于多耗流量的问题,华为方面表示这个功能会默认关闭,只有用户手动打开才启用。

下一项是游戏测试。首先是《崩坏3》。

在 Wi-Fi 网速受限的场景,我们发现 1mbps 的网络完全可以满足《崩坏3》的需求,大家的时延都在 50ms 左右,荣耀 V20 以微弱优势领先。

在路由器拥堵的场景下,V20 的延迟仍然在 50 毫秒左右,而其他手机就比较崩溃了,四百的、五百的、一千多的都有。iPhone 和主动模式的三星甚至中途掉线。

在 Wi-Fi 弱信号的场景下,V20 开始的时候延迟稍高,随后降低到 45ms 左右;iPhone 最开始延迟爆高,随后自动切换到 LTE,恢复正常;小米 MIX3 没有切换到 LTE,但是表现也不错。为什么九十多一百多也能说不错呢?因为剩下的手机都是这样的,最高点是 5294ms。

可以看到荣耀 V20 的表现比较稳定,其他所有机型至少在一个场景扑街。

这个部分 Link Turbo 调用的技术就不是 MP-TCP 了,而是 MP-UDP。这也不再是开源标准了,而是华为专利的多路径 UDP 协议。

学过计算机的朋友应该知道,UDP 协议比 TCP 更轻量,适合网游、直播这种要求低延时的数据传输。那么在多个路径上实现 MP-UDP,一来可以把一个包分两路传输,降低延迟,二来可以在 Wi-Fi 不稳定的时候,无缝切换到 4G。

同样,MP-UDP 也需要客户端和服务端全都适配才行,所以《王者荣耀》没有适配,V20 也无能为力。

但是这次适配的《崩坏3》也不是米哈游官方的原生适配,而是通过华为云的代理服务器实现的,也就是说,手机通过多路 MP-UDP 协议连接华为云的代理服务器(gameturbo.huaweicloud.com),然后代理服务器用稳定高效的主干网络连接《崩坏 3》的服务器,中间中转了一步。

适配的复杂度可能比各位想象的还要高,它不止是一个技术问题,还是一个商业问题。甚至我们听说华为和国内某游戏厂商的合作都已经谈到最后阶段,内部已经有 Demo 了,结果双方因为商务的事宜没有谈拢,适配就泡汤了。崩坏算是后来紧急适配,就只能用走代理这么个临时方案,好在效果还不错。

我还是愿意相信无论是手机厂商还是游戏厂商,都希望给用户一个好的体验。只是希望双方不要因为一些资本利益的问题,就让好的技术白白浪费。就我们目前来看,MP-UDP 的适配工作仍然停留在华为找游戏商一家一家去谈的阶段,要么就是支持华为自己的软件,比如华为云电脑。不过华为方面表示会有 SDK 和开发文档放出来,最终允许所有开发者去适配这个功能——可不要食言哦。

多耗流量的问题和刚才一样,这个功能默认关闭,需要用户手动开启。不过说实话,玩游戏也耗不了太多流量。

那么有没有什么办法,是可以不依赖适配的呢?有,只要不是 Wi-Fi 和 LTE 两路并用,手机自己选一路连接,就不需要软件或者服务器适配。这就是 Link Turbo 的第三个部分,叫做“智能链路分流模式”,这名字……

发布会上称 Link Turbo 已经支持了抖音、滴滴出行、微信、支付宝这些,其实就是分流模式在检测到使用某些特定软件时,持续检测 Wi-Fi 网络的质量,如果检测到 Wi-Fi 连接不稳定,就将这条链路切换到 LTE 上。

在渣 Wi-Fi 上自动切换到 4G 的功能我们并不是第一次看到了,比如在 iOS 上有一个「无线局域网助理」;Android 上也有「自适应 WLAN」;我们刚才也提到在三星 S9+ 上,甚至还分「普通模式」和「主动模式」。那么我们就要看看它们的实际效果如何了。

同样是三种渣 Wi-Fi 场景:在第一个限速 1mbps 场景,无论是抖音还是视频通话,其实都够用了,所以在这个时候,所有手机都不做切换,保持在 Wi-Fi 上,节省流量;

在路由器拥堵场景上,差异就体现出来了:其他手机都卡死在了加载上,荣耀 V20 最开始也卡,但是 10 秒之后意识到 Wi-Fi 不行,切换到了 LTE 上,然后就可以正常刷新了。微信视频通话时荣耀 V20 在 20 秒后切换到了 LTE,其他手机都保持在 Wi-Fi 上,有不同程度的卡顿,甚至无法拨通。

在弱信号场景,刷抖音,小米、一加和三星的普通模式卡了两分钟之后,掐断了 Wi-Fi,切到了 LTE 上;荣耀 V20 和刚才一样,10 秒之后切到了 LTE 傻姑娘。三星的主动模式则是一上来就判断 Wi-Fi 不可用,直接用 LTE,甚至比荣耀 V20 还痛快。iPhone 全程没切 LTE,也没加载出来东西。而在弱信号场景视频通话时,荣耀 V20 会在 12 秒之后切换到 LTE,iPhone 和 MIX3 会在 20 秒之后掐断 Wi-Fi 切换到 LTE,S9+ 普通模式用了 30 秒切换;S9+ 主动模式没有显示切换,但全程都有微卡顿;一加 6T 全程卡顿。

这次我们也看到 iPhone 和三星都是有一定的自动切换能力的,其中 iPhone 基本可以稳定地做到 Wi-Fi 信号弱的时候自动切换到 4G,但是拿拥堵没什么办法;三星的切换机制我们没太弄明白,有的时候弱信号切换,有的时候又怎么都不切换,这里面机制很奇怪。

荣耀 V20 基本可以做到该切换的时候切换,不该切换的时候不切换。这倒不是因为荣耀 V20 适配的场景多,而是因为「分流模式」判断 Wi-Fi 渣不渣的方法是看一个包从发出到传回用了多久,无论是因为什么导致的网络不好,只要网络不好,传回的时间就会拉长,这个时候就切,所以还是很本质的。

根据华为的说法,「分流模式」这套切换机制,虽然理论上可以移植到别的手机上,但是在华为自己的 MODEM 上效果最好。理由有两个:

第一个是 Wi-Fi 和 LTE 的切换算法是在 MODEM 级别做切换,只需要 400ms 就可以完成路径切换,这里面需要对 MODEM 有足够的控制权限,其他的 MODEM 不会给手机厂商开放特别高的权限。

第二,同样是权限问题,当通过包传回的时间判断网络拥堵的时候,如果真的是人家服务器挂了,那么切换到 LTE 也还是挂的,所以手机其实还是要看一下是不是真的 Wi-Fi 不行导致的卡顿,这里需要直接读取 MODEM 物理层提供的 Wi-Fi 射频参数,同样需要很高的权限,第三方的 MODEM 不给这个权限,只能读取经过系统和软件层层加工过的 Wi-Fi 信号质量,判断起来不够准。

关于流量消耗的问题,「分流模式」这部分的功能是默认开启的,但是在使用流量超过阈值的时候给用户一条提示。/「分流模式」这部分的功能是默认关闭的,在使用流量超过阈值的时候给用户一条提示。点击按钮就可以强制切回 Wi-Fi。

在手机判断 Channel Load 畅通、RTT 低于 500ms 时,也会自动切回 Wi-Fi,节省流量。不过大家也应该看到了,分流模式适合的是需要及时响应且小流量的应用,所以其实流量消耗还好。

注意一点,「分流模式」在切换到 LTE 的时候,弹出的这条通知说的是“正在同时使用 Wi-Fi 和数据连接”,是因为在这个时候,系统不是把所有的网络连接都一股脑搬到了 4G 上,而是只把现在前台的这个软件网络切换到 4G,其他的后台软件还在 Wi-Fi 上。

这意味如果是你自己的手机在下载东西,导致了 Wi-Fi 的拥堵,此时再打开抖音它只会让抖音走 4G,下载还在 Wi-Fi 上。刚才我们看到 iPhone 或者三星切换到 4G 都是全局切换。

不过我发现一个槽点就是,系统自带的浏览器居然没适配「分流模式」,我觉得这个需求应该还是挺多的,毕竟网卡的时候也难免要搜索个东西,希望早点适配吧。


总结

内核技术确实很硬


总体而言,Link Turbo 这个技术,别看名字挺噱头,内核的技术还是很硬的。

目前我能想到最大的障碍应该就是适配的进度。MP-TCP 和 MP-UDP 需要开发者去适配,如果华为能持一个开放的心态,提供完善的 SDK 和文档,甚至是开源的话,我能想象到这个技术会很快流行起来;而如果是封闭的心态,纯靠自己推动,我想很艰难,更何况还可能遇到一些非技术的问题,商业问题什么的。

而「分流模式」的部分我理解是 MP-TCP 和 MP-UDP 普及前的一个过渡方案,毕竟以华为一己之力是不可能适配市面上所有软件的。不过可以想象到这个技术会伴随我们一段时间,在将来双卡双网手机上市之后,在一张卡信号不好的时候自动切换到另一张卡上网的功能,还是会依赖「分流模式」的。

虽然理论上 Link Turbo 可以做到得知用户是大王卡之后,免流的那些应用都放开了用流量,但是我还是希望华为最终把它打造成一个开放标准,有生态,大家一起做才能蓬勃发展。不然啊,反正别的厂商也会抄的,到时候标准混乱,体验更不好。

我们很高兴看到华为今年的三个 Turbo 里面有两个的确是挺吓人的,也衷心觉得我们离「中国制造 2025」更近了一步。只有一点建议:营销的时候少点沸腾,多点干货,这样也不辜负实干企业的形象。



撰文 / 跃琨

编辑 / 恺伦

责任编辑 / 纤尘

公众号视觉 / 又耳

© 爱否科技原创内容 转载请联系后台






点击阅读原文,前往腾讯视频查看视频

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接