一种基于时延的移动终端多路径TCP拥塞控制算法

作者:左剑; 刊名:广东通信技术 上传者:杜开群

【摘要】多路径TCP提供的多路传输可以显著提高移动终端的吞吐量,但在LTE/WiFi异构网络中,MPTCP的吞吐量会明显降低,这是因为LTE和WiFi的时延有着较大的差异,使MPTCP在传输过程中产生较多的乱序数据包,引起线头阻塞问题.本文通过对乱序数据包的产生原因进行分析,提出一种基于时延的机会链接增长拥塞控制算法,经仿真实验证明,本文所提算法可以提升移动终端MPTCP吞吐量约15%.

全文阅读

引言 不同于传统TCP,多路径TCP[1](MultipathTCP,MPTCP)可以提供端到端的多路通信,它把一条数据流分成多个子流,通过多条链路同时进行传输,从而提高吞吐量。此外,MPTCP还可以通过在多条链路上重传数据来提高鲁棒性。正是由于MPTCP的优越性,IETF(TheInternetEngineeringTaskForce,国际互联网工程任务组)为此专门成立了MPTCP工作组,致力解决MPTCP体系结构、拥塞控制、路由、API、安全方面的问题,并且保证MPTCP可向后兼容传统TCP。目前,已经在体系结构、安全性能、拥塞控制方面形成了相关的RFC文档[2][3]。 网络技术和无线技术的进步,使得目前智能手机普遍同时支持LTE和WiFi,这为MPTCP在移动终端的使用创造了条件。但MPTCP没有解决实际应用中,因为LTE与WiFi子流的RTT不同产生乱序数据包而导致的有效吞吐量低于理论吞吐量的问题。在近几年的研究中,如何解决提高MPTCP吞吐量逐渐成为研究热点[4]。针对此问题,本文提出一种基于时延的移动终端MPTCP拥塞控制算法,尽可能地保证数据包按序到达,从而提高MPTCP吞吐量。 1相关研究 1.1相关问题分析 在异构网络中,MPTCP的吞吐量会明显下降。这是因为MPTCP把数据分为多个块,然后每次选择RTT最 小的路径进行数据传输,只有按序到达的数据块才能从传输层交付到应用层进行处理,对于乱序接收的数据则暂时存储于接收端缓存中,等待传输序列号较小的数据分组到达后再一并交付。如图1所示,黑色实线和红色虚线分别代表属于同一条MPTCP流的子流1和子流2,?D是两条子流的传输时延差,i为发送端数据包发送的时间间隔(i=1,2)。理想情况下子流之间的RTT较小,数据包会按序到达。但是在LTE/WiFi异构网络中,两条线路的时延会有显著的区别,就会造成(b)中情况。子流1的拥塞窗口已满,发送端选择子流2发送数据包2,使得数据包乱序到达接收端,使得接收端不能及时将数据包进行重组后递交给上层,而乱序接收的数据将占据大量缓存空间,在空间受限的接收缓存中引发线头阻塞(Head-of-LineBlocking,HOL),造成吞吐量降低。实验表明,当两条路径的时延之差达到200ms以上时,MPTCP性能会急剧降低[5]。 1.2MPTCP现有拥塞控制算法分析 MPTCP拥塞控制的预期目标包括[6]: (1)提高带宽:MPTCP必须支持多路径,并且多条路径上的总的吞吐量不应该小于单一的TCP连接的吞吐量; (2)不产生损害:对于多条路径中的任何一条路径,MPTCP流占用的容量不应高于作为单一路径所能占用的容量; (3)拥塞平衡:在满足前两个目标的基础上,多路径流应该尽可能地避开最拥塞的路径。 1.2.1LinkedIncreases算法 CostinRaiciu等提出LIA[6]算法,并被采纳作为MPTCP默认拥塞控制算法。LIA算法通过最小值操作来遵守设计目标二,通过以RTT的变化为参数来保证各个子路径上都有适当的流量,从而达到设计目标一和三,在一定程度上克服了MPTCP在RTT相差较大的多条路径中性能较差的问题,但是仍然不能完全实现拥塞均衡,不能完全满足MPTCP的第三个设计目标。 1.2.2其它MPTCP拥塞控制算法 论文[7]发现较高的吞吐量不一定可以保证较高的服务质量,针对此问题,作者提出了一种新的调度策略,通过计算数据包在每一子流调度时间与到达接收方时间间隔,在不同子流上传输乱序数据包,达到数据包在接收方可以按序到达的目的,降低时延抖动,提

参考文献

引证文献

问答

我要提问