CN102317801A - 用于测量可用带宽的有效和容损失方法和机制 - Google Patents

用于测量可用带宽的有效和容损失方法和机制 Download PDF

Info

Publication number
CN102317801A
CN102317801A CN2010800073394A CN201080007339A CN102317801A CN 102317801 A CN102317801 A CN 102317801A CN 2010800073394 A CN2010800073394 A CN 2010800073394A CN 201080007339 A CN201080007339 A CN 201080007339A CN 102317801 A CN102317801 A CN 102317801A
Authority
CN
China
Prior art keywords
test
test packet
groups
available bandwidth
bunch
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2010800073394A
Other languages
English (en)
Inventor
大场义洋
Y-H·A·程
V·法雅尔多
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Iconectiv LLC
Original Assignee
Toshiba Corp
Telcordia Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Telcordia Technologies Inc filed Critical Toshiba Corp
Priority to CN201710091873.1A priority Critical patent/CN107104849A/zh
Publication of CN102317801A publication Critical patent/CN102317801A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

使用单脉冲方法来确定网络环境中的可用带宽。发送节点向接收节点发送测试分组。基于网络环境中的网络参数可以动态确定测试分组的大小。发送节点于是接收具有与相应的测试分组相同的序列号的测试接收分组。从测试接收分组形成分组簇。基于分组簇以及由单脉冲方法设置的或由用户输入的值来确定可用带宽。

Description

用于测量可用带宽的有效和容损失方法和机制
技术领域
本发明涉及确定网络中的带宽。更具体地,本发明涉及使用包括一个或多个网络接口的任何设备确定带宽。
背景技术
测量网络性能的标准可以是其带宽。在网络中,带宽通常定义为在给定时间段(例如秒)从一点可以传送到另一点的数据量。带宽可以以每秒比特(bps)或每秒字节(Bps)来表示。具有高带宽的链路例如能够传送足够多的信息以在视频呈现中维持图像连续。
未使用的容量或可用带宽可以指示网络的性能。具体地,关于网络中路径的可用带宽的信息可以有助于主机在给定位置可用的多个候选网络中选择合适的网络来使用。
已知测量可用带宽的几个方法。然而这些方法可能具有以下缺陷。例如,一个问题可能是测量的延迟性。使用传输控制协议(TCP)的可用带宽测量方法由于TCP的“慢启动”流控制行为而显示出高的测量延迟性,例如多于10秒。现有的可用带宽测量方法具有高测量延迟性的另外的原因是因为这些方法尽可能准确的测量可用带宽。这些方法没有关注减少测量延迟性或传输的数据量。
例如,Iperf(TCP/UDP带宽测量工具)测试继续直到预定时间段过去或直到传输的八位字节量达到预定值。即使通过更短时间段或要发送的更少数量的数据可以达到测量准确度的充分级别,发生了测试。然而,确定更多的优化的参数值需要调整过程。而Iperf没有调整过程。PathChirp(一种UDP带宽测量工具)具有调整过程,其需要几个测试循环来调整测试分组的内部传输间隔。这造成更高的测量延迟性和更长的测试周期。
另一个问题是一些可用带宽测量方法需要从用户输入参数来提高测量精度,或减少延迟或测量需要的数据的数量。例如,上述PathChirp中的调整过程可能希望测量的可用带宽的上限和下限以及分组大小作为输入参数。上述的Iperf工具允许发送测量周期或八位字节的数目,但是最大传输速率和分组大小由用户指定。当这些参数没有由用户指定时,可使用预配置的缺省值。然而预配置的缺省值可造成测量精度降低,测量延迟或发送的数据的数量增加。
另外的问题是实际上不存在对于分组损耗是健壮的可用带宽测量方法。基于TCP的方法对于分组损耗可以是健壮的,但是其基本测量基于TCP应用的吞吐量。然而,由于TCP窗口流控制,基于TCP的方法不测量大于该吞吐量的可用带宽。
因此,已知的方法和处理不能够测量或及时提供网络的带宽信息。如上所述,这些方法和处理包括测量延迟或需要用户输入。
发明内容
为了克服上述问题,公开的实施例提供称为单脉冲方法的新的可用带宽方法。公开的实施例的单脉冲方法减少了测量延迟和发送的数据的数量,而不需要从用户输入参数。公开的单脉冲方法还设计来对于分组损耗是健壮的。
使用设计来对于分组损耗是健壮的算法来确定测试分组的数量。公开的实施例使用分组簇来避免在计算中计算丢失的分组。分组簇排除了丢失的分组之间的时间段。
因此,公开的实施例介绍了一种用于确定网络环境中的可用带宽的方法。该方法包括发送多个测试分组。每个测试分组包括序列号。该方法还包括接收与所述多个测试分组对应的多个测试接收分组。每个测试接收分组包括所对应的测试分组的所述序列号。该方法还包括根据多个成功传送的测试分组形成至少一个分组簇。该方法还包括基于所述至少一个分组簇和在所述至少一个分组簇中的第一测试分组和最后一个测试分组之间的内部到达时间确定可用带宽。
根据公开的实施例,介绍了一种用于在无需用户输入的情况下确定网络中的可用带宽的方法。该方法包括动态确定从发送节点要发送的测试分组的数量。每个测试分组包括序列号。该方法还包括向接收节点发送所述数量的测试分组。该方法还包括从接收节点接收与所述测试分组对应的多个测试接收分组。每个测试接收分组包括其相应的测试分组的所述序列号。该方法还包括基于至少一个网络参数设置测试分组大小或传输速率的值。该方法还包括通过单脉冲算法使用至少一个分组簇确定所述发送节点和接收节点之间的可用带宽,所述分组簇包括所述多个的测试接收分组和所述值。
根据公开的实施例还提供一种用于确定网络环境中的可用带宽的单脉冲方法。该单脉冲方法包括从发送节点向接收节点发送具有序列号的测试分组。单脉冲方法还包括在所述发送节点接收具有所述序列号的测试接收分组。单脉冲方法还包括在分组簇中放置至少两个传送的测试分组,从而传送的测试分组中的序列号是连续的。单脉冲方法还包括使用单脉冲算法中的分组簇来确定所述发送节点和接收节点之间的可用带宽。
附图说明
包括附图来提供本发明的另外的理解,该附图组成说明书的一部分。下面列出的附图例示了本发明的实施例,以及该说明书用于解释在权利要求书中公开的本发明的原理,其中:
图1例示了根据公开的实施例的具有节点的网络环境;
图2例示了根据公开的实施例的用于实施单脉冲方法来确定可用带宽的流程图;
图3例示了根据公开的实施例的用于分组簇算法以形成分组簇的状态机;
图4例示了根据公开的实施例的测量往返路径的可用带宽的实例性单脉冲序列图;
图5例示了根据公开的实施例的测量前向路径的可用带宽的实例性单脉冲序列图;
图6例示了根据公开的实施例的测量后向路径的可用带宽的实例性单脉冲序列图;
图7例示了根据公开的实施例的单脉冲协议分组的框图;
图8例示了根据公开的实施例的开始消息分组的框图;
图9例示了根据公开的实施例的数据消息分组的框图;
图10例示了根据公开的实施例的回声或回声应答消息分组的框图;以及
图11例示了根据公开的实施例的报告消息分组的框图。
具体实施方式
现在详细介绍本发明的优选实施例。在附图中例示了本发明的优选实施例的实例。
图1示出网络环境100具有节点102、104和106。因为节点可位于多于一个的网络中,因此网络环境100称为“环境”。从而多于一个的网络可在网络环境100中可用。
节点102可以是源节点,因为它承担主动的角色来沿网络环境100中的路径启动可用带宽测试。节点104可是目标节点,因为它承担被动的角色来根据公开的实施例启动可用带宽测试。节点102包括以传输速率发送分组的网络接口1021。节点104包括以传输速率发送分组的网络接口1041。
前向路径110是从源节点102到目标节点104的路径。后向路径112是从目标节点104到源节点102的路径。往返路径114是前向路径110和后向路径112的连接,其起始和终止于源节点102。
节点106也可以使用上述指定给节点102和104的路径。实际上,术语“源节点”和“目标节点”仅用于参考,网络环境100中的任何节点可用作源节点或目标节点来测量可用带宽。
根据公开的实施例,定向可用带宽可指前向路径110或后向路径112的可用带宽。在确定定向可用带宽中,也可使用术语最大传输单元(MTU)和往返时间(RTT)。
图2例示了根据公开的实施例实施单脉冲(burst)方法来确定可用带宽的流程图。单脉冲算法或方法可测量往返可用带宽、前向路径可用带宽和后向路径可用带宽。通过从发送节点向接收节点发送测试分组以及在发送节点接收测试接收分组来执行步骤202。下面将更详细公开这些步骤。
返回图1,当确定前向路径可用带宽时,源节点102向目标节点104以传输速率Rt(bps)发送大小为L(八位字节)的一个或多个测试分组116,其包括因特网协议(IP)标头。于是源节点102等待从目标节点104的测试接收分组118。
对于后向路径可用带宽,目标节点104向源节点102发送一个或多个测试分组120。目标节点104于是等待来自源节点102的测试接收分组122。作为定向可用带宽测试,前向和后向可用带宽分析可以是已知的。往返路径可用带宽测试可以使用测试分组124和测试接收分组126。
测试分组和相应的测试接收分组通过承载在每个分组中的序列号来标识。测试分组的发送方和接收方以及计算可用带宽的实体依据如下所述的执行的测试的类型来确定。
在往返路径可用带宽测试的情况下,测试接收分组126可包括与测试分组124相同数量的有效载荷以在前向和后向路径中装载瓶颈链路。在定向可用带宽测试的情况下,测试接收分组不包括有效载荷来装载瓶颈链路。
测试分组中的发送的八位字节的数目具有分别表示为Nmin和Nmax的下限和上限。在执行公开的实施例的操作时,源节点102作为发送方,至少发送Nmin个八位字节的测试分组,以及当在发送Nmin个八位字节或发送Nmax个八位字节之后接收测试接收分组时停止发送。因此,发送的测试分组的数量基于往返时间或RTT以及可用带宽来动态确定。此外,测量延迟取决于RTT、可用带宽和传输速率。
返回图2,通过基于测试分组和测试接收分组形成分组簇来执行步骤206。根据公开的实施例,分组簇定义为具有连续的序列号的至少两个分组的传送时间的集合。
对于往返路径可用带宽测试,当相应的测试接收分组由源节点102接收时测试分组看作是传送的。对于前向路径可用带宽测试,当测试分组由目标节点104接收时测试分组看作是传送的。对于后向路径可用带宽测试,当测试分组由源节点102接收时测试分组看作是传送的。
在每个簇中分组簇可以以最小序列号的升序来排列。Pi可以表示具有序列号为i的测试分组,以及ck可以表示第k个分组簇。如果测试分组p1、p3、p2、p5、p6、p8、p10和p11以所列出的顺序接收,则分组簇将是c1=[p1,p3,p2]、c2=[p5,p6]、和c3=[p10,p11]。分组p8没有形成分组簇。
公开的实施例公开了根据步骤202和204中编辑的测试分组传送时间的阵列形成分组簇的列表的算法。该算法的复杂性可以与不需要重新对测试分组排序的测试分组的数目相关。对于往返路径和后向路径可用带宽测试,分组簇算法通过源节点102执行。对于前向路径可用带宽测试,分组簇算法通过目标节点104执行。
让a[]表示整数阵列,其中a[i]存储第(i-1)个测试分组的传送时间,其中i表示阵列的索引。阵列中的0的传送时间指示相应的测试分组没有传送。测试接收分组看作往返可用带宽测试的测试分组。阵列的大小由最大序列号减1来限定。
术语last表示最后一个测试分组的序列号,术语add_cluster(int min_a,int max_a,int n)可以是创建新的分组簇的过程,该分组簇的最小传送时间、最大传送时间和簇中的分组的数目分别通过min_a、max_a和n给出。术语min(x,y)和max(x,y)可分别代表返回x和y之间的最小值和最大值的函数。
一旦完成测试分组的发送和接收测试接收分组,就调用分组簇算法。在往返路径可用带宽测试的一个实施例中,当在步骤204中已经传送了最后一个发送的测试分组时,即当源节点102接收最后发送的测试分组的测试接收分组时,测试分组的发送和测试接收分组的接收可看作结束了。
在另外的往返路径可用带宽测试的实施例中,源节点102在步骤202发送最后的测试分组之后发送明确的完成指示分组。当源节点102在步骤202接收到来自目标节点104的明确的完成指示接收分组时,发送测试分组和接收测试接收分组可看作结束。
在前向路径可用带宽测试的一个实施例中,源节点102在步骤202发送最后的测试分组之后发送明确的完成指示分组。当目标节点104在步骤202接收到来自源节点102的明确的完成指示分组时,发送测试分组和接收测试接收分组可看作结束。
在后向路径可用带宽测试的一个实施例中,目标节点104在步骤202发送最后的测试分组之后发送明确的完成指示分组。当源节点102在步骤202接收到来自目标节点104的明确的完成指示分组时,发送测试分组和接收测试接收分组可看作结束。
分组簇算法遵循图3中所示的状态机。状态机包括3个状态:簇外、合格簇以及簇内,其中簇外的状态是初始状态。状态簇外指示与a[i]对应的测试分组没有传送。状态簇内指示与a[i]对应的测试分组输入当前簇。状态合格簇指示当且仅当与a[i]和a[i+1]对应的测试分组被传送,以及与a[i-1]对应的测试分组没有传送时,与a[i]对应的测试分组属于新的簇。
在图3中,每个箭头表示状态迁移,其中与箭尾和箭头关联的状态分别表示源和目的状态。没有源状态的状态迁移指示开始状态机的初始状态迁移。没有目的状态的状态迁移指示结束状态机的最终状态迁移。与每个迁移关联并由字符“/”分隔的标签指示一对条件和动作,其中标签中的“/”的左侧文字和右侧文字分别指示条件和动作。
如果当状态迁移的源状态是当前状态时保持与该迁移关联的条件,则在进入目的状态之前采取与该状态迁移关联的动作。具有空条件的状态迁移指示无条件发生状态迁移。具有空动作的状态迁移指示对于该状态迁移不采取任何动作。
到状态簇外的初始状态迁移具有动作i=0;当i<last & &a[i]>0,则发生从簇外状态到合格簇状态的状态迁移,以及在该迁移中采取动作n=1;min_a=max_a=a[i];i++;。当i<last并且a[i]==0,则发生从簇外状态到相同状态的状态迁移,并在该状态迁移中采取i++;动作。当i==last以及在该迁移中不采取任何动作,则发生从簇外的状态的最终的状态迁移。
当i<last & &a[i]>0发生从合格簇状态到簇内状态的状态迁移,以及在该迁移中采取n++;min_a=min(min_a,a[i]);max_a=max(max_a,a[i]);i++;的动作。当i<last & &a[i]==0,则发生从状态合格簇到状态簇外的状态迁移,以及在该迁移中采取i++;的动作。当i==last则发生从状态合格簇的最终的状态迁移,以及在该迁移中没有采取任何动作。
当i<last & &a[i]>0则发生从状态簇内到相同的状态的状态迁移,以及在该迁移中采取n++;min_a=min(min_a,a[i]);max_a=max(max_a,a[i]);i++;的动作。当i<last & &a[i]==0则发生从状态簇内到状态簇外的状态迁移,以及在该迁移中采取add_cluster(min_a,max_a,n);i++;的动作。当i==last则发生从状态簇内的最终的状态迁移,以及在该迁移中采取add_cluster(min_a,max_a,n);的动作。
传送的测试分组于是给予上述的标准从簇外移动到簇内。测试分组可以不移动到分组簇,以及从可用带宽分析中退出。因此,使用图3中所示的状态机,可以根据如上所述的传送的测试分组来形成分组簇。
通过设置值以便执行单脉冲方法来确定可用带宽来执行步骤208。用户可以经由输入或其他接口设置这些值。然而,可不接收输入,以及可以不需要其来设置这些值。在公开的实施例中,设置一对值L和Rt。如上所述,L可以表示测试分组的大小(以八位字节为单位)。如上所述,Rt可以表示传输速率(以每秒比特为单位(bps))。
如果用户没有指定,则L和Rt可以如下来确定。如果路径MTU是已知的,则L设置为路径MTU。否则,L设置为最小MTU。例如,对于IPv4网络,L可设置为576个八位字节,而对于IPv6网络,L可设置为1280个八位字节。
Rt可设置为大约或等于测试分组的输出接口的最大速度的值。如图1所示,节点102包括网络接口1021,节点104包括网络接口1041。在后向路径可用带宽测试的情况下,Rt可以由源节点102指定为源的输入接口的最大速度,并传送到目标节点。优选地,诸如节点104的目标节点,应该具有最大速度大于用于源节点102的网络接口1021的网络接口1041。
通过使用单脉冲方法或算法确定可用带宽来执行步骤210。根据公开的实施例的可用带宽,可以使用下面的公式1来确定:
B = Σ k = 1 C 8 ( m k - 1 ) L / Σ k = 1 C D k - - - ( 1 )
其中mk表示第k个分组簇中测试分组的数目(mk≥2),Dk表示第k个分组簇中第一和最后一个测试分组之间的以秒为单位的内部传送时间,以及C表示分组簇的总数目。
因为测试分组可以不按顺序传送,簇的第一传送的测试分组可以不具有簇中的最小序列号。类似地,簇中的最后的传送的测试分组可以不具有簇中的最大的序列号。
更详细公开每个度量的单脉冲方法和算法。为了简要,在所有测量算法中,如果在时间段Dmax[秒](Dmax大于在正常运行的网络中的最大的可能RTT值,例如5秒)中单脉冲测试没有完成或序列号超出其最大值,则源节点102和目标节点104可立即删除其状态以及该测试被看作失败。
此外,当甚至在接收第一测试接收分组之前发送的八位字节的总数目达到阈值Nmax时,测试分组的发送方停止发送测试分组。Nmax可这样设置,从而Nmax/L不大于在序列号超出其最大值之前发送的测试分组的最大数目。
图4例示了根据公开的实施例的测量往返路径可用带宽的实例性单脉冲序列图400。在这种情况下,如线402所示的回声分组和如线404所示的回声应答分组分别用作测试分组和测试接收分组。回声和回声应答消息的大小为L。源节点102至少发送Nmin个八位字节的回声消息402(以速率Rt),以及当在发送Nmin八位字节之后接收到回声应答消息时或当发送Nmax八位字节时停止发送。
在计算可用带宽时,源节点102使用回声消息402的到达时间作为测试分组的传送时间。在图4中,丢失第4个回声应答消息4040,创建2个分组簇c1={p1,p2,p3}和c2={p5,p6}。因此,这些分组簇可用在使用如上所述的单脉冲方法确定可用带宽中。
在往返路径可用带宽测试的另外的实施例中,源节点102可在发送具有非零序列号的回声消息之前,通过发送一个或多个可达性测试分组以及等待从目标节点104响应于可达性测试消息返回的可达性测试接收分组来首先检查目标节点104是否支持单脉冲方法。在这种情况下,具有零(0)序列号的回声或数据消息用作可达性测试消息以及具有零(0)序列号的回声应答或数据确认消息用作可达性测试接收分组。
可达性测试和可达性测试接收分组不用于形成分组簇。可达性测试分组可包含空有效载荷。
在往返路径可用带宽测试的另外的实施例中,源节点102可作为明确完成指示分组发送结束消息,以及目标节点104可响应于从源节点102接收的结束消息返回作为明确的完成指示接收分组的结束消息。
图5例示了根据公开的实施例的测量前向路径可用带宽的实例性单脉冲序列图500。在这种情况下,数据消息502和数据确认消息504分别用作测试分组和测试接收分组。数据消息502的大小为L。数据确认消息不包含有效载荷。源节点102至少发送Nmin个八位字节的数据消息502,以及当在发送Nmin八位字节之后接收到数据确认消息504时或当发送Nmax八位字节时停止发送,发送结束消息508以及之后等待报告消息510。目标节点104等待直到接收到结束消息508以及之后返回报告消息510。
在图5中,丢失了第3个数据确认消息506。目标节点104使用数据消息502作为测试分组来计算可用带宽,以及仅存在一个形成的表示为c1的分组簇,即c1={p1,p2,p3,p4,p5}。该分组簇于是可用于确定可用带宽。
在前向路径可用带宽测试的另外的实施例中,源节点102可在发送具有非零序列号的数据消息之前,通过发送一个或多个可达性测试分组以及等待从目标节点104响应于可达性测试消息返回的可达性测试接收分组来首先检查目标节点104是否支持单脉冲方法。在这种情况下,具有零(0)序列号的回声或数据消息用作可达性测试消息以及具有零(0)序列号的回声应答或数据确认消息用作可达性测试接收分组。
可达性测试和可达性测试接收分组不用于形成分组簇。可达性测试分组可包含空有效载荷。
在前向路径可用带宽测试的另外的实施例中,源节点102可在发送具有非零序列号的数据消息之前,通过向目标节点104发送一个或多个具有零(0)序列号的数据消息以及等待从目标节点104响应于具有零(0)序列号的数据消息返回的数据确认消息来首先检查目标节点104是否支持单脉冲方法。
在前向路径可用带宽测试的另外的实施例中,目标节点104可分别返回或发送数据确认消息,代替对于每个数据消息返回数据确认消息。例如,目标节点104可对于每10个数据消息发送数据确认消息,以及发送节点102因此接收数据确认消息。
具有零(0)序列号的数据和数据确认消息不用于形成分组簇。具有零(0)序列号的数据消息可包含空有效载荷。
图6例示了根据公开的实施例的测量后向路径可用带宽的实例性单脉冲序列图600。在这种情况下,数据消息602和数据确认消息604分别用作测试分组和测试接收分组。数据消息602的大小为L。数据确认消息604不包含有效载荷。源节点102可发送开始消息以启动测试。开始消息606可包含由源节点102指定的Rt。如果开始消息606没有包含Rt,则目标节点104将确定Rt的值。
目标节点104至少发送Nmin个八位字节的数据消息602(以速率Rt),以及当在发送Nmin八位字节之后接收到数据确认消息604时或当发送Nmax八位字节时停止发送,以及发送结束消息608。源节点102等待直到接收到结束消息608。在图6中,丢失了第3个数据确认消息610,从而创建两个分组簇c1={p1,p2}和c2={p4,p5}。于是使用这些分组簇来使用如上所述的单脉冲方法或算法确定计算可用带宽。
在后向路径可用带宽测试的另外的实施例中,目标节点104可在发送具有非零序列号的数据消息之前,通过发送一个或多个可达性测试分组以及等待从目标节点104响应于可达性测试消息返回的可达性测试接收分组来首先检查源节点102是否支持单脉冲方法。在这种情况下,具有零(0)序列号的回声或数据消息用作可达性测试消息以及具有零(0)序列号的回声应答或数据确认消息用作可达性测试接收分组。
可达性测试和可达性测试接收分组不用于形成分组簇。可达性测试分组可包含空有效载荷。
当具有零(0)序列号的回声和回声应答消息分别用作可达性测试和可达性测试接收分组,该消息可在有效载荷中包含随机生成的值以确保开始消息的发送方是与可达性测试接收分组的发送方相同。
在后向路径可用带宽测试的另外的实施例中,源节点102可分别返回或发送数据确认消息,代替对于每个数据消息返回数据确认消息。例如,源节点102可对于每10个数据消息发送数据确认消息。
下面的分析可用于单脉冲方法或算法的值和特征,具体地,用在确定所示的公式1中使用的值。Br,Bf和Bb表示往返可用带宽、前向路径可用带宽和后向路径可用带宽。B取决于使用的可用带宽测量类型表示Br,Bf或Bb(B≤Rt)。如果当测量Br时瓶颈链路正在共享上行链路和下行链路之间的带宽,并且包括在前向路径和后向路径中,则保持如下公式2所示的关系:
min(Bf,Bb)/2≤Br≤min(Bf,Bb).                   (2)
否则,保持如下公式3的关系:
Br=min(Bf,Bb).                                  (3)
应该注意,测量Br时的瓶颈链路和测量Bf或Bb时的瓶颈链路可以是不同的。
Trtt表示第一测试分组和测试接收分组交换(即,在往返路径可用带宽测试情况下具有非零序列号的第一回声和回声应答交换以及在定向可用带宽测试情况下具有非零序列号的第一数据和数据确认交换)的RTT。N、Nt和Nr分别表示发送的八位字节的总数目、测试分组的八位字节的总数目和测试接收分组的总数目。
术语表示返回其值为不小于x的最小整数的整数的取底函数。在该分析中,公开的实施例假定Nmin≤Nt≤Nmax以及Nmax/L不大于在序列号超出其最大值之前发送的测试分组的最大数目。Nt通过如下来给出:
Figure BDA0000082508880000132
术语D表示以秒为单位的测量延迟。假定没有分组损耗或乱序的分组,下述说明获得单脉冲的三种测试类型中的每个的N和D。在这种情况下,C=1,因此如下来计算可用带宽:
B=8(m1-1)L/D1.    (5)
因为m1=Nt/L,则如下所示:
D1=8(Nt-L)/B      (6)
针对往返路径可用带宽测试,仅适用回声和回声应答消息。因此,
N=Nt+Nr.          (7)
因为回声和回声应答消息具有相同的消息长度,则:
Nr=Nt.            (8)
因为
Figure BDA0000082508880000133
公式6和7导出如下:
Figure BDA0000082508880000134
Figure BDA0000082508880000135
Figure BDA0000082508880000136
因此,
Figure BDA0000082508880000137
Figure BDA0000082508880000138
Figure BDA00000825088800001310
Figure BDA00000825088800001311
针对前向路径可用带宽测试,示出如下分析。LA、LS和LR分别表示包括UDP和IP标头的数据确认消息、开始消息和报告消息的长度。因为数据确认消息没有包含有效载荷,因此如下所示:
Nr=NtLA/L.        (11)
因为除了数据和数据确认消息使用之外,还使用了开始和报告消息,则N=Nr+Nt+LS+LR.(12)
因此,
Figure BDA0000082508880000141
Figure BDA0000082508880000143
TD、TA和TR分别表示第一数据消息和报告消息的消息传送延迟。因为Trtt=TD+TA,则
Figure BDA0000082508880000144
Figure BDA0000082508880000145
(14)
Figure BDA0000082508880000147
Figure BDA0000082508880000148
Figure BDA0000082508880000149
针对后向路径可用带宽测试,可示出如下的分析。LF表示包括UDP和IP标头的结束消息的长度。数据确认消息不包含有效载荷。除了数据和数据确认消息之外,还使用了开始和结束消息。因此:
Nr=NtLA/L.       (15)
使用上述关系,则
Figure BDA00000825088800001410
Figure BDA00000825088800001411
(16)
Figure BDA00000825088800001412
Figure BDA00000825088800001413
因此,
Figure BDA00000825088800001414
Figure BDA00000825088800001415
Figure BDA00000825088800001416
Figure BDA00000825088800001417
Figure BDA00000825088800001418
Figure BDA00000825088800001419
错误!没有找到参考源。表1总结了关于发送的八位字节的总数目以及测量延迟的数学分析。在表1中
Figure BDA0000082508880000151
分别表示N和D的上限。
Figure BDA0000082508880000153
表1
因为Trtt与Rt独立,Rt越接近B,
Figure BDA0000082508880000154
Figure BDA0000082508880000155
就越小。当Rt=B时给出最小的
Figure BDA0000082508880000156
Figure BDA0000082508880000157
值。
公开的实施例还提供了单脉冲协议来执行单脉冲方法。SBP使用UDP作为传输协议。一对源和目标节点通过IP源和目的地址以及源和目的UDP端口号来标识。对于测量往返路径可用带宽测量,可能使用UDP端口7(UDP回声协议)来承载回声、回声应答和结束消息。对于无需使用明确的完成指示的结束消息来测量往返路径可用带宽,因为ICMP回声和回声应答消息承载包含在单脉冲回声和回声应答消息中的相应的信息,还可能使用ICMP回声。
在图7中例示了SBP分组700的示例性格式。SBP标头中的所有无符号整数字段和有效载荷作为网络字节顺序来编码。SBP消息700包括可变长度有效载荷之前的4个八位字节标头。该标头包括4比特类型字段702、之后的8比特会话标识符字段704和之后的20比特无符号整数序列号字段706。对于Trtt=5秒和L=576个八位字节,通过8(220-1)L/Trtt=966366720bps来给出Tr的最大值(以及因此最大可测量可用带宽)。有效载荷708可以是空。根据UDP标头已知SBP分组大小。
类型字段702指示消息类型。错误!没有发现参考源。表2示出了消息类型。
  类型   消息名称
  0x0   开始
  0x1   结束
  0x2   报告
  0x3   数据
  0x4   数据确认
  0x5   回声
  0x6   回声应答
表2
会话标识符字段704是源节点102分配的随机值。在整个相同测试运转中使用相同的会话标识符。将序列号字段706设置为零(0)用于开始、结束和报告消息。这些消息可在最多重转两次以对于分组丢失是健壮的。数据和回声消息具有从一(1)开始的序列号。相应的数据确认和回声应答消息分别具有与数据和回声消息相同的序列号。
在一些实施例中,其中使用具有零(0)序列号的回声(和回声应答)以及数据(和数据确认)消息,在发送具有非零序列号的回声和数据消息之前来检查回声和数据消息的接收节点是否支持单脉冲方法。有效载荷708对于结束消息总是为空。
图8例示了根据公开的实施例的开始消息分组800的框图。可选的4八位字节最大传输速率字段802包含32比特无符号整数,其包括源节点102请求的以Kbps为单位的最大传输速率。如上公开了其他字段。
图9例示了根据公开的实施例的数据消息分组900的框图。可变长度数据字段902包含零或更多八位字节。如上公开了其他字段。
图10例示了根据公开的实施例的回声或回声应答消息分组1000的框图。可变长度数据字段1002包含零或多个八位字节。回声应答消息的可变长度数据字段1002必须从相应的回声消息中复制。如上公开了其他字段。
图11例示了根据公开的实施例的报告消息分组1100的框图。测试持续时间字段1102是包含以秒为单位的最大测试持续时间的32比特无符号整数。接收的总的八位字节字段1104是包含接收的八位字节的总数目的32比特无符号整数。成功的分组的数目1106是包含成功传送的测试分组的数目的32比特无符号整数。
本领域技术人员可以理解,在本发明的公开的实施例中可以进行修改和改变而不偏离本发明的精神和范围。因此,本发明旨在涵盖上述公开的实施例的修改和改变,只要他们落入任意权利要求和其等同物的范围中。

Claims (32)

1.一种用于确定网络环境中的可用带宽的方法,该方法包括:
发送多个测试分组,其中每个测试分组包括序列号;
接收与所述多个测试分组对应的多个测试接收分组,其中每个测试接收分组包括所对应的测试分组的所述序列号;
根据所述多个测试接收分组形成至少一个分组簇;以及
基于所述至少一个分组簇和在所述分组簇中的第一测试分组和最后一个测试分组之间的内部传送时间确定可用带宽。
2.如权利要求1所述的方法,还包括:动态确定要发送的所述多个测试分组的数量。
3.如权利要求2所述的方法,其中所述数量基于所述网络环境中的往返时间。
4.如权利要求1所述的方法,其中所述确定步骤包括:使用单脉冲算法来确定所述可用带宽。
5.如权利要求1所述的方法,其中所述至少一个分组簇包括具有连续序列号的至少两个测试分组。
6.如权利要求1所述的方法,还包括:丢弃测试接收分组。
7.如权利要求1所述的方法,还包括:在无需用户输入的情况下设置用于所述确定步骤的值。
8.如权利要求1所述的方法,其中所述形成步骤包括:根据测试分组传送时间的阵列形成所述至少一个分组簇。
9.如权利要求1所述的方法,其中所述确定步骤包括:使用如下公式确定所述可用带宽:
B = Σ k = 1 C 8 ( m k - 1 ) L / Σ k = 1 C D k
其中mk表示第k个分组簇中测试分组的数目(mk≥2),Dk表示第k个分组簇中第一个和最后一个测试分组之间的以秒为单位的内部到达时间,以及C表示分组簇的总数目。
10.一种用于在无需用户输入的情况下确定网络中的可用带宽的方法,包括:
动态确定从发送节点要发送的测试分组的数量,其中每个测试分组包括序列号;
向接收节点发送所述数量的测试分组;
从接收节点接收与所述测试分组对应的多个测试接收分组,其中每个测试接收分组包括其相应的测试分组的所述序列号;
基于至少一个网络参数设置测试分组大小或传输速率的值;以及
通过单脉冲算法使用至少一个分组簇确定所述发送节点和接收节点之间的可用带宽,所述分组簇包括具有连续序列号的所述多个测试分组的至少两个测试分组。
11.如权利要求10所述的方法,其中所述可用带宽包括前向路径可用带宽。
12.如权利要求10所述的方法,其中所述可用带宽包括后向路径可用带宽。
13.如权利要求10所述的方法,其中所述可用带宽包括往返路径可用带宽。
14.如权利要求10所述的方法,还包括:使用具有连续序列号的至少两个测试接收分组形成所述至少分组簇。
15.如权利要求13所述的方法,其中所述测试分组包括回声分组,以及所述测试接收分组包括回声-应答分组。
16.如权利要求10所述的方法,还包括:丢失测试接收分组。
17.如权利要求10所述的方法,其中所述确定步骤包括:使用所述单脉冲算法的如下公式确定所述可用带宽:
B = Σ k = 1 C 8 ( m k - 1 ) L / Σ k = 1 C D k
其中mk表示第k个分组簇中测试分组的数目(mk≥2),Dk表示第k个分组簇中第一个和最后一个测试分组之间的以秒为单位的内部到达时间,以及C表示分组簇的总数目。
18.一种用于确定网络环境中的可用带宽的单脉冲方法,包括:
从发送节点向接收节点发送具有序列号的测试分组;
在所述发送节点接收具有所述序列号的测试接收分组;
在分组簇中放置至少两个传送的测试分组,从而在所述分组簇中的传送的测试分组中的序列号是连续的;以及
使用单脉冲算法中的分组簇来确定所述发送节点和接收节点之间的可用带宽。
19.如权利要求18所述的单脉冲方法,还包括:动态确定所述测试分组的大小。
20.如权利要求18所述的单脉冲方法,还包括:根据单脉冲协议形成所述测试分组。
21.如权利要求18所述的单脉冲方法,还包括:改变所述测试分组的状态以将其放置在所述分组簇中。
22.如权利要求1所述的方法,其中所述形成步骤包括:在所述多个测试分组的源节点处执行分组簇算法。
23.如权利要求1所述的方法,其中所述形成步骤包括:在所述多个测试分组的目标节点处执行分组簇算法。
24.如权利要求1所述的方法,其中如果在时间段内没有完成所述发送步骤或接收步骤则认为所述确定步骤失败。
25.如权利要求1所述的方法,还包括:使用用户数据报(UDP)作为单脉冲协议来执行所述方法。
26.如权利要求25所述的方法,其中UDP回声用于单脉冲协议。
27.如权利要求1所述的方法,还包括:使用因特网控制消息协议回声和回声应答消息用于传输与单脉冲协议的回声和回声应答消息对应的信息以确定所述可用带宽。
28.如权利要求1所述的方法,还包括:通过向所述对端节点发送可达性测试分组来检查对端节点是否由所述多个测试分组可达或所述对端节点是否支持所述多个测试分组。
29.如权利要求28所述的方法,还包括:接收响应于所述可达性测试分组由所述对端节点发送的可达性测试接收分组。
30.如权利要求29所述的方法,其中所述可达性测试分组和所述可达性测试接收分组包括随机值。
31.如权利要求1所述的方法,其中所述接收步骤包括:选择性地接收所述多个测试接收分组,从而测试接收分组的数目小于测试分组的数目。
32.如权利要求1所述的方法,还包括:选择性地发送所述多个测试接收分组,从而测试接收分组的数目小于测试分组的数目。
CN2010800073394A 2009-02-13 2010-02-16 用于测量可用带宽的有效和容损失方法和机制 Pending CN102317801A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710091873.1A CN107104849A (zh) 2009-02-13 2010-02-16 用于测量可用带宽的有效和容损失方法和机制

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/371,286 US8908540B2 (en) 2009-02-13 2009-02-13 Efficient and loss tolerant method and mechanism for measuring available bandwidth
US12/371,286 2009-02-13
PCT/US2010/024313 WO2010094035A1 (en) 2009-02-13 2010-02-16 Efficient and loss tolerant method and mechanism for measuring available bandwidth

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201710091873.1A Division CN107104849A (zh) 2009-02-13 2010-02-16 用于测量可用带宽的有效和容损失方法和机制

Publications (1)

Publication Number Publication Date
CN102317801A true CN102317801A (zh) 2012-01-11

Family

ID=42559836

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2010800073394A Pending CN102317801A (zh) 2009-02-13 2010-02-16 用于测量可用带宽的有效和容损失方法和机制
CN201710091873.1A Pending CN107104849A (zh) 2009-02-13 2010-02-16 用于测量可用带宽的有效和容损失方法和机制

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201710091873.1A Pending CN107104849A (zh) 2009-02-13 2010-02-16 用于测量可用带宽的有效和容损失方法和机制

Country Status (4)

Country Link
US (1) US8908540B2 (zh)
JP (1) JP5491533B2 (zh)
CN (2) CN102317801A (zh)
WO (1) WO2010094035A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905272A (zh) * 2014-03-19 2014-07-02 珠海世纪鼎利通信科技股份有限公司 一种无线网络的可用带宽测量方法及系统
CN107925629A (zh) * 2015-08-31 2018-04-17 华为技术有限公司 一种IPv6网络中数据报文的发送方法及装置
CN109644156A (zh) * 2016-09-05 2019-04-16 日本电气株式会社 网络频带测量设备、系统、方法和程序

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100265833A1 (en) * 2009-04-16 2010-10-21 Ou Frank Y Network bandwidth determination
JP5719449B2 (ja) * 2010-11-18 2015-05-20 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Ipパスの利用可能な容量及び狭リンク容量を単一のエンドポイントから測定するためのシステム及び方法
CN103339909A (zh) * 2011-12-21 2013-10-02 华为技术有限公司 文件初始传输速率的确定方法、装置和系统
US9820224B2 (en) * 2012-03-14 2017-11-14 T-Mobile Usa, Inc. Mobile network traffic optimization
US9923808B2 (en) * 2012-10-09 2018-03-20 Netscout Systems, Inc. System and method for real-time load balancing of network packets
US9331925B2 (en) * 2013-03-12 2016-05-03 Cisco Technology, Inc. Multiple test site bandwidth limit measurement
US9379993B1 (en) * 2013-08-14 2016-06-28 Amazon Technologies, Inc. Network control protocol
US10979332B2 (en) * 2014-09-25 2021-04-13 Accedian Networks Inc. System and method to measure available bandwidth in ethernet transmission system using train of ethernet frames
GB2541736B (en) * 2015-08-28 2019-12-04 Imagination Tech Ltd Bandwidth management
EP3525413A1 (en) * 2018-02-08 2019-08-14 Idea Meets Market Beteiligungsgesellschaft mbH Connectionless protocol with bandwidth and congestion control
CN116633791B (zh) * 2023-07-26 2023-09-26 常州楠菲微电子有限公司 一种检测带宽的方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1488214A (zh) * 2001-04-19 2004-04-07 �ʼҷ����ֵ������޹�˾ 用于因特网中瓶颈带宽的加强实时估计的方法和装置
CN1618024A (zh) * 2001-12-05 2005-05-18 瑞通网络公司 用于在基于分组的计算机网络中速率整形的方法和系统
US20060209701A1 (en) * 2002-02-01 2006-09-21 Microsoft Corporation Peer-To-Peer Method of Quality of Service (QoS) Probing and Analysis and Infrastructure Employing Same
US7200673B1 (en) * 2000-06-09 2007-04-03 Steven Augart Determining the geographic location of a network device
US20090016240A1 (en) * 2007-07-12 2009-01-15 Viasat, Inc. Methods and systems for bandwidth measurement techniques

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7215637B1 (en) * 2000-04-17 2007-05-08 Juniper Networks, Inc. Systems and methods for processing packets
FI20001578A (fi) * 2000-06-30 2001-12-31 Nokia Networks Oy QoS-arkkitehtuuri
DE10253676B4 (de) 2002-11-18 2008-03-27 Siemens Ag Verfahren und Vorrichtung für die Fernübertragung sensibler Daten
US9325998B2 (en) 2003-09-30 2016-04-26 Sharp Laboratories Of America, Inc. Wireless video transmission system
US7545749B2 (en) * 2005-02-15 2009-06-09 Microsoft Corporation High-accuracy packet pair for network bottleneck bandwidth measurement
US7675856B2 (en) * 2005-03-24 2010-03-09 Microsoft Corporation Bandwidth estimation in broadband access networks
DE102006032729A1 (de) * 2006-07-14 2008-01-17 Infineon Technologies Ag Vorrichtung zum Bestimmen einer Anzahl von Datenpaketen

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7200673B1 (en) * 2000-06-09 2007-04-03 Steven Augart Determining the geographic location of a network device
CN1488214A (zh) * 2001-04-19 2004-04-07 �ʼҷ����ֵ������޹�˾ 用于因特网中瓶颈带宽的加强实时估计的方法和装置
CN1618024A (zh) * 2001-12-05 2005-05-18 瑞通网络公司 用于在基于分组的计算机网络中速率整形的方法和系统
US20060209701A1 (en) * 2002-02-01 2006-09-21 Microsoft Corporation Peer-To-Peer Method of Quality of Service (QoS) Probing and Analysis and Infrastructure Employing Same
US20090016240A1 (en) * 2007-07-12 2009-01-15 Viasat, Inc. Methods and systems for bandwidth measurement techniques

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905272A (zh) * 2014-03-19 2014-07-02 珠海世纪鼎利通信科技股份有限公司 一种无线网络的可用带宽测量方法及系统
CN107925629A (zh) * 2015-08-31 2018-04-17 华为技术有限公司 一种IPv6网络中数据报文的发送方法及装置
US10541899B2 (en) 2015-08-31 2020-01-21 Huawei Technologies Co., Ltd. Data packet sending method and apparatus in IPv6 network
US11477106B2 (en) 2015-08-31 2022-10-18 Huawei Technologies Co., Ltd. Data packet sending method and apparatus in IPV6 network
CN109644156A (zh) * 2016-09-05 2019-04-16 日本电气株式会社 网络频带测量设备、系统、方法和程序
US10897416B2 (en) 2016-09-05 2021-01-19 Nec Corporation Network band measurement device, system, method, and program
CN109644156B (zh) * 2016-09-05 2021-07-13 日本电气株式会社 网络频带测量设备、系统、方法和程序

Also Published As

Publication number Publication date
US20100208613A1 (en) 2010-08-19
JP5491533B2 (ja) 2014-05-14
CN107104849A (zh) 2017-08-29
US8908540B2 (en) 2014-12-09
JP2012518348A (ja) 2012-08-09
WO2010094035A1 (en) 2010-08-19

Similar Documents

Publication Publication Date Title
CN102317801A (zh) 用于测量可用带宽的有效和容损失方法和机制
US11611498B2 (en) Round-trip time evaluation system, method, and apparatus
CN105391567B (zh) 流量管理实现方法、装置和网络设备
US8023509B2 (en) Communication terminal and retransmission request method
CN111817977B (zh) 一种网络拥塞控制方法和装置
CN108881008A (zh) 一种数据传输的方法、装置和系统
CN109391560A (zh) 网络拥塞的通告方法、代理节点及计算机设备
CN110505123B (zh) 丢包率的计算方法、服务器及计算机可读存储介质
CN103152285B (zh) 本端网元、对端网元以及发送窗口调整方法
CN101488912A (zh) 一种ip分片方法和装置
CN107231269A (zh) 一种集群精确限速方法和装置
CN110086669A (zh) 一种基于zynq的网络发包机
CN102694736A (zh) 吞吐率的获取方法和装置
CN108574644A (zh) 一种tcp连接恢复方法、装置、电子设备及存储介质
CN113783664A (zh) 消息传输方法和消息传输装置
CN108667563A (zh) 一种前向纠错包个数获取方法及装置
CN110299971A (zh) 一种数据报文接收方法及装置
CN209805842U (zh) 一种基于zynq的网络发包机
CN111404641B (zh) 数据重组方法、系统、装置及计算机可读存储介质
CN103281318A (zh) 一种针对软件定义网络的攻击测试装置
CN110299973A (zh) 一种数据滚动传输的接收方法及装置
US11588925B2 (en) Method for transferring large amounts of data through a telematic network in an efficient and reliable manner at a high-speed
CN108337155A (zh) 一种邮件传输方法、服务器及系统
US8806287B1 (en) Retransmission systems and methods in reliable streaming protocols using connection characteristics
CN110299974A (zh) 一种数据接收方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20120111

RJ01 Rejection of invention patent application after publication