TCP和SCTP路由协议的对比研究

2013-04-29 00:44:03何世杰童孟军
计算机时代 2013年5期
关键词:多路径

何世杰 童孟军

摘 要: 为了更好地了解流控制协议—SCTP的相关性能,利用NS-2网络仿真软件,从单路径和多路径两个方面对TCP和SCTP协议进行了比较。实验结果表明,在应对链路恶化的情况下,SCTP协议的吞吐量更大,也具有更高的稳定性,更能满足现在网络高性能传输的要求。

关键词: 流控制传输协议; 传输控制协议; 单路径; 多路径; 吞吐率; 延迟

中图分类号:TP393 文献标志码:A 文章编号:1006-8228(2013)05-03-04

Comparison study of TCP and SCTP routing protocol

He Shijie, Tong Mengjun

(School of computer science, Hangzhou Dianzi University, Hangzhou, Zhejiang 310018, China)

Abstract: In order to get better understanding of SCTP protocol performance, the NS-2 network simulation software is utilized to compare TCP and SCTP protocols from a single path and multi path. The experimental results show that, in response to the link's deteriorating condition, the SCTP protocol has a larger throughput capacity , and also a higher stability, and it can meet the transmission requirement of high performance network.

Key words: stream control transmission protocol; transmission control protocol; single path; multi path; throughput rate; delay

0 引言

SCTP代表的是流控制传输协议,它是由IEFT的信令传输工作组(SIGTRAN)新近提出的一种面向多媒体通信的流控制协议(SCTP),用于在IP网络上传输PSTN信令消息,即通常所说的SS7 over IP。

在国内,1985年是流控制传输协议技术开始萌芽的时期。从1985到1995年,该技术主要局限于计算机网络中接人端口数据流的控制技术,以防止计算设备之间大量数据互相通信时出现阻塞,保证更高的传输效率和可靠性。目前对该技术的研发仍处于较浅的层次,对整个IP网络中实规PSTN信令传输的技术还鲜有涉及;国内的SCTP研究还主要侧重于应用方面,比如SCTP与TCP的比较、SCTP在移动环境下的性能研究(例如平滑切换,移动IP,最后一跳性能恶化问题,基于SCTP移动Internet传输模型等)、基于独立路径拥塞控制的SCTP负荷分担机制研究、结合SS7的研究,以及SCTP的安全问题研究、军事应用等。

国外则更侧重于起草标准,如:定义SCTP负荷分担草案(多路径同时传输);制定部分可靠传输标准;提交建立SCTP偶联后的动态地址重配置;提交SCTP API草案;定义SCTP对移动IP的支持;提交单播拥塞控制建议标准;TCP友好可变速率控制等等。目前,IETF致力于把SCTP作为一种通用的传输协议。对SCTP本身的研究集中在对其功能的完善和扩展上,主要是从两个本质特点入手:多路径和多流。同时,对SCTP应用的研究主要集中在两个方面:在移动网络中的应用和对多媒体的传输。

本文的主要研究工作是利用NS-2构建仿真平台,对SCTP和TCP这两种协议进行对比,并根据仿真的结果计算、分析和比较这两种协议的性能,发现它们各自的优缺点。

1 TCP和SCTP的单路径的对比研究

单路径的实验拓扑图如图1所示,一共有6个节点,2个路由节点。其中0-2是发送节点,5-7是相应的接收节点。3个发送节点都绑定了FTP应用,其中0号节点的数据包发送往5号节点,流标签为1;1号节点的数据包发送往6号节点,流标签为2;2号节点的数据包发送往7号节点,流标签为3。设置最大的传输单元为1500。路由3、4间的droptail队列大小分别为5、10。本实验主要更改了1号节点和6号节点的传输协议。现在设0-5号节点的路径为L1,1-6号节点的路径为L2,2-7号的路径为L3。变量主要在L1上面。其中发送节点到路由节点3,路由节点4到接收节点的带宽均为10Mbps,延迟均为15ms。路由节点3、4直接的带宽为1.7Mbps,延迟为15ms。这样路由节点3、4之间就成为接收方和发送方直接的瓶颈。

图1 实验拓扑图

实验一的过程是:在0.5s的时候三个节点同时开始发送数据,4s的时候断开L1,7s的时候断开L2。这样做的主要目的是让L1的数据包先在有两个TCP传输协议竞争的情况下进行数据传输,然后逐渐断开其他两个链路的数据传输,来观察TCP和SCTP在有TCP竞争条件下,数据传输的吞吐量,延迟和丢包率。吞吐量如图2所示。

图2 实验一中TCP和SCTP数据的吞吐量

图2所表示的是链路L2上的数据吞吐量。X坐标轴表示时间的变化,单位为s,Y坐标轴表示接收的数据量,单位为Byte。红色线表示TCP協议在droptail队列为5时的数据吞吐量。绿色线表示TCP协议在droptail队列为10时的数据吞吐量。蓝色线为SCTP协议在droptail队列为5时的数据吞吐量,黄色为SCTP协议在droptail队列为10时的数据吞吐量。从图2中可以看出,总体上SCTP的吞吐量远远高过TCP。对于SCTP来说,在droptail队列为5的时候,其吞吐量比10的时候略高,但差距不是很大。在两个TCP数据传输断掉以后,两种情况下的吞吐量趋于相同,而且数据吞吐量趋于稳定。看趋势,在9s以后,droptail队列为10的时候,其吞吐量会略大于5的时候。对于TCP协议来说,很明显,在droptail队列为10的时候,其吞吐量高于5的时候,在两个TCP协议的数据传输都断掉以后,数据吞吐量的增长率趋于平行式增长。

图3 实验一中TCP和SCTP延迟对比

图3是实验一中SCTP和TCP两种协议数据传输延迟的对比。如图所示,是TCP和SCTP在droptail队列为5的时候,两种协议延迟的对比。红色线为TCP的延迟,绿色的为SCTP的延迟。X坐标轴表示数据传输的时间变化,单位为s,Y坐标轴表示两种协议在某个时刻的延迟,单位为s。从图3中可以看到,两者的数据线略有交叉,SCTP的延迟略高于TCP;TCP的延迟是在一个范围内上下波动,而SCTP的延迟呈一种阶段性的梯度变化。从这里也可以看出两种数据传输的差别:TCP在链路达到稳定的时候,每次传输的数据量一定;而SCTP的数据传输,在没有拥塞避免的情况下,是呈指数增长的。

根据实验一的拓扑图,更改链路L1和L3的数据传输时间,此为实验二。在0.5s的时候1号节点开始发送数据,在1.5s的时候0号节点开始发送数据,在4.5s的时候3号节点开始发送数据,在7.5s的时候将L1和L3两条链路断开连接,8s的时候结束数据传输。通过观察TCP和SCTP协议在逐渐有一个TCP协议和两个TCP协议竞争的条件下的数据吞吐量,延迟和丢包率来对比两种协议。

图4 实验二中TCP和SCTP两种协议的数据吞吐量

在图4中,表示的是链路L2上的数据吞吐量。X坐标轴表示时间的变化,单位为s,Y坐标轴表示接收的数据量,单位为Byte。红色线表示TCP协议在droptail队列为5时的数据吞吐量。绿色线表示TCP协议在droptail队列为10时的数据吞吐量。蓝色线为SCTP协议在droptail队列为5时的数据吞吐量,黄色为SCTP协议在droptail队列为10时的数据吞吐量。从图4中可以看出,总体上来说,在相同的droptail队列值的情况下,SCTP的吞吐量远大于TCP的吞吐量。在两个TCP竞争数据传输出现后,它们的吞吐量都有一个短暂性的下降,然后继续趋于上升。在8.0s的时候,两种协议的吞吐量开始趋于稳定。

对比实验一和实验二中数据吞吐量的图,我们看到,由于实验一和实验二的区别在于竞争的TCP协议出现的时间不同,在实验一的环境下,SCTP在有其他协议竞争的条件下,能够更容易、更快地达到数据吞吐的稳定状态,这样非常有利于数据的传输。

图5是实验二中链路L2在droptail队列值为10的时候的延迟对比。红色线为TCP的延迟,绿色的为SCTP的延迟。X坐标轴表示数据传输的时间变化,单位为s,Y坐标轴表示两种协议在某个时刻的延迟,单位为s。由图5中可以看出,SCTP与TCP延迟随时间的走势相互交叉,与实验一中的情形类似,SCTP的延迟略高于TCP。

图5 实验二TCP和SCTP的延迟对比

图6 TCP和SCTP竞争时的延迟和吞吐量

图6是在实验一环境下,SCTP和TCP相互竞争下的延迟和吞吐量的对比,主要是链路L2和L3的对比,红色线表示的是TCP,绿色线表示TCP。图6上图中,X坐标轴表示数据传输的时间变化,单位为s,Y坐标轴表示两种协议在某个时刻的延迟,单位为s;图6下图中,X坐标轴表示时间的变化,单位为s,Y坐标轴表示接收的数据量,单位为Byte。从图6中可以看出,情况基本与上面的实验保持一致。在相同的droptail队列值的情况下,SCTP的吞吐量远大于TCP,但是TCP和SCTP的延迟相互交叉,SCTP延迟略高于TCP。

2 TCP和SCTP的多路径的对比研究

多路径的实验拓扑图如图7所示,节点0-2合起来是一个发端,节点3-5合起来是一个收端。0是核心节点,1、2是接口,即该端点的两个IP地址;3也是核心节点,4、5也是接口,也即该端点的两个IP地址。1和4路径命名为if0;2和5路径命名为if1。

在SCTP传输过程中,数据只能从接口发或收,不能直接从核心节点发或收。该实验过程为:应用层传输FTP数据,在0.5s后开始传输;在第5s前,路径if0、if1的带宽为5M,时延为50ms;在第5s,路径if0性能恶化,带宽变成1M,时延变为200ms;在第8s,传输结束。

图7 SCTP多路径仿真拓扑图

由于TCP没有多路径这个特点,所以,要与SCTP作对比,只能重新建立拓扑图。拓扑图如图8所示:数据传输过程和SCTP一样,应用层传输FTP数据,在0.5s后开始传输;在第5s的时候链路发生恶化,带宽变成1M,时延变为200毫秒;在第8s,传输结束。

图8 相应的TCP拓扑图

对于这两种协议延迟方面的比较,我们在上一节中已经有过很详细的对比,所以在这里,主要针对两种协议在多路径的情况下,对数据吞吐量作比较,如图9所示。

图9 多路径下TCP与SCTP吞吐量的比较

如图9,其中为了表示自己搭建的TCP网络和SCTP网络有对比性,所以测试了在图8中拓扑图中SCTP数据的吞吐量,如图9中的绿线。从图中来看,在6.5s以前两种拓扑图中SCTP的数据吞吐量完全吻合,这样看来,两种拓扑图是具有可比性的。图中蓝色线表示TCP协议的吞吐量,黄色线表示if0路径上SCTP的吞吐量,红色线表示if1路径是SCTP的吞吐量。X坐标轴表示时间的变化,单位为s,Y坐标轴表示接收的数据量,单位为Byte。从图9中看,5s之前链路没有恶化,SCTP默认if0是主路径,5s之后链路if0恶化,吞吐量开始下降,此时,因为有另一条路径if1的存在,而且链路状态比if0好,SCTP开始将if1作为主路径进行传输,图中if1的吞吐量开始上升,由此可以看出,SCTP的吞吐量在经过一段时间的降低之后,会恢复原来的吞吐量,使数据传输不受影响。由图9可以看出,TCP在路径出现恶化的时候,吞吐量开始下降,如果路径得不到缓解,吞吐量会受到很大的影响。由此可以看出,SCTP多路径的特点较TCP存在很大的优势。我们再来分析路径if0数据传输与时间的关系,如图10所示。图10中有上(红色)、中(绿色)、下(蓝色)三条线。上线(红色)代表 SCTP 把数据包发送到缓存,即入队列;中线(绿色)代表数据包从缓存注入到网络,即出队列;下线(蓝色)代表数据包从收端反馈回来的证实 SACK。纵坐标代表所发送的数据包序列号,横坐标代表时间,斜率指示传输速率(下面类似图的信息也是这样的)。在第5s,带宽和时延发生变化,路径性能变差,所以第5s后的斜率小于第5s前的斜率,即第5s后的传输速率小于第5s前的传输速率。

图10 if0上数据传输与时间的关系

3 结束语

本文主要是通过NS-2构建仿真平臺,对TCP和SCTP在单路径和多路径的条件下进行对比。通过两个实验对比发现,两种协议在数据传输的延迟方面,SCTP协议略高于TCP协议,相差不是很大,但是SCTP的数据吞吐量远远大于TCP协议。由于SCTP具有多路径和多重定址的特点,在应对链路恶化的情况时,SCTP表现出更高的稳定性。作为一个新的传输协议,SCTP还具有很大的发展空间,SCTP较TCP更能满足高性能传输的要求,随着IP网络的迅猛发展,SCTP一定会有更广阔的应用空间。

参考文献:

[1] Esbold Unurkhaan, Erwin P, Andreas Jungmaier. Secure SCTP-A

Versatile Secure Transport Protocol[J].Springer,2004.10(3):273

[2] V. Jaclbson. Congestion Avoidance and Contrl[J].ACM SIGCOMN,

1988.36(2):273

[3] K.Fall and S.Floyd.Simulation-based comparisons of Tahoe Reno

and SACK TCP[J]. ACM Computer Communication Review,1996.26(3):5

[4] L.Brakmo and L.Peterson.TCP Vegas:End to End Congestion

Avoidance on a Gloabal Internet[J]. IEEE Journal on Selected Areas in Communication,1995.13(8):1465

[5] 周开波,刘桐,蒋皓等.mSCTP协议异构网络切换性能评估[J].现代电

信科技,2011.3(3):19

[6] 方路平,刘世华,陈盼等.NS-2网络模拟基础与应用[M].国防工业出

版社,2008.

[7] 胡文静.SCTP主路径自动切换的研究[D].吉林大学硕士学位论文,

2006.

[8] 叶凌伟,陈雁.SCTP与TCP的功能对比及应用分析[J].中国数据通

信,2003.1(2):43

[9] 贺翀,张继棠.流控传输协议SCTP的研究[J].山西电子技术,

2005.11(5):21

[10] 黄晓波,郑应平.流控制传输协议与TCP协议的比较[J].微型机与应

用,2005.7(6):37

[11] 成为青.流控制传输协议概述[J].电子电气教学学报,2003.4(2):31

[12] 何志亨,程荣祥,邓德隽.NS2仿真实验——多媒体和无线网络通信[M].

电子工业出版社,2009.

猜你喜欢
多路径
河南构建多通道多方向多路径综合立体交通网
基于立体图像的多路径特征金字塔网络3D目标检测
多路径效应对GPS多普勒测速的影响
多路径助推肉牛产业稳定发展
今日农业(2021年15期)2021-10-14 08:20:26
多路径腹腔镜技术治疗肾盂、输尿管癌的对比研究
云南医药(2019年3期)2019-07-25 07:25:08
基于5.8G射频的多路径识别技术应用探讨
基于多级多路径控制的无线传感器电源管理方法
测控技术(2018年4期)2018-11-25 09:47:02
GPS与北斗卫星多路径效应的对比研究
城市勘测(2016年1期)2016-12-07 02:38:02
多路径传输协议测试床构建与测试
基于MPSO的动态多路径单元构建物流成本优化研究