多路径并行传输的路径动态决策方法
2016-08-08陶晓玲
陶晓玲,于 萌,王 勇
(1.桂林电子科技大学广西高校云计算与复杂系统重点实验室,广西桂林541004;2.桂林电子科技大学信息与通信学院,广西桂林541004;3.桂林电子科技大学广西可信重点实验室,广西桂林541004)
多路径并行传输的路径动态决策方法
陶晓玲1,2,于萌2,王勇3
(1.桂林电子科技大学广西高校云计算与复杂系统重点实验室,广西桂林541004;2.桂林电子科技大学信息与通信学院,广西桂林541004;3.桂林电子科技大学广西可信重点实验室,广西桂林541004)
摘要:针对目前多路径并行传输过程中,由于传输路径质量的差异会导致网络传输性能整体下降的问题,提出一种多路径并行传输的路径动态决策方法 (concurrent multipath transfer-dynamic selection,CMT-DS)。该方法考虑到路径传输质量对网络吞吐量的影响,通过测量时延、抖动、丢包率、缓存占用比4个路径传输属性,并拟合成路径质量的关联函数,根据该关联函数来对路径进行动态的选择。通过实验验证,结果表明:CMT-DS方法对属性参数测量趋近于Spirent网络测试仪测量结果,对路径动态的选择较其他方法可使得网络吞吐量提高12.07%。
关键词:多路径并行传输;路径质量;动态决策;网络性能
0引言
随着网络通信技术的不断发展,WiMax、WiFi、3G、4G等网络种类变得越来越多,同一个网络终端可以连接多种网络服务类型,使得网络接入的方式也更为复杂。同时,大规模的实时多媒体业务(VoIP,VOD等)不断增加,用户对网络带宽的期望也越来越高,单一网络传输路径不能满足网络带宽聚合的需求,网络终端具备的多接口不能完全被利用,造成了资源浪费。因此,多路径并行传输(concurrentmultipathtransmission,CMT)已经成为网络研究的一个热点。CMT是一种带宽聚合技术[1],是指在源主机和目的主机之间同时使用多条路径进行数据传输,该技术使网络终端利用多种方式接入网络进行数据的传输和交互,以达到提高传输效率和增强网络可靠性的目的。
目前,国内外研究学者针对CMT进行了大量的研究。文献[2]提出了基于流传输控制协议(streamingcontroltransmissionprotocol,SCTP)进行数据传输的方法,并规定所有数据从主路径进行传输,当主路径失效或发生超时重传时,才切换到作为备用路径的其余路径上。因此,这种方法只是解决了移动网络区域切换的问题,提升了网络容错性和可靠性,但实际上仍然是利用单一的传输路径来进行通信。Iyengar等人[3]在文献[2]的基础上将SCTP进行拓展后提出了CMT-SCTP,实现了多路径的并行传输,但是并没有解决不必要的重传及拥塞窗口不能正确增加的问题;文献[4]提出了一种快速分裂重传(splitfastretransmit,SFR)算法,通过对发送端协议进行修改和完善,完全忽略掉不信任的选择性确认(selectedACK,SACK),避免了快速重传问题。以上这些文献提出的策略只针对静态的路径传输,当路径差异比较大时,所有路径的吞吐量总和仍可能低于部分路径并行传输的吞吐量。近年来,有部分研究学者关注到路径选择问题是多路径并行传输中的关键问题。文献[5]提出了一种动态的路径选择方法,考虑了不同路径的传输时延具有差异,按照最小时延优先传输的规则来分配数据;刘畅等人[6]针对路径差异大导致的多路径传输速率低于单路径的情况,建立了单路径与多路径传输的临界条件的建模方法,却不能解决路径质量差异存在实时变化的状况,容易产生路径的拥塞;刘杰民等人[7]提出了基于时延和丢包率两个参数的路径决策方案,在一定程度上避免了数据在发送端传输等待时间过长问题,但忽略了并行传输因缓存阻塞而造成的数据乱序问题,质量较差的路径上传输数据会阻碍质量较好的路径上数据的递交,从而引发数据重传等问题来限制吞吐量性能[8],甚至有可能不如只用一条路径来传输数据的吞吐量。
针对现有方法在解决动态网络环境下不能很好提升传输数据包性能的缺陷,本文从影响传输路径质量的综合特性参数入手,包括时延RTT(round-triptime)、抖动J(Jitter)、丢包率PLA(packetlossrate)以及缓存占用比BS(buffersize)4个路径属性参数,提出多路径并行传输的路径动态决策方法CMT-DS(dynamicselection),并进行实验测试。
1算法描述
为了对算法进行更形象的描述,构建了多路径并行传输网络拓扑图,如图1所示。
图1 多路径并行传输网络拓扑图Fig.1 The network topology of concurrent multipath transfer
图1中,发送端主机A和接收端主机B的关联由两块NetMagic连接组成,每个NetMagic对应3个网络接口,具有多个发送端地址和接收端地址、发送端端口号、接收端端口号、发送端IP地址以及接收端IP地址,构成了并行传输的3条路径:Path1、Path2和Path3。同时,设计了测量和决策模块来对路径质量进行测量并根据网络传输情况对路径动态地选择。
设计的整个方案是针对实时变化的网络环境的,所以路径的决策与调整是动态的。方案执行过程如下:
1)主机A发送数据包到NetMagic1,测量模块根据路径质量的一些衡量指标(传输延时、丢包率、路径抖动以及缓存占用比)实时获得网络状况的反馈信息,对网络传输路径的质量进行测量评估之后将参数提交到决策模块;
2)决策模块利用设计的路径质量测量方案,衡量和评估每条路径的传输能力,根据路径质量的优劣将路径分为活跃状态和非活跃状态;
3)基于路径传输参数周期性地选择出可以适用于传输数据的活动性状态路径的所有集合,在发送端为数据动态选择合适的路径进行传输,同时舍弃不利于数据传输的非活跃路径。
2路径质量测量方法
2.1路径传输时延测量
在端到端的多路径并行传输中,对于对称路径,时延主要是传输时延,其为往返时间的一半[9]。为了更好地测量本文非对称路径的准确时延,采用测量往返时延的方法进行路径时延测量。
测量时延所用的方法即在数据包的头部标上时间戳,并在测量模块内有两个相互独立的输入输出通道,并设置脉冲触发器。当有数据包输入时,其输入通道输入开门信号,打开闸门,对数据打上时间戳Tin,而输出通道输入关门信号,闸门关闭;反之,数据包输出时,输入通道输入关门信号,关闭闸门,输出通道输入开门信号,打开闸门,并对输出的数据包再一次打上时间戳Tout。
当路径波动比较大时,采取测量群数据的时延的方法。令一个最小的数据包Pmin在路径Pathi上传输,那么在该路径上的时延就等于从发送端发出数据包Pmin开始计算,一直到接收端接收到该包,然后向发送端发送反馈SACK,发送端接收到SACK结束所用的时间。每隔一个心跳周期100ns发送一个数据包,共发送N个数据包,得到N个时延数据RTT1,RTT2,…,RTTN,计算公式为:
RTTi=Tout_i-Tin_i。
(1)
式中:RTTi代表对第i个数据包所测量的时延大小;Ti_in为数据包在第i次输入时的时间戳;Ti_out为数据包在第i次输出时的时间戳,i=1, 2, …, N。
由于单个数据包的时延具有随机性,不能很好地反映路径的特性,所以群数据时延用N个数据包时延的期望来表示,计算公式如下:
(2)
式中:E[RTTi]为i个数据包组成的群数据的时延,i=1, 2, …, N。
2.2时延抖动测量
(3)
式中Ji为第i次路径时延的抖动值,i=1, 2, …, N。
2.3丢包测量
(4)
(5)
需要注意的是,公式(4)和公式(5)测得的丢包率只是丢包的频率,当检测到有一个包丢失时,实际上可能有很多个数据包是丢失状态。所以路径的丢包率需动态进行更新,计算公式如下:
(6)
其中:PLA_n代表的是Pathi第n次测量丢包率的数值;Pf_n、Pt_n、PS_n分别表示的是在Pathi路径上第n次测量丢包率时的快速重传次数、超时重传的次数以及发送端发送的总数据包数量;λ是一个乘数因子,作用就是放大超时重传次数的比例。在实际网络中,超时重传比快速重传对路径吞吐量的负面影响更大些。
2.4缓存占用比测量
如图2所示,在传输过程中数据包P1在路径1上发生中断或者丢失,在其余路径上的数据包都正常传输,其余数据包到达接收端后不能向上一层递交,都会存放在缓存区等待接受释放信号。缓存门限T是能缓存最大数据包的数量能力,当数据过多达到缓存门限T时,就极易发生乱序和拥塞现象[12]。由于造成路径阻塞的原因是路径的时延且无法避免,所以不能修改时延和丢包率等参数。针对上述阻塞现象,本文提出的方法是将每条路径都分配一个相同大小的缓存区,当发送端发送数据时,测量模块按一定的采样时钟从传输的路径中采样数据流,放到设置的缓存区中检测其所占用的缓存,从而间接得到缓存占用比。
海洋上有好几只无形的“手”能随时拨弄海面上孤零零的冰山——海风、洋流能直接推动冰山转向;日晒和气温升高能让冰山融化,改变冰山的形状。
图2 多路径并行传输缓存阻塞示意图Fig.2 The blocking buffer in concurrent multipath transfer
所以,为避免缓存阻塞等情况发生,允许发送端在传输路径上所发送的最大数据量D为:
(7)
式中:端到端的多路径有N条;Ci代表路径i的拥塞窗口大小;Oi代表路径上发送端已发送但是未被接收端发送接收回应的outstanding数据量大小;R代表接收端缓存区大小;D是数据包延迟到达接收端而引起接收端数据乱序容量的上限边界。如果R≥D,接收端缓冲区在数据超过容量前能将其递交;如果R 缓存占用的大小为: (8) 其中a_R是接收端通告窗口大小。通过公式(7)、(8)分析得出缓存占用比BS为: (9) 3动态路径决策方法 路径时延会导致传输延迟且信号失真;抖动在网络中会造成误码率的提高;丢包会使传输数据中途丢失;缓存很大程度上导致数据的重传,故4个参数对路径质量的估计起决定作用,缺一不可。 定义1传输路径质量是指建立在路径时延、抖动、丢包以及缓存占用比基础上的拟合函数。不同的路径由于路径传输参数的差异导致路径质量在动态变化。 定义2传输路径吞吐量是指在某个时刻,网络中的通信双方之间,提供给传输路径的剩余带宽。 即在没有数据丢失的情况下,传输路径能够接受的最大速率。 传输路径质量拟合函数即是与路径质量参数:时延、抖动、丢包率以及缓存占用的关联权值函数。本文经过大量的实验和分析,最后得到该拟合函数为: (10) 其中:Q为传输路径质量;∂1、∂2、∂3、∂4分别是RTT、J、PLA、BS在算法中所占的权重系数,且满足约束条件: (11) 具体的权值根据实际的网络情况而唯一确定。 4实验及结果分析 4.1实验环境 根据图1,利用NetMagic构建多路径并行传输的网络架构,其中,运用了2块NetMagic08,每块NetMagic08外设4个RJ45电口和4个SERDES光口,并具有512MB的DDR2SDRAM进行报文缓存。测量参数时为了对比,运用Spirent网络测试仪再次对参数进行测量,Spirent网络测试仪是由美国思博伦公司所研制,其最大发送速率可达1 000Mb/s。且最后的实验结果在QuartusII的仿真工具SignalTapII上来获取。 4.2实验结果 为了验证本文提出的方法在路径质量参数测量方面的有效性,利用Spirent网络测试仪测量实验数据,并与采用本文的CMT-DS方法的测试结果进行对比,最后得到的实验结果如图3所示。 图3 Sprient与CMT-DS测试对比图Fig.3 The comparison of test results of Sprient and CMT-DS 图3(a)(b)(c)(d)分别为采用两种方法测得的时延、抖动、丢包率与缓存占用比的结果对比图。图3(b)中,Spirent测量的抖动值是将初始时间设置为0时,即没有发送数据时的时刻,而CMT-DS方法是将开始发送数据的时刻设为时间初始值,故初始发送数据时,针对抖动的测量会有明显的区别。而图3(d)中,因接收端缓存分配较小造成缓存占用比的波动较大,但在实际网络传输中并不影响测量的准确性。从图3可以看出,在传输数据时,发送不同大小的数据量,会导致延时、抖动、丢包率与缓存占用比均有不同。整体来看,CMT-DS测量模块已经很趋近Spirent网络测试仪测试的结果,且成本低,操作方便,并能将测试结果放在决策模块里实现动态测量功能。 基于路径质量的动态选择路径结果是在SignalTap上仿真获取的,如图4所示,并将3条路径控制字的后三位标志位分别标识为quality_1、quality_2和quality_3。如图4(a)所示,路径的Value即路径质量Q用十六进制表示,3条路径质量不相同,路径1的Value为00h,路径2的Value为8Ch,路径3的Value为57h。通过比较,路径2的Value最大,代表其劣势权值较高,将其舍弃,即将其置0,那么控制字的标志位后三位变成了101,转换为16进制就为5h。从图4(b)中可以看出,当路径的传输参数,时延、抖动、丢包以及缓存占用比均有变化时,路径的权值也均有变化,路径3的Value最高,将其标志位置1,得到110,转换为十六进制为6h,验证实验结果的正确性,并具有动态选择的功能,即实现了动态决策算法。由图4可以看出,当3条路径质量不相同时,舍弃了质量最差的路径,选择其余两条路径进行数据传输,当有路径质量波动时,对路径进行动态选择。 图4 路径动态选择结果Fig.4 The results of dynamic path selection 实验过程中硬件资源利用情况如表1所示,可得知本文提出的方法对于硬件资源的消耗很少。 表1 硬件资源利用情况 在多路径并行传输研究中,比较有代表性的有文献[13]提出的CMT-IP方法和文献[14]提出的CMT-BT方法。CMT-IP通过对路径延时、带宽和接收缓存大小这3个属性的评估和计算演化建立网络传输模型;CMT-BT利用扩展矢量卡尔曼滤波对每条路径的带宽与时延2个属性进行预测。虽然以上方法在单路径和多路径(2个)的选择测试中取得较好的测试结果,但是CMT-IP只是修改了数据发送方,并没有考虑到传输路径的差异,当差异较大时,会影响网络整体的吞吐量;CMT-BT只是针对两条传输路径中,基于带宽和往返时间选择出一条质量较好的传输路径进行数据传输,但是其应用环境受算法局限性并不适合在较多路径(大于等于3)选择中应用。 为了验证本文提出的方法对网络吞吐量的影响,实验过程中以带宽利用率为依据,在多路径中选择最优路径数。实验采用的具体参数为:路径1往返时间200ms, 带宽1 500Kb/s,丢包率为2.3%,缓存占用比为78.1%;路径2往返时间300ms,带宽1 500Kb/s,丢包率为3.5%,缓存占用比为83.2%;路径3往返时间300ms,带宽1 500Kb/s,丢包率为1.1%,缓存占用比为80.6%。路径吞吐量e的计算公式如下: (12) 式中n代表路径个数,S为路径上传输的数据量。数据在一定程度的抖动、丢包以及拥塞都会以比例的形式影响传输路径的吞吐量。 图5 CMT-DS与CMT-IP、CMT-BT吞吐量对比Fig.5 The comparison of throughput among methods (CMT-DS, CMT-IP and CMT-BT) 图5是本文提出的CMT-DS方法与CMT-IP方法、CMT-BT方法的吞吐量对比图。从图5可以看出,在3条传输路径决策过程中,采用CMT-IP和CMT-BT的方法进行路径处理会导致带宽利用率降低,而本文的CMT-DS方法可使得网络吞吐量较CMT-IP和CMT-BT提高12.07%,在一定程度上提升了网络性能,并在NetMagic平台验证了结果的可行性,符合设计预期要求。 5结束语 本文从路径质量参数入手,提出了一种多路径并行传输的路径动态决策方法。该方法主要考虑2个部分:测试模块和决策模块。测试模块测试路径时延、抖动、丢包率、缓存占用比等路径质量参数;决策模块运用已测量的参数根据路径的权值生成拟合函数来对路径质量进行评估,同时实时舍弃质量最差的传输路径,实现了路径动态选择的功能,即数据在传输过程中可以随时切换路径,以达到最理想的传输效果。 参考文献: [1]PRABHAVATS,NISHIYAMAH,ANSARIN,etal.Onloaddistributionovermultipathnetworks[J].IEEECommunicationsSurveysandTutorials, 2012,14(3): 662-680.DOI:10.1109/SURV.2011.082511.00013. [2]IYENGARJR,AMERPD,STEWARTR.Concurrentmultipathtransferusingsctpmultihomingoverindependentend-to-endpaths[J].IEEE/ACMTransactionsonNetworking, 2006, 14(5): 951-964.DOI:10.1109/TNET.2006.882843. [3]IYENGARJR,AMERPD,STEWARTR.Performanceimplicationsofaboundedreceivebufferinconcurrentmultipathtransfer[J].ComputerCommunications, 2007,30(4):818-829.DOI:10.1016/j.comcom.2006.10.011. [4]DREIBHOLZT,RATHGEBEP,RUNGELERI,etal.Streamcontroltransmissionprotocol:past,current,andfuturestandardizationactivities[J].IEEECommunicationsMagazine, 2011,49(4):82-88.DOI:10.1109/MCOM.2011.5741151. [5]薛淼,高德云, 张思东,等. 面向下一代网络的端到端多路径传输层架构[J]. 通信学报, 2010, 31(10): 26-35. [6]刘畅,宋飞,张思东. 多路径并行传输的临界条件研究[J]. 北京交通大学学报,2013,37(2):49-56. [7]刘杰民,白雪松,王兴伟. 多路径并行传输中传输路径选择策略[J].电子与信息学报,2012,34(6):1521-1524.DOI:10.3724/SP.J.1146.2011.01221. [8]WALLACETD,SHAMIA.Areviewofmultihomingissuesusingthestreamcontroltransmissionprotocol[J].IEEECommunicationsSurveysandTutorials, 2012,14(2):565-578.DOI:10.1109/SURV.2011.051111.00096. [9]HUNGNL,THOLN,CHICK.RLS-basedjointestimationandtrackingofchannelresponse,sampling,andcarrierfrequencyoffsetsforOFDM[J].IEEETransactionsonBroadcasting, 2009, 55(1):84-94.DOI:10.1109/TBC.2008.2012361. [10]董雯. 基于排队理论的通信网络时延抖动建模与性能分析[D].长春:吉林大学, 2015. [11]KIMJO.Feedback-basedtrafficsplittingforwirelessterminalswithmulti-radiodevices[J].IEEETransactionsonConsumerElectronics, 2010,56(2):476-482.DOI:10.1109/TCE.2010.5505958. [12]宋飞, 王博, 张宏科,等.多路径并行传输中接收缓存阻塞问题的研究[J].电子学报, 2010,38(3): 552-555. [13]鄢欢, 高德云, 宋飞. 基于SCTP多路径并行传输的性能评估[J]. 计算机技术与发展, 2010, 20(11):29-32,41. [14]李文,王文博,景晓军,等.基于带宽与往返时间联合预测的多路径并行传输性能优化算法[J].工程科学学报,2015,37(1):132-143.DOI:10.13374/j.issn2095-9389.2015.01.020. (责任编辑黄勇) doi:10.16088/j.issn.1001-6600.2016.02.007 收稿日期:2016-03-31 基金项目:国家自然科学基金资助项目(61363006,61163058);广西高校云计算与复杂系统重点实验室资助项目(14104);桂林电子科技大学研究生教育创新计划资助项目(YJCXS201516) 中图分类号:TP393.02 文献标志码:A 文章编号:1001-6600(2016)02-0046-08 DynamicSelectionMethodofPathforConcurrentMultipathTransfer TAOXiaoling1,2,YUMeng2,WANGYong3 (1.GuangxiCollegesandUniversitiesKeyLaboratoryofCloudComputingandComplexSystems,GuilinUniversityofElectronicTechnology,GuilinGuangxi541004,China; 2.CollegeofInformationandCommunication,GuilinUniversityofElectronicTechnology,GuilinGuangxi541004,China; 3.GuangxiKeyLaboratoryofTrustedSoftware,GuilinUniversityofElectronicTechnology,GuilinGuangxi541004,China) Abstract:In the multi-path parallel transmission process, due to the differences in the quality of the transmission path, the overall performance declines in the network transmission. To overcome this problem, a multi-path parallel transmission path dynamic decision method (concurrent multipath transfer-dynamic selection, CMT-DS) is proposed in this article. Taking into account the influence of path transmission quality on network throughput, by measuring the time delay, jitter, packet loss rate and cache occupancy ratio in the network transmission,the correlation function of the quality of the path is established and the path is selected dynamically based on the correlation function.Experimental results show that the CMT-DS method is more close to the measurement results of the Spirent network test instrument, and the choice of dynamic path improves the network throughput by 12.07%. Keywords:concurrent multipath transfer; quality of path; dynamic selection; network performance 通信联系人:陶晓玲(1977—),女,浙江金华人,桂林电子科技大学副研究员。E-mail:txl@guet.edu.cn