用于测量可用带宽的有效和容损失方法和机制与流程

文档序号:11436416阅读:152来源:国知局
用于测量可用带宽的有效和容损失方法和机制与流程
本申请是申请日为2010年2月16日、申请号为201080007339.4、发明名称为“用于测量可用带宽的有效和容损失方法和机制”的申请的分案申请。本发明涉及确定网络中的带宽。更具体地,本发明涉及使用包括一个或多个网络接口的任何设备确定带宽。
背景技术
:测量网络性能的标准可以是其带宽。在网络中,带宽通常定义为在给定时间段(例如秒)从一点可以传送到另一点的数据量。带宽可以以每秒比特(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(intmin_a,intmax_a,intn)可以是创建新的分组簇的过程,该分组簇的最小传送时间、最大传送时间和簇中的分组的数目分别通过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来确定:其中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通过如下来给出:术语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)因为公式6和7导出如下:因此,针对前向路径可用带宽测试,示出如下分析。la、ls和lr分别表示包括udp和ip标头的数据确认消息、开始消息和报告消息的长度。因为数据确认消息没有包含有效载荷,因此如下所示:nr=ntla/l.(11)因为除了数据和数据确认消息使用之外,还使用了开始和报告消息,则n=nr+nt+ls+lr.(12)因此,td、ta和tr分别表示第一数据消息和报告消息的消息传送延迟。因为trtt=td+ta,则针对后向路径可用带宽测试,可示出如下的分析。lf表示包括udp和ip标头的结束消息的长度。数据确认消息不包含有效载荷。除了数据和数据确认消息之外,还使用了开始和结束消息。因此:nr=ntla/l.(15)使用上述关系,则因此,错<trtt(2+rt/b).误!没有找到参考源。表1总结了关于发送的八位字节的总数目以及测量延迟的数学分析。在表1中和分别表示n和d的上限。表1因为trtt与rt独立,rt越接近b,和就越小。当rt=b时给出最小的和值。公开的实施例还提供了单脉冲协议来执行单脉冲方法。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比特无符号整数。本领域技术人员可以理解,在本发明的公开的实施例中可以进行修改和改变而不偏离本发明的精神和范围。因此,本发明旨在涵盖上述公开的实施例的修改和改变,只要他们落入任意权利要求和其等同物的范围中。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1