随着网络通信技术和应用的快速发展, 应用程序提出越来越精细化、差异化的数据传输性能需求, 然而传统网络传输协议较低的灵活性导致其无法满足各类应用的差异化需求, 亟需研究差异化的可靠传输控制协议以适应未来场景. 本文提出一种差异化可靠传输协议, 并重点提出一种基于可靠度的差异化可靠传输拥塞控制机制, 为不同的可靠度差值设计不同的拥塞避免和拥塞恢复策略, 并通过带宽估计策略精准调节拥塞阈值. 经实验验证, 差异化可靠传输拥塞机制在传输效率方面相比基于丢包和基于时延的拥塞算法有较大提升, 同时实现了良好的公平性.
With the rapid development of network communication technology and applications, more refined and differentiated data transmission requirements of applications are put forward. However, the low flexibility of traditional network transmission protocols makes it unable to meet the differentiated requirements of various applications, and thus there is an urgent need to study differentiated reliable transmission control protocols for future scenarios. This study proposes a differentiated reliable transmission protocol and focuses on a reliability-based differentiated reliable transmission congestion control mechanism. Different congestion avoidance and congestion recovery strategies are designed for different reliability differences, and the bandwidth estimation strategy is employed to accurately adjust the congestion threshold. Experiments verify that the differentiated reliable transmission congestion mechanism has greater improvement in transmission efficiency than the packet loss and delay-based congestion algorithms and at the same time can achieve good fairness.
随着网络通信技术的飞速发展和普及, 各种新型网络应用不断涌现, 未来网络正朝着多样化, 智能化方向发展, 各种新型网络应用对于网络提出更精细化的需求. 同时随着数据通信技术进一步发展, 现在互联网存在多种数据传输方式, 每种传输方式都有其自身的特性. 其中有线传输网络主要通过光纤等有形媒质传送信息, 通信容量大、传输距离远、质量高[
互联网应用程序网络传输需求的多样性和通信质量的差异化特性使得传统的两个互联网标准传输协议TCP与UDP所提供的服务并不能完全满足这些应用需求, TCP协议以增加延迟和降低吞吐量为代价来提高可靠性, UDP协议虽然延迟低且吞吐量比较高, 但是没有可靠性保证. 对于部分应用来说, 一方面部分数据包丢失对其服务质量无较大影响, 例如高清视频传输场景中如果丢包率在一定阈值范围内则不影响用户体验[
因此, 本文针对应用差异化的可靠传输需求和不同链路的可靠性, 提出了一种差异化可靠传输协议(differentiated reliable transmission protocol, DRTP), 在满足应用可靠度需求条件下, 最大化提升应用传输速率. 在DRTP协议框架下, 重点设计了一种基于可靠度的新的拥塞控制算法.
为满足应用差异化传输需求, 目前的解决方案主要通过部分可靠传输协议实现. 部分可靠传输协议保证应用程序可以通过牺牲部分传输数据可靠性以提高网络传输速率或者网络吞吐量, 减少延迟抖动等[
基于通用传输协议的改进研究非常匮乏, 仅partially reliable transport protocol using ECN (PRTP-ECN)[
如何设计合理的拥塞控制算法解决网络拥塞, 减少网络丢包, 提高网络数据包传输效率是网络传输的研究热点[
目前的拥塞控制算法思路主要是通过检测网络丢包检测网络拥塞, 例如传统的NewReno算法和高带宽长时延的BIC-TCP、CUBIC[
然而目前的拥塞控制算法对于差异化可靠传输协议适用性较差, 差异化可靠传输协议应对于网络出现数据包重传时提高TCP传输速率, 而基于丢包的算法在网络频繁丢包时吞吐率较差; 基于时延的拥塞控制算法在某些环境下RTT延时不能反映网络拥塞状态; 基于时延和带宽测量的算法在频繁数据流时性能较差, 公平性较低.
总的来说, 现有的部分可靠传输协议沿用TCP拥塞控制算法, 没有考虑部分可靠传输协议中可靠度考量标准, 而目前的拥塞控制算法对于部分可靠传输协议和差异化可靠传输协议并没有完美适配, 因此本文基于可靠度设计一种适应于差异化可靠传输协议的拥塞控制算法.
目前拥塞控制协议主要适用于可靠传输协议, 比如TCP. 然而随着未来网络体系与网络协议发展, 为满足应用差异化需求, 差异化可靠传输协议将成为未来研究网络架构的新传输协议. 差异化可靠传输协议机制通过在发送端基于当前可靠度计算判断数据包是否可以丢失, 如果数据包允许丢失则发送通知包并进行窗口前移, 接收端在收到通知包时移动窗口进而发送新的ACK. 因此差异化可靠传输协议保留了ACK可靠传输机制和其拥塞状态机, 由于差异化可靠传输协议并未影响TCP拥塞状态机, 因此基于丢包检测和基于时延检测的拥塞控制算法适用于差异化可靠传输协议.
本文设计的差异化可靠传输拥塞控制机制通过检测网络丢包实现, 其主要算法是基于可靠度机制实现不同程度的拥塞避免策略和拥塞恢复策略, 同时基于网络带宽测量合理调控网络窗口阈值, 其实现机制主要分为可靠度满足目标可靠度的拥塞避免策略和拥塞恢复策略, 可靠度不满足目标可靠度的拥塞避免策略和拥塞恢复策略, 以及基于带宽测量调控窗口阈值策略. 差异化可靠传输拥塞控制框架如
拥塞控制机制设计框架
阶段 | 当前可靠度优于目标
|
当前可靠度不满足目标
|
拥塞避免 | 少下降 | 标准降 |
拥塞恢复 | 快增长 | 标准慢增长 |
差异化可靠传输与传统传输控制协议区别在于其需要时刻感知当前可靠度与目标可靠度进而判别是否发送通知包, 通过判别当前时刻网络传输可靠度与应用层所需可靠度差别, 进而实现差异化的可靠传输机制.
目标可靠度为应用层定义接口, 传输层感知当前应用所需目标可靠度, 然而目前由于应用的多样性, 目标可靠度采用人为设定, 目前在IP视讯业务中丢包率小于1%时画面流畅、较清晰、声音清晰, 而丢包率为3%时画面较流畅, 运动大时有轻微马赛克; 而对于天文台天文数据传输, 数据完整率基本保障97%–98%以上. 在数据处理时, 一般有明显错误的数据会剔除掉, 因为1%–2%的数据基本不影响最后的数据结果精度. 因此在实验测试时设置目标可靠度为2%.
当前可靠度为当前时刻数据主动丢失情况, 当前可靠度
其中,
差异化可靠传输拥塞控制机制基于当前可靠度实现不同拥塞避免策略和拥塞恢复策略, 当检测网络丢包时, 通过观测当前可靠度值, 如果当前可靠度大于目标可靠度则反映当前网络拥塞状态较轻, 同时也反映此时应用程序可以容忍数据包丢失, 因此在拥塞避免阶段网络可以较低程度降低拥塞窗口以更快恢复带宽, 因此当可靠度优于目标可靠度的拥塞避免函数如式(2)所示:
在拥塞恢复阶段拥塞策略以较快速率恢复拥塞窗口, 具体的拥塞恢复算法如式(3):
式(2)中
式(2)表明在可靠度优于目标可靠度时差异化可靠传输拥塞避免的窗口降低程度为
算法1. 带宽检测算法
1. if
2.
3. else
4.
5. end if
当检测网络丢包时如果当前可靠度值不满足目标可靠度则反映当前网络拥塞状态较严重, 同时反映应用程序对于数据包可靠度要求较高, 因此在拥塞避免阶段阈值函数如式(5)所示:
在拥塞恢复阶段窗口在每收到ACK窗口增加为
式(5)表明差异化可靠传输拥塞机制在网络重拥塞状态下通过窗口减半, 实现基于TCP拥塞避免机制进行标准窗口下降策略, 因为此时通过窗口少下降策略并未能完全减轻网络拥塞状态. 式(6)实现基于TCP拥塞恢复机制进行窗口慢增长策略, 有效避免通过三次函数快恢复策略而造成拥塞窗口频繁下降进而网络发生多次拥塞情况. 差异化可靠传输拥塞控制机制采用基于混合拥塞控制的方法, 使用可靠度作为主要拥塞指标, 使用丢包信息作为第2拥塞指示符, 共同调整窗口大小, 满足对TCP公平性和性能的设计需求.
差异化可靠传输协议在网络存在较大丢包时可以显示其优势, 相对于传统TCP传输协议明显提高传输速率. 差异化可靠传输协议拥塞控制机制的核心思想是基于可靠度和丢包信息实现不同程度拥塞避免和拥塞恢复算法, 然而基于丢包的拥塞控制机制在网络质量较差导致频繁丢包时仍有很大提升空间, 主要原因在于基于丢包进行拥塞检测对链路差错引起频繁丢包的网络拥塞状态误判, 导致拥塞窗口频繁下降, 难以尽快恢复进而降低链路带宽利用率, 而通过估计瓶颈带宽可以提高易损链路网络环境的传输控制协议性能. 因此差异化可靠传输机制在基于丢包实现拥塞控制机制的基础上通过瓶颈带宽估计策略合理设置网络拥塞避免阶段拥塞阈值, 具体的带宽测量方法如式(7)所示:
式(7)中
其中,
差异化可靠传输拥塞控制算法分为慢启动阶段, 拥塞避免阶段和拥塞恢复阶段. 慢启动阶段算法基于传统的TCP慢启动算法增长其窗口值, 当窗口值高于窗口阈值时算法进入拥塞避免阶段, 同时每收到ACK算法根据式(7)和式(8)计算当前网络带宽值; 拥塞避免阶段根据式(9)设置当前阈值; 拥塞恢复阶段算法通过查询当前可靠度判定当前可靠度是否高于目标可靠度, 如是则根据式(3)恢复带宽并设定窗口值, 否则根据式(6)设定窗口值. 因此算法时间复杂度为拥塞避免阶段每收到ACK时计算带宽, 以数据包个数为单位, 式(7)和式(8)的时间复杂度为
差异化可靠传输拥塞控制机制通过联合丢包检测和时延带宽检测控制拥塞窗口变化, 通过丢包检测提高时延带宽测量在网络拥塞时的带宽利用率较低的弊端, 同时通过带宽检测避免由于频繁丢包导致窗口下降问题, 下面将通过实验测试验证差异化可靠传输拥塞机制的性能.
为了验证差异化可靠传输拥塞控制机制的性能, 本次实验测试基于NS3网络模拟器实现, 系统为Ubuntu 16.04系统, 通过NS3中实现的差异化可靠传输协议, 测试不同拥塞控制算法对于差异化可靠传输协议性能影响, 实验测试不同丢包率、不同带宽时延和不同背景流下基于差异化可靠传输协议的各种拥塞控制算法实验性能. 其中实验网络拓扑如
NS3仿真网络拓扑
实验拓扑图中, 客户端基于NS3中BulkSend-Helper应用类实现数据流发送, 服务器基于NS3中PacketSinkHelper类实现数据接收, 丢包率设置基于NS3中RateErrorModel差错模型类实现.
对于未来网络场景, 例如卫星通信由于通信延迟和比特错误的概率, TCP传输性能受到影响, 而差异化可靠传输协议在易损网络中性能表现较佳. 差异化可靠传输拥塞机制算法旨在于不同丢包率下获得较大吞吐, 同时实现提高数据传输速率. 本文首先基于网络拓扑测试针对不同丢包率在差异化可靠传输协议下拥塞控制算法性能. 其中实验中指定差异化可靠传输的应用可靠度为98%, 具体的数据传输参数如
丢包率下NS3参数
参数 | 数值 |
数据包大小 (B) | 1 000 |
瓶颈带宽 (Mb/s) | 300 |
接入带宽 (Mb/s) | 500 |
链路时延 (ms) | 50 |
链路丢包率 | 0.1%, 0.2%, 0.4%, 0.8%, 1%, 2% |
路由器缓冲区 (KB) | 1.2×BDP |
发送缓冲区 (KB) | 2×BDP |
接受缓冲区 (KB) | 2×BDP |
首先通过设置不同链路丢包率测试NewReno, CUBIC, Vegas, Westwood, Westwood+, BBR及差异化可靠传输的拥塞控制算法congestion control based on reliability (CCOR).
300 Mb/s, 50 ms拥塞算法传输速率
300 Mb/s, 50 ms, 0.1% 丢包率下吞吐率变化
300 Mb/s, 50 ms, 0.2% 丢包率下吞吐率变化
差异化可靠传输协议在不同带宽和不同时延下表现不同性能, 下面基于
设置不同带宽和不同往返时延测试NewReno, CUBIC, Vegas, Westwood, Westwood+, BBR及CCOR算法有效数据传输速率.
不同带宽时延下NS3参数
参数 | 数值 |
数据包大小 (B) | 1000 |
瓶颈带宽 (Mb/s) | 10, 50, 200, 300, 500 |
接入带宽 (Mb/s) | 500 |
链路时延 (ms) | 30, 50, 80, 100, 200 |
链路丢包率 | 0.1% |
路由器缓冲区 (KB) | 1.2×BDP |
发送缓冲区 (KB) | 2×BDP |
接受缓冲区 (KB) | 2×BDP |
50 ms, 0.1%丢包率下传输速率
拥塞控制算法在不同网络流量下能够取得较好带宽同时保持数据流公平性是衡量拥塞控制算法特性的目标之一, 因此设置不同背景流验证差异化可靠传输拥塞控制算法性能. 其中背景流基于NS3下UdpEchoClientHelper类产生间隔UDP流.
100 Mb/s, 0.1%丢包率下传输速率图
100 Mb/s, 10 ms下吞吐率变化
公平性是拥塞控制算法的一个重要性能指标, 有的拥塞控制算法虽然传输吞吐率高, 但是公平性差, 比如最新的BBR协议[
100 Mb/s, 20 ms下CCOR拥塞窗口
100 Mb/s, 20 ms下CCOR吞吐率
随着未来网络体系的发展, 差异化可靠传输协议在未来网络传输协议有很好应用前景, 本文通过针对差异化可靠传输协议提出一种新的基于丢包和带宽测量联合的拥塞控制机制, 旨在于提高差异化可靠传输协议的性能, 同时最大化网络资源利用率. 差异化可靠传输拥塞控制机制通过差异化可靠传输协议的可靠度机制实现不同拥塞控制机制, 在当前可靠度满足目标可靠度时通过少下降式拥塞避免策略和快恢复拥塞恢复策略实现其窗口变化, 在当前可靠度不满足目标可靠度时通过标准式拥塞避免策略和恢复策略实现其窗口变化, 在可靠度考量标准下实现更好窗口策略, 同时差异化可靠传输拥塞控制机制充分考虑网络条件, 基于带宽测量作为窗口策略的变化标准, 提高不同丢包率下差异化可靠传输协议性能.
本文通过实验验证差异化可靠传输拥塞算法CCOR在不同丢包率、不同时延及不同背景流下均取得较好的实现性能, 相对于传统拥塞控制算法其窗口值和网络吞吐率均表现效果良好, 同时通过实验验证其公平性. 在未来针对于差异化可靠传输协议拥塞控制机制以及对于未来基于丢包和带宽实现不同程度拥塞控制机制提供一定的指导价值.
余少华, 何炜. 光纤通信技术发展综述. 中国科学: 信息科学, 2020, 50(9): 1361–1376.
侯继. 分析现代光纤通信传输技术的应用. 科技风, 2020, (3): 104.
段宗涛, 郑西彬, 李莹, 等. 车联网环境下的WiFi网络实验床. 微电子学与计算机, 2015, 32(7): 90–94.
陈欢, 任勇毛, 周旭, 等. 5G/B5G毫米波网络TCP传输性能分析. 计算机系统应用, 2020, 29(8): 9–15.
Jarschel M, Schlosser D, Scheuring S,
et al. Packet loss in high data rate internet data transfer for eVLBI. arXiv: astro-ph/0501018, 2005]]>
Grinnemo KJ, Garcia J, Brunstrom A. Taxonomy and survey of retransmission-based partially reliable transport protocols. Computer Communications, 2004, 27(15): 1441–1452.
et al. Using sequence number compensation to design DCCP partial reliability extension. Proceedings of the 2010 2nd International Conference on Education Technology and Computer. Shanghai: IEEE, 2010. 50–55.]]>
et al. MO-PR: Message-oriented partial-reliability MPTCP for real-time multimedia transmission in wireless networks. Proceedings of the 2018 14th International Wireless Communications & Mobile Computing Conference. Limassol: IEEE, 2018. 36–41.]]>
Cao YL, Zeng L, Liu QH,
Widmer J, Denda R, Mauve M. A survey on TCP-friendly congestion control. IEEE Network, 2001, 15(3): 28–37.
Ha S, Rhee I, Xu LS. CUBIC: A new TCP-friendly high-speed TCP variant. ACM SIGOPS Operating Systems Review, 2008, 42(5): 64–74.
Le HD, Nguyen CT, Mai VV,
Pawale SS, Vanjale SB, Joshi SD,
Cardwell N, Cheng YC, Gunn CS,
et al. TCP Westwood (+) protocol implementation in NS-3. Proceedings of the 6th International ICST Conference on Simulation Tools and Techniques. Cannes: ACM, 2013. 167–175.]]>
Jaeger B, Scholz D, Raumer D,
李振涛, 任勇毛, 周旭, 等. BBR-TCP协议实验性能评价. 计算机系统应用, 2018, 27(9): 229–235.