可用带宽测量方法和装置与流程

文档序号:11147795阅读:333来源:国知局
可用带宽测量方法和装置与制造工艺

本发明实施例涉及网络技术,尤其涉及一种可用带宽测量方法和装置。



背景技术:

近年来,伴随着互联网的快速发展,信息传播的深度和广度达到了前所未有的程度,正在深刻影响着人们的生活方式。随着互联网的迅猛发展,互联网应用日益广泛,丰富的多媒体业务的扩展促使带宽容量发生了巨大的变化,互联网的带宽容量随着技术的快速进步而成倍地增长。众所周知,传输带宽与用户体验有着不可分割的紧密联系,因此,如何测量评估带宽的各项相关指标的是人们非常重视和关注的,可用带宽测量的结果也为网络的管理和优化提供了有效的信息。

现有技术中,发送端需要测量一段传输路径上由发送端至该传输路径的接收端的上行方向上的可用带宽时,需要向接收端发送探测数据包,由接收端计算上行方向上的可用带宽,再由接收端将计算结果发送给发送端,导致可用带宽的计算效率低。



技术实现要素:

本发明实施例提供一种可用带宽测量方法和装置,以克服现有技术由于接收端计算可用带宽效率低的问题。

本发明实施例提供一种可用带宽测量方法,包括:

发送端以第一发包时间间隔依次向待测传输路径的接收端发送至少两个测试数据包,所述第一发包时间间隔用于使得所述待测传输路径的传输瓶颈处的吞吐量达到所述传输瓶颈处的瓶颈带宽;

所述发送端接收所述接收端发送的所述至少两个测试数据包的响应数据包,各个所述响应数据包的长度小于预设长度阈值;

所述发送端根据所述至少两个测试数据包的响应数据包的响应时间确定所述待测传输路径在所述发送端至所述接收端的上行方向上的实际接收速率,任一所述测试数据包的响应数据包的响应时间为自所述测试数据包的发送时刻起至所述响应数据包到达所述发送端的时间;

根据所述实际接收速率确定所述待测传输路径在上行方向上的可用带宽。

进一步地,所述第一发包时间间隔等于所述测试数据包的包长与所述瓶颈带宽的比值。

进一步地,所述发送端根据所述至少两个测试数据包的响应数据包的响应时间确定所述待测传输路径在所述发送端至所述接收端的上行方向上的实际接收速率,包括:

根据有效数据包的个数和所述有效数据包的响应时间的总和确定所述接收端的实际接收速率,所述有效数据包为所有响应数据包中响应时间小于所述第一发包时间间隔的响应数据包。

进一步地,所述有效数据包为所有响应数据包中响应时间与所有响应数据包的响应时间的平均值之间的差值小于预设偏差时长的响应数据包。

进一步地,所述根据所述实际接收速率确定所述可用带宽,包括:

根据所述实际接收速率和所述瓶颈带宽确定背景流量;

根据所述背景流量和所述瓶颈带宽确定所述可用带宽。

进一步地,所述方法具体包括:

根据确定所述实际接收速率R,其中,L为所述测试数据包的包长,Tsum为所有有效数据包的响应时间的总和,N0为所述有效数据包的个数;

根据确定所述待传输路径的背景流量S,其中,Ce为所述瓶颈带宽;

根据A=Ce-S确定所述可用带宽A。

进一步地,各个所述测试数据包携带用于指示测试可用带宽的标识,以使所述接收端根据所述测试可用带宽的标识向所述发送端发送所述测试数据包的响应数据包。

进一步地,所述测试数据包为传输控制协议请求同步TCP SYN数据包,所述测试数据包的目的端口为所述接收端未启用的TCP端口。

进一步地,所述响应数据包为传输控制协议复位TCP RST数据包。

本发明第二方面提供一种可用带宽测量装置,用于执行第一方面任一所述的方法。

本发明实施例可用带宽测量方法通过发送测试数据包并接收长度小于预设长度阈值的响应数据包,使得响应数据包在自接收端至发送端的下行方向上的传输时延远远小于上行方向上的传输时延,因而可以将测试数据包的发送时刻至测试数据包的响应数据包返回发送端的双向传输时间近似作为测试数据包在上行方向上的传输时间,即,以所述响应时间来确定接收端接收到测试数据包的时间,进而确定待测传输路径上的实际接收速率。本发明的方法实现了一种发送端确定待测传输路径的可用带宽的方法一种发送端确定待测传输路径的可用带宽的方法。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的一种可用带宽测量方法实施例一的流程示意图;

图2为传输瓶颈处的背景流量和测试数据包的分布示意图;

图3为本发明提供的可用带宽测量方法中测试数据包的传输时延示意图;

图4为本发明提供的可用带宽测试方法的验证实验环境的示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

图1为本发明提供的一种可用带宽测量方法实施例一的流程示意图;图2为传输瓶颈处的背景流量和测试数据包的分布示意图;图3为本发明提供的可用带宽测量方法中测试数据包的传输时延示意图。

如图1所示,本实施例的步骤包括:

S101:发送端以第一发包时间间隔依次向待测传输路径的接收端发送至少两个测试数据包。

其中,所述第一发包时间间隔用于使得所述待测传输路径的传输瓶颈处的吞吐量达到所述传输瓶颈处的瓶颈带宽。

S102:发送端接收所述接收端发送的所述至少两个测试数据包的响应数据包,各个所述响应数据包的长度小于预设长度阈值。

S103:发送端根据所述至少两个测试数据包的响应数据包的响应时间确定待测传输路径在发送端至所述接收端的上行方向上的实际接收速率,任一所述测试数据包的响应数据包的响应时间为自所述测试数据包的发送时刻起至所述响应数据包到达所述发送端的时间。

S104:根据所述实际接收速率确定所述待测传输路径在上行方向上的可用带宽。

下面首先对本发明实施例的总体思路进行说明:

在传输路径的可用带宽测量领域中,一条传输路径上的可用带宽与该传输路径上的当前的背景流量和该传输路径上的传输瓶颈处的瓶颈带宽相关,当瓶颈带宽已知时,可以根据瓶颈带宽与背景流量的差值确定待测传输路径的传输带宽。即可用带宽与瓶颈带宽和背景流量的关系可表示为如下公式:

A=Ce-S

其中,所述A为可用带宽,Ce为所述瓶颈带宽,S为背景流量。

需要说明的是,当待测传输链路为全双工链路,即上行数据传输和下行数据传输使用的传输资源互不干扰时,背景流量和瓶颈带宽可以是与待测传输路径的上行方向同方向的背景流量和瓶颈带宽,例如,固网的传输线路。当待测传输链路中的一段或者全部路径为非全双工链路,即上行数据传输和下行数据传输使用的传输资源是竞争关系时,背景流量可以是与上行方向相同或相反的背景流量,瓶颈带宽可以是上行数据和下行数据共用的传输资源的总和。

由于网络中实时的背景流量通常无法直接获得,本发明的实施例中,利用网络瓶颈处的背景流量与网络可用带宽的相对比例不变特性可以确定网络中的背景流量。该特性具体是指,当测试流量和背景流量同时经过传输路径的传输瓶颈处时,测试流量和背景流量同时被压缩,测试流量和背景流量在传输瓶颈处的比例与测试流量和背景流量在到达传输瓶颈处之前的比例相同。可参考图2,其中,测试流量的发送带宽可以等于瓶颈带宽,以保证测试流量和背景流量在传输瓶颈处确定达瓶颈带宽而被同时压缩,则背景流量与瓶颈带宽和压缩后的测试流量满足如下公式:

其中,S′为压缩后的背景流量,R为压缩后的测试流量,即实际接收速率。

采用S101中根据第一发包时间间隔发送测试数据包的方式,可以获得使得传输瓶颈处达到瓶颈带宽的测试流量,再根据S103对S102中接收到的各个测试数据包的响应数据包的响应时间可以获得待测传输路径在上行方向的实际接收速率。

还需要说明的是,S102中的响应数据包的长度可以设置小于预设长度阈值。可选的,可以在待测传输路径对应的传输协议的可选的响应数据包中选择尽可能短的响应数据包。使得响应数据包在自接收端至发送端的下行方向上的传输时延远远小于上行方向上的传输时延,且,较小的响应数据包受到网络中其他因素影响造成额外延时的可能性较小,因而可以将测试数据包的发送时刻至测试数据包的响应数据包返回发送端的双向传输时间近似作为测试数据包在上行方向上的传输时间,即,以所述响应时间来确定接收端接收到测试数据包的时间,进而确定待测传输路径上的实际接收速率。

本发明的方法实现了一种发送端确定待测传输路径的可用带宽的方法。

下面对本发明实施例的具体实现方法进行详细说明:

可选的,S101中的所述第一发包时间间隔用于使得所述待测传输路径的传输瓶颈处的吞吐量达到所述传输瓶颈处的瓶颈带宽,可以有如下可选的实施方式。

例如,若第一发包时间间隔为t,计划发送的总的测试数据包的个数为N-1,总的发包时间为T,则当测试数据包的包长为L时,第一发包时间间隔与测试数据包的包长和瓶颈带宽可以满足如下公式,

即,所述第一发包时间间隔可以等于所述测试数据包的包长与所述瓶颈带宽的比值。

可选的,采用固定的第一发包时间间隔发送测试数据包,即在发送端接收到在第一发包时间间隔到达前接收到响应数据包时,也不提前发送下一个测试数据包。特别的,在应用于无线传输的传输中,可以有效避免无线信道中的数据包冲突,导致数据包发送失败或延迟。可选的,S102中的预设长度阈值例如可以是56字节、80字节、100字节等,或者,所述预设长度阈值可以为所述测试数据包的长度除以预设的倍数,例如,20倍、30倍等。

可选的,所述测试数据包可以携带指示测试可用带宽的标识,所述接收端在接收到所述测试数据包是用于测试可用带宽的标识的数据包时,返回所述长度小于预设长度阈值的响应数据包。

可选的,可参考图3,所述测试数据包可以为传输控制协议(Transmission Control Protocol,简称TCP)中的请求同步数据包TCP SYN数据包,所述测试数据包的目的端口可以为所述接收端未启用的TCP端口。相应地,所述响应数据包可以为用于关闭或复位异常连接的TCP RST数据包。在TCP协议中规定了接收端在接收到发送端向接收端自身未启用的端口发送的TCP SYN数据包时,接收端向发送端发送TCP RST数据包,TCP RST包的字节长度为56字节。这种方式可以实现可用带宽测量仅需发送端进行单端部署,而不需要接收端根据测试数据包中的测试可用带宽的标识,及发送端单端可完成可用带宽的测量而不需要接收端的特殊设置。进一步地,本发明实施例的方法可以不用关注下层传输协议,只要上层是TCP即可,因此可以对最后一跳是无线传输的节点,或者下层传输协议不对称的节点间进行可用带宽的测量。另外,对于待测传输路径存在节点与节点间数据的传输基于802.11协议传输时,即上行数据传输使用的资源和反方向的下行数据传输使用的资源是竞争关系时,由于实际接收速率仍然可以根据环回的响应时间计算得到,因此,本发明提供的可用带宽测量方法可以适应于如802.11协议中的非全双传输方式的待测传输链路的测量。

可选的,所述测试数据包为TCP层的数据包时,测试数据包的长度可以小于或者等于1500字节。这是因为当测试数据包大于1500字节时会在数据链路层被分包,且测试数据包的长度越长,传输中的单位数量的TCP层数据包对应的其他开销较少,因此,计算的可用带宽越准确。

可选的,S103中发送端根据所述至少两个测试数据包的响应数据包的响应时间确定所述待测传输路径在所述发送端至所述接收端的上行方向上的实际接收速率,可以包括:

根据有效数据包的个数和所述有效数据包的响应时间的总和确定所述接收端的实际接收速率,所述有效数据包为所有响应数据包中响应时间小于所述第一发包时间间隔的响应数据包。

举例来说,可以根据所述测试数据包的包长与所述各个响应数据包的响应时间间隔的平均值的比值,确定所述传输瓶颈处的实际发送带宽。即,

其中,L为所述测试数据包的包长,Tsum为所有有效数据包的响应时间的总和,N0为所述有效数据包的个数。

需要说明的是,当测试数据包为TCP数据包时,测试数据包的大小可以为1MTU,即1500字节,则测试数据包的包长为1500*8位。

可选的,所述有效数据包可以为所有响应数据包中响应时间与所有响应数据包的响应时间的平均值之间的差值小于预设偏差时长的响应数据包。也就是说,可以在有效数据包的统计中剔除一些响应时间有明显异常的数据。可选的,预设偏差时长可以是第一发包时间间隔的1/10至1/3。

S104中根据实际接收速率确定待测传输路径在上行方向上的可用带宽。可以包括:根据所述实际接收速率和所述瓶颈带宽确定背景流量;根据所述背景流量和所述瓶颈带宽确定所述可用带宽。

下面采用具体的例子对本发明提供的可用带宽测量方法进行详细说明。

在本实施例的方法中,发送端可以以第一间隔时间t依次向所述接收端发送N-1个测试数据包,并记录各个响应数据包的响应时间间隔,将第i个测试数据包对应第i个响应数据包的响应时间间隔为Ii,其中,t满足L为所述测试数据包的包长,Ce为所述瓶颈带宽。则可以采用如下公式和步骤确定所述可用带宽:

根据确定所述实际接收速率R,其中,L为所述测试数据包的包长,Tsum为所有有效数据包的响应时间的总和,N0为所述有效数据包的个数;

根据确定所述待传输路径的背景流量S,其中,Ce为所述瓶颈带宽;

根据A=Ce-S确定所述可用带宽A。

可选的,可以在有效数据包的个数低于预设的有效性数据个数阈值时,重新发送一组测试数据包进行测试,有效性数据个数阈值例如可以是总的发包个数的2/3,以获取更准确的数据。

可选的,可以进行M轮测试,每轮测试发送N-1个测试数据包,对每轮测试获得的可用带宽,可以根据多轮可用带宽测试数据的平均值确定所述待测传输路径的可用带宽。

下面通过验证实验环境对本发明提供的可用带宽测试方法的准确性进行验证。

图4为本发明提供的可用带宽测试方法的验证实验环境的示意图。

如图4所示,测试实验环境可以包括四台测试计算机:作为发送端的可用带宽测试计算机(RT-WABest Server)、用于产生背景流量的流量发生器计算机(Traffic generator)、客户端(Client)A计算机与Client B计算机以及接入点(Access Point)设备。发送端与流量发生器计算机接入局域网(Local Area Network,简称LAN)中,ClientA与Client B通过接入点也接入LAN中,接入点可以为无线路由器。可选的,发送端和流量发生器接入局域网时的瓶颈带宽可以为100Mbps。可选的,这四台计算机可以运行乌班图Ubuntu Linux操作系统,也可以运行其他的操作系统,本发明对此不做限制。

举例来说,对待测传输路径的上行方向进行可用带宽测量,测试流量(Probe Traffic)可以通过从发送端向Client A发送测试数据包产生,背景流量可以通过流量发生器计算机向Client B发送数据包产生,例如,同向背景流量1(Crossing Traffic1),也可以通过发送端向Client B发送数据包产生,例如,同向背景流量2(Crossing Traffic2)。可选的,当待测传输路径为非全双工链路时,还可以通过Client B向流量发生器计算机发送数据包产生与上行方向相反方向的背向背景流量,需要说明的是,背向背景流量是与测试过程中发送的测试数据包相互竞争的背景流量。

搭建验证试验环境后,针对几种可能的背景流量的场景对本发明提供的可用带宽测量方法进行验证。

可选的,可以在测试环境中完全没有背景流量时,测试从RT-WABest Server到Client A的传输链路的瓶颈带宽,即获取Ce。可以多次测量,并记录瓶颈带宽的测试结果数据。在实际的真实网络中,也可以通过其他方式获取传输路径的瓶颈带宽,本发明不做限制。

表1为各种背景流量的测试场景下采用本发明提供的可用带宽测量方法测得的可用带宽和真实的可用带宽的对比数据。

参考表1所示,场景1中背景流量为0。场景2中背景流量可以由同向背景流量1提供,其中同向背景流量1分别为10、20、30、50、70Mbps。场景3中背景流量可以由同向背景流量2提供,其中同向背景流量2分别为10、20、30、50、70Mbps。

针对各个测试子场景,分别测试从RT-WABest Server到Client A的传输链路的可用带宽的数值(RT-WABest),然后可以将其与真实的可用带宽数值(Ground Truth)进行比较来判断本发明测量方法的准确性。

表1

从上述测试结果数据可以获知:本发明测量方法在各种网络状况下,进行测量得到的结果数据与真实的可用带宽之间的误差均在可接受的误差范围30%之内。由此可见,本发明提供的可用带宽测量方法在背景流量不超过瓶颈带宽的70%的场景下具有较高的准确率。

还需要说明的是,当背景流量过大时,例如背景流量超过瓶颈带宽的70%时,背景流量极易导致传输的数据包出现严重的延迟甚至丢包,进而可能导致有效数据包个数大量减少,可能导致采用本发明提供的可用带宽测量方法获得的可用带宽的测试结果出现一定的波动,但由于其他测量方法也会存在使用本发明测量方法得到的测量结果数值会发生相应波动,对于Wbest或其他测量方法也均有类似的情况发生,因此,本发明测量在背景流量较大时方法得到的测试结果数据的准确度不低于其他测量方法,即本发明提供的可用带宽测量方法在背景流量为0至背景流量较大时均具有很好的实用性与可行性。

本发明还提供的一种可用带宽测量装置的结构,本实施例提供的可用带宽测量装置可以用于执行图1所示任一所述的可用带宽测量方法。其技术方案细节和技术效果与图1所示实施例类似,此处不再赘述。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1