论文部分内容阅读
随着现代通信技术的发展,越来越多的终端设备都具有多个通信接口。然而同一时刻用户只能选择一条接入链路,而无法同时在多条链路上并行传输,造成了网络资源的浪费。利用这些接口实现并行多流传输,成为近年来一个新的研究方向。传统TCP协议产生于20世纪70年代,适用于单流的数据传输,其设计和部署具有一定的局限性,对新形势下数据传输不能很好的支持。目前,部分研究人员着手开发新的传输协议,使同一终端能经过多条链路并行传输数据,来增加网络的吞吐量和鲁棒性。迄今为止,已经产生了Parallel TCP、mTCP、SCTP和MPTCP等多路径传输协议。其中MPTCP协议由于对传统TCP协议和应用很好的兼容,成为多路径传输协议发展的一个重要方向,本文正是在MPTCP下研究其数据调度的策略。通过在终端之间的多子流并行传输,MPTCP确实能够提高网络的吞吐量和鲁棒性。然而MPTCP也存在着许多不足。首先针对MPTCP的研究和实验大多集中在实验室条件下,和现实网络有所差异。互联网是一个复杂的异构网络,链路之间的带宽、延迟、丢包率等因素互不相同。然而MPTCP并没有考虑到这一点,对所有链路的调度同等对待。造成接收端数据乱序,进而造成队头阻塞、应用延迟等一系列问题。不仅不能提高网络的性能,反而可能造成整体性能不如一条原始TCP流的性能。针对此问题,学者大多从各子流的拥塞控制和数据调度方面入手。但是到目前为止,还没有出现获得官方认可的成熟稳定的解决方案。本文在前人工作的基础上,提出了一种基于子流时延和拥塞率的数据调度策略DCB算法,该算法针对默认的Round-Robin算法有两个改进:首先在每条子流中引入变化因子α来平滑RTT值,减小其余子流对该子流RTT的影响。其次,在每条子流中引入了拥塞参数γ来评估该子流的拥塞状况。数据的调度依据α和γ共同决定。本文首先介绍了体系结构中各层的多路径传输解决方案,然后介绍了传输层多路径传输协议,并重点介绍了SCTP和MPTCP。随后针对MPTCP在异构网络中的表现进行了分析,提出问题,阐述已有解决方案。在此基础上,提出了一种动态数据包调度方案DCB(Delay and Congestion Based)算法。该方案能够合理估计各子流的RTT,并根据子流的时延以及拥塞状况调度数据。最后对方案进行了仿真,仿真结果表明,和默认方案相比,本方案在提高网络的整体吞吐量以及控制数据乱序等方面都有所提升。