基于帧长的巨帧网络时延测量方法
2013-03-20肖宇峰
张 钊, 肖宇峰, 张 华
(1.西南科技大学信息工程学院 四川绵阳621010;2.西南科技大学工程技术中心 四川 绵阳621010)
0 引言
网络测量是通过精确捕获定量的网络活动来建立网络的描述与模拟,有效地对网络未来行为进行预测,实现网络资源的合理配置与使用.时延是网络的固有属性之一,同时也是评价网络性能的重要指标.随着千兆以太网的爆炸式增长,以太网帧长正在向巨型化发展,传统的1 500字节帧长带来更多收发包的CPU消耗,影响本地终端的处理性能[1].巨帧是超过1 500字节的帧的统称,很多数据传输业务(网络存储、高清视频)选择巨帧作为传输载体,但是巨帧的网络性能并没有统一的测量评价标准[2].巨帧时延能直观体现网络性能,准确获取时延有助于实施巨帧网络管理,优化网络流量[3].
现有网络测量都是基于标准以太网帧长,针对巨帧时延测量研究并不多见.为了得到巨帧时延更准确的测量结果,正确认识巨帧时延的标度行为,本文在TCP超时Jacobson算法基础上,改进了基于帧长的超时定时器算法,对不同帧长的往返时延序列,定时器将进行相应的调整.并搭建了测量巨帧传输的实验平台,测量分析了巨帧在局域网内的时延、抖动特性.改进后,巨帧的超时判定准确性提高,重传减少.
1 巨帧网络时延测量方法
为了获得数据包的往返时延,典型的测量方法是:首先,在源端构建数据包,通过设定网络传输参数构筑各层次通信协议头部;然后,发送数据包前获得系统时钟的当前时间,通过协议栈发送数据包;数据包经通信网络到达目的端后,响应数据包中携带的信息,回复响应包返还源端;源端接收响应数据包,并迅速获取当前系统时钟时间;最后,由2个系统时间的差值得到网络往返时延.数据包在网络中传输的状况不可预知,是否丢包等问题主要通过超时定时器来解决[4].因此,超时定时器成为测量准确性的一个关键因素.
1.1 超时定时器
数据包时延通过设定RTO(retransmission timeout)确定超时与否.帧长差异会引起网络延时动态变化,表现为有不同的延时标度,如果采用统一的时延超时算法,势必会产生测量误差.经典的Jacobson TCP重传超时算法描述为:[5]
SRTT是被平滑的均值的估计器(round-trip time,RTT),RTTVAR是被平滑的均值方差,DELTA是刚得到的测量结果与当前RTT估计器之差.SRTT和RTTVAR被用于计算下一个重传时间.α是增益,β是偏差权重.算法中的α和β分别起到平均SRTT和控制RTO对RTT变化的响应快慢的作用.α和β一般的取值为
α =1/8,β=1/4.
Jacobson算法采用固定的增益和偏差权重,但是不同帧长对增益和偏差权重的要求是不同的.
1.2 帧长与时延分析
利用下文的网络测量程序在没有时延超时定时器的情况下得到的不同帧长原始时延数据如图1所示.
图1 60字节、1 000字节、5 000字节帧长的原始时延数据Fig.1 Original delay data of 60,1 000 and 5 000 bytes frame size
原始时延数据是指完成一次数据收发的RTT,不考虑数据是否超时,数据包只要回到源端,就计算RTT.图1中的数据是在相同速率不同帧长下得到的原始时延数据,从数据的基本走势可以看到:帧长越短,时延的抖动越小;帧长越大,时延的抖动越剧烈.
图2显示的是在相同测量环境下,不同帧长时延抖动频度的变化趋势.帧长的变化区间是50~9 050字节,步长为50字节,共180组数据,覆盖了jumbo frame的变化范围.图2表明,随着帧长的增长,时延的抖动超时包的个数呈线性增长的趋势.采用曲线拟合的最小二乘法近似得到时延频度的增长斜率.
图2 不同帧长频度变化趋势图Fig.2 Tendency chart of different frame size frequency change
设定数组(xi,yi)(i=1,2,…,n),xi是帧长,yi是时延抖动的频度,n是总体的数组个数.选取求解线性函数的一组线性无关最小二乘函数:
近似拟合的函数为 φ(x)=a0φ0(x)+a1φ1(x).a0,a1为拟合的一次函数的系数,转化为 φ(x)=a0+a1x.最小二乘法计算系数的正则方程组的矩阵形式
其中,
带入实际测量数据近似得,a0=110,a1=0.01.也就得到一次函数
式(1)反映了帧长与时延抖动频度的关系.
1.3 改进的超时定时器设计
有测量结果可见,随着帧长的增加,网络延时呈现线性增长的趋势,而延时抖动也呈现加剧的趋势;帧长变小,延时时间降低,延时抖动趋于平缓.Jacobson算法的α和β是固定不变的,对所有的延时标度行为没有区分,为了获得延时标度行为较好的统计特性,在Jacobson算法基础上加入对主要的参数进行动态修正,适应不同帧长的时延特性.α参数的变化范围介于0到1之间,越接近0,则表示SRTT对RTT的感应越不灵敏,即SRTT受到新的RTT值的影响减弱,抖动较剧烈的包被滤除掉的可能性将增加;越接近于1,则表示SRTT对RTT的感应灵活,也就是SRTT受到新的RTT值的影响增强,抖动较剧烈的包被滤除掉的可能性将减弱.α直接控制着时延超时的频度.经过多次实验,α参数在(0.01,0.125)变化区间内具有较好的定时器特性,α参数对于式(1)的变化也是线性影响,经过线性变换,α与帧长x的对应关系为
Jacobson算法中的β和4共同控制RTO对RTT快速响应的快慢,也就是局部变化的响应速度.β偏差权重随着帧长的增长而增长,使得RTO达到足够水平,减缓快速变化过程中达到RTT的时间.改进过程中把β固定为0.25,4调整为动态变化参数β,β参数的主要变化范围是大于1的,实验得到在(3.5,6)区间内有较稳定的定时器特性,经过频度到β线性变换,β与帧长x的对应关系为
2 实验
文献[6]提到网络时延具有尖刺现象,引发尖刺的原因可能是路由重定向,用户背景流量突发等.该时延测量研究不同帧长对网络数据传输时延的影响,所以实验环境没有选择复杂环境网络,可以排除如路由重定向,用户背景流量突发等造成尖刺的原因.
2.1 硬件环境
巨帧是一种厂商标准的超长帧格式,还没有获得IEEE标准委员会的认可,现有的网络设备并非都支持巨帧数据包,所以选择合适的硬件平台环境是至关重要的.SMC6110L2网管型交换机是一款支持巨帧传输的局域网交换设备,拥有丰富的软件管理功能,为实验提供了可靠的局域网环境.两台电脑的主要配置如下:第1台电脑CPU pentium(R)dual-core E6300@2.80G Hz,2G内存,网卡主板集成,适配器realtek PCIe GBE family controller,支持巨帧.第2台电脑 CPU intel core i7870@2.93G Hz,4G 内存,网卡是 RTL8168D(P)/8111D(P)PCIe GBE NIC,支持巨帧.连接线缆为超5类双绞线.基本的连接情况如图3所示.
2.2 软件环境
源端作为主要的调试环境使用的是Redhat Linux企业版5,内核版本是2.6.18,Gcc版本是4.3.2.目的端为了追求一般性选用的是Windows XP专业版.SMC交换机具有丰富的网络管理功能,Snmp,QoS等,并且具有打开巨帧的功能[7].
图3 硬件环境连接示意图Fig.3 Hardware environment connection diagram
2.3 测量程序设计
由图4可知,为了控制数据包的速率,程序采用了发送进程和接收进程的设计模式[8].首先,建立共享内存区存放定时器数组;发送进程记录发送时间,启动发包定时器,按照设定速率发送变帧长数据包;接收进程等待包的回复,对包的处理分为3种情况:1)数据包在超时时间内到达,处理数据包;2)通过RTO时间的比较,数据包超时到达,丢弃数据包;3)数据包没有到达,超时信号处理,记录丢包;数据包正常到达时,通过应答包中携带的发包截取时间与收包后的截取时间计算RTT.
2.4 实验内容
在实验平台基础上,对提出的基于帧长的超时算法进行了实验比较.首先采集原始时延数据,采集数据如图1所示.其次,分别测量Jacobson算法和基于帧长的改进算法,采集相应时延数据,并分析时延性能.
图1是在实验程序中不加入超时算法得到时延数据,也就是说,任何到达的数据包都被统计在列.其中含有已超时数据包的延时和正常延时.如此可以对超时定时器的性能进行准确的分析.从图5、6中可以看出,60字节时,Jacobson算法和改进算法没有明显的区别,对于超时与否的准确性相差无几.随着帧长的增加,到1 000字节时,Jacobson算法中出现了超过基本时延标度两倍的数据包,而准确的时延数据比改进算法要少.到5 000字节的数据时,Jacobson算法快速降落到了RTT时延范围内,大量标度时延范围内的准确时延数据被过滤掉,定时器效能极大地下降;而改进算法很好地改善了定时器的准确性,适应了帧长增加带来的时延增加及时延抖动加剧的问题.
图4 测量程序结构图Fig.4 Test program diagram
3 结论
巨帧是高速网络中兴起的一种规范,它的性能并不为人所熟知.本文从帧长的角度入手,分析巨帧数据包在以太网中的时延以及抖动特性:巨帧在低速以太网中的使用受到固有带宽的影响,实时的传输数据延时大,不适宜对时延要求高的应用.不同帧长时延具有不同的标度行为,通过对超时定时器的改进,使得对不同帧长的数据包具有动态调整的作用.使用该算法可以改善TCP超时重传的性能,减少不必要的超时重传,提高使用巨帧的复杂网络环境中吞吐量等性能,增强网络的可靠性.由于网络搭建的复杂性,该实验平台的普适性不强,后期工作需要构建更加一般性的网络,进一步测量与发现帧长对网络的影响.
[1] Iyer A P,Deshpande G,Rozner E,et al.Fast resilient jumbo frames in wireless LANs[C]//Proceedings of the 17th International Workshop on Quality of Service IWQoS.South Carolina,2009:1 -9.
[2] 胡风华,侯紫峰,祝明发.以太网MTU与IP SAN存储系统性能[J].计算机工程,2005,31(4):117-119.
[3] 黄志忠.基于测量的网络管理技术研究[D].成都:电子科技大学,2011.
[4] 周韵文.基于主动测量的IP网络QoS研究与实现[D].北京:北京邮电大学,2010.
[5] 游海峰.TCP重传超时机制优化的研究[D].北京:北京工业大学,2007.
[6] 王恺.Internet包延迟行为分析和主动测量技术研究[D].北京:中国科学院计算技术研究所,2005.
[7] Shaneel N,Paula R L.Impact on network performance of jumbo-frames on IPv4/IPv6 network infrastructure:an empirical testbed analysis[C]//IEEE 4th International Conference on Internet Multimedia Services Architecture and Application.Bangalore,2010:1-4.
[8] 赵树升,范刚龙,张焕剑.一种Windows网络嗅探器的检测原理与实现[J].郑州大学学报:理学版,2005,37(3):51-53.