Page 129 - Web性能权威指南
P. 129
不用说,这些条件使得 4G 网络对运营商而言是一个昂贵的方案:所有无线基站都
要接入光纤、高性能路由器,等等。实践中,经常能够看到网络整体性能受限于运
营商网络的回程容量(backhaul capacity),而非无线接口。
这些性能瓶颈是我们作为移动应用开发人员无法控制的,但它们却再一次昭示了一
个重要的事实:架构关系到端到端的性能。消除了第一跳(也就是无线接口)的瓶
颈,也就是消除了网络中第二慢链路的瓶颈,无论是在运营商网络中,还是在通往
目的地的其他路径上。
事实上,这也不是什么新鲜东西了,我们早在 1.4 节“延迟的最后一公里”中就提
到过这个问题。连接到 4G 网络,并不意味着你能享受相应无线接口提供的最大吞
吐量。相反,我们的应用必须适应运营商网络,乃至互联网上不断变化的网络条件。
7.5 移动网络中的分组流
在开发移动应用的过程中,人们抱怨最多的就是延迟时间捉摸不定。现在,既然我
们已经了解了 RRC 和移动网络的宏观架构,接下来就可以把这些知识点联系起来,
看一看端到端的分组数据流,从而揭示出延迟时间变化不定的原因。实际上,通过
分析我们也会明白,其中很多可变性其实很大程度上还是可以预测的!
7.5.1 初始化请求
我们假设用户已经通过了 4G 网络的验证,移动设备处于空闲状态。现在,用户打
开浏览器,输入 URL,点击“前往”。接下来会发生什么?
首先,由于手机处于空闲 RRC 状态,因此无线电模块必须与附近的信号塔同步,然
后发送一个请求,以便建立无线通信环境(图 7-12,第①步),此次协商需要手机
与信号塔之间的几次往返,可能需要花 100 ms。如果是前几代网络,那 RRC 由服
务网关负责管理,这个协商过程要长得多,可达几秒钟。
建立了无线通信环境后,设备就会从信号塔得到相应资源,从而能够以特定的速度
和功率传输数据(第②步)。用户数据从无线电模块传输到信号塔的时间称为用户面
单向延迟,在 4G 网络中大约要花 5 ms。实际上,由于需要 RRC 切换,第一个分组
花的时间比较多,但只要无线电模块保持高功率状态,后续分组的延迟时间都是恒
定的,也就是第一跳的延迟时间。
移动网络 | 113