TCP与SCTP—CMT分析及在无线网络的发展策略
当前网络中广泛使用的传输层协议是TCP和UDP协议,TCP与UDP的显著区别是TCP可以提供可靠的数据传输服务,这使它在网络应用中有着杰出的贡献,然而随着网络技术的提高,TCP的局限性也越来越明显。SCTP协议(流控制传输协议)是2000年提出的新一代传输层协议,它具有与传统TCP和UDP协议不同的多宿性和多流性,不仅可以提供可靠的数据传输服务还具有选择性重传、无序递交等特性[1]。为充分利用每条路径资源以提高网络传输速率,Iyengar博士等人在SCTP基础上提出了并行多路径传输(Concurrent Multipath Transfer)机制,在近年来受到了更多的关注,并已逐渐成为研究的热点,该文对TCP及SCTP-CMT的基本特性进行了介绍。随着无线网络的发展以及接入方式的多样化,无线网络通信受到了越来越多的关注,尤其是具有多种接入方式的无线网络通信,而车载网络属于高速移动的无线网络,且随着汽车的日益普及,对车载网络的研究具有一定的意义,基于以上几点,该文以车载网络为例来研究TCP和SCTP-CMT在具有多种接入方式的无线网络中的传输性能,并在NS2仿真平台上对TCP与SCTP-CMT在车载网络环境中的性能进行了仿真分析比较。
1 TCP
TCP协议(传输控制协议)是面向连接的、可靠的、基于字节流的传输层协议,当前网络中大多数的应用是使用TCP协议来进行数据传输的。作为在IP网络中可靠的数据传输协议,TCP协议有着杰出的表现。使用TCP协议进行传送的数据必须满足无重复、无差错和按序到达特点,正是因为TCP这些特性保证了数据传送的可靠性和健壮性;TCP协议的拥塞控制算法包括慢启动、拥塞避免、快速恢复和快速重传算法,在发生网络拥塞时拥塞控制算法能显著提高TCP的传输性能。使用TCP协议进行通信的两个端点在通信之前需通过三次握手来建立一条逻辑通信链路,在链路建立好后会进入慢启动阶段,进而进入拥塞避免阶段和拥塞控制阶段[2]。
在刚开始制定TCP协议时,由于当时的网络传输速度还很慢,网络性能也比较稳定,因此在设计数据包格式时为减少开销,将头部设计的非常紧凑,这使得TCP协议的可扩展性较差,几乎不能扩展。然而随着网络接入技术的提高和网络带宽资源的增加,TCP因受到可靠数据传输服务要求以及拥塞控制机制的限制,已经不能充分利用现有的网络带宽资源,急需进行扩展,尤其是在以车载网络环境为例的具有多种接入方式的无线网络环境中。不同的链路在带宽以及传输时延上都存在着较大的差异,当TCP在不同链路之间进行切换时,性能会受到很大的影响[3]。此外,TCP不能有效区别拥塞丢包与链路故障丢包,而是简单的将丢包均视为拥塞丢包,然而在无线网络中丢包不仅仅是拥塞丢包造成的也可能是因无线信号差错造成的,简单的归因于拥塞丢包会导致拥塞窗口的不必要降低,进而降低传输效率[4]。可见,TCP在具有多种接入方式的无线网络环境下应用的局限性越来越明显。
2 SCTP-CMT
SCTP协议是由SIGTRAN组织最初设计并用来在IP网络上传输信令消息、面向数据流的端到端传输协议, SCTP可以提供可靠的数据传输服务并且可以保留数据消息边界[5]。SCTP协议中引入了关联的概念,关联是指两个终端经过四次握手后建立的一种连接关系。除此之外,SCTP还具有许多新特性,如多宿性、多流性。多宿性是SCTP的重要特性之一,在具有多个网络接口的主机上,可以通过多个IP地址来访问该主机,假设需要通信的两个主机分别有N个和M个接口,则该关联中最多可以拥有N*M条路径,使用多路径的目的是获得冗余,这可以避免因某条路径的失效而导致整个关联失败的现象发生,提高了通信的可靠性[6]。多流性(multi-stream)是指在使用SCTP进行数据传输的两个端点可以同时拥有多个流,用户除了可以选择使用不同的路径进行数据传输外,还可通过不同的数据流来传输数据,且不同的数据流之间相互独立。
在实际应用中,使用SCTP协议进行通信的终端间虽然可以拥有多条路径,但通常只使用主路径进行数据传输,当主路径失败后才会选择备用路径来进行数据传输,这极大的浪费了网络资源。随着人们对带宽的要求越来越高,为充分利用每一条路径的链路资源、增加端到端之间的网络利用率和网络吞吐量、提高传输效率,Iyengar博士等人提出了并行多路径传输(CMT)的概念,它不仅可以在多条路径上同时进行数据传输,而且当某条路径发生故障时,可以及时的选择其他路径进行数据传输,而新路径不需像传统SCTP一样,需要从慢启动阶段开始,这大大的提高带宽的利用率和吞吐量。
使用多条路径进行并行传输时,由于每条路径的属性不同,网络的性能参数(如带宽、时延)各异,很难保证数据包能够同时到达接收端。同时丢包也可能会导致后发出的数据包先到达,使乱序问题变得更加严重,容易产生接收端缓存问题。
3 仿真实验
随着网络技术的不断发展,无线网络通信受到了越来越多的关注,当前越来越多的终端可以拥有多种接入方式,因此具有多种接入方式的无线网络通信成为时下热点话题之一。车载网络属于
高速移动的无线网络,随着车辆的日益普及,人们对车载网络的要求也越来越高。为研究SCTP-CMT与TCP在具有多种接入方式的无线网络环境中的传输性能,我们以车载网络环境为例,针对SCTP-CMT和TCP分别建立了模拟车载网络环境的拓扑结构图,如图1所示为SCTP-CMT的拓扑图,其中,S为服务器端,在传输层采用SCTP-CMT协议,应用层采用FTP协议。图2为TCP的拓扑结构图,其中,S1和S2为服务器端,传输层均采用TCP协议,应用层采用FTP协议。R1,1与R1,2以及R2,1与R2,2这两条瓶颈路径带宽均为2Mb,时延为20ms,其中MN为接收端,即移动车辆,基站BS1和BS2的距离设为500m,MN以60km/h的速度在其站BS1和BS2之间移动。在版本为2.34的NS2网络仿真平台[12]上进行了仿真实验,以分析SCTP-CMT与TCP谁更适合应用于车载网络环境。
图3和图4分别为SCTP-CMT和TCP的拥塞窗口变化和吞吐量变化的仿真结果图,从图中我们可以看到,无论是拥塞窗口变化还是吞吐量,SCTP-CMT的性能都高于TCP。尤其是在12.5秒时,TCP因需要转换路径时,拥塞窗口几乎降为零,重新经历了一个慢启动过程。而SCTP-CMT因为在整个仿真过程中都可以在两条路径上同时进行传输,因此无论是在3.5s为有线链路拥塞造成丢包、在12.0s时发生无线链路信息造成的丢包,还是在20.0s是无线链路信号造成超时,其传输性能都一直优于TCP。
虽然在仿真结果中SCTP-CMT性能始终高于TCP,但可以发现在12.0s和20.0s时,并没有将因无线信号错误而造成的差错丢包与受带宽限制而产生的拥塞丢包区分开了,造成了拥塞窗口不必要的降低。这是因为SCTP-CMT采用与传统TCP协议相同的拥塞控制机制(CC),无法区分拥塞丢包与差错丢包。近期有许多学者为SCTP-CMT、MPTCP分别提出CMT/RP CC和MPTCP CC机制,以使拥塞控制机制更加适合应用于多路径数据传输环境,[13]但在无线网络环境中还需做进一步的研究。
4 结论
TCP是面向连接的可靠传输协议,SCTP在继承了TCP的优点上发展出了多宿、多流等特性,在SCTP基础上提出的多路径并行传输机制(SCTP-CMT)可以同时利用多条路径进行数据传输,提高了链路的利用率。该文介绍了TCP与SCTP-CMT的基本特性,分析了TCP的不足之处以及SCTP-CMT的优点。为比较TCP与SCTP-CMT在具有多种接入方式的无线网络环境中的传输性能,该文以车载网络环境为例,在NS2上建立仿真拓扑结构,以分析TCP与SCTP-CMT谁更适合车载网络环境,根据仿真实验结果,我们可以看到,SCTP-CMT在车载网络环境中的传输性能明显高于TCP的传输性能,尤其是在多个基站间切换时,可以保证数据的高效传输,因此认为SCTP-CMT比TCP更适合应用于具有多种接入方式的无线网络环境。但当前SCTP-CMT的发展还不够成熟,尤其是在无线网络拥塞控制算法上仍须做进一步的改进。
参考文献:
[1] RFC4960,Stream Control Transmission Protocol[S].
[2] 谢希仁.计算机网络 [M]. 6版.北京:电子工业出版社,2013.
. IEEE Communications Surveys & Tutorials, 2006, 8(4):64-79.
.Gwalior: International Conference on Communication Systems and Network Technologies (CSNT),2013,281-285.
[5] T. Dreibholz, E.P. Rathgeb, I. Runggeler, R. Seggelmann, M. Tuxen, R. Steeartm. Stream Control Transmission Protocol: Past, Current, and Future Standardization Activities[J].IEEE Communications Magazine,2011,49(4):82-88.