7.6 Mobile Cellular Networks
Last updated
Last updated
我们将以一个持续吸引研究社区关注的用例作为本书的结尾:拥塞控制与移动蜂窝网络之间的相互作用。从历史上看,TCP/IP 互联网和移动蜂窝网络是各自独立发展的,后者自3G服务推出以来,一直作为端到端TCP连接的“最后一公里”。随着5G的部署越来越多,我们可以预期移动网络在提供互联网连接方面将发挥越来越重要的作用,这也带来了更多有关它时如何影响拥塞控制的关注。
在互联网端到端路径中,虽然移动无线网络可以被视为与路径上的其他跳没有差异,但由于历史原因,它一直被当作一个特殊情况处理。所以,互联网端到端路径被逻辑划分为如图42所示的两个部分:经过互联网的有线部分和经过Radio Access Network(RAN)的无线最后一跳。移动无线网络被当做特殊情况是有理由的,因为(1)由于射频频谱匮乏,无线链路通常是瓶颈;(2)由于设备移动性和无线电干扰的综合作用,RAN中可用的带宽可能变化较大;(3)一个特定基站服务的设备数量也会波动,因为设备会从一个cell移动到另一个。
尽管RAN的内部结构大多是封闭和不公开的,研究人员通过实验观察到,RAN在边缘存在大量的缓存,这当有竞争流量且转发容量不够时,缓存可以吸收这些竞争流量,当容量重新打开时,又可以有足够的数据用来被发送。正如Haiqing Jiang及其同事们在2012年CellNet workshop的论文中所指出的,这种大缓存对于 TCP 拥塞控制机制来说是有问题的,因为它导致发送方会以超出实际可用带宽的速率发送数据,并在此过程中,引入了明显的延迟和抖动。这是在第6.3节中识别的 bufferbloat 问题的另一个例子。
更多阅读:H. Jiang, Z. Liu, Y. Wang, K. Lee and I. Rhee. Understanding Bufferbloat in Cellular Networks ACM SIGCOMM Workshop on Cellular Networks, August 2012.
Jiang的论文提出了可能的解决方案,并认为基于延迟的方法如 Vegas 比基于丢包的方法如 Reno 或 CUBIC 表现更好,但这个问题在接下来的十年来仍然没有得到很好的解决。随着开源软件实现的RAN逐渐兴起(具体详情请参见我们的5G和SDN相关书籍),不久的将来,可能会采取跨网络层方法来解决这里的问题,其中RAN提供一个接口,该接口能让网络协议栈的高层看到基站内部的情况(类似于第6章描述的AQM机制)。Xie, Yi 和 Jamieson 的近期研究表明这样的方法可能会有效,尽管他们的实现使用的是端到端设备的反馈,而不是直接读取RAN。但无论采用何种实现方式,目的都是让接收端明确告诉发送端在最后一跳上可用的带宽有多少,然后发送端必须判断是最后一跳还是互联网的某个位置是实际的瓶颈。
更多阅读:Y. Xie, F. Yi, and K. Jamieson. PBE-CC: Congestion Control via Endpoint-Centric, Physical-Layer Bandwidth Measurements. SIGCOMM 2020.
L. Peterson and O. Sunay. 5G Mobile Networks: A Systems Approach. January 2020.
L. Peterson, C. Cascone, B. O’Connor, T. Vachuska, and B. Davie. Software-Defined Networks: A Systems Approach. November 2021.
在蜂窝网络中,另一个对 TCP 拥塞控制构成新挑战的是链路的带宽是不稳定的,它随着每个接收端所经历的信噪比的不同而变化。如BBR作者所指出的,这种无线链路的调度器(目前还不透明)可以将给定客户端的队列包的数量作为其调度算法的输入,而队列包的累积可能会带来一种“奖励” --- 使得调度器分配更多的带宽。BBR在其设计中通过确保它足够激进 --- 至少在无线链路的队列中缓存一些数据包,来尝试规避这个问题。
如果先不考虑过去的研究课题,一个有趣的问题是:未来无线连接是否会持续保持其独特性。如果你采取世界观的一种分割视角,并且你是一个移动网络运营商,那么的目标一直以来都是,如何在条件变化极大的情况下,最大化利用稀缺的无线电频谱。通过深的队列来保持提供的工作负载尽可能的高,是一种证明有效的达成目标的方式。当宽带连接刚刚诞生时,且语音和文字是当时最主要的用户场景时,这么做的确合理。但是今天的 5G 已经能提供良好的 TCP 性能,重点应该是端到端的goodput(注,详见1.2),以及最大化吞吐/延时比(即,第3.2节讨论的功率曲线)。但是,还有改进的空间吗?
我们相信这个问题的答案是肯定的。除了前面提到的关于提供RAN调度器和队列的可见性之外,还有三个因素有可能改进这里。首先,5G部署大概率会支持 network slicing,这是一种隔离不同类别的流量的机制。它意味着每个切片都有自己的队列,并以特定于流量的方式进行调整和调度。其次,small cell 的增加很可能会减少特定基站竞争带宽的流量数量。但这将如何影响调度器 并最大化频谱利用率尚未可知。第三,5G连接设备会越来越常见的通过一个边缘云提供服务,而不是通过互联网的另一端提供服务。这意味着端到端的 TCP 连接将具有更短的RTT,从而使得拥塞控制算法对于RAN中可用容量的变化更加敏感。当然,以上都是理论论证,并不一定会发生,但所有这些因素应该可以为未来进一步调整拥塞控制算法提供充足的机会。