当前版本的QUIC不允许对多个流进行优先级带宽分配。在这封信中,我们提出了一种新颖的框架,即“面向优先级的拥塞控制优先级”(PCC Priority),以支持对QUIC流的优先级感知带宽分配。我们的框架将流的优先级纳入PCC的效用函数中,根据流的优先级比例分配带宽。我们还对PCC Priority进行了平衡分析,并证明它可以根据流的优先级进行比例带宽分配。我们使用ns-3模拟器进行实验,结果显示PCC Priority在遵循QUIC流的优先级设置方面优于最先进的协议。特别地,PCC Priority按照流的优先级比例分配带宽,同时保持竞争性的高吞吐量、低延迟和高丢包容忍度。
作者:Zhuoyue Chen; Kechao Ca; Jinbei Zhang; Xiangwei Zhu
来源:IEEE Networking Letters
标题:PCC Priority: A Priority-Aware BandwidthAllocation Framework for QUIC链接: https://ieeexplore.ieee.org/document/10106393
内容整理:鲁君一
简介
被主要网络运营商和浏览器采用的QUIC(Quick UDP Internet Connection)已经占据了越来越多的Internet流量(例如,到2020年在Facebook上高达75%)。由于其高水平的安全性和可靠性,QUIC已经在许多高流量应用中得到部署,例如YouTube 、Facebook等。一个很明显的观察结果是,在这种网络应用中,并非所有数据包都具有相同的重要性。某些数据包必须优先考虑,以满足不同的体验质量(QoE)要求,而其他数据包则必须更快地到达。例如,在加载YouTube网页时,为了避免页面阻塞,CSS和JavaScript文件需要优先于视频文件进行传输。在对延迟要求敏感的应用中,比如基于Tile的全景视频流,用户视口中的Tile应该被分配更高的优先级,并用更高的带宽进行传输。然而,目前QUIC协议并没有利用应用程序流中的优先级信息。此外,构建在QUIC之上的更高层协议,比如HTTP/3,已经禁用了其优先级方案,因为QUIC对优先级信号的乱序传递并不很好地容忍。因此,QUIC需要一种新的优先级感知带宽分配方案,以为更高层的应用程序提供差异化的服务。
PCC是一种通用的拥塞控制架构,允许持续高吞吐量和低延迟的数据传输。它使用效用函数结合在线凸优化技术来调整发送速率,从而提高网络流的吞吐量和延迟。应用程序可以根据自身需求修改效用函数,以适应复杂的网络环境。
为了充分利用PCC变种的高性能,同时支持QUIC中对流的优先级感知带宽分配,本文提出了一种带宽分配框架,称为PCC Priority。本文设计了一种优先级感知的效用函数,除了考虑吞吐量、延迟和丢包率外,还考虑了不同流的优先级。通过在线优化技术,PCC Priority可以动态地为不同优先级的流分配带宽,并确保高优先级流不会垄断所有带宽,从而不会阻塞低优先级流。
设计
PCC将时间线划分为许多连续的监视间隔。在每个间隔中,PCC测量吞吐量、延迟和丢包率,并运行许多“微型实验”(即增加或减少发送速率)来最大化其效用函数。利用基于在线学习的速率控制方法,PCC能够有效地跟踪发送方的最佳发送速率。目前有四种不同的PCC变体,分别是PCC Allegro ,PCC Vivace ,PCC Proteus-P 和PCC Proteus-S。下表列出了这些PCC变体以及本文提出的PCC Priority的不同效用函数和特性。
具体来说,在所有的效用函数中,对于网络流𝑖,𝑥𝑖 表示发送速率,𝐿𝑖 表示丢包率,𝑅𝑇𝑇𝑖 表示往返时延(RTT),𝜏 表示分槽传输时间,𝑑(𝑅𝑇𝑇𝑖)/𝑑𝜏表示RTT的梯度,𝜎(𝑅𝑇𝑇𝑖)表示RTT的偏差。𝑡、𝑏、𝑐和𝑑是发送方定义的参数。与以前的PCC变体不同,PCC Priority框架考虑了流𝑖的优先级 𝑝𝑖,并支持优先级感知的带宽分配。
PCC Priority框架建立在QUIC协议上,位于应用层,并在ns-3上实现。具体而言,PCC Priority由以下三个主要组件组成:
- 数据包分类:PCC Priority首先识别网络负载中指定的不同优先级的数据包,并将这些数据包分配到不同的流中。这允许更重要的数据包在更高优先级的流上传输。
- 网络效用计算:PCC Priority收集数据包级事件,并测量性能指标,例如吞吐量、往返时延(RTT)和丢包率。利用这些测量值,发送方可以计算PCC Priority对于流i的效用函数
- 在线速率控制:PCC Priority使用此组件通过使用在线梯度下降法来调整发送速率并实现优先级感知的带宽分配。
PCC Priority框架如下图所示:
性能评估
本文使用ns-3仿真来评估PCC Priority和其他带宽分配框架。为了评估,考虑一个情景,发送方通过连接两个交换机的瓶颈链路向接收方发起两个流,如下图所示:
优先级感知带宽分配性能
为了评估优先级感知带宽分配的性能,本文测量不同优先级(𝑝1和𝑝2)的流的吞吐量(𝑥1和𝑥2),并检查高优先级流的吞吐量与低优先级流的吞吐量之比。对于一个优先级感知的带宽分配框架,这个比值应该接近于它们的优先级比,即𝑥1/𝑥2 ≈ 𝑝1/𝑝2。下图展示了不同框架下𝑠1和𝑠2的吞吐量。
吞吐量、延迟和丢包性能
为了展示PCC Priority在吞吐量、延迟和丢包方面的高性能,本文测量这些指标并将PCC Priority与PCC Proteus、CUBIC、LEDBAT和Copa+进行比较。具体而言,实验包括使用单个流在基准50ms的RTT上和不同缓冲区大小下的50Mbps链路上进行几个100秒的数据传输会话。下图分别展示了不同协议在不同缓冲区大小的链路上的吞吐量,延迟膨胀比和在非拥塞丢包情况下的吞吐量。
版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。