一种高效的单端可用带宽测量方法转让专利

申请号 : CN201010586725.5

文献号 : CN102045219B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张大陆张俊生胡治国朱小庆

申请人 : 同济大学

摘要 :

本发明涉及一种高效的单端可用带宽测量方法—pathpider,包括如下步骤:发送端发送特定探测包列至目的节点;发送端根据目的节点返回的一系列ICMP包计算出一系列往返时延(RTT)值,确定往返时延开始保持恒定的时刻;计算包列开始发送到往返时延开始保持恒定这段时间内包列的平均发送速率作为路径可用带宽的测量值。本发明采用新颖的探测包列实现单端可用带宽测量,只发送一次探测包列就可测得可用带宽值,具有测量精度高、收敛速度快、入侵度低、健壮性强的优点。

权利要求 :

1.一种高效的单端可用带宽测量方法,其特征在于包括如下步骤:

1)发送端设置探测包列的目的端口和TTL域;

2)发送端将设置完成的探测包列所包含的负载包和降速包予以发送至目的节点,其中,先将各负载包以背靠背的方式发送,再以逐渐递减的速率发送降速包;

3)发送端接收从目的节点返回的一系列ICMP包,计算出一系列往返时延,其中,往返时延为发送端接收到一ICMP包时的接收时刻减去该ICMP包对应的负载包或降速包的发送时刻所获得的时间差;

4)发送端根据一系列往返时延确定开始保持恒定的往返时延所对应的降速包;

5)发送端计算所确定的降速包被发送时的包列平均发送速率,将其作为可用带宽的测量值。

2.如权利项1所述的方法,其特征在于:发送端设置目的端口为不可达端口、或者设置TTL域等于发送端至目的节点的路径长度,以便各负载包和降速包到达目的节点后目的节点会产生ICMP包。

3.如权利项1所述的方法,其特征在于:降速包的发送速率以指数形式递减。

4.如权利项3所述的方法,其特征在于:可用带宽值avbw由下式计算:其中,S为发送端所发送的各包的大小,d为负载包的个数,k为开始保持恒定的往返时延所对应的降速包序号,t为从开始发送第1个负载包到发送第k个降速包所需要的时间,R为发送第1个降速包时包列的平均发送速率,α为包列发送速率下降的递减因子;若发送第i个降速包时包列的平均发送速率为Ri,发送第i+1个降速包时包列的平均发送速率为Ri+1,则α应为Ri与Ri+1的比值,且α>1。

说明书 :

一种高效的单端可用带宽测量方法

技术领域

[0001] 本发明涉及一种高效的单端可用带宽测量方法,属于网络性能测量领域。

背景技术

[0002] 可用带宽指已存在背景流的情况下,链路还能为其他流提供的最大数据传输速率。各段链路中可用带宽最小的链路称为这段路径的紧链路(Tight Link)。紧链路的可用带宽为这段路径的可用带宽。端到端路径可用带宽是动态描述网络路径传输能力的重要参数,它能有效评估一条网络路径的实际承载能力和性能优劣。可用带宽值反应了网络的实际运输能力,是监测网络性能、诊断网络运行状况、优化网络性能的重要参考因素。可用带宽测量对于拥塞控制、路由选择、流媒体应用、服务器的动态选择及服务质量(QoS)验证等应用具有重要意义。
[0003] 根据探测方式的不同,目前的可用带宽测量方法可分为包对法、包列法及基于模型的可用带宽测量方法。包对技术(Packet Pairs)利用包对在传输过程中时间间隔(Dispersion Time)的变化来估计可用带宽。包对技术衍生出很多的算法和工具,如Spruce、IGI、Delphi、LinkPPQ等。包对技术测量可用带宽需基于紧链路和窄链路为同一链路的假设,该假设不成立时测量误差可能很大。包列技术通过发送一列或多列探测包得到可用带宽值,其原理是通过自负载的方法发送数据包使路径拥塞,通过分析包列中探测包的单向时延变化来估计可用带宽值。采用包列技术的典型方法有:Pathload、PathChirp、PTR,、YAZ、abget等。包列技术测量可用带宽的健壮性和稳定性比较强,但测量负载往往比较大。基于模型的测量方法也是可用带宽测量领域的一个重要方向,基本思想是将复杂的网络进行简化建模,通过发送少量的探测流收集路径信息后结合模型估测路径可用带宽,该方法对网络本身状态和背景流量影响较小,但当模型不能准确刻画流量特征时,测量精度将难以保证。
[0004] 按照运行方式的不同,可用带宽测量系统可用分为单终端系统和双终端系统。单终端系统只需在网络中一个节点上安装测量工具就可测量该节点至其他节点的路径上的可用带宽。双终端系统除需要在发送端安装测量工具外,还需要在目的节点安装测量工具。双终端系统的应用范围非常有限,其原因是用户往往只能在发送端上安装软件,而没有在远程的机器上安装软件的权限.与此相反,单终端系统只需在发送端安装测量工具就可测量该节点到网络上其它节点路径的可用带宽值。
[0005] 最早的单终端可用带宽测量系统是CProbe,它利用了ICMP协议的请求-应答机制从发送端向接收端发送多组用于探测的IP包;这些IP包触发了节点的ICMP错误处理流程,从而路径上的节点会向发送端发送ICMP time-exceeded(TE)和destination-unreachable(DU)包;CProbe接收到ICMP TE和DU包后,根据接收时间推算探测IP包在每段链路上传输速率的变化情况,进而估算可用带宽。之后出现的方法Pipechar也是基于ICMP协议实现,后来有研究证实CProbe和Pipechar所度量的其实并不是可用带宽,而是处于可用带宽和带宽容量之间的非对称分散速率(asymptotic dispersion rate)。基于TCP和HTTP协议开发的SProbe利用了协议的特性以获取远程节点的反馈,并挖掘应答数据包的间隔变化规律进而估算可用带宽。后续的单端系统有Abget,BFind和BNeck。Abget基于TCP和HTTP协议,不需要路径上的节点开启ICMP功能就可实现单端测量,但它基于Pathload的算法思想,需要发送多次探测包列,测量负载较大。BFind通过连续发送UDP数据流导致网络拥塞,并从traceroute测得的每条链路的往返时延(RTT)来估计可用带宽;BFind在一次定位过程中产生大量负载包,其入侵度不容忽视。BNeck通过获得包列在每条链路上的输入速率和输出速率来计算可用带宽,在计算可用带宽过程中需要知道链路容量,BNeck采用单包技术测量链路容量,这需要以较低的速率发送较多的探测包才可得到较准确的链路容量值,且链路容量的误差将直接影响可用带宽测量精度。
[0006] 总之,现有的各种可用带宽测量方法存在诸多问题:1)双端系统的应用范围存在很大的局限;2)测量时间过长,例如,有实验表明:方案Abing所需测量时间为:1.3-1.4秒;方案pathChirp所需测量时间约为:5.4秒;方案Iperf所需测量时间为:10.0-10.2秒;方案Spruce所需测量时间为:10.9-11.2秒;方案Pathload所需测量时间为:7.2-22.3秒,具体可参见文献:“Shriram A,Murray M,Hyun Y,Brownlee N,Broido A.Comparison of publicend-to-end bandwidth estimation tools on high-speed links.,in Proc.Passive and Active Measurement Workshop,2005.306-320”;3)测量负载过大,导致对链路的入侵度较大,例如,Abget,BFind和BNeck方案都需要发送多次包列才完成测量,因此,设计一种简单高效的单端可用带宽测量方法具有重要意义。

发明内容

[0007] 本发明的目的是提供一种测量精度高、收敛速度快、入侵度低、健壮性强单端可用带宽测量方法。
[0008] 为达上述目的及其他目的,本发明的提供的单端可用带宽测量方法,包括步骤:
[0009] 1)发送端设置探测包列的目的端口和TTL域;
[0010] 2)发送端先以背靠背的方式发送若干负载包,再以逐渐递减的速率发送一些降速包至目的节点;
[0011] 发送至目的节点的包列,应能使目的节点产生ICMP回应包,例如,可通过设置探测包的目的端口为不可达端口来实现,也可通过设置探测包的TTL域等于发送端至目的节点的路径长度来实现。发送降速包时包列的发送速率可以是指数递减。
[0012] 3)发送端接收从目的节点返回的ICMP包,计算出一系列往返时延值[0013] 往返时延指从发送该探测包到接收到该探测包所触发的ICMP回应包所经历的时间,即每个ICMP包的接收时间减去其对应的探测包的发送时间得到的值。
[0014] 4)发送端根据一系列往返时延确定开始保持恒定的往返时延所对应的降速包;
[0015] 由于包列的发送方式是先背靠背地发送一些负载包,这些包在紧链路不断堆积,排队时延不断增加,致使后面发送的降速包的排队时延也将逐渐增加,从而往返时延也逐渐增加。当包列的平均发送速率下降到一定程度时,紧链路处的缓冲区中数据包的堆积情况逐渐缓解,探测包的排队时延逐渐减小,从而往返时延也逐渐减小,减小至数据包在缓冲区中不再排队时往返时延将保持不变。
[0016] 5)发送端计算所确定的降速包被发送时的包列平均发送速率,并将其作为可用带宽的测量值。
[0017] 本发明的有益效果在于:简单高效地实现了单端可用带宽测量,只发送一次探测包列就可测得可用带宽值,且测量精度高、测量速度快、入侵度低、健壮性强。

附图说明

[0018] 图1为本发明实施例可用带宽测量流程图。
[0019] 图2为本发明的实施例所述包列构造示意图。
[0020] 图3为本发明实施例包列往返时延变化图。
[0021] 图4为本发明实施例一恒定背景流实验拓扑。
[0022] 图5为本发明实施例一恒定背景流实验结果。
[0023] 图6为本发明实施例一突发背景流实验拓扑。
[0024] 图7为本发明实施例一突发背景流实验结果。

具体实施方式

[0025] 下面结合附图详细说明本发明的较佳实施例。
[0026] 实施例一
[0027] 请参阅图1,本发明的单端可用带宽测量方法包括以下步骤:
[0028] 首先,发送端以背靠背的方式连续向目的节点发送多个负载包,随后再以逐步递减的速率连续向目的节点发送多个降速包,其中,各负载包和降速包所要到达端口都设置为不可达端口。请再参见图2,其为发送端向目的节点发送的包列示意图,即发送端首先背靠背地发送d个负载包,随后发送多个降速包,以便对网络路径进行充分拥塞,发送端可以采用指数形式逐步降低包列的平均发送速率,也可采用其他降速方式发送降速包。如果采用指数形式,则发送端发送第i个降速包时包列的平均发送速率Ri是发送第i+1个降速包时包列的平均发送速率Ri+1的α(α>1)倍。
[0029] 接着,当所述各负载包和降速包到达目的节点后,由于各负载包和降速包所要到达端口被设置为不可达端口,故所述目的节点每次接收到负载包或降速包,都会向发送端反馈回一相应的ICMP destination-unreachable(DU)包。
[0030] 接着,发送端接收来自目的节点反馈回的ICMP包,并根据ICMP包的接收时间及与它对应的探测包的发送时间,计算出往返时延值。例如,发送端发送第i个降速包的时间是08:20:00,而接收到第i个降速包对应的反馈信息包的时间是08:20:02,则发送端计算出往返时延为2秒。
[0031] 接着,发送端根据一系列往返时延确定开始保持恒定的往返时延所对应的降速包。由于包列的发送方式是先背靠背地发送一些负载包,这些包在紧链路不断堆积,排队时延不断增加,致使后面发送的降速包的排队时延也将逐渐增加,从而使降速包到达目的节点的时间延长,进而使目的节点发送相应反馈信息包的时间拖后,进一步导致发送端接收到该反馈信息包的时间拖后,也就使得计算出往返时延增加。而当包列的平均发送速率下降到一定程度时,紧链路处的缓冲区中数据包的堆积情况逐渐缓解,降速包的排队时延逐渐减小,从而往返时延也逐渐减小,至拥塞恰好消除时刻开始往返时延将保持不变,往返时延变化如图3所示。
[0032] 最后,发送端计算所确定的探测包被发送时的包列平均发送速率,将其作为可用带宽的测量值。发送端根据公式 k=1,2,3...来计算所述探测包列平均发送速率,其中,S为包的大小(负载包和降速包大小相同),d为负载包的个数,k为开始保持恒定的往返时延所对应的降速包的序号,t为从开始发送第1个负载包到发送第k个降速包所需要的时间,R为发送第1个降速包时包列的平均发送速率,α为包列发送速率下降的递减因子。若发送第i个降速包时包列的平均发送速率为Ri,发送第i+1个降速包时包列的平均发送速率为Ri+1,则α应为Ri与Ri+1的比值,且α>1。
[0033] 实验验证
[0034] 为验证本发明所述可用带宽测量方法的性能,使用网络研究领域广泛采用的NS2进行仿真实验。由于本发明是一个端到端测量工具,因此采用只有一条线性主干路径的实验拓扑,拓扑中各路由器均采用先进先出的调度策略,缓冲区采用队尾丢弃策略。拓扑中所有链路均为双向对称的链路,容量均为100Mbps。
[0035] 1恒定背景流情况
[0036] 实验拓扑如图4所示,发送端Snd到目的节点n9的路径P依次经过路由器n1,n2,n3…n8,背景流1、2、3均为贯穿n1,n2…n8的恒定比特率背景流,大小分别为10Mbps、30Mbps、70Mbps。背景流1、2、3的运行时间分别为10-40秒、40秒-70秒、70秒-100秒。测量结果如图5,在整个测量过程中,随着背景流的变化,可用带宽值也相应变化,pathpider一直能准确测量出可用带宽值。平均测量误差为0.011Mbps,平均测量时间为0.193秒,平均测量负载为1.296Mb
[0037] 2突发背景流情况
[0038] 实验拓扑如图6所示,每条链路上的背景流由10条符合Pareto分布的流汇集而成,以模拟突发性的背景流,Pareto流的包大小设置为:包大小为40/550/1500bytes的数据包在负载中所占的比例分别为50%、40%、10%(以尽量符合实际网络中包大小分布),每条链路上的包发送速率均为20Mbps,Pareto分布形状参数α=1.9。这是因为多个服从参数α<2的Pareto分布的流聚合后表现出自相似特征。另有两条CBR流量CBR1和CBR2,它们的大小均为20Mbps,CBR1贯穿n1,n2,n3,n4,CBR2贯穿n3,n4,n5,n6。CBR1的运行时间为0-15秒、40-65秒,CBR2的运行时间为40-100秒。在测量过程中以较短的时间间隔统计各条链路上的背景流流量来确定可用带宽的真实值。测量结果如图7所示,平均测量误差为0.077Mbps,平均测量时间为0.196秒,平均负载为1.296Mb。突发背景下的平均测量误差比较小也说明了本发明可用带宽测量的健壮性比较强。
[0039] 实施例二
[0040] 先测量发送端到目的节点所在路径的路径长度。可在发送端向目的节点发送一列TTL域从1开始逐渐增大的IP包,那么在不出现丢包的情况下,发送端收到ICMP time-exceeded(TE)包的个数即为路径长度。
[0041] 包列中探测包为IP包,目的IP为目的节点的IP地址,包的TTL域设置为发送端到目的节点所在路径的路径长度。这样探测包在到达目的节点后由于TTL减为0而被丢弃,且目的节点向发送端发送TE包。发送端首先背靠背地发送d个探测包(这d个探测包称为负载包,随后发送的探测包称为降速包)对网络路径进行充分拥塞,随后以指数形式逐步降低包列的平均发送速率(需要说明的是,也可采用其他降速方式发送降速包),发送第i个降速包时包列的平均发送速率Ri为发送第i+1个降速包时包列的平均发送速率Ri+1的α(α>1)倍。
[0042] 发送端根据接收到TE包的时间计算出往返时延。由于包列的发送方式是先背靠背地发送一些负载包,这些包在紧链路不断堆积,排队时延不断增加,致使后面发送的降速包的排队时延也将逐渐增加,从而往返时延也逐渐增加。当包列的平均发送速率下降到一定程度时,紧链路处的缓冲区中数据包的堆积情况逐渐缓解,探测包的排队时延逐渐减小,从而往返时延也逐渐减小,至拥塞恰好消除时刻开始往返时延将保持不变。我们只需要找到往返时延开始保持恒定的那个包,此包到达紧链路的时刻即为拥塞消除时刻,此包发送时包列的平均发送速率即为待测路径可用带宽值。可用带宽值avbw由下式计算:
[0043]
[0044] 其中,S为负载包或降速包的大小,d为负载包的个数,k为开始保持恒定的往返时延所对应的降速包的序号,t为从开始发送第1个负载包到发送第k个降速包所需要的时间,R为发送第1个降速包时包列的平均发送速率,α为包列发送速率下降的递减因子。若发送第i个降速包时包列的平均发送速率为Ri,发送第i+1个降速包时包列的平均发送速率为Ri+1,则α应为Ri与Ri+1的比值,且α>1。
[0045] 以上实施例仅用以说明而非限制本发明的技术方案。不脱离本发明精神和范围的任何修改或局部替换,均应涵盖在本发明的权利要求范围当中。
[0046] 性能分析
[0047] 以下将对本发明的单端可用带宽测量方法的性能进行分析:
[0048] 1、测量精度
[0049] 由于包列的发送速率下降过程中表现出一系列不断减小的离散的值,当待测可用带宽值在某相邻两个值之间时,必然会产生理论误差。理论误差受递减因子设置影响,递减因子越小理论误差越小。
[0050] 在实际测量过程中,往返时延受反向路径上的流量大小影响,因而根据判断往返时延开始保持恒定来确定可用带宽可能会产生误差,但由于测量时间很短,在很短时间内反向路径上的流量大小突变的可能性很小,因此反向背景流变化对测量精度的影响很小。如图5及图7所示,本发明的平均测量误差小于0.1Mb,测量精度很高。
[0051] 2、测量时间
[0052] 本发明完成一次可用带宽测量的时间为开始发送包列的时间到接收到某反馈信息包以确定往返时间开始保持恒定为止。测量时间受包列发送速率下降速度和包往返时延的影响。其中包列发送速率下降速度受初始下降速率和递减因子的设置影响。总体上,由于本发明发送一次包列就可完成测量,测量时间很短。如图5和图7所示,本发明的测量时间在0.2秒左右,远小于背景技术中所述几种方案的测量时间,如:方案Abing所需测量时间为:1.3-1.4秒;方案pathChirp所需测量时间约为:5.4秒;方案Iperf所需测量时间为:10.0-10.2秒;方案Spruce所需测量时间为:10.9-11.2秒;方案Pathload所需测量时间为:7.2-22.3秒。
[0053] 3、测量负载
[0054] 测量负载指一次测量过程中所产生的负载量。一次测量发送一条包列,该包列的实际负载量即为测量负载。测量负载跟所发送的负载包的个数、初始下降速率、递减因子及待测可用带宽值相关。通过设置合理的参数,可使本发明的测量负载控制在很小的范围内。图5和图7表明pathpider的测量负载在1.3Mb左右,而Abget,BFind和BNeck方案都需要发送多次包列才完成测量,而本发明的方法只需发送单次包列就可完成测量,负载明显低于现有的其它技术方案。
[0055] 4、健壮性
[0056] 由图3可知,往返时延值的总体变化趋势是先上升后下降至恒定,在此过程中若受到突发背景流的影响会造成上升或下降趋势的变化。若背景流流量增加,则探测流排队加剧,往返时延下降变缓,则往返时延开始保持恒定的包的序列号增大,所测得的可用带宽值减小;反之,若背景流流量减小,则探测流排队减缓,往返时延下降加快,则往返时延下降至开始保持恒定的探测包的序列号减小,所测得的可用带宽值增大。这就保证了在突发背景流下进行可用带宽测量具有较高的健壮性。
[0057] 综上所述,本发明的有益效果在于:实现了简单高效的单端可用带宽测量,只发送一次探测包列就可测得可用带宽值,测量精度高、测量速度快、入侵度低、健壮性强。