Wi‐Fi环境下智能设备下载中TCP BBR与CUBIC TCP的性能评估
摘要
Cardwell 等人于 2016年 提出了一种名为 TCP BBR 的新型 TCP(传输控制协议)拥塞控制算法。他们展示了该算法的优异性能,目前 TCP BBR 已被应用于 Google Cloud 和 YouTube 等谷歌服务中。他们还表明,在有线网络中,TCP BBR 连接之间能够实现良好的性能公平性。本文评估了在智能设备通过 Wi‐Fi 网络连接到服务器的场景下,智能设备网络中 TCP BBR 连接之间以及 TCP BBR 与 CUBIC TCP 连接之间的性能公平性。我们进而发现,在某些情况下未能实现足够的公平性。
关键词 —TCP BBR,吞吐量公平性,Wi-Fi,智能手机 平板电脑 个人电脑,智能设备
一、引言
TCP拥塞控制算法在长延迟高带宽网络中起着重要作用。
CUBIC TCP [1],是Linux内核的默认TCP算法,也是互联网服务器中最流行的算法。TCP BBR [2]是一种新的TCP算法,由Cardwell 等人于2016年提出。他们证明了该算法在许多情况下优于现有算法,并在TCP BBR连接之间实现了良好的性能公平性。然而,他们的评估并未考虑通过Wi‐Fi网络连接的智能移动设备,如智能手机和平板电脑。
本文中,我们评估了在多个TCP BBR连接或CUBIC TCP与TCP BBR连接共享瓶颈Wi‐Fi链路的情况下,TCP连接之间的吞吐量公平性。随后我们指出,在某些情况下并未实现吞吐量公平性。
II.相关工作
A. TCP拥塞控制算法
计算机的输出吞吐量由TCP(第四层协议)中的拥塞控制算法控制,这在计算机通信性能中起着重要作用。
CUBIC TCP [1]在 Linux 2.6.19 或更高版本中实现,并且是近期 Linux 内核的默认算法。由于许多互联网服务器都采用 Linux 操作系统构建,因此这被认为是使用最广泛的算法。该算法有意使其输出吞吐量超过瓶颈链路带宽,从而在瓶颈链路缓冲区中产生数据包队列。此队列导致较大的网络延迟。这种延迟问题被称为缓冲膨胀 [3]。
TCP BBR 是一种相对较新的算法,在 Linux 4.9 或更高版本中支持。该算法旨在通过在通信过程中估计实际瓶颈带宽,避免超过瓶颈带宽并避免产生数据包队列。
B. TCP公平性
TCP公平性是指不同TCP算法连接之间的吞吐量公平性。
已有诸多关于TCP公平性的研究论文发表。Hock等人指出,在1 Gbps和10 Gbps瓶颈链路下,TCP BBR与CUBIC TCP 之间并未实现公平性[4]。我们曾指出,在物理传播延迟较小的局域网中,TCP BBR和CUBIC TCP的吞吐量会周期性波动[5][6]。然而,这些研究均未考虑智能设备通过Wi‐Fi通信的环境。针对在无线网络中包含TCP BBR的公平性问题,Feng等人在4G长期演进(LTE)环境下评估了公平性[7],结果显示TCP BBR与CUBIC TCP之间实现了公平性,但同时指出TCP BBR自引起的延迟明显低于TCP CUBIC。然而,该研究并未讨论典型消费电子环境下的性能,例如智能设备通过WiFi连接到服务器的场景。
III. TCP BBR和CUBIC TCP在智能设备Wi‐Fi环境下的性能
在此,我们评估了智能设备通过WiFi通信时,TCP BBR连接之间以及TCP BBR与CUBIC TCP连接之间的吞吐量公平性。
描述了实验网络。发送方1、发送方2和队列均为运行Linux 4.13.2的PC。发送方1和发送方2分别采用 TCP BBR和CUBIC TCP。接收方1和接收方2分别为平板电脑(Nexus 7)和智能手机(iPhone 11 Pro)。它们同时且竞争性地下载数据。
与 BBR (Nexus 7) 的吞吐量对比) 描述了智能手机的CUBIC TCP和平板电脑的TCP BBR的测量吞吐量。 与 BBR (iPhone 11 Pro) 的吞吐量对比) 描述了平板电脑的CUBIC TCP和智能手机的TCP BBR的测量吞吐量。 与 BBR (iPhone 11 Pro) 的吞吐量对比) 显示了平板电脑和智能手机的TCP BBR的变化过程。
从图2和图3可以看出,无论下载设备如何,TCP BBR与CUBIC TCP之间的吞吐量公平性都不高。在两种情况下,CUBIC TCP的性能均明显优于TCP BBR。比较各设备可以发现,平板电脑的吞吐量略高。关注图4,我们还可以看到设备间的性能公平性在连接WiFi的智能设备网络中,TCP BBR连接数量不足。
IV. 讨论
首先,我们讨论CUBIC TCP显著优于TCP BBR的原因。
尽管TCP BBR不会发送过多的数据包以避免形成数据包队列,但CUBIC TCP会单调增加输出吞吐量和队列长度。我们使用内核监控工具监测了TCP BBR测得的最小RTT(往返时间),进而发现基于该RTT估计的BDP(带宽延迟积)以及基于此 BDP计算的拥塞窗口大小过小。TCP BBR基于最小往返时间(RTT)设置其拥塞窗口大小,该最小值为4 毫秒,尽管在我们的实验中实际往返时间(RTT)约为10毫秒。
其次,我们讨论智能设备上传数据时的性能表现,而第三节中我们测量的是它们下载数据时的性能。例如,在5G时代,智能手机预计将通过宽带网络主动发送数据。在空中的无人机上的智能手机可以通过5G网络将所有录制的数据发送到地面,从而存储高分辨率视频数据。在这些情况下,作为数据发送方的智能手机中的TCP算法起着重要作用。我们可以预期将获得非常相似的结果,即CUBIC TCP将显著优于TCP BBR。这主要是因为这些智能设备的内核与实验中使用的PC相同。安卓的内核是Linux,其他智能手机的TCP算法行为似乎也与现有的TCP算法非常相似。网络带宽和延迟情况也类似。在5G中,带宽将像我们的有线实验网络一样足够宽,其延迟也将像有线网络一样非常小。
五、结论
在本文中,我们评估了平板电脑和智能手机等智能设备通过WiFi网络使用TCP BBR和CUBIC TCP同时竞争性下载数据时的TCP吞吐量公平性。随后我们发现,其公平性并不高。
我们计划讨论一种提高公平性的方法。
9598

被折叠的 条评论
为什么被折叠?



