2. 清华大学 网络科学与网络空间研究院, 北京 100084;
3. 清华大学 清华信息科学与技术国家实验室(筹), 北京 100084
2. Institute of Network Sciences and Cyberspace, Tsinghua University, Beijing 100084, China;
3. Tsinghua National Laboratory for Information Science and Technology, Tsinghua University, Beijing 100084, China
随着航空技术的发展,各类飞行器都将具有网络接入的需求。以飞机为例,如何在飞机上为乘客提供高速的互联网接入服务已经成为各大航空公司和相关研究人员的关注热点。
由于卫星通信频率资源有限,基于高轨卫星的接入方式难以满足大量用户的高带宽的业务需求。为此,相关研究人员[1-2]尝试通过地空宽带技术为飞机提供高带宽接入能力。地面基站具有丰富的频率资源,为满足飞机用户高带宽的业务需求提供了基础。然而飞机飞行途中会经过山川、河流,使得地空宽带的覆盖不连续,需要覆盖范围更广的卫星来提供补充,因此地空宽带和卫星重叠覆盖的场景会越来越普遍。
当飞机处于两者的重叠覆盖区域,采用多路径而非单一路径进行数据通信将有可能极大改善传输性能,如图 1所示。其中,由于MPTCP(multipath transmission control protocol)[3]是已经被IETF(Internet Engineering Task Force)标准化的多路径传输协议,也被研究人员所广泛关注,所以本文的研究重点针对MPTCP进行。然而,由于飞机的高速运动带来的地空宽带通信链路会不断发生切换、不同链路在时延和丢包率上的差异都会降低MPTCP传输的性能,给端到端多路径传输带来了新的挑战。
另一方面,与地面用户的随机运动不同,飞机的航线是提前设定的,使得飞机的地空宽带链路通断状态是能够根据飞机位置信息提前获得,这为在飞机上进行端到端多路径传输带来了优化机会。
本文面向飞行器多路径传输开展研究,设计了多路径传输优化方案DMPTCP。DMPTCP在进行数据分配时,结合飞机运行过程中飞行轨迹以及链路通断状态可预测的特点,将链路断开起始时间和时长引入了数据分配算法中。在降低接收方乱序情况方面,DMPTCP通过同时在多条子流回复连接层否定确认信息,使得发送方能够快速获得接收方总体乱序情况并对丢包进行重传。
1 相关研究在空间网络场景下,AeroMTP[4]将喷泉码用于机载自组织网络的多路径传输中,并采用基于速率的拥塞控制,通过传输层的超时和确认的包的接收发现链路的断开和连通。孙力娟等[5]基于CMT(concurrent multipath transfer)-SCTP(stream control transmission protocol)分析了端到端多路径传输对缓存的需求,并且通过时延差值来区分误码和丢包。同时由于CMT-SCTP不同子流共用一个序列号空间,其直接将子流的选择确认通过时延最短路径传输以提升多路径传输性能。Shrader等[6]针对地面移动用户和卫星通信过程中链路的频繁中断以及丢包率高的特点,将多路径路由和端到端传输相结合,采用了基于时延的拥塞控制机制,并通过前向纠错进行丢包恢复。与现有研究所关注的空间网络多路径传输相比,本文的飞机动态多接入场景具有飞机飞行轨迹可预测的特点,使得链路通断的预测能够比利用传输层机制更加准确和及时。并且本文针对当前被广泛使用的MPTCP协议开展研究,结合了MPTCP连接层和子流层序列号相互独立的特点进行优化。
在地面网络切换场景下提升多路径传输性能方面,Oh等[7]提出利用接收缓存的占用情况来发现链路的断开,以提高链路断开的发现效率。Lim等[8]针对MPTCP在切换过程中通过超时机制进行链路重发现的时延长的问题,利用WiFi链路层重传信息感知链路的通断,然而其依赖于具体的链路层技术。同时二者均仅考虑了链路通断的发现,而并没有将链路通断发现和多路径数据分配相结合。
在地面网络带宽聚合方面,MPTCP现有的RR(round robin)轮询地将数据包分配给每一条子流,而min RTT(round trip time)则优先将数据包分配给RTT较小的路径,RR和min RTT在路径时延差异大的场景下会带来较大程度的接收方乱序。在应对时延差异影响方面,OTIAS(out-of-order transmission for in-order arrival scheduler)[9]、DAPS(delay-aware packet scheduler)[10]通过将数据包按照预计的到达时间进行分配来提高数据包按序到达比例。在应对丢包差异的影响方面,F2P-DPS (fine-grained forward prediction based dynamic packet scheduling) [11]在预测时延大路径数据包成功达到接收方的时延短路径能够传输的数据时,结合TCP(transmission control protocol)稳态吞吐率模型将丢包率考虑在内。BLEST(blocking estimation)[12]通过预测接收方缓存的占用情况来决定当前数据包是否通过快的路径进行发送。Cui等[13]和阳旺等[14]在SCTP基础上通过调整选择确认的回复路径来快速恢复丢包。Kurosaka等[15]利用MPTCP的接收方确认来提前告知接收缓存已经空闲,Hwang等[16]通过连接层累计确认发现接收方出现乱序,此时若应用层数据都已经传完,则在其他路径重传丢包路径所有未确认的包。然而,由于MPTCP连接层的累计确认无法用于在一条子流快速发现其他子流具体丢了哪些包,使得对应的重传机制效率低。并且,现有的数据分配算法主要建立在链路一直保持连接且链路参数相对不变的场景下,数据分配算法并不会随着链路的通断以及通断时间的长短进行相应的调整。
2 基于链路通断状态预测的数据分配算法 2.1 MPTCP应对链路动态断续的不足由于工作在传输层,MPTCP获取链路断开和再次重连的状态时间长。一般子流经过一个RTO(retransmission timeout)发生超时后,才认为该路径发生断开[7]。之后MPTCP继续通过超时定时器重传数据包来判断子流所在链路是否重新连上,重新连上之后根据拥塞窗口大小发送新的数据[8]。与链路往返时延相比,RTO和后续的超时时间都很长,使得MPTCP对链路的断开和重连发现缓慢。
同时,在MPTCP进行数据分配时,仅根据拥塞窗口是否允许数据包发送进行分配,并不会随着链路的通断以及通断时间的长短进行相应的调整,链路通断状况的变化也会使得接收方会出现较大程度的接收方乱序。
2.2 算法概述为了尽可能降低接收方乱序,发送方的数据分配算法一方面需要考虑到时延的差异性,在给高往返时延路径分配数据时,需要分配序列号小的数据包给低往返时延路径进行传输。具体地,预留的数据包数目和各条子流的前向时延forwardDelay[i]和带宽估计值bw[i]相关(i为子流编号)。子流的前向时延的计算和飞机和基站的相对位置相关。带宽估计值通过采用Westwood+[17]的带宽估计方法获得。在获得了各条子流的前向时延和带宽估计值之后,算法首先根据各条子流的前向时延对子流进行排序,然后计算当前可传输子流前向时延内,其他子流能够传输数据包的数量,并为当前子流选择分配数据后的数据包进行发送。
另一方面,数据分配需要适应路径的动态性,前一次分配给低往返时延路径的数据包在没有传输完的情况下,仍然能够在下一次数据分配的时候分配给其他路径。具体地,数据包是否成功发送通过already_send变量进行标识。前一次分配了但当前仍然没有发送的数据段,其already_send标识记为0,表示该数据段没有成功发出,在下一次分配时仍然需要考虑在内。图 2给出了时延减少场景下在2条子流进行数据分配的例子,由于子流1的时延减少导致第1次分配的数据不能够完全传完,在第2次分配中,感知到时延减少后,通过读取数据的already_send标识,子流2能够分配到第1次分配给子流1的数据。算法在拥塞窗口允许新的数据包发送时被调用,为子流选择一个合适的连接层数据。完整的数据分配算法如图 4所示。
2.3 包含链路断开时间的子流前向时延的计算
子流前向时延的计算如图 3所示。其中tNow,tDown[i]和tUp[i]分别表示当前时刻和子流所在路径断开时刻和子流所在路径重新连接时刻(i为子流编号)。tDown[i]和tUp[i]在预测链路将要断开提前进行更新。srtt[i]为根据当前确认计算得到的子流往返时延,min(srtt[i])为所有测得的子流往返时延最小值。
算法根据当前时间判断子流当前是否发生中断。在子流没有发生链路中断时,子流的前向时延仅由前向传输时延和排队时延组成。排队时延为往返时延和最小往返时延之间的差值,前向传输时延为最小往返时延的一半。在子流发生链路中断时,前向传输时延需要在前向排队时延和前向传输时延基础上加上链路断开时间。
2.4 链路通断参数的计算飞机航行过程中链路断开信息由一系列断开和再连通的位置信息对表示的链路断开区间组成,具体可以根据飞机的历史航行过程获得。位于链路断开区间之外的位置信息对则是链路连通区间。算法定期根据飞机当前位置信息查询飞机当前飞机所处的区间。飞机处于连通区间时,算法根据连通区间对应的链路断开位置、当前位置以及飞行速度提前计算出tDown[i]和tUp[i]并进行更新。完整的数据分配算法如图 4所示。
为了避免链路中断造成的TCP拥塞窗口的不必要的减半和丢包,当飞机作为数据的发送方时,发送方提前获知了tDown[i]和tUp[i]后,在离链路断开时间还有一个srtt[i]时,取消TCP的超时重传计时器,并且不进行新的数据发送,到tUp[i]时刻时再开始发送新的数据。当飞机作为数据的接收方时,预测出来的tDown[i]和tUp[i]时刻通过新的TCP扩展选项提前一段时间回复给发送方,发送方在收到了新的扩展选项后进行和其作为发送方获知了tDown[i]和tUp[i]后相同的操作。
3 连接层否定确认的丢包快速恢复 3.1 MPTCP应对子流时延和丢包率差异大的不足MPTCP通过连接层和子流层独立的序列号空间来避免接收方的数据包乱序造成发送方进入不必要的快速重传和窗口减半阶段。连接层的序列号和应用层发送的数据相对应。子流层的序列号以及确认方式和TCP一致,并且已经支持基于SACK(selective acknowledgement)的选择确认。序列号对应关系通过新的TCP选项即DSS(data sequence signal)选项进行标识。
然而,目前MPTCP在丢包和时延都有较大差异的场景下进行丢包恢复时只在各条子流上单独进行,时延高的子流的丢包时,时延低的子流数据的继续传输带来了接收方接收到的数据包的大量乱序。
3.2 MPTCP连接层否定确认扩展MPTCP连接层否定确认扩展基于现有的DSS选项,用于接收方向发送方传递当前已经收到的乱序情况。与NR-SACK(non-renegable selective acknowledgments)[9]确认当前已经收到数据包的扩展方式不同,连接层否定确认通过1对子流标识(大小为1 B)和子流序列号(大小为4 B)来表示当前接收方认为已经丢失的数据包。
3.3 接收方和发送方行为修改在接收方一侧,接收方在连接层发生乱序后,如果同一条子流的数据包之后的3个数据包被确认接收,发送方认为该数据包被丢失,并在所有子流上回复连接层否定确认信息。此时,否定确认信息会以最短的时间到达发送方。和仅选择时延最短路径发送选择确认信息相比,此时接收方不需要测量不同子流的往返时延,并且可靠性更高,在子流时延发生变化或者断开时仍然能够继续传输。同时,采用否定确认的方式所需的接收方到发送方的反向路径带宽也更少。
在发送方一侧,发送方在收到数据包连接层否定确认之后,在最短时延的路径上进行快速重传。此时丢失的数据包在最短的时间内进行了发现和重传,从而降低接收方乱序包数目和乱序持续时间。
4 仿真验证 4.1 仿真环境及参数配置本文对NS-3下的MPTCP开源实现[18]进行了修改。在已有的RR调度算法基础上,增加了OTIAS调度算法以及DMPTCP的实现。
总的仿真时长为120 s,具体仿真拓扑如图 5所示。其中,路径1为时通时断路径,其断开时间通过断开时长t进行控制,当仿真时间处在[3+5m, 3+5m+t](m∈
此外,路径1的往返时延设置为60 ms,瓶颈带宽设置为2 Mb/s,丢包率为0%。路径2的往返时延设置为300~600 ms,瓶颈带宽设置为1 Mb/s,丢包率设置为0%~2%。接收缓存大小设置足够大,瓶颈路径的路由器缓存大小设置为2倍的时延带宽积。每条子流拥塞窗口的初始阈值设置为1.5倍的时延带宽积。
4.2 仿真结果图 6给出了在没有随机丢包、路径1和2的往返时延分别为60和600 ms的情况下,随着路径1断开时间的增加,RR、OTIAS以及DMPTCP这3种数据分配算法的聚合带宽结果。可以看出,随着链路断开时间的增加,3种数据分配算法的聚合带宽都会相应地减少。但是,DMPTCP的聚合带宽在各个链路断开时间下始终高于RR和OTIAS的,并且在链路断开时间为1.5 s时,DMPTCP的聚合带宽比RR的有近33%的增长。由于RR和OTIAS在进行数据分配时均没有考虑链路的通断情况,使得二者的聚合带宽在不同的断开时间下均较为接近。
图 7给出了在没有随机丢包、路径1和2的往返时延分别为60和600 ms的情况下,随着链路1断开时间增加,RR、OTIAS以及DMPTCP这3种算法的接收方平均乱序包数量的变化情况。可以看出,由于DMPTCP能够及时地根据链路通断预测结果对2条子流的数据分配进行调整,因此乱序包数量最少,尤其是当链路断开时间较长时,优化效果更明显。
图 8给出了在路径1的链路断开时间为1 s、往返时延为60 ms且没有随机丢包的情况下,路径2往返时延分别设置300、450和600 ms时,接收方平均乱序包数量随路径2丢包率的变化趋势。可以看出,DMPTCP在各种时延和丢包率设置下平均乱序包的数量均明显低于RR的。对于RR来说,由于没有针对时延差异做专门的调整,随着2条路径的往返时延差异越大,其接收方乱序情况越严重。而DMPTCP在进行调度时考虑了不同路径的时延差异,使得其受路径时延差异影响小。
5 结论
本文将通过将链路通断时间纳入到数据分配中,提升了数据分配算法的分配效率。同时,通过同时在多条子流回复连接层否定确认信息,使得发送方能够快速获得连接层总体乱序情况反馈给并重传丢包。目前,算法的验证主要在仿真环境中进行。未来随着飞机接入互联网越来越普遍以及接入成本的降低,可以进一步考虑在真实飞机动态多接入场景中开展改进后算法的性能评估。
[1] |
费满锋, 王杰令, 易克初, 等.
一种新颖的宽带地空通信系统方案[J]. 西安电子科技大学学报, 2008, 35(3): 403–408.
FEI Manfeng, WANG Jieling, YI Kechu, et al. Novel scheme for the wide band ground-air communication system[J]. Journal of XiDian University, 2008, 35(3): 403–408. (in Chinese) |
[2] | McGrath G G. An optimization metric for air-to-ground network planning[J]. IEEE Transactions on Wireless Communications, 2009, 8(5): 2336–2340. DOI:10.1109/TWC.2009.061054 |
[3] | LI Ming, Lukyanenko A, Ou Z, et al. Multipath transmission for the Internet:A survey[J]. IEEE Communications Surveys & Tutorials, 2016, 18(4): 2887–2925. |
[4] | LI Jie, GONG Erling, SUN Zhiqiang, et al. AeroMTP:A fountain code-based multipath transport protocol for airborne networks[J]. Chinese Journal of Aeronautics, 2015, 28(4): 1147–1162. DOI:10.1016/j.cja.2015.05.010 |
[5] |
孙力娟, 蔡冬, 肖甫, 等.
改进的卫星网络多路径并行传输算法[J]. 系统工程与电子技术, 2012, 34(3): 582–587.
SUN Lijuan, CAI Dong, XIAO Fu, et al. Improved algorithm of concurrent multi-path transfer for satellite networks[J]. Systems Engineering and Electronics, 2012, 34(3): 582–587. (in Chinese) |
[6] | Shrader B, Pudlewski S, Herrera L, et al. A multipath routing overlay for networks with blockage[C]//12th Annual IEEE International Conference on Sensing, Communication, and Networking. Seattle, WA, USA:IEEE, 2015:283-291. |
[7] | Oh B H, Lee J. Feedback-based path failure detection and buffer blocking protection for MPTCP[J]. IEEE/ACM Transactions on Networking, 2016, 24(6): 3450–3461. DOI:10.1109/TNET.2016.2527759 |
[8] | Lim Y S, Chen Y C, Nahum E M, et al. Cross-layer path management in multi-path transport protocol for mobile devices[C]//IEEE Conference on Computer Communications. Toronto, ON, Canada:IEEE, 2014:1815-1823. |
[9] | YANG Fan. Non-renegable Selective Acknowledgments and Scheduling for TCP and Multipath TCP[D]. Delaware:University of Delaware, 2015. |
[10] | Kuhn N, Lochin E, Mifdaoui A, et al. DAPS:Intelligent delay-aware packet scheduling for multipath transport[C]//2014 IEEE International Conference on Communications (ICC). Sydney, Australia:IEEE, 2014:1222-1227. |
[11] | NI Dan, XUE Kaiping, HONG Peilin, et al. Fine-grained forward prediction based dynamic packet scheduling mechanism for multipath TCP in lossy networks[C]//23rd International Conference on Computer Communication and Networks. Shanghai, China:IEEE, 2014:1-7. |
[12] | Ferlin S, Alay Ö, Mehani O, et al. BLEST:Blocking estimation-based MPTCP scheduler for heterogeneous networks[C]//IFIP Networking Conference (IFIP Networking) and Workshops. Vienna, Austria:IEEE, 2016:431-439. |
[13] | CUI Lin, Koh S J, Lee W J. Fast selective ACK scheme for through put enhancement of multi-homed SCTP hosts[J]. IEEE Communications Letters, 2010, 14(6): 587–589. DOI:10.1109/LCOMM.2010.06.092335 |
[14] |
阳旺, 李贺武, 吴茜, 等.
基于最小反馈时延的多径应答路径选择算法[J]. 清华大学学报(自然科学版), 2011, 51(7): 933–936.
YANG Wang, LI Hewu, WU Qian, et al. Minimum feedback delay based ACK path selection algorithm for multipath transfer[J]. J Tsinghua Univ (Sci and Tech), 2011, 51(7): 933–936. (in Chinese) |
[15] | Kurosaka T, Bandai M. Multipath TCP with multiple ACKs for heterogeneous communication links[C]//12th Annual IEEE Consumer Communications and Networking Conference (CCNC). Las Vegas, NV, USA:IEEE, 2015:613-614. |
[16] | Hwang J, Walid A, Yoo J. Fast coupled retransmission for multipath TCP in data center networks[J]. IEEE Systems Journal, 2016(99): 1–4. |
[17] | Gangadhar S, Nguyen T A N, Umapathi G, et al. TCP Westwood (+) protocol implementation in NS-3[C]//Proceedings of the 6th International ICST Conference on Simulation Tools and Techniques. Cannes, France:ICST, 2013:167-175. |
[18] | Sabetghadam K M. MMPTCP:A Novel Transport Protocol for Data Centre Networks[D]. East Sussex, UK:University of Sussex, 2016. |