基于MPTCP路径管理算法性能分析
2017-10-16谭齐宁谭毓银廖宇力
王 琨,周 星, 周 峰,谭齐宁,程 玺,符 发,谭毓银,廖宇力
( 海南大学 信息科学技术学院,海南 海口 570228)
基于MPTCP路径管理算法性能分析
王 琨,周 星, 周 峰,谭齐宁,程 玺,符 发,谭毓银,廖宇力
( 海南大学 信息科学技术学院,海南 海口 570228)
介绍了MPTCP的4种路径管理算法,给出了MPTCP路径管理性能评价指标-带宽聚合效益(B)因子量化公式,并用其评价测试数据结果以帮助MPTCP协议研究者定量分析MPTCP的多路径传输性能,最后根据不同网络场景测试,通过性能评价因子(B)的计算证明了Fullmesh路径管理算法在多路径传输中性能最优.
多路径传输; MPTCP; 路径管理; 带宽聚合效益因子; 性能研究
随着云计算、大数据和物联网应用不断深入,网络流动的数据不断增大,因此对网络提出支持高吞吐量的应用需求.IETF提出的基于传输层的多路径并发传输就是不需改变现行网络基础设施就可以提升网络呑吐量、以支撑大体量数据应用,并得到IT业界的高度重视,越来越多的研究机构及个人正在从事此研究工作.研究者提出多个多路径传输协议:流控制传输协议(Stream Control Transmission Protocol,SCTP)[1-2]支持多宿主[3-5],基于SCTP扩展的并发多路径传输协议(Concurrent Multipath Transfer-Stream Control Transmission Protocol, CMT-SCTP)[6]和MPTCP(Multi-path TCP)[7-9]等. MPTCP及CMT-SCTP是关于多路径传输的2个具体协议实现,受到了IETF的高度重视.
由于MPTCP能很好地兼容TCP协议上的应用,笔者首先分析了基于MPTCP协议的4种路径管理算法对多路径传输性能的影响,其次在此基础上给出MPTCP带宽聚合效益因子的量化公式,量化MPTCP的带宽聚合效益,最后判断参与并发传输的子流是否能对多路径并发传输的呑吐量性能增长作贡献.
1 MPTCP
MPTCP能够提供SCTP和TCP相同的功能,其重要的优点是向后兼容性,能够兼容现有TCP[10]的所有应用,并提供一个类似中间件的功能,如防火墙、网络/端口地址转换路由器,使网络能平稳地运行.MPTCP是目前在传输层上较为成熟且成为研究热点的多路径传输协议,也是IETF重点关注的研究热点.MPTCP是传统TCP的扩展.传统TCP仅支持单路径传输,多路径传输机制的引入使得不改变TCP基础架构能实现多宿主资源的同时利用与共享.MPTCP以资源共享的方式,将数据流分发到多条路径上进行并行传输,以此来提高网络吞吐量,支持并行多路传输,且兼容TCP和现有网络应用,满足网络中间件的要求.因此,MPTCP具有广阔的应用前景.但MPTCP仍处于研究阶段,一部分研究者通过仿真设计来部署实验,对其性能进行评估[11];另一部分研究者的关注点主要在协议本身,如协议的体系结构,笔者研究分析数据则是基于真实的大规模多路径传输NorNet国际测试床.目前,MPTCP 处于大规模实测研究阶段,但用带宽聚合效益因子评价多路径管理算法并进行实测的研究并不多见.
1.1路径管理算法及工作原理现有的MPTCP路径管理只提供了建立、添加与删除子流(1条TCP 路径)的方法,其建立路径连接的工作原理如下:每个 MPTCP 终端都有1个 IP 地址列表,由各接口的IP 地址表组成,是多宿主主机接入的基础.端设备利用源主机 IP 地址列表和目的主机IP 地址列表,分别构建多个IPS(源IP地址)到 IPD(目标IP地址)地址对的 TCP 子流,将数据进行分段,然后通过不同的 TCP 子流并行传输.2个 MPTCP端设备先建立正常的 TCP连接,在此过程中, MPTCP使用 MP_CAPABLE TCP 选项告诉对方可使用多路径传输,当初始连接建立完成后,若对方仍有可用子流,则再使用 ADD_ADDR[12]选项建立连接子流并加入到初始建立的连接中传输数据.在MPTCP连接生命周期里,若某个IP地址突然失效不可使用,用REMOVE_ADDR可选项将失效的IP地址从MPTCP连接中删除,从而断开跟该IP地址相关的所有子流.
关于多路径传输的路径管理,是由MPTCP定义.在Linux MPTCP[13]中有4种路径管理算法.
Default 路径管理算法 Default 路径管理算法是MPTCP默认的路径管理算法. Default路径管理算法既不会公布不同的IP地址,也没有启动创建新子流的功能,但会被动接受创建新子流.MPTCP使用Default路径管理算法时,与TCP传输相比,并不能提高网络吞吐量,在此种情况下,多路径传输的B接近于0甚至等于0,即相当于TCP单路径传输. Default路径管理算法虽然不能增加带宽聚合效益B的大小,但被动接受创建新子流的能力可以提升路径冗余的恢复能力,工作原理示意图如图1所示.
图1 Default 路径管理工作原理
Fullmesh 路径管理算法 Fullmesh 路径管理算法将所有可以利用的子流全部利用起来,从而达到汇聚子流带宽实现并行传输的目的[10].使用此路径管理算法,性能优的子流加入传输会使B﹥0,性能差的子流加入传输会拖累性能好的子流,使B变小甚至小于0.Fullmesh的工作原理示意图如图2所示,MPTCP端设备HostA和HostB先建立正常的TCP连接,在此过程中,MPTCP使用 MP_CAPABLE TCP 选项告诉对方可以使用多路径传输,当初始连接建立完成后,若对方仍有可用子流,ADD_ADDR选项会将其加入到初始建立的连接中并发传输数据.最终HostA和 HostB将有PA1—B1,PA1—B2,PA2—B1和PA2—B24条路径同时并发传输数据.
图2 Fullmesh 路径管理工作原理
Ndiffports 路径管理算法 Ndiffports 路径管理算法利用多个不同的应用服务端口来实现并发传输. Ndiffports 路径管理算法始终使用相同的IP地址与不同的基于TCP的应用端口来同时多路复用TCP.理论上只有当每条子流负载平衡时,B﹥0,即此算法有效,其工作原理示意图如图3所示.
Binder[14]路径管理算法 Binder路径管理算法将松散源路由(Loose Source and Record Routing,LSRR)选项添加到MPTCP,以确保MPTCP子流使用所有可用的网关,即采用LSRR分发子流的数据包. Binder路径管理算法允许用户终端设备从网关直接获得更高的网络吞吐量,而不需要进行任何修改,可用图4 a和b说明其工作原理.理论上,只有在网络中设置了LSRR选项,才能使其B﹥0,从而使得Binder路径管理算法发挥良好的效果.
图3 Ndiffports 路径管理工作原理
图4 Binder 路径管理工作原理
1.2拥塞控制算法除路径管理算法外,拥塞控制算法也是对网络中流量与负载均衡进行控制的协议.拥塞控制算法不仅对网络资源进行更合理分配和利用,并能更好地确保在进行多路径传输时保持其流量的公平性.目前用于多路径传输的拥塞控制算法有多种,如Cubic,Reno,Dctcp,Bic,Hybla,Balia,Lia,Olia和Vegas等.为了更好地分析子流的加入对B的影响,笔者主要使用2种拥塞控制算法:
1) Cubic是基于Linux的TCP和MPTCP的默认拥塞控制算法,属于非耦合算法,但对于多路径传输来讲,当不同的子流共享共同瓶颈时,是不公平的,具有资源抢占性.
2) OLIA (Opportunistic LIA)是LIA算法的更新版,是 Linux MPTCP中耦合算法之一,其基本思路是通过共享瓶颈解决非耦合算法的不公平性问题.
2 性能评价指标
2.1带宽聚合效益B定义评价多路径传输带宽聚合性能的指标叫带宽聚合效益因子,用B表示.B为与单路径传输(如TCP)相比,多路径传输的带宽聚合效益的大小,其取值可在-∞~+∞ 之间,即当 MPTCP 的带宽高于 TCP 时,B>0;当 MPTCP 的带宽等于 TCP 时,B=0;当 MPTCP 的带宽小于 TCP 时,B<0,其数学表达
(1)
图5给出了带宽聚合效益因子B的图示说明,解释了多路径并发传输协议应当考虑如何基于整体多路径传输性能的提高而采取相应的措施.图5中第一象限区域是B﹥0的子流,意味着该子流可以加以利用,并能改进或提高带宽聚合效益,应当充分利用并激活该子流;而B<0落入第二象限区域的子流对整体性能的提升是不利的,不应当加以利用.
图5 带宽聚合效益度量指标B 示意图
综上所述,期待每个子流的加入提高整体的聚合带宽.但根据文献和实验分析得知,并不是所有的子流的加入都会提高整体的聚合带宽,如何根据当前使用的路径管理算法判断加入传输的子流路径对多路径传输是否有贡献,笔者重定义了MPTCP路径管理性能评价指标-带宽聚合效益(B)的内涵,并用其评价了测试数据结果来评判路径管理算法的优劣,并帮助MPTCP协议研究者量化MPTCP的多路径传输性能.
2.2带宽聚合效益B量化设计B为带宽聚合效益因子,表示与单路径传输(如TCP)相比,多路径传输的带宽聚合效益因子的大小.因此,B的数学量化
(2)
其中,MPTCP_APT (MPTCP Application Payload Throughout)表示使用MPTCP多路径传输时网络应用的有效载荷吞吐量;TCP_APT (TCP Application Payload Throughout)表示使用TCP单路径传输时网络应用的有效载荷吞吐量.
3 实验设计与结果分析
本文所获得的研究分析数据均来源于NorNet国际测试床[15]的测试结果.NorNet是由挪威Simula国家实验室主导构建的一个大规模分布式国际测试平台,海南大学拥有亚洲第一个在该测试床上上线的测试站点HU-NNC-Site(HainanUniversity NorNet Core-Site),以下简称HU.
3.1测试场景设计实验的带宽通过工具NetPerfMeter测量,能为多个协议提供传输连接的性能对比,包括支持MPTCP.实验数据结果都是通过GNU R进行处理,每组实验结果为运行20次的均值.实验结果图通过实验运行300 s来显示出平均的有效载荷吞吐量,实验的置信区间为95%.
实验使用的NorNet国际测试床跨越欧、亚、美、澳四大洲,因此根据站点间的距离长短不同(跨海、跨洲等不同情况)和提供服务的供应商情况不同(提供网络带宽高低不同分为高速网、低速网),为了展示出路径管理算法和拥塞控制算法的设置不同带来的影响,选择多个站点进行实验,最终选择3个不同的具有代表性的测试场景进行分析.
场景1设计:测试德国杜伊斯堡-埃森大学(位于欧洲,有2个网络供应商,UDE)与中国海南大学(位于亚洲,有2个网络供应商,HU)之间的网络通讯.
场景2设计:测试中国海南大学(位于亚洲,有2个网络供应商,HU) 与韩国高丽大学(位于亚洲,有1个网络供应商,KRU) 之间的网络通讯.
场景3设计:测试挪威特隆赫姆师范大学(位于欧洲,有2个网络供应商,NTNU) 与挪威纳威克大学(位于欧洲,有3个网络供应商,HiN) 之间的网络通讯.
具体站点信息如表1所示.其中,绿色表示提供高速连接的网络供应商;而蓝色表示提供低速连接网络供应商(在某些情况下网速高达16 Mib·s-1,ADSL连接上标标有“A”).
表1 使用站点信息
3.2测试结果分析在表2、3和4中的d表示Default算法,n表示Ndiffports算法,b表示Binder算法,f表示Fullmesh算法,c表示Cubic算法,o表示OLIA算法.
图6 UDE->HU MPTCP 长期测试结果
图6为UDE到 HU站点之间的MPTCP平均有效载荷吞吐量结果,表示在不同的路径管理算法与拥塞控制算法作用下,以4条不同的初始路径建立连接后再加入其他路径的有效载荷吞吐量.从图6可知,Fullmesh路径管理算法展现了最佳传输性能,从传输性能角度分析,Cubic算法略强于OLIA算法.
表2 UDE-> HU 带宽聚合效益B的计算结果
为了对该场景下各种情况进行更为直观清晰的对比,根据式(2)计算B,如表2所示.其中D-C表示DFN-CERNET,D-Cn表示DFN-CnUnicom,V-C表示Versatel-CERNET,V-Cn表示Versatel-CnUnicom.从表2可知,当使用Fullmesh算法进行MPTCP多路径传输时,B始终大于0,此时能获得较高的网络吞吐量;对Cubic和OLIA算法进行比较,可以看出在使用同种路径管理算法进行MPTCP多路径传输时,大部分情况下使用Cubic算法的B较大,即通常情况下,使用Cubic拥塞控制算法能获得较高的网络通信性能.
通过对比表2中的4条路径,可以看到一个非常有意思的现象,在相同的情况下,V-Cn的B最大,D-Cn的B最小,以f/c为例,V-Cn的B=65,D-Cn的B=0.26,但从图6可以明显看出最佳路径为D-Cn,而V-Cn是通信性能最差的路径,此现象的出现原因是使用性能较好的路径作为初始路径时,其他性能差的路径加入传输对带宽聚合并没有太大提高甚至可能降低整体的带宽;而当用性能较差的路径作为初始路径,加入性能好的路径,能够极大的提高带宽聚合度,对传输带宽有较大的提高.当V-Cn作为初始路径进行多路径传输时,其他子流的加入均能使其B>0;但D-Cn作为初始路径进行多路径传输仅使用Fullmesh算法,其他子流加入其B>0;其他情况下,加入任何子流均对其有害无益,明显Fullmesh算法性能更优.
通过实验分析,可以得知Ndiffports和Binder 路径管理算法的性能正如理论分析所示,其B基本等于0,即对带宽并没有什么提高,性能较差,因此以下2个场景中将其省略.
图7 HU-KRU MPTCP 长期测试结果
图7为HU到 KRU站点之间的MPTCP平均有效载荷吞吐量结果,可以清楚看出不同路径管理算法和拥塞控制算法在不同初始路径下的表现.
表3 HU-KRU 带宽聚合效益B的计算结果
为了从数据的角度更有力的说明路径管理算法的优劣,根据B公式进行计算,具体计算结果如表3.其中,C-K表示CERNET-KREONET,Cn-K 表示CnUnicom-KREONET.从表中,可以清楚看到使用default算法进行多路径传输时,2条路径的B接近于0(C-K在2种拥塞控制算法作用下B=-0.06;Cn-K使用Cubic时,B=-0.01,使用Olia时B=0.14),这是因为其类似于TCP单路径传输,但另一条路径的存在仍对其有微小的负面影响,可以推测2条路径的性能不是太好,此时路径管理算法性能较差.但使用Fullmesh算法进行多路径传输时,由于2条路径本身的性能相差不大,不管哪条作为初始路径,另一条子流加入传输后,B>0,即2条子流的加入均能提高网络的整体吞吐量,但C-K的B明显大于Cn-K的B(使用Cubic时,C-K 的B=4.06,Cn-K的B=0.15,4.06>0.15;使用Olia时C-K的B=2.47,Cn-K的B=0.05,2.47>0.05),即Cn-K加入已存在的C-K进行多路径传输得到的带宽聚合大于C-K加入已存在的Cn-K进行多路径传输得到的带宽聚合,意味着Cn-K加入多路径传输能提高网络的通信性能,此时的路径管理算法性能较好.同样,可以看出使用Cubic算法B大于使用OLIA算法的B,即使用Cubic算法时,其他子流的加入更能提高整体的网络吞吐量.此2个场景下Cubic算法始终较好于OLIA算法,但并不总是这样,下面有个反例.
图8 NTNU-HiN MPTCP 长期测试结果
图8为NTNU到HiN站点之间的MPTCP平均有效载荷吞吐量结果.同时,其对应B在表4中可以找到,其中,P-B表示PowerTech-Broadnet,P-P表示PowerTech-PowerTech,P-U表示PowerTech-Uninett,U-B表示Uninett-Broadnet,U-P表示Uninett-PowerTech, U-U表示Uninett-Uninett.
表4 NTNU-HiN 带宽聚合效益B的计算结果
从表4中可以看出当U-U为初始路径时,B﹤0(d/c的B=-0.01,d/o的B=-0.06,f/c的B=-0.01,f/o的B=-0.01),即其他路径的加入均降低其网络整体的吞吐量.而当其他路径作为初始路径,使用default算法时,B接近于0,即此时的路径管理算法性能较差;使用Fullmesh算法时,U-U加入后,B大大增加,意味着该路径对网络整体吞吐量有贡献,即此时的路径管理算法性能较好;但使用OLIA算法的B此时均大于Cubic算法的B,这是因为此时ADSL 路径丢包率较高,使得路径的拥塞窗口减小,从而产生了此现象.从性能优劣的角度分析,在该场景下,进行多路径传输时,推荐Fullmesh算法和OLIA算法.
综上所述,针对多路径传输协议MPTCP 的多个测试场景,对其测试分析,根据网络带宽聚合效益B的定义,提出B的计算公式,并从B的角度统计分析了路径管理算法的性能,验证了算法的理论分析即MPTCP使用Default路径管理算法时仅相当于TCP单路径传输,此时B基本接近于0甚至等于0;Ndiffports和 Binder路径管理算法仅在特殊场景(网关负载均衡)中能得到有效的利用,因此对多路径传输并贡献不明显,即在特殊设置的网络环境下B﹥0;只有Fullmesh路径管理算法无需在意初始路径,能获得较高的吞吐量,可以提供带宽聚合的好处,使用此路径管理算法,性能优的子流加入传输B﹥0,性能差的子流加入传输会拖累性能好的子流,使B变小甚至小于0.
4 结束语
研究了MPTCP的4种路径管理算法对多路径传输呑吐量性能的影响,测试结果分析表明Fullmesh路径管理算法在多路径传输中性能最优,同时重定义了带宽聚合效益B的内涵,并用其评价验证了4种路径算法与相应的拥塞控制算法共同作用下对传输呑吐量的性能的影响,结果表明B可以作为其衡量多路径子流对整体通信性能是贡献还是拖累的重要指标.下一步工作的重点,对不同的子流进行更细粒度地分析,使其能用B自动化地确定多路径子流是否可以参与多路径的并发传输,根据此思想改进路径管理算法,并修改MPTCP的内核,真正达到通过多路径传输提高带宽的目的.
[1] Eklund J. Latency Reduction for soft real-time Trac using SCTP multihoming[D]. Karlstads:Karlstads Universitet,2016.
[2] Dreibholz T. Reliable server pooling-evaluation, optimization and extension of a Novel IETF architecture[D]. North Rhine-Westphalia:University of Duisburg Essen,2007.
[3] Amer P D,Becke M, Dreibholz T, et al. Load sharing for the stream control transmission protocol (SCTP)[EB/OL]. [2016-12-24].https://www.researchgate.net/publication/260814769_Load_Sharing_for_the_Stream_Control_Transmission_Protocol_SCTP.
[4] Dreibholz T. Evaluation and optimisation of multi-path transport using the stream control transmission protocol [D]. North Rhine-Westphalia:University of Duisburg Essen,2012.
[5] Yedugundla K V, Ferlin S, Dreibholz T, et al. Is multi-path transport suitable for latency sensitive Trac?[J]. Computer Networks, 2016(105):1-21.
[6] Dreibholz T, Rwngeler I, Seggelmann R, et al. Stream control transmission protocol: past, current, and future standardization activities[J]. IEEE Communications Magazine, 2011, 49(4):82-88.
[7] Scharf M, Ford A. Multipath TCP (MPTCP) application interface considerations [EB/OL]. [2016-12-24]. http://ftp.tudelft.nl/rfc/rfc6897.txt.pdf.
[8] Ford A, Raiciu C, Handley M, et al. TCP extensions for multipath operation with multiple addresses[EB/OL]. [2016-12-30].http://ftp.vim.org/ftp/ftp/ftp/ftp/documents/rfc/rfc6824.txt.pdf.
[9] 刘鹏. 基于MPTCP的路径管理研究[D]. 重庆:重庆邮电大学, 2013.
[10] Becke M, Adhari H, Rathgeb E P, et al. Comparison of multipath TCP and CMT-SCTP based on intercontinental measurements: proceedings of Global Communications Conference (GLOBECOM), Atlanta, December 9-13, 2013[C].[S.l.]:IEEE, 2013.
[11] 刘骥, 谭毓银, 符发,等. MPTCP与CMT-SCTP拥塞控制机制研究[J]. 计算机工程, 2015, 41(4):117-124.
[12] 符发, 周星, 谭毓银,等. 多场景的MPTCP协议性能分析研究[J]. 计算机工程与应用, 2016, 52(5):89-93.
[13] Raiciu C, Paasch C, Barre S, et al. How hard can it be? designing and implementing a deployable multipath TCP: proceedings of the 9th USENIX Conference on Networked Systems Design and Implementation (NSDI),San Jose, April 25-27,2012[C].[S.l.]:IEEE,2012.
[14] Boccassi L, Fayed M M, Marina M M. Binder: a system to aggregate multiple internet gateways in community networks: proceedings of the 2013 ACM MobiCom workshop on Lowest cost denominator networking for universal access,Miami, September 30-October 4,2013[C].[S.l.]:IEEE,2013.
[15] Dreibholz T, Bjorgeengen J, Werme J. Maintaining and monitoring the infrastructure of the NORNET CORE testbed for multi-homed systems: proceedings of International Conference on Advanced Information NETWORKING and Applications Workshops. Gwangju, March 25- 27, 2015 [C].[S.l.]:IEEE, 2015.
Abstract: In the report, the four path management algorithms of MPTCP were introduced. The quantitative formula of the MPTCP path management performance evaluation index-bandwidth aggregation benefit (B) factor was proposed, and which was used to evaluate the test data in order to help researcher quantify the bandwidth aggregation benefit of MPTCP. According to the different network scene test, the conclusion that full mesh path management algorithm has the best performance was demonstrated by the calculation of the performance evaluation index (B).
Keywords:Multipath; Multi-Path TCP(MPTCP); path management; bandwidth benefit factor; performance analysis
PerformanceAnalysisofMPTCPPathManagementAlgorithm
Wang Kun, Zhou Xing, Zhou Feng, Tan Qining, Cheng Xi, Fu Fa, Tan Yuyin, Liao Yuli
(College of Information Science and Technology, Hainan University, Haikou 570228, China)
TP 305
A DOl:10.15886/j.cnki.hdxbzkb.2017.0035
2016-05-05
国家自然科学基金(61363008,61662020)
王琨(1991-),女,山东枣庄人,海南大学信息科学技术学院2014级硕士研究生,研究方向:下一代互联网,E-mail:780952372@qq.com
周星(1958- ) ,女,重庆沙坪坝人,教授,主要研究方向:下一代互联网协议分析,E-mail:xingzhou50@126.com
1004-1729(2017)03-0211-08