姚剑鹏,苏 伟,郜 帅
(北京交通大学 电子信息工程学院 下一代互联网互联设备国家工程实验室,北京 100044)
新型互联网多路径传输协议拥塞控制机制研究
姚剑鹏,苏 伟,郜 帅
(北京交通大学 电子信息工程学院 下一代互联网互联设备国家工程实验室,北京 100044)
随着计算机网络的持续快速发展,对网络应用的需求不断涌现,网络拥塞问题也变得日益严重,其一直是网络研究的关键难题和热点问题。TCP协议是传统互联网广泛应用的传输控制协议,但单一路径的TCP传输协议已不能满足网络发展的需要,日益显现出其固有的局限性;另一方面,随着接入技术与接入方式的多样化发展,使得多路径并行传输成为可能。面向连接的新型互联网传输控制协议是一种多路径的传输协议,其发展受限于单路径传输的传统互联网拥塞控制算法。为此,针对新型互联网多路径传输协议,在总结回顾现有互联网拥塞控制机制的基础上,提出了多路径拥塞控制机制的设计原则以及适用于多路径传输协议的公平性准则。该设计原则和公平性评价准则在对比分析研究各种多路径拥塞控制算法的优缺点的基础上,引入了现有的多路径传输协议来控制网络拥塞,并揭示了网络多路径传输的发展方向。
多路径传输;拥塞控制;公平性;资源池
一体化标识网络[1]是一种全新的互联网体系结构,采用了身份与位置分离的思想,引入接入标识(AID)和路由标识(RID)的概念,实现IP地址双重属性分离[2]。在这种新型互联网体系架构中,新型互联网面向连接的传输控制协议是以增强协议安全性,提高传输效率,保证传输可靠性,实现负载共享,提高网络利用率为目标[3]。同时借鉴了流控制传输协议(SCTP)[4]和多路径传输控制协议(MPTCP)[5]而设计的。SCTP是为了在IP网上传输信令而由IETF的信令传输工作组在2000年制定。MPTCP是为了满足多宿主主机之间的多路径通信而由IETF在2011年制定,是传统TCP的拓展,同时克服了SCTP在应用、部署中的一些缺点。
新型互联网面向连接的传输控制协议是一种多路径传输协议,是传统TCP协议的扩展。在传输层能支持多路径传输,同时借鉴了SCTP流控制传输协议。利用多宿主特性,充分利用终端的多条路径进行传输,提高了网络吞吐量和网络利用率。
现有的TCP和SCTP的拥塞控制主要适用于单路径传输,而在多路径传输中使用传统的拥塞控制会在多路径共享瓶颈链路时造成网路资源分配的不公平。理论上多路径拥塞控制算法要求在多路径传输中当一条路径发生拥塞时,会将传输的数据转移到没有拥塞的另一条路径中,而传统的拥塞控制满足不了这一点,需要设计一套适用于多路径传输的拥塞控制机制。
目前针对于多路径的公平性问题,MPTCP以及STCP后续支持多路径的CMT-STCP(Concurrent Multipath Transfer for SCTP)[6]在拥塞控制中引入了资源池(Resource Polling,RP)思想[7]。资源池的核心思想是将不同路径之间的资源考虑成一个整体,使得所有路径的集合表现为一个虚拟的路径,协调每一条路径的拥塞控制,从而解决公平性问题、提高网络吞吐量以及平衡拥塞。
为此,在总结回顾传统互联网中拥塞控制实现机制的基础上,提出了新型互联网多路径传输协议中拥塞控制机制的设计原则,并对现有的多路径传输协议拥塞控制机制进行了研究与探索,结合新型互联网多路径传输技术的发展趋势,给出了具有现实意义的研究方向。
随着互联网的飞速发展,网络拥塞已成为阻碍互联网发展的一大瓶颈,拥塞控制机制也成为了互联网关注的一大热门课题。在传统互联网TCP/IP协议栈中,基于TCP拥塞控制算法的研究一直是网络拥塞控制机制的主要研究方向,对于TCP端到端连接中,拥塞主要表现为时延增加。当网络发生拥塞时,早期的TCP实现算法主要基于重传机制来解决该问题,随着慢启动、拥塞避免、快速重传、快速回复等拥塞算法的逐步完善,TCP拥塞控制也进入了一个较稳定的阶段。
1.1TCP拥塞控制机制
1999年公布的因特网标准RFC2581定义了拥塞控制机制的四种算法,即慢启动、拥塞避免、快速重传、快速回复[8]。之后的RFC2582和RFC3390又对这些算法进行了改进。
1.1.1 慢启动与拥塞避免
TCP发送方维持一个拥塞窗口cwnd(congestion window)的状态变量。cwnd的大小取决于网络的拥塞程度,并且呈动态变化。
慢启动算法的思路是,当发送方刚刚开始发送报文段时,由于不知道网络的负荷情况,先把拥塞窗口cwnd设置为一个报文段(Maximum Segment Size,MSS)的数值,之后每收到一个对新的报文段的确认之后,cwnd增加至多一个MSS的数值,使得分组注入到网络的速率更加合理。假设一开始cwnd=1,发送方发送第一个报文段S1,接收方收到后确认S1。发送方收到对S1的确认后将cwnd增加到2,发送S2和S3两个报文段,接收方发送S2和S3的确认,这样发送方就收到了两个确认,cwnd就从2增加到4。使用慢启动算法后,每经过一个传输轮次,拥塞窗口cwnd就加倍,呈现指数增长。为了防止cwnd增长速度过快,造成网络拥塞,需要设置一个慢启动门限ssthresh,用法如下:
当cwnd 当cwnd>ssthresh时,停止使用慢启动算法而改用拥塞避免算法; 当cwnd=ssthresh时,既可以使用慢启动算法,也可以使用拥塞避免算法。 拥塞避免算法的思路是让拥塞窗口cwnd每经过一个传输轮次后加1,使得cwnd按线性规律缓慢增长,比慢启动算法的拥塞窗口增长速率缓慢得多。无论在慢启动阶段还是拥塞避免阶段,只要发送方判断网络出现拥塞,就要把慢启动门限ssthresh设置为出现拥塞时发送窗口值的一半(按指数级递减)。这样做是为了迅速减少主机发送到网络中的数据,使得发生拥塞的路由器有足够的时间处理网络中积压的分组。 传统TCP协议的是基于窗口的拥塞控制,可称为AIMD(Additive Increase Multiplicative Decrease)原则(加法增大,乘法减小)。“乘法减小”是指无论慢启动阶段还是拥塞避免阶段,只要出现网络拥塞(表现为超时),就将慢启动门限值ssthresh减半;“加法增大”是指执行拥塞避免时的拥塞窗口增长缓慢,防止网络过早出现拥塞[9]。AIMD通过流量控制来保证网络的稳定性。 1.1.2 快重传和快恢复 快重传和快恢复是对慢启动和拥塞避免算法的改进。当发送方设置的超时计时器时限已到但还没收到确认的情况下,认为发生拥塞,此时TCP马上把拥塞窗口cwnd减小到1,慢启动门限值ssthresh减半,这是不使用快重传的情况。而快重传算法以连续3个重复确认的到达作为报文段丢失的标志,会让发送方跳过重传计时器较长的等待,尽早重传未被确认的报文段,从而加快了重传速率,提高了网络吞吐量。 与其配合使用的快恢复算法过程为:当上一轮拥塞发生到这一轮慢启动开始阶段,拥塞窗口cwnd不在设置为1MSS,而是把cwnd设置为慢启动门限ssthresh减半后的数值,然后执行拥塞避免算法,使拥塞窗口缓慢线性的增大,从而达到快速恢复数据流量的目的。 1.2SCTP拥塞控制机制 SCTP与TCP拥塞控制机制最大的区别在于它支持多宿主主机,多宿主主机之间有多条路径,每条路径之间有各自的拥塞控制参数,SCTP也和TCP一样使用AIMD原则的拥塞控制[10]。它们的主要区别在于: (1)TCP的目的地址保持不变,直到上层应用发出更改目的地址的指令。SCTP可以自动检测目的地址是否失效,失效后会自动切换到另一个目的地址。 (2)TCP的MSS长度不固定,所以每条路径的拥塞窗口用每条路径的MTU取代MSS。STCP用数据块来进行分段,分段大小是固定的,所以在多路径传输过程选用所有路径中最短的MTU作为拥塞窗口的大小。 (3)TCP要确保连接过程数据包的顺序传输,当传输过程中出现了丢失,即顺序号有空缺的情况下,会一直等待直到检测到空缺的数据包。而SCTP在检测到顺序号有空缺的情况下,会将消息传输给相应的上层应用,不影响后续数据包的传送。 根据RFC4960规定,SCTP只使用多路径传输的主路径,并运用了与TCP类似的拥塞控制机制。所以SCTP和TCP只适用于单路径数据的传输。 2.1设计原则 (1)提高吞吐量。 多路径并发传输的设计初衷就是聚合多条链路的带宽能力,提高网络吞吐量。所以一个多路径传输过程中的实际吞吐量不能低于任意单路径通信链路中的吞吐量。 (2)不影响其他业务流。 为了保证链路资源竞争的公平性,多路径传输过程中一个子流不能占用超过使用该路径进行单路径传输时所占用的最大带宽,该原则保证了不同用户的业务流能公平竞争有限的链路资源。 (3)平衡多路径拥塞。 多路径传输拥塞控制机制要求能够将数据从拥塞的链路中转移到没有拥塞的链路上,从而实现链路之间资源的均衡分配。 2.2共享瓶颈的公平性思想 TCP-Friendliness[11]是IETF组织对传输层协议提出的要求,是针对网络中大量非TCP协议的不合理竞争网络资源而提出的,其主要含义是要求任意一种传输协议,都不能比TCP对带宽的抢占性更高。与此同时,非TCP协议需要提供一定的拥塞控制机制来避免网络拥塞的产生。TCP-Friendliness主要针对资源公平分配问题,但多路径传输系统中需要考虑多种不同的因素和应用场景,所以各种改进的拥塞控制机制也得到了广泛研究。 3.1基于SCTP拥塞控制思想的多路径拥塞控制 较为简单的多路径拥塞控制算法参考了SCTP的拥塞控制机制,在每一条路径中单独拥有一套拥塞控制参数,路径之间互不影响。考虑到TCP-Friendliness,可以基于路径权重策略来控制多路径的总吞吐量。 3.1.1 非耦合的简单多路径拥塞控制 对于多路径传输的拥塞控制机制,一种较为简单的方法就是将SCTP的单路径拥塞控制策略单独运用到多路径的每一条路径中,每一条路径使用自己的一套拥塞控制参数,路径之间互不影响,保持独立[12]。对于其中任意一条路径,当检测到有分组丢失时,慢启动门限值ssthresh和拥塞窗口cwnd的变化如下所示: ssthresh=max(cwnd/2,4*MTU) (1) (2) 其中,A表示经过接收端新确认的报文个数。 由于多条链路单独进行拥塞控制,可以看出多条链路共享一个瓶颈,也就是说当一条TCP流与多条链路使用同一瓶颈带宽竞争资源时,一条多径数据流占据多倍于TCP流的带宽资源,这显然违背了TCP-Friendliness。而且,链路之间保持独立,当一条链路发生拥塞时,无法将数据流转移到非拥塞的链路上,因而无法保证网络的负载均衡。 3.1.2 基于路径加权的拥塞控制 为了满足TCP-Friendliness,实现多路径传输过程中网络资源分配的合理性,在每一条子路径上加了一个权重因子a,使得所有路径带宽资源的总和不大于单条TCP流,保证所有路径的窗口的增长不会影响到TCP流的资源占用,此时拥塞窗口cwnd在慢启动,其变化如式(3)所示: cwnd= (3) 3.2基于资源共享的拥塞控制 资源共享(RP)技术将多路径中的网络资源汇聚成一个资源池整体,通过协调每一条路径的拥塞控制,实现多路径之间的负载均衡,提高网络的传输效率。RP技术在多路径拥塞控制机制中得到了广泛应用,多路径传输过程中每一条支流的拥塞窗口cwnd都是相互独立的。 RP技术将多条链路耦合成一条路径,所以各子路径的拥塞控制既相互独立又相互耦合[13]。 RP技术是一种通用的方法,目前研究中已经提出了三种平衡拥塞控制的算法:耦合多路径算法,基于CMT-SCTP的CMT/RP拥塞控制算法,基于MPTCP的Linked Increases算法。 3.2.1 耦合多路径算法 耦合多路径算法是对非耦合的简单多路径拥塞控制算法的改进,其中慢启动门限值ssthresh和拥塞窗口cwnd的变化分别如下所示: (4) (5) 针对多路径的耦合性,慢启动门限值和拥塞窗口的变化与所有并发链路的拥塞窗口之和有关,当与TCP流共享瓶颈链路时,TCP流和多路径流能实现网络资源竞争的公平性。 该算法在一条链路发生拥塞时,会频繁将数据流转移到空闲链路,这很可能造成空闲链路的拥塞,继而重复上述过程,造成整个网络的不稳定。 3.2.2 CMT/RP拥塞控制算法 CMT/RP算法在耦合多路径算法的基础上做了改进,在拥塞避免算法中引入了增性因子i,如式(6)所示。 (6) 增性因子i的作用是为了防止出现传输特性相差甚远的情况,比如多路径中一条高速低延迟路径,其拥塞窗口cwnd参数分配特别小。 同时在快重传算法中引入了减性因子d,它表示当发生丢包后拥塞窗口的减小程度,是为了减少路径中的丢包率,如式(7)所示: (7) 由式(7)可以看出,带宽越小的路径减性因子d越大,反之则越小,体现了资源分配的公平性。 结合上述算法的改进策略,慢启动门限值ssthresh和拥塞窗口cwnd的变化如下所示: ssthresh=max(cwnd-d*cwnd,4*MTU) (8) cwnd= (9) 3.2.3 基于MPTCP的Linked Increases算法 MPTCP工作的流程和TCP和STCP一样,当任意路径发生丢包时,只将路径中的拥塞窗口减少一半,这会导致带宽分配的不公平。 MPTCP的Linked Increases算法,结合控制工程思想,通过引入控制因子d来调整拥塞窗口的增大和减小,从而达到平衡拥塞的作用。数据包丢失后采用传统SCTP的处理方法。 控制因子d表示单条路径对网络总资源的抢占能力,表达式如下所示: (10) 慢启动门限值ssthresh和拥塞窗口cwnd的变化如下所示: ssthresh=max(cwnd-1/2*cwnd,4*MTU) (11) cwnd= (12) 3.3拥塞控制算法的比较 前面分别提出了适用于多路径的拥塞控制算法,表1阐述了各算法的优缺点。 表1 多路径拥塞控制算法的优缺点 针对新型互联网多路径传输协议受限于单路径传输的传统拥塞控制算法,提出了多路径拥塞控制机制的设计原则以及适用于多路径传输协议的公平性准则。同时引入了两种单纯采用传统SCTP拥塞控制思想的多路径拥塞控制算法和基于资源池思想的三种多路径拥塞控制算法。通过对多路径传输协议拥塞控制机制的研究,可以发现:虽然提出了TCP-Friendliness要求,但确实需要一种能够合理描述多路径资源分配公平性的度量准则,能够保证在不同网络场景多路径传输的普适性;多路径拥塞实现了平衡拥塞能力后,在资源最大化利用上仍有很大提升,因此在实际网络中,如何充分考虑各个路径的拥塞、丢包情况,来保证网络资源的最优利用值得探究;多路径传输应考虑路径的最优传输,如何从传输性能差异较大的多路径中选择最优的传输路径也是值得考虑的问题。 下一步将针对这几种不同的多路径拥塞控制算法,开展在实际网络(新型互联网)的开发测试,并针对实际网络,定量分析拥塞控制算法的设计和拥塞控制的效果,找出最适用于新型互联网络传输协议的拥塞控制算法。 [1] 张宏科,苏 伟.新网络体系基础研究—一体化网络与普适服务[J].电子学报,2007,35(4):593-598. [2] 董 平,秦雅娟,张宏科.支持普适服务的一体化网络研究[J].电子学报,2007,35(4):599-606. [3] 赵珊珊.新型互联网传输控制协议的研究与设计[D].北京:北京交通大学,2016. [4] 代志刚.新一代流控制传输协议SCTP[J].电信快报,2001(3):32-34. [5] Raiciu C,Wischik D,Handley M.Practical congestion control multipath transport protocols[S].[s.l.]:[s.n.],2009. [6] Iyengar J R,Amer P D,Stewart R.Concurrent multipath transfer using SCTP multihoming over independent end-to-end paths[J].IEEE/ACM Transactions on Networking,2006,14(5):951-964. [7] Wischik D,Handley M,Braun M B.The resource pooling principle[J].ACM SIGCOMM Computer Communication Review,2008,38(5):47-52. [8] 林开司,佘 东.计算机网络拥塞控制综述[J].科技资讯,2008(3):106-107. [9] 刘宇苹.基于拥塞控制算法的研究[J].武汉船舶职业技术学院学报,2009,8(3):37-39. [10] 韩 鹏.SCTP拥塞控制机制的研究与改进[D].南京:南京邮电大学,2011. [11] Floyd S,Fall K.Promoting the use of end-to-end congestion control in the Internet[J].IEEE/ACM Transactions on Networking,1999,7(4):458-472. [12] Chiu D M,Jain R.Analysis of the increase and decrease algorithms for congestion avoidance in computer networks[J].Computer Networks and ISDN Systems,1989,17(1):1-14. [13] Dreibholz T,Becke M,Adhari H,et al.On the impact of congestion control for concurrent multipath transfer on the transport layer[C]//Proceedings of the 2011 11th international conference on telecommunications.[s.l.]:IEEE,2011:397-404. ResearchonCongestionControlMechanismofMultipathTransmissionProtocolforEmergingInternet YAO Jian-peng,SU Wei,GAO Shuai (National Engineering Laboratory for NGI Interconnection Devices,School of Electronic Information Engineering,Beijing Jiaotong University,Beijing 100044,China) With the constant and rapid development of computer network,the demand for network applications is emerging,and the network congestion is becoming more and more serious,which has been the key problem and hotspot of network research.TCP,as a transmission control protocol,is widely used in the traditional Internet,but a single path of the TCP is unable to meet the needs of network development,increasingly showing its inherent limitations.In addition,with the diverse development of access technology and access mode,it makes multi-path parallel transmission possible.The new connection-oriented Internet transmission control protocol is a multi-path transmission protocol,which is limited to the traditional Internet congestion control algorithm with single path.For this,a new multi-path congestion control mechanism is proposed based on the review of the existing Internet congestion control mechanism,and its design principles and fairness criterion are proposed which introduce the existing multi-path transmission protocol into the control network congestion and reveal the development direction of the network multipath transmission on the basis of the comparative analysis of the advantages and disadvantages of various multi-path congestion control algorithms. multi-path transmission;congestion control;fairness;resource pool TP31 A 1673-629X(2017)10-0034-05 2016-11-18 2017-03-09 < class="emphasis_bold">网络出版时间 时间:2017-07-19 国家“863”高技术发展计划项目(2015AA016101);北京市科技新星计划(Z151100000315052) 姚剑鹏(1992-),男,硕士研究生,研究方向为下一代互联网理论与技术;苏 伟,博士,教授,研究方向为下一代互联网理论与技术;郜 帅,博士,副教授,研究方向为下一代互联网理论与技术。 http://kns.cnki.net/kcms/detail/61.1450.TP.20170719.1112.068.html 10.3969/j.issn.1673-629X.2017.10.0082 多路径拥塞控制设计
3 多路径传输的拥塞控制
4 结束语