摘 要:本文研究了在WLAN、GPRS、UMTS这3种无线网络上运行流控制传输协议(SCTP)时,不同的协议参数配置对系统传输性能的影响。文中找出了达到最大系统传输性能时的SCTP协议参数设置,从而解决了符合IETF-RFC2960的SCTP应用于无线网络上协议最佳参数选择的关键问题。理论分析和仿真结果表明,运行于无线网络上时,采用了最佳参数配置的SCTP协议传输性能明显地高于采用传统参数配置的SCTP协议。
关键词:无线网络;流控制传输协议;传输性能;最佳参数配置
一、引言
流控制传输协议(Stream Control Transfer Protocol,SCTP)[1]是为在IP网上传递基于信令的信息而设计的,协议中的参数都是按照有线网的环境来设置。当把SCTP应用于无线环境时,无线网络与有线网络的不同特性会导致系统无法达到最佳性能。如何提高SCTP应用于无线网络的性能已成为软交换以及网络传输领域的研究热点之一。
关于无线网络的SCTP应用上,文献[2]、[3]、[4]、[5]做了一些研究工作。但是,当前的这些研究主要集中在尽力采用SCTP的能力、或者一些新的特性上,而对于把SCTP应用于无线网络上时最佳参数配置问题的研究还是一个空白。本文填补了这一空白,研究了SCTP运行于GPRS(CS2编码规范)、WLAN(IEEE802.11b)、UMTS(R4)这三种无线网络之上的协议参数配置,解决了符合IETF - RFC2960的SCTP应用于无线接入网上协议最佳参数选择的关键问题。
二、理论分析
传输层的性能由 QoS来衡量。ITU-T在X.214建议[6]中定义了11个QoS参数。作为性能分析,本文只考查传输连接建立成功之后传输数据的系统传输性能,与之相关的QoS参数是吞吐量、传输时延和残差率。实际上,由于传输层的工作就是屏蔽所有的网络层错误,因而残差率只是一个很小的有限值[7],在仿真考查系统时可以不考虑。而在吞吐量和传输时延这两个参数中,吞吐量往往是衡量系统传输性能的决定性指标,因而本文作为一个探索,在仿真时只考虑吞吐量这个参数。相同条件下,大的吞吐量即表明了高的系统传输性能。
当把传输协议SCTP从有线网络应用到无线网络时,SCTP需要面对的网络特性的差异主要在于较高的误码率、较多的丢包和较大的时延,进而使得无线网络的RTT不象有线网络那样缓慢而逐步地变化,这会导致SCTP的流量控制和拥塞控制窗口产生不必要的回退。
无线链路与有线链路的一个显著区别就是无线链路频繁的突发时延。得益于SACK算法,SCTP能够避免在发生突发延时的时候错误地进行快速重传[3]。但是,较大的时延增大了RTO,因而SCTP需要修改其RTO的估计算法参数来适应无线链路的这一特性(这已超出本文的范围),这样,用以进行空闲检测的“Heartbeat间隔”参数亦需要增加。较高的误码率使得接收到的数据包发生差错的概率增大,再加上链路本身较多的丢包,因而使得无线链路的传输丢包率远高于有线链路,这样,协议中的几个“最大重传次数”的参数必须进行相应的变化。
结合上文的论述,本文下面的研究将主要考查SCTP的Heartbeat间隔、最大INIT Chunk重传次数、连接建立最大重传次数以及每条路径的最大重传次数这几个参数对系统端到端吞吐量和丢包率的影响。通过考查、分析,本文将找出上述这几个参数分别在各种网络上的最佳值。
三、仿真描述
本文对系统性能的考查通过仿真进行。所有仿真均使用了NS-2[8]网络仿真软件,其中的SCTP模块由美国特拉华大学的协议工程实验室开发。
仿真时,系统由SCTP传输层和系统网络层组成,SCTP的连接使用两条链路,并且在300 m×300 m的范围内自由运动,如图1所示。
仿真时的系统参数如表1所列设置。
WLAN采用符合IEEE802.11的MAC层,GPRS网络的参数配置采用CS-2编码标准,UMTS采用R4版本,仿真系统参数配置如表2所列。
四、仿真结果分析
图2、3、4为仿真结果图,每个图中均有3个小图,这些小图上到下依次是端到端平均吞吐量随“Heartbeat间隔”、“MTU”、“最大Association重传次数”、“最大INIT重传次数”、“最大路径重传次数”变化的曲线图(最后三条曲线在一个图中)。
从图2可以看出:WLAN上SCTP,当“Heartbeat间隔”取值55 s时,系统最大吞吐量为762.092 kbps;当MTU是2 568的时候,系统吞吐量达到了715.175 kbps;当“最大INIT Chunk重传次数”为4时,SCTP达到最大吞吐量为698.896 kbps;当“最大Association重传次数”为4的时候,系统吞吐量达到了极大值708.796 kbps;而“最大路径重传次数”对系统的影响并不明显。
从图3可以看出:UMTS上SCTP,当“Heartbeat间隔”取值187 s时,系统最大吞吐量为60.8756 kbps;当MTU是2 699的时候,系统吞吐量达到了228.069 kbps;当“最大INIT Chunk重传次数”为4时,SCTP达到最大吞吐量为48.5351 kbps;当“最大Association重传次数”为3的时候,系统吞吐量达到了极大值53.6821 kbps;而“最大路径重传次数”对系统的影响并不明显。
从图4可以看出:GPRS上SCTP,当“Heartbeat间隔”取值203 s时,系统最大吞吐量为26.3491 kbps;当MTU是2 822的时候,系统吞吐量达到了10.038 kbps;当“最大Association重传次数”为3的时候,系统吞吐量达到了极大值14.073 kbps;而“最大INIT Chunk重传次数”、“最大路径重传次数”对系统的影响并不明显。
上面三种网络上最佳参数表明了随着链路带宽以及时延的增加,相应参数需要重新取新的值,才能使SCTP在无线网络上达到最佳系统性能。纵观WLAN、UMTS和GPRS这三种无线网络,随着链路延时和丢包率的增加,最佳参数中,Heartbeat的间隔越来越大,需要重传的次数也越来越大,MTU也需要增大,才能使系统的性能达到最佳。图5为分别采用最佳参数和RFC2960默认参数的SCTP运行于上述三种无线网络上时的吞吐量比较。
从图5中可以看出,采用了最佳协议参数后,系统的端到端平均吞吐量大大高于采用默认参数配置的SCTP系统。
五、结论
从本文的分析可以看出,当把SCTP协议运行于无线网络上时,其相应的一些协议配置参数需要进行一些调整,这样才能适应无线网络的特性,从而大大提高系统的性能。作为尝试,本文研究了对系统传输性能影响比较大的一些典型参数的配置,通过分析和仿真找到了达到最大协议性能时这些参数的设置值,并对三种典型的无线接入网的最佳参数配置值进行了比较分析。可以看到,由于这三种无线网络的误码率和时延相差较大,因而其最佳SCTP的参数配置值也就有较大的差异。
SCTP协议中还有其他一些非典型地影响系统传输性能的参数,对这些配置的研究将是以后工作的一个方向。另外,本文仿真时设定的无线网络参数都是一般情况下的典型值,而实际的网络情形会和该典型值有一些不同,在以后的研究中也可以在这方面做一些工作.
参考文献
[1]IETF RFC2960,Stream control transmission protocol[S].
[2]James Noonan, Philip Perry, John Murphy. A Study of SCTP Service in a Mobile-IP Network [A]. Proc. Of IT & T Annual Conference[C].October 2002.
[3]Shaojian Fu, Mohammed Atiquzzaman, William Ivancic. Effect of delay spike on SCTP, TCP Reno, and Eifel in a wireless mobile environment [A]. International Conference on Computer Communications and Networks [C].October 2002. 575~578.
[4]Shaojian Fu, Mohammed Atiquzzaman.Improving end-to-end throughput of Mobile IP using SCTP[A]. Workshop on High Performance Switching and Routing[C].June 2003. 171~176.
[5]Guanhua Ye, Tarek Saadawi, Myung Lee.SCTP congestion control performance in wireless multi-hop networks [A].MILCOM2002[C].October 2002. 934~939.
[6]ITU-T X214, Information technology - Open Systems Interconnection - Transport service definition[S].
[7]顾尚杰, 薛质. 计算机通信网基础[M]. 北京:电子工业出版社, 2000.
[8]Steve McCanne and Steve Floyd. NS-Network Simulator[CP/OL].http://www-mash.cs.berkeley.edu/ns/, 2004-08-10.
作者:包海波,宋文涛,张海滨(上海交通大学 电子工程系,上海 200030) 来源:电讯技术