孙新杰潘水凡
(1.六盘水师范学院计算机科学与信息技术系,贵州 六盘水 553004;2.六盘水师范学院外国语言文学系,贵州 六盘水 553004)
基于SCTP-CMT的改进重传策略
孙新杰1潘水凡2
(1.六盘水师范学院计算机科学与信息技术系,贵州 六盘水 553004;2.六盘水师范学院外国语言文学系,贵州 六盘水 553004)
传输层多宿的端到端并行多路径传输(CMT)相比于SCTP能够同时选择多条路径进行数据块的传输。针对CMT的五种重传策略只能够选择多条路径中的一条进行数据块重传的不足,提出了一种改进的数据块重传策略,该策略综合考虑了SSTHRESH、LOSSRATE和CWND对传输路径性能的影响。仿真实验表明,改进策略能进一步减轻由于接收缓冲区拥塞而造成的端到端吞吐量下降的程度。
传输层多宿;端到端并行多路径传输;SCTP;重传策略;传输路径性能
基于多宿(multihoming)多流(multistreaming)的传输层协议CMT作为替代TCP和UDP的下一代互联网传输协议是近年来的研究热点(STEWART R,2007)。为进一步提高带宽聚合和传输路径的容错性,提高多宿端到端传输的吞吐量,国内外学者做了大量的研究工作并提出了多种方案,如,P.Natarajan等研究人员提出的名为LS-SCTP的多路径并行传输协议(P.Natarajan,2008),将基于关联的拥塞控制扩展为基于每条路径的拥塞控制,并为每条路径上传输的数据块添加了序号,YE G等研究人员提出了设计思想与LS-SCTP相似的IPCC-SCTP协议(YE G,2004)以提高传输性能。最著名的是薛森等研究人员进一步提出的CMT(Concurrent Multipath Transfer)改进策略(薛森,2012)极大地提高多宿端到端传输的吞吐量,伴随产生的接收端缓存阻塞(C.Raiciu,2011)(receive buffer blocking)问题通过RTX_SSTHRESH(Perotto F,2007)(ReTransmission-CongestionWindow)加以解决。同时考虑到CMT在长久或短期路径失败的情形,Natarajan P等在文献(P.Natarajan,2008)中为接收端点的状态引入潜在失败(Potentially Faiied,PF)的概念并提出CMT-PF。
多宿是指一个主机拥有多个网络接口,这些网络接口可以连接到一个或多个网络服务提供商,也就是主机与主机之间有一条或者多条数据链路进行数据的传输业务如图1所示,这样就有效地抵御了由于一条数据链路断开而影响数据的传输并提高了传输的效率。基于传输层多宿的端到端通信使端到端的安全性得以提高,使端到端的容错性得以实现,使端到端的传输性能得以加强,使端到端的QOS得以改善。传输层多宿的端到端通信为未来的网络的发展注入了新的活力。
图1 链路数据传输
由于同时多路传输CMT的出现使得整个数据传输阶段的吞吐量要明显高于SCTP,同时伴随着出现了原有SCTP数据块重传算法不能适用于现有的CMT数据块的重传策略。基于CMT提出了五种数据块重传策略,其中有三种重传策略分别基于SSTHRESH、LOSSRATE和CWND,能够明显减轻接收端缓冲区的拥塞(薛森,2012),但都存在着一定的缺陷。本文从路径的特性值SSTHRESH,LOSSRATE,CWND的角度分析了原有重传算法存在的不足,在此基础上提出了RTX_SCLCOMPOSECOMPOSE重传策略,进一步减缓了接收端缓存阻塞问题的发生,通过仿真实验分析,RTX_SCLCOMPOSECOMPOS在接收端传输序列号处理、传输时间和吞吐量方面要高于文献(薛森,2010)中所提的重传策略。
基于SCTP的同时多路传输(CMT)定义了五种重传策略,分别是RTX-SAME、RTX-ASAP、RTX-CWND、RTXSSTHRESH和RTX-LOSSRATE,虽然在一定程度上提高了系统的吞吐量,减少了出现接收端缓存阻塞对整体的影响,但是这五种重传策略都是在一个方面反映路径的好坏,而没有联合路径上的其它参数整体上考虑。如RTX_SSTHRESH只考虑了路径上的门限阈值,但是没有从丢失率以及拥塞窗口进行综合的分析。五种数据传重传策略如下(P.Natarajan,2008):
RTX_SAME:当已经确定数据进行重传的情况下,所重传的数据都放在原发送数据的路径上进行数据的重传,没有考虑其它的因素。
RTX_ASAP:当已经确认数据进行重传的情况下,所重传的数据随机地选择一条路径进行传输,这以策略同样没有考虑其它的因素。
RTX_SSTHRESH:重传数据报文被发送到拥有最大慢启动门限值的路径上,如果多条路径拥有相同的ssthresh值则在其中随机选择一条可用路径。
RTX_LOSSRATE:重传数据报文被发送到拥有最低报文丢失率的路径上,如果多条路径拥有相同的lossrate则在其中随机选择一条可用路径。
RTX_CWND:重传数据报文被发送到拥有最大拥塞控制窗口的路径上,如果多条路径拥有相同的cwnd则在其中随机选择一条可用路径。
其中重传策略RTX-SAME、RTX-ASAP太简单,同时通过实验,得出重传的效果并不是很理想,并且由于没有考虑丢包率、拥塞窗口、延迟等因素,可能造成整个关联的传输性能下降。而RTX_CWND、RTX-SSTHRESH和RTX-LOSSRATE这三种重传策略在选择重传目的地时倾向于将重传的数据发送到具有最低报文丢失率的路径上,因而提高了重传数据顺利通过的机会,减少了重传超时,进而有效减轻了接收端缓冲区阻塞问题,提高了整体关联的传输性能,相对三者而言,由于RTX-SSTHRESH性能较好,是文献(IYENGAR J,2005)中所推荐使用的CMT重传策略。
五种数据块重传仅考虑了路径的单一性能指标,而网络路径传输性能的优劣是由多种因素综合决定的,比如带宽、拥塞控制窗口、慢启动门限、丢失率、延迟等,仅有一个路径参数达到较好的状况时,并不一定能确定此路径为当前性能最好的路径。由于RTX_SSTHRESH重传策略要优于其它4种重传策略,所以下面的实验我们将其它策略与RTX_SSTHRESH在性能上作对比,RTX-SSTHRESH算法的伪代码如图2所示。
图2RTX-SSTHRESH伪代码
通过上面的RTX_SSTHRESH数据块重传算法的描述,我们可以看出,RTX_SSTHRESH存在一定程度的缺陷,即只考虑了门限阈值能够减少接收端缓冲区拥塞的因素,而没有考虑其它对减少接收端缓冲区拥塞因素的考虑。RTX_CWND,RTX_LOSSRATE在算法逻辑上是和RTX_SSTHRESH一致的。RTX_CWND仅考虑了拥塞窗口,而RTX_LOSSRATE只考虑了传输路径的丢失率。总之,RTX_SSTHRESH,RTX_CWND,RTX_LOSSRATE虽然在一定程度上减少了接收端缓冲的拥塞,然而由于他们各自只考虑一种因素对接收端缓冲区拥塞的影响,不能综合各种影响因素而导致他们的存在缺陷。
RTX_SSTHRESH一?定程度上可以选到传输性能较好的重传路径(刘杰民,2012),但是,仅仅有一个路径参数达到较好的状况时,并不一定能确定此路径为当前性能最好的,如果能综合利用多个性能指标来决策重传路径会得到更好的传输性能。
3.1 方案的提出
表1 三种重传策略实验参数变化情况
图3RTX_SSTHRESH、RTX_LOSSRATE、RTX_CWND重传策略不同条件下吞吐量比较
三种比较优秀的传输重传策略RTX_SSTHRESH、RTX_LOSSRATE、RTX_CWND,各自有各自的优势,图3所示为这三种重传策略在不同的传输环境下表现出来的吞吐量性能比较。其中表1为图3所做实验在不同时间段内的参数变化,0到40s仿真时间之间,门限阈值,丢包率,拥塞窗口的大小分别为10KB,5%,10KB,从图3可以发现RTX_SSTHRESH在吞吐量上面的表现是最好的;在40s到80s仿真时间之内,把路径的丢失率降到1%,其它条件不变的情况下,丢包率此刻对整个传输性能的影响最大,这样就导致RTX_LOSSRATE的重传算法表现最优;而在80s-120s的仿真时间之内,把拥塞窗口调为原来的10倍,其它条件不变,就可以发现RTX_CWND在这个时间段表现最为优异。综上所述,可以发现,虽然RTX_SSTHRESH在大部分情况下表现出了优异的数据块重传能力,但是由于网络条件变化快,不同的环境下,也会出现其它传输策略优于RTX_SSTHRESH的情况,所以单一的考虑某个参数对网速数据块传输的影响显得不够灵活。
这里研究重点是对RTX_SSTHRESH、RTX_LOSSRATE、RTX_CWND的重传策略进行改进,在原有只分别对门限阈值,丢失率,拥塞窗口进行判断的基础上,增加了对这三种因素的综合判断,分析了它在接收端缓冲区受限条件下的性能表现。提出了RTX_SCLCOMPOSE算法,该算法在综合考虑这三个因素的基础上,又根据各个因素对减少接收端缓冲区拥塞影响大小,综合考虑了选择路径进行重传时的优先考虑因素。我们提出改进的数据块重传策略,该策略在首先判断是否使用用于进行路径潜在失效的PF算法,然后从第一条路径一直遍历到最后一条路径来寻找最适合我们提出的数据块重传策略的路径。
3.2 方案的实现
在RTX_SCLCOMPOSE算法中,uiHighestCwnd为路径最大的拥塞窗口,fLowestLossrate为路径最小的丢失率,ui-HighestSsthresh为路径最大的门限阈值,PF为存在路径失效情况下的一种路径选择策略,current path为当前正遍历到的路径,retransmission path是要进行数据块重传的路径。RTX_SCLCOMPOSE伪代码如图4所示:
图4RTX_SCLCOMPOSECOMPOSE伪代码
通过RTX_SCLCOMPOSECOMPOSE的伪代码可以看出,我们先是把路径的门限阈值作为选择数据块重传路径的第一选择,只有当所有路径的门限阈值都相当的情况下,再考虑路径拥有最大拥塞窗口作为重传路径的选择,最后当所有路径不但拥有相同的门限阈值而且拥有相同的拥塞窗口的时候,才选择拥有最低丢失率的路径作为重传数据的路径。这主要是因为已经证明过丢失率在数据块的实际传输过程中很难得以有效地计算和跟踪,而路径的门限阈值和拥塞窗口却可以通过RTT和路径实际对数据块的确认情况得以正确有效地控制。
4.1 仿真拓扑结构
本节的模拟实验使用特拉华大学的SCTP协议模块作为NS模拟器,这个协议模块经过修改纳入了多路同时传输功能并支持不同的重传策略。
图5 模拟拓扑结构
图5给出了模拟拓扑结构,边缘链路代表网络最后一跳,核心链路代表端到端的网络条件。所有路径的端到端延迟设为45ms,这个值代表了网络中大部分数据流所经历的端到端延迟,路径1的丢失率维持在1%,路径2的丢失率设置为一个变量从1%-10%。丢失率为1%表示向前路径丢失率为1%并且反向路径丢失率也为1%。此外,每个数据包的丢失事件是相互独立的,接收端B的缓冲区为256Kb,模拟时间为60s。
4.2 结果分析
本部分评价数据块的重传策略RTX_SCLCOMPOSECOMPOSE和RTX_SSTHRESH的吞吐量性能。
图6 丢失率不同情况下吞吐量的对比
图7 丢失率,带宽,延迟都不同的情况下中吞吐量对比
在图6中横坐标为path2的丢失率分别从1%-10%,纵坐标为两条路径在各种丢失率下的总的吞吐量(为了画图的方便我们统一把所有吞吐量缩小了10万倍)。通过图6我们可以看出RTX_SCLCOMPOSECOMPOSE重传算法不比RTX_SSTHRESH差,在大部分的情形下两种数据块重传策略相当,但是在路径2的丢失率为5%和9%时,RTX_SCLCOMPOSECOMPOSE要比原来的RTX_SSTHRESH略好。
另外我们模拟了两条路径在相同带宽,不同延迟,不同丢失率的情况下整个数据传输过程中的吞吐量变化情况的对比。其中path1的参数分别为:带宽10Mbps,丢失率1%,路径延迟45ms;path2的参数分别为:带宽10Mbps,丢失率5%,路径延迟90ms。如图7所示。
在图7中,横坐标为模拟时间,纵坐标整个数据传输阶段的吞吐量。通过上图我们可以看出RTX_SCLCOMPOSE数据块重传策略在整个传输阶段比RTX_SSTHRESH性能要好。
通过图6和图7我们可以得出RTX_SCLCOMPOSECOMPOSE数据块重传策略在一般的情形下是比RTXSSTRESH要好得多,至少不比RTX_SSTHRESH重传策略差。RTX_SSTHRESH,RTX_CWND,RTX_LOSSRATE只采用路径的单一因素判断,而RTX_SCLCOMPOSECOMPOSE采用了路径的Sstrresh、Lossrate和Cwnd三种因素进行综合判断,而且还充分考虑了三种因素在重传数据块时的对接收端缓冲区拥塞的影响大小。
本文对只进行单一因素进行判断的RTX_SSTHRESH数据块重传策略进行了深入分析,由于RTX_SSTHRESH缺乏对参数的综合考虑,未能很好地处理“接收缓存拥塞”的问题,所以,在RTX_SSTHRESH的基础上提出了一种新的重传策略RTX_SCLCOMPOSECOMPOSE,RTX_SCLCOMPOSECOMPOSE增加了对路径的CWND、LOSSRATE和SSTHRESH的判断,并使用仿真实验比较了RTX_SCLCOMPOSECOMPOSE和RTX_SSTHRESH的吞吐量,模拟结果表明:RTX_SCLCOMPOSECOMPOSE采用了路径的CWND,LOSSRATE和SSTHRESH三种因素进行综合判断,在整个数据块传输过程中,性能不次于RTX_SSTHRESH,从而优于其它四种重传策略。
本文提出的RTX_SCLCOMPOSECOMPOSE数据块重传策略,仅从CWND,LOSSRATE和SSTHRESH三个方面进行了考虑,但在实际传输中,带宽的变动在一定程度上也会影响该路径的吞吐量。特别是在公共网络的一段,主干链路的带宽比较大,在很多用户使用的情形下,每个用户所获得的带宽非常有限。因此,在今后的研究中,需针对多路径带宽不同的情形,研究多路径传输性能的改进方法。
[1]STEWART R. 2007.Stream Control Transmission Protocol[S].RFC 4960.
[2]P. Natarajan,N. Ekiz,P.D. Amer,J. Iyengar,R.Stewart. Concurrent multipath transfer using SCTP multihoming:Introducing the potentially-failed destination state[J],IEEE/ACM Transnational on Networking,2008,34(4):727–734.
[3]ABD EI AI A,SAADAWI T,LEE M.LS-SCTP:a Bandwidth Aggregation Technique for Stream Control Transmission[J]. Computer Communications.2004,27(10):1012-1024.
[4]Perotto F,Casetti C,Galante G.SCTP-based Transport Protocols for Concurrent Multipath Transfer[A],2007 IEEE Wireless Communications and Networking Conference[C],March(11-15)2007,2969-2974.
[5]C.Raiciu,M.Handly,D.Wischik. Coupled Congestion Control for Multipath Transport Protocols[S],IETF RFC6356,October 2011;103-105.
[6]Natarajan P,Iyengar J R,Amer P D,Stewart R. Concurrent Multipath Transfer using Transport Layer Multihoming:Performance Under Network Failures[A],2009 Military Communications Conference[C],Oct (23.45)2009,1-7.
[7]宋飞,王博朱,张宏科,等价多路径并行传输中接收缓存阻塞问题的研究[J].电子学报,2010,38(3):552-555.
[8]薛森,董平,张思东,张宏科一种基于端到端多路径的最优化流量控制算法[J].电子学报,2012,40(3):564-570.
[9]刘杰民,白雪松,王兴伟.多路路并行传输中传输路径选择策略[J].电子与信息学报,2012,34(6):1521-1524.
An Improved Retransmission Policy Based on SCTP-CMP
Sun Xinjie1Pan Shuifan2
(1.Department of Computer Science and Information Technology,Liupanshui Normal University,Liupanshui 553004,Guizhou; 2.Department of Foreign Language Literature,Liupanshui Normal University,Liupanshui 553004,Guizhou)
Compared to SCTP,the multihoming end-to-end Concurrent Multipath Transfer(CMT)in transport layer can choose multiple paths at the same time to transfer data blocks.However,the five data block retransmission protocol of CMT only is able to select one path to retransmission.An improving retransmission protocol based on original algorithm is proposed in this paper.It comprehensively takes into account the performance of SSTHRESH,LOSS RATE and CWND transmission paths and can further alleviate the decrease of end-to-end throughput due to receiver buffer congestion relative to the five data block retransmission protocol.
multihoming in transport layer;end-to-end concurrent multipath transfer;SCTP(stream control transfer protocol); retransmission protocol;performance of transmission paths
孙新杰,男,河南驻马店人,硕士,助教。研究方向:下一代互联网中的“传输层同时多路传输的基础理论研究”。