多路径并行传输中传输路径选择策略
2012-05-27刘杰民白雪松王兴伟
刘杰民 白雪松 王兴伟
①(东北大学秦皇岛分校电子信息系 秦皇岛 066004)
②(东北大学信息科学与工程学院 沈阳 110004)
1 引言
随着互联网和相关技术发展,诸如Wifi、WiMax、CDMA和3G等接入方式种类亦不断增多。目前笔记本电脑和智能手机等移动终端设备大多具有了两种或更多的接入方式。同时,伴随大规模实时多媒体业务的不断增加,用户期望互联网服务提供商(ISP)能够提供更高的带宽。如何合理利用多种接入方式进行数据的交互正得到广泛关注[1-4]。在此背景下,多路径并行传输(Concurrent Multipath Transfer, CMT)已逐渐成为业界的研究热点[5-10],并尝试其在互联网中应用层、传输层和链路层的实现。
目前关于多路径并行传输的实现研究主要集中在传输层,在传输层中,实现端到端多路径传输主要有基于传输控制协议(TCP)的实现和基于流控制传输协议(SCTP)的实现。管道传输控制协议(pTCP)[11]通过建立多个接口上的 TCP“管道”来实现数据的多路径并行传输,实现带宽聚合。多接口传输控制协议(M/TCP)[12]通过在内核中建立多个接口的TCP连接来实现数据的多路径并行传输,并利用新的 TCP选项管理不同接口 TCP的连通性,鲁棒的 ACK机制保证其可靠性。多路传输控制协议(mTCP)[13]的实现与 M/TCP类似,但其加入了共享拥塞检测机制。上述种种多路径并行传输均对路径差异性考虑不足,仅仅依赖于TCP的滑动窗口机制,忽视了数据发送调度算法的重要性,无法适应路径差异大的网络环境。可靠多路传输协议(R-MTP)[14]通过带宽估计调度数据分组在多个接口的分发比例,达到带宽聚合的目的,但其发送速率易受带宽估计的影响。多路径传输控制协议(MPTCP)[15]是最近一个活跃的关于端到端多路径并行传输的一个分支,但因其对TCP的分组格式做了大量修改,尤其是多个选项的添加使其难以穿越现有网络的防火墙设备。由于SCTP对多宿地址的支持,很多端到端多路径并行传输的设计方案也采用SCTP。负载共享的流控制传输协议(LS-SCTP)[16]通过修改SCTP发送机制,使得SCTP能够同时在多条路径上并行传输数据,实现负载均衡。同时多路径传输的流控制传输协议(cmpSCTP)[l7]引入了路径序列号和修改的 SACK,完善了 LS-SCTP的设计。但二者都皆对已有分组格式做了大量修改,后向兼容性不强。韦斯特伍德(Westwood)-部分可靠的流控制传输协议(W-SCTP-PR)[18]通过动态估计路径带宽,基于带宽在各路径上发送数据,实现了PR-SCTP多路径并行传输,但其在与TCP共存时带宽容易被挤占。同时多路传输的流控制传输协议(CMT-SCTP)[l9]在尽量不改变标准SCTP分组格式的基础上修改了SCTP基于路径的拥塞控制算法和多种重传算法,实现SCTP在多个接口的并行传输,但其只是简单在路径间进行轮询(round-robin)调度发送,没有考虑多路径间的特性差异,而是端到端的全部路径均参与数据传输。
本文从传输路径的特性参数入手,提出了路径平均吞吐量和延迟与丢包率的拟合函数即路径权值的计算方法,基于此,设计了一种多路径并行传输中基于路径权值的路径选择策略——CMT-PW,并通过仿真实验分析了路径权值计算方法的合理性及该路径选择策略对提高传输性能的有效性。
2 问题的提出
多路径并行传输的关联中每一路径均有独立的发送缓存,各路径共享接收端缓存,且每一路径均拥有独立的路径特征值,如带宽、延迟、丢包率、往返时延(RTT)、重传超时(RTO)、路径状态(活动或非活动)、及用于端到端拥塞控制的拥塞窗口(Cwnd)和慢启动阈值(ssthresh)等,其中带宽、延迟和丢包率是影响多路径并行传输吞吐量的关键指标,而在带宽一定的情况下,路径的延迟和丢包率是动态变化的,故路径的平均吞吐量必然和路径的延迟和丢包率相关联。目前多路径并行传输中传输路径使用策略是关联中处于活动状态的全部路径均参与数据的传输以提高关联整体的吞吐量,该策略考虑到每条路径均有自己独立的带宽,全部路径参与数据的传输势必提高关联的整体带宽,但忽略了路径延迟和丢包率对传输的影响。通过本文大量实验发现,如果关联中质量差的路径(它们具有一定的带宽,但延迟和丢包率较大)参与数据传输,对关联整体吞吐量的提高不仅没有任何贡献,反而会导致关联整体吞吐量的下降,故参与数据传输的路径必须有所选择。
2.1 仿真模型
模拟实验使用特拉华大学的SCTP协议模块作为NS模拟器[20],这个协议模块经过修改已融合了多路径并行传输的功能,仿真拓扑如图1所示,其中主机A为4个IP的多宿发送端,主机B为4个IP的多宿接收端,主机A和主机B之间的关联由4条路径组成,分别为路径1、路径2、路径3和路径4,各路径的带宽均为10 Mbps,路径1、路径2、路径3的延迟和丢包率相当,其中路径4的延迟为100 ms,丢包率为6%。上述路径的延迟和丢包率的选取在目前实际Internet合理值范围内(40~1040 ms),各路径共享接收缓存,这里设接收缓存为64 kByte,当数据发生重传时,多路径并行传输使用RTX_LOSSRATE重传策略,并使用多路径并行传输的基础算法[6,7](如CMT-PF算法,SFR算法,CUC算法和DLC算法)。
图1 多路径并行传输的仿真拓扑
2.2 结果分析
图2表明,在关联建立后,从不同数量路径的并行传输的吞吐量可知,4条路径并行传输时性能最差,而3条路径并行传输时性能最好,再次表明高质量路径同时传输数据时,其吞吐量高于全部路径(其中包括质量差的路径)并行传输的吞吐量,亦即当关联中路径的质量存在较大差异时,部分路径的并行传输的吞吐量优于全部路径并行传输的吞吐量。
如何将路径的平均吞吐量和路径的丢包率与延迟建立关联,依据路径丢包率与延迟提前预知不同路径的平均吞吐量,并据此进行传输路径选择,下面给出具体的设计。
图2 不同路径组合的并行传输吞吐量比较
3 CMT-PW的设计
3.1 路径权值
定义1路径权值(Path Weight, PW)为路径的平均吞吐量,每条路径均有独立的路径权值。该值是建立在现有路径特征值丢包率和延迟上的一个新的特征值。
定义 2路径平均吞吐量拟合函数即为路径平均吞吐量和路径的丢包率与延迟的关联函数。不同丢包率时延迟在一定范围内变化的路径平均吞吐量拟合函数不同。
为分析不同丢包率不同延迟对多路径并行传输性能的影响,选取网络拓扑结构图如图3所示,其中路径上的带宽为10 Mbps,丢包率为1% ~10%,对路径上的延迟进行阶段性的测试,因为延迟较小时,对路径的影响比较明显,所以延迟从10~100 ms之间取值相对较密,而延迟超过100 ms之后,单位时间内对路径的性能的影响程度也相对减轻,所以取值相对较稀疏,分别选取150 ms、200 ms、250 ms和300 ms。
图3 测试不同丢包率不同延迟对CMT平均吞吐量影响的仿真拓扑
通过大量仿真实验和结果分析,最后得出路径在不同丢包率不同延迟时路径的平均吞吐量的关系为
3.2 CMT-PW的算法
为实现CMT-PW,增加变量如下:
(1)对关联中的路径在SctpDest_S结构中增加路径权值变量。
(2)在关联SCTPCMTAgent类中增加了 3个变量和一个函数。
CMT-PW的算法步骤如下:
步骤 1 处理接收到的确认块,计算各个路径上的权值。如果路径上的权值大于当前传输路径的最小值,则把该路径传输状态改为传输状态,否则到步骤2。
步骤 2 分析关联的uiPeerRwnd(接收端窗口大小),同时计算 10 s内发生接收缓存阻塞的次数BlockTimes。
步骤 3 如果关联传输在 10 s内接收缓存阻塞记数超过5,即BlockTimes>5,则调用相关函数,寻找关联中正在传输数据的路径集合中路径权值最小的路径,并将其从传输路径集合中删除,并将路径接收阻塞记数置为0(即BlockTimes = 0)。
步骤 4 检验接收缓存是否还有确认块,没有则结束,有则返回步骤1。
3.3 CMT-PW的仿真实验及结果分析
CMT-PW方案的性能验证仍使用图1的仿真模型。
由图4(a)可知,在实验所选定的120 s的传输过程中,CMT-PW比3条路径同时传输的吞吐量大约高出51.5%,比4条路径同时传输的吞吐量大约高出11.5%。
图4 不同方案的多路径并行传输吞吐量比较
由以上的分析和实验可知,CMT-PW策略能够实现在关联的多路径中找出最优路径组合用于并行的数据传输。
4 结束语
在使用多路径进行数据传输时,为了带宽的聚合,传统的CMT策略采用关联的全部路径进行数据传输,尽管每条路径拥有自己的独立带宽,但当路径间的丢包率和延迟存在较大差异时,丢包率高且延迟大的路径参与数据传输时会导致整个关联吞吐量的下降,因此在研究多路径并行传输问题时,需要考虑路径选择所造成的影响。本文在研究多路径并行传输特点的基础上,分析并建立了传输路径吞吐量与丢包率和延迟的拟合关系,并以路径吞吐量为路径权值,设计了一种基于路径权值的多路径并行传输中传输路径选择方案CMT-PW,有效地消除了丢包率高且延迟大的路径对整个关联吞吐量的影响。
[1] 薛淼, 高德云, 张思东, 等. 面向下一代网络的端到端多路径传输层架构[J]. 通信学报, 2010, 31(10): 26-35.Xue M, Gao D Y, Zhang S D,et al.. End-to-end multipath transport layer architecture oriented the next generation network[J].Journal on Communications, 2010, 31(10): 26-35.
[2] Kohler E. Datagram Congestion Control Protocol (DCCP)[S].RFC 4340, 2006.
[3] Stewart R. Stream Control Transmission Protocol[S]. RFC 2690,2000.
[4] Stewart R. Stream Control Transmission Protocol[S]. RFC 4960, 2007.
[5] Iyengar J. End-to-end concurrent multipath transfer using transport layer multihoming[D]. [Ph.D. dissertation],University of Delaware, 2005.
[6] Natarajan P, Ekiz N, Amer P,et al.. Concurrent multipath transfer during path failure[J].Computer Communications,2009, 32(15): 1577-1587.
[7] Iyengar J, Amer P, and Stewart R. Performance implications of a bounded receive buffer in concurrent multipath transfer[J].Computer Communications, 2007, 30(4):818-829.
[8] 宋飞, 王博朱, 张宏科, 等. 多路径并行传输中接收缓存阻塞问题的研究[J]. 电子学报, 2010, 38(3): 552-555.Song F, Wang B Z, Zhang H K,et al.. Researchon receive buffer blocking in CMT[J].Acta Electronica Sinica, 2010,38(3): 552-555.
[9] 宋飞, 苏伟, 张宏科, 等. 多路径并行传输中吞吐量的建模与分析[J]. 电子学报, 2010, 38(4): 887-893.Song F, Su W, Zhang H K,et al.. Modeling and analysis of throughput in CMT[J].Acta Electronica Sinica, 2010, 38(4):887-893.
[10] Liao J X, Wang J Y, Li T H,et al.. Introducing multipath selection for concurrent multipath transfer in the future Internet[J].Computer Networks, 2011, 55(4): 1024-1035.
[11] Hsieh H Y and Sivakumar R. pTCP: an end-to-end transport layer protocol for striped connections[C]. IEEE International Conference on Network Protocols(ICNP),Washington, DC,USA, 2002: 24-33.
[12] Kultida R and Hitoshi A. An evaluation of multi-path transmission control protocol (M/TCP) with robust acknowledgement schemes[J].IEICE Transactions on Communications, 2005, 87(9): 2699-2707.
[13] Zhang M, Lai J,et al..A transport layer approach for improving end-to-end performance and robustness using redundant paths[C]. Proceedings of the Annual Conference on USENIX Annual Technical Confereuce, Boston, MA, 2004:1-14.
[14] Magalhaes L and Kravets R. Transport level mechanisms for bandwidth aggregation on mobile hosts[C].ICNP. Riverside,Callforuia, USA, 2001: 165-171.
[15] Raiciu C, Handly M, and Ford A. Multipath TCP Design Decsions[R]. University Politehnica of Bucharest, July 2009.
[16] EI AI A A, Saadawi T, and Lee M. LS-SCTP: a bandwidth aggregation technique for stream control transmission protocol[J].Computer Communications, 2004, 27(10):1012-1024.
[17] Liao J, Wang J, and Zhu X. empSCTP: an extension of SCTP to support concurrent multi-path transfer[C]. IEEE International Conference on Communications(ICC), Beijing,China, 2008: 5762-5766.
[18] Fiore M and Casetti C. An adaptive transport protocol for balanced multihoming of real-time traffic[C]. Global Telecommunications (GLOBECOM),St Louis, Missouri,2005: 1091-1096.
[19] Iyengar J, Amer P, and Stewart R. Concurrent multipath transfer using SCTP multihoming over independent end-toend paths[J].IEEE/ACM Transactions on Networking, 2006,14(5): 951-964.
[20] NS-2 2.34. http://nsnam.isi.edu/nsnam. 2009-6-18.