用于表征基于分组的网络的端对端路径的方法和设备的制作方法

文档序号:83191阅读:774来源:国知局
专利名称:用于表征基于分组的网络的端对端路径的方法和设备的制作方法
技术领域
本发明涉及网络领域,特别是涉及一种用于评价基于分组网络的端对端路径的方法和设备。
背景技术
在基于分组的网络中,经常需要检测网络上两个具体节点之间的通信。该检测一般可以通过从多个节点中的第一节点请求其他节点环回(loop-back)该第一节点发送的检测分组来进行。所述第一节点基于收到的回来的检测分组,从而不仅可以确定与其他节点通信,而且还可以确定分组的往返行程时间。
网络之间的协议,例如ARPA网际协议(IP,Internet Protocol),也可提供使用环回检测分组确定可达性和往返行程时间的功能。因此,在IP网络中,网间控制报文协议(ICMP,Internet Control Message Protocol)允许控制消息和信息消息(包括回显请求(echo request)消息和回显答复(echo reply)消息)在IP数据报的数据部分中在不同主机的IP软件和网关之间传送。ICMP允许的其他消息包括时间戳请求消息和时间戳答复消息,这些消息使得可以在通行的两个方向上进行通行时间估算。某些计算机操作系统允许用户使用名为“ping”的命令发送ICMP回显请求,用户能够指定要确定往返行程时间的检测分组的数量和大小。
还应注意,在ARPA传输控制协议(TCP,Transmission ControlProtocol)中,不断地进行类似的测量作为传输控制进程的一部分。更具体地说,测量分组传输与收到从终点节点回来的确认之间的往返行程时间;该往返行程时间不断地平均为平滑的往返行程时间估算值,然后使用该估算值来控制回传超时参数(RTO,Retransmissions Time-out Parameter)。
美国专利第5,477,531号提供了用来检测基于分组的网络的方法和设备。这种方法检测基于分组的网络以确定该网络上第一节点和第二节点之间的分组传输的特性,所述方法包括以下步骤在这些节点之间传输分组,在一个节点接收分组,以及使分组的传输和接收相关联以获得表示传输特性的相关数据,其特征在于,这些分组作为序列传输,其中这些分组利用对于该序列变化的一个参数而使得相互之间具有预定关系。获得的相关数据对这种预定关系是敏感的,使得能够确定从单个分组的流通中不能观测到的传输特性。
美国专利申请第2002/0080726号提供了用于确定网络吞吐率(throughput rate)和数据流利用率的系统和方法。通过网络选择性地发送和接收多个网络评估信号(或者说校验用检测分组)。响应于这些评估信号,选择性地确定和存储网络评估参数。响应于这些参数,排队理论分析确定网络的响应时间和吞吐量特性,包括数据流的容量、利用率和性能。具体地说,这种方法使用不同大小的ICMP Echo分组的均匀脉冲串,这些脉冲串被发送到去往期望终点的网络路径上的各主机。随后对ICMPEcho Reply响应进行分析,该分析对分组如何被操作并且经历网络路径进行了一些假设,具体地说,要求分组没有丢失并且以与传输顺序相同的顺序到达。
上述美国专利和美国专利申请都传输ICMP分组来表征网络路径。处理这种类型的分组可能与其他协议不同,这是由于,例如ICMP速率限制、协议专用路由与阻塞、以及反分布式拒绝服务(DDOS,DistributedDenial of Service)措施。此外,寻址处于源与终点之间的中间主机的传输分组经常采用与该终点的路径相当的另选路由,于是导致源-终点路径的表征错误。另外,这些形式的评估技术对网络路径中的非对称性敏感。
一种用于表征网络的算法是分组对技术,该技术旨在根据连续发送的两个大小相同的探测分组之间的离差(dispersion)估算出网络路径的容量。例如,这种技术旨在估算沿网络路径的带宽和瓶颈的存在。所述方法估算两个分组之间的相对间隔并且对收集的这种指标进行统计分析。这种技术广为人知,它源自于Robert Crovella和Mark Crovella所著的“Measuring Bottleneck Link Speed in Packet-Switched Networks”,Performance Evaluation,(“测量分组交换网络中的瓶颈链接速率”,性能计算),第27-8卷,第297-318页,1996年10月出版。然而,因为分组对离差技术的精度低,尤其是存在背景流量(cross traffic)时,因而它们受到了批评。
另一种能够用于网络分析的算法是基于分组列车(packet-train based)的算法。具体地,基于分组列车的工具关注分组列车内的分组离差,具有减少了统计方差的优点。此外,它们通过对网络进行加载并分析对该装载的阻力确定背景流量。基于分组列车的算法测量每个车厢(其是所述列车的子组件,包括多个分组)的到达时间,而不测量各单个分组的到达时间(在利用分组对离差的例子中是要计算的)。基于分组列车的算法能够调整车厢的大小以适应与高速网络相关联的系统时间分辨率或者定时器分辨率,而基于分组对离差的算法通常依赖于它们能够以怎样的精度测量在网络上发送的单个分组的时序。美国专利申请第2002/0080726描述了一种基于分组列车的方法。
第三种截然不同的算法采用一种被称为随尾(tailgating)的方法,其中通常在大的分组之后立即发送小的分组,这两个分组作为一对发送。已知由于较大的分组在每一个转发节点上需要较长的串行化时间,因而大分组通常限制随后的较小分组的传输。在沿到达终点的网络路径的一些点上,去除较大分组(通常使用生存时间(TTL,Time To Live)终止的机制),而较小的分组将单独完成其旅程。这种方法应用在现有技术中,例如Kevin Lai和Mary Baker在Measuring Link Bandwidths Using ADeterministic Model Of Packet Delay,SIGCOMM(使用确定的分组延迟模型计算链路带宽,美国计算机协会数据通信专业组),283-294,2000中研究与公开的,并且用被称为“网络计时器(nettimer)”的原型手段表述。这种技术的优点是通常消耗较小的网络带宽,不依赖于与处理ICMP分组的路由器的行为一致性,并且不依赖于确认的及时递送。然而,据知这种技术具有较低的精度。
分组列车与分组对离差衍生出的混合方法在Attila Pasztor和DarrylVeitch所著的Active Probing using Packet Quartets,Proceeding of theInternet Measurement Workshop 2002 (使用四重分组的活动探测,Internet计量工作室学报2002),ACM SIGCOMM中公开。这种混合方法也提供了一种手段用于IP网络的采样。在该方法中,TTL终止用来终止“四重分组(packet quartet)”序列中的分组,从而提供了一种获得与中间路径跳(hop)相关的统计的方法。这种方法使用了两对随尾分组,使得可以从较大分组终止之后剩余的两个分组之间的分组对离差中获益。为了产生这些带宽特性,获得最大带宽和延迟变化分析技术的分析焦点明确地优先集中在延迟最小值方案上。因此,为了确定可适用的分析,该技术分析了特定行为的延迟分布,从而潜在地导致需要多种分析方法。这种估算技术的缺点是高速测量被认为是一个问题。
因此,需要用来表征IP网络端对端路径的新的方法和设备,并具有克服与现有技术有关的问题的能力。
提供上述背景信息的目的是给出申请人认为的、可能与本发明有关的已知信息。不应认为,也不应解释为,承认前述的任何信息构成了相对于本发明的现有技术。

发明内容本发明的目的是提供用于表征基于分组的网络的端对端路径的方法和设备。依据本发明的一方面,提供了一种用于表征基于分组的网络的端对端路径的方法,所述方法包括如下步骤生成一个或更多个有序分组组,每一个有序分组组包括两个或更多个标记分组和一个或更多个载荷分组,所有所述分组都设置成沿由源主机和终点主机限定的共用端对端路径传输,其中所述一个或更多个载荷分组设置成经过所述端对端路径到预定节点,所述预定节点为沿所述端对端路径的任何节点;从所述源主机沿所述共用端对端路径传输所述一个或更多个有序分组组;收集与所述一个或更多个有序分组组的传输有关的数据;以及分析所述数据,从而显现所述端对端路径的特性。
依据本发明的另一方面,提供了一种用于表征基于分组的网络的端对端路径的设备,所述设备包括用于生成一个或更多个有序分组组的装置,每一个有序分组组包括两个或更多个标记分组和一个或更多个载荷分组,所有所述分组都设置成沿由源主机和终点主机限定的共用端对端路径传输,其中所述一个或更多个载荷分组设置成经过所述端对端路径到预定节点,所述预定节点为沿所述端对端路径的任何节点;用于从所述源主机沿所述共用端对端路径传输所述一个或更多个有序分组组的装置;用于收集与所述一个或更多个有序分组组的传输有关的数据的装置;以及用于分析所述数据从而显现所述端对端路径的特性的装置。
依据本发明的又一方面,提供了一种计算机程序产品,包括计算机可读介质,一种计算机程序产品,包括计算机可读介质,所述计算机可读介质上记录有计算机程序,所述计算机程序是用来执行一种用于表征基于分组的网络的端对端路径的方法,所述方法包括如下步骤生成一个或更多个有序分组组,每一个有序分组组包括两个或更多个标记分组和一个或更多个载荷分组,所有所述分组都设置成沿由源主机和终点主机限定的共用端对端路径传输,其中所述一个或更多个载荷分组设置成经过所述端对端路径到预定节点,所述预定节点为沿所述端对端路径的任何节点;从所述源主机沿所述共用端对端路径传输所述一个或更多个有序分组组;收集与所述一个或更多个有序分组组的传输有关的数据;以及分析所述数据,从而显现所述端对端路径的特性。
图1为起点与终点之间的网络路径的示意图,起点与终点之间包括许多第3层设备,例如路由器或者网关。
图2为根据本发明一个实施例所述的限定组件的网络路径的示意图。
图3为根据本发明一个实施例所述的有序分组组的示意图。
图4为根据本发明另一个实施例所述的有序分组组的示意图。
图5为根据本发明一个实施例所述的有序分组组沿网络路径从源主机传输到终点主机并且信息传送到接收主机的示意图。
图6为Van Jacobson图表,表示如何按照分组通过的段的容量变化改变分组的时间分布。
图7为Van Jacobson图表,表示标记分组的间隔如何反映沿网络路径直至并包括载荷分组终止处的节点的瓶颈或阻力的影响。
图8图示了标记分组和载荷分组有序组,表示了根据本发明一个实施例所述的每一个分组识别器。
图9为示意图,显示了有序分组组中第四分组的往返行程时间(RTT)与行程总时间(TTT)之间的差。
图10为示意图,显示了计算到跳h的IP网络的单向比特率需要的数据,该数据具有相关载荷和标记以及它们的传输和接收计时。
图11为示例柱状图,显示了使用本发明的采样步骤确定的往返行程时间(RTT),其中的变化取决于被监测的分组所经受的背景流量。该示例柱状图包括该示例的RTT的最小值、平均值与标准偏差的近似识别。
图12a为当没有背景流量时在网络的特定区域中的最大可用比特率的示例的示意图。
图12b为当存在背景流量时在相同网络区域中的可用传输比特率的示例的示意图。
具体实施方式定义术语“源主机(source host)”用来定义分组传输始发的网络位置或节点,以表征网络路径的起点。
术语“终点主机(destination host)”用来定义这样的网络位置或节点,该网络位置或节点相对于特定的源主机定义了端对端路径。
术语“目标主机(target host)”用来定义将收集与其有关的特征的网络位置或节点。目标主机可以处于源主机与终点主机之间,并且任选地可以是终点主机。
术语“接收主机(sink host)”用来定义在该处收集的有关于所传输的分组的状态的信息的网络位置或节点。该接收主机可以是网络中的任何节点,包括源主机、终点主机、目标主机或者不在该将被表征的路径上的节点。
术语“分组(packet)”用来定义在基于分组的网络上传输的信息。取决于许多标准(包括例如网络容量和大小实用性),分组的大小可以有很大的变化。分组为在互联网或者任何其他分组交换网络上起点与终点之间路由的单位数据。例如,当一个文件或者其他类型的信息在分组交换网络上传输时,该文件可以被分解成“数据块”或者分组,该“数据块”或者分组的大小对于在网络中路由是有效率的。
术语“载荷分组(load packet)”和“载荷(load)”可互换地用来定义在网络上传输的分组,所述分组提供了对网络加载以便产生某种响应的手段。载荷分组可以在沿通向指定终点主机的路径的预定数目的节点阻碍(node traverse)或“跳”之后终止。
术语“标记分组(marker packets)”和“标记(markers)”可互换地用来定义在网络上传输的分组,用于标志或标记与其一起传输的载荷。标记分组用来标记网络对与其关联的载荷的传输的响应。标记分组对预定的终点主机进行寻址。标记分组可以到达终点主机,或者任选地,如果最初与之关联的载荷分组已经在之前终止,那么标记分组可在达到预定的跳数之后终止。
术语“第三层(layer 3)”用来定义提供路由信息、寻址以及使信息能够在IP网络上传输的其他相关服务的通信模型的网络层。例如,在普遍参考的称为开放式系统互联(OSI,Open Systems Interconnection)的多层通信模型中,第三层是例如与获知网络中的邻近节点的地址、选择路由、服务质量、以及识别输入消息并将其从本地主机域转发到传输层(第四层)相关的,其中传输层确保了消息的安全到达并且提供了可选的错误检查机制和数据流控制。虽然应注意第三层可能专用于具体的协议,但假定还可以用第三层的定义来定义在任何另外的基于分组的通信模型中的可比操作层。
术语“第三层设备(layer 3 device)”用来定义在被称为网络层的基于分组的通信模型的第三层上运行的设备。第三层设备例如可以包括路由器,或者本领域所属技术人员容易理解的其他与网络层相适应的设备。
术语“段(segment)”用来定义在第三层上作出响应的邻近主机之间的网络路径部分,其中所述主机可以是源主机、目标主机、接收主机或者终点主机。段进一步包括一台能够当作段的开始或者末尾的主机。
短语“高速网络(high seed network)”用来定义一种能够以超过10/100Mbps的速率运行的分组交换网络,或者更一般地说,能够以超过目前普通局域网络(LAN)的速率运行的分组交换网络。
除另有定义外,这里使用的所有科技术语都具有与本发明所属的技术领域
的普通技术人员一般理解相同的含义。
本发明提供了一种装置,用于在独立地操作终端主机时,实时地、非侵入式地表征分组交换网络的端对端路径以及端与端之间的所有段,并且不需要为操作而远距离部署代理。本发明可以被有效地描述为一种不用满载网络容量或测量返回路径的单端技术或有效的单向测量技术。它可以在一定条件范围内灵活地运行,或者在存在速率限制和反DDOS(分布式拒绝服务)机制时运行。本发明还可以表征网络路径在非ICMP(网间控制报文协议)协议(比如UDP(用户数据报协议)和TCP(传输控制协议)),以及协议/应用专用行为识别方面的效果,例如传输成形和速率限制。本发明还是可以升级的,使其能够表征高速网络的传输路径。
本发明提供了一种用来表征源主机与终点主机之间的路径的方法和设备,包括表征源主机与终点主机之间网络路径的每一个响应段。本发明包括第一阶段数据采集,其中通过发送和接收大小、数量和协议可能改变的专用有序分组组实现网络路径的采样,其中所有分组都从源主机发出并且都寻址终点主机。这些有序分组组包括有策略地排列的标记分组和载荷分组,其中所述载荷分组通常在源主机与终点主机之间的预定节点处终止。在特定有序分组组的载荷分组终止之后,与之相关联的标记分组提供了捕捉与直到这些载荷分组终止的网络特性有关的信息的手段。与这些有序分组组和网络的相互作用有关的信息在接收主机处被收集,该接收主机可以是也可以不是沿源主机与终点主机之间的网络路径的节点。对所收集信息的随后分析能够表征沿源主机与终点主机之间网络路径的每一段。通过在有序分组组的特征与所收集的信息之间进行相关,本发明可以并入对所收集信息的进一步分析,从而使能了这样的手段,该手段在采样过程中对所使用的有序分组组的特性进行调节,该调节可以使采样和对网络路径的表征最佳化。本发明提供了一种利用多种协议的手段,从而提供了一种手段,用于选择对特定协议的网络响应,同时提供了一种用于跟随有序分组组并评估网络对有序分组组的响应的手段。
参照图1,图1示出了起点10与终点30之间的可能网络路径,其中该路径可以通过多个第三层设备(例如路由器20)分成许多段。针对本发明,图2示出了源主机50与终点主机60之间的路径,其中在源主机与终点主机之间有多个第三层设备或者目标主机70。本发明还并入了接收主机80,其中接收主机可以是沿网络路径上的任何一台主机或者可以是所评价的路径之外的节点。根据本发明,有序分组组开始于源主机50并寻址终点主机60。这些有序分组组的配置和它们与网络的相互作用使得能够沿着从源主机到终点主机的网络路径,确定有关于每一台目标主机70的特性。与采样会话期间有序分组组的传输有关的信息在接收主机80处接收,用于分析。
与网络连接的是一个或更多个用来沿路径发送有序分组组并在它们已经经过该路径后接收该有序分组组或对其响应的装置。在一个实施例中,有序分组组由分组定序器始发,沿着路径传输到反射点,然后再回传至分组定序器,并且在这个实施例中,分组定序器可以位于源主机。在另选实施例中,分组定序器位于源主机,用来收集传输检测数据,而另一个分组定序器可以位于接收主机,用来收集与有序分组组或对其响应的接收有关的信息。分组定序器能够记录有关于发送分组的时间的信息和收到返回的分组时间的信息。分组定序器还能够收集例如有关于传输的分组类型和收到的分组类型的信息。采样阶段所收集的全部信息都看作是检测数据。
另外,与网络连接的还有分析系统,该分析系统用来接收检测数据并执行期望的分析,如果需要,还包括采样分析的调整和修改。该分析系统可以包括经编程的计算机,也可以以硬件配置,或者是本领域所属技术人员容易理解的其他计算系统的形式。分析系统可以与分组定序器寄存于相同的设备,或者位于相同的位置,或者任选地,在物理上与分组定序器分立。例如,分析系统和分组定序器都可以位于源主机,其中该源主机还可以起到接收主机的作用。分组定序器和分析系统的位置由选择的源主机和接收主机决定。
采样阶段采样技术结合了“载荷和标记”的使用,其中某些分组起到“加载”网络以产生某一响应的作用,而其他分组起到“标记”该响应并返回接收主机用来分析的作用。可能有多种载荷和标记的图案(pattern)配置,其中改变配置可以针对特定的特性来对网络路径进行采样。如图3所示,最普通的配置包括散布有标记分组110的载荷分组100的有序组。虽然图3示出了相邻标记之间载荷的数量是相等的,但这不应当认为是一种限制,而仅仅是有序分组组的较普通配置的一个实施例。某些特性可以使载荷与标记相区分,比如报头值、协议和大小,其中标记的数量和位置取决于具体实现。所述标记使得可以跟踪整个有序分组组的位置和行为,而不会导致需要系统开销和需要跟踪每一个所传输的分组的缺点。此外,可以注意到,在很多实例中,引起来自网络路径的响应和观测该响应都是不能实现的。例如,如果沿网络路径发送的所有分组都为ICMPEcho配置,那么相对于其他协议,沿网络路径的速率限制机制将可能改变该路径的响应。然而,发送其他协议,可能难于观测期望的响应。因此,为了产生所需响应,通过在所需协议的有序分组组内嵌入产生可容易地观测响应的分组,可以在期望条件下观测网络路径的功能,然后表征其功能性。
参照图4,在本发明的一个实施例中,有序分组组的第一种配置包括跟随着一系列载荷分组110的第一标记分组100A和最后的第二标记分组100B。在该配置中,在前的标记分组和随后的标记分组提供了一种标记网络路径对其间的载荷分组的响应的手段。
在本发明的一个实施例中,标记分组与载荷分组的大小相同,但是,例如为了确定在期望的采样会话期间使用的标记大小的最佳选择,可以调整该配置。标记分组通常为ICMP Echo分组,然而,它们同样可以使用其他协议(比如UDP或者TCP)来定义,其中可以基于网络路径的实现和期望的特性决定协议的选择。标记通常寻址终点主机,然而也可以选择沿网络路径的其他节点作为标记的期望终点。此外,标记还可以在终点之前的某一节点处终止,然而在这种情况下中,载荷分组在前一节点终止。例如,这种行为可能引起来自标记分组终止处的节点的一些响应。另外,为了识别用于接收有关于该有序分组组的传输的信息(例如ICMPEcho答复分组)的期望位置,还可以对标记进行配置。在本发明中,该期望位置为接收主机,其中接收主机可以是沿正被表征的网络路径的节点或者在该网络路径的外部。
在本发明的一个实施例中,载荷分组的大小相同并且通常被创建为从源主机到邻近目标主机的局部路径或者段所允许的最大大小MTU(最大传输单位)。可使用任何协议(例如ICMP,UDP或者TCP)配置该载荷,然而在本发明的一个实施例中,使用UDP配置载荷。在载荷的配置过程中,它们寻址终点主机,然而在某种条件下,沿路径的其他节点也可能选作该参数。另外,为了使载荷可以在沿正在表征的网络路径的特定第三层节点或者目标主机处终止,载荷在它们的IP报头配置有赋予特定数值的TTL(存活时间)值。例如,配置有TTL=1的载荷将终止在第一跳或者第三层设备阻碍(device traverse),而配置有TTL=2的载荷分组将终止在第二跳。一旦载荷在预定跳处终止,有关该载荷与直至该跳的网络路径的相互作用的信息将随后传送到接收主机。非常重要并需要注意的是,两个特定标记分组之间的一个或更多个载荷分组配置有相同的TTL数值。
在本发明的一个实施例中,采样阶段开始于对沿通向所选的终点主机的网络路径上的各第三层节点进行识别。该识别过程可以使用例如第三层跟踪路由机制,以确定所识别的终点的可达性和其间节点的数量。随后,包含载荷和标记的一系列分组发送到终点主机,载荷上设置了TTLExpiry(TTL终止),以使它们在不同的目标主机上终止。在一个实施例中,载荷可以包括任何优选协议(例如UDP)的分组,并且标记可以包括ICMPEcho分组。终止载荷能够致使发生终止处的目标主机生成ICMP TTLExpiry消息,然后将这些消息转发到预先指定的接收主机。例如,如果使用ICMP生成这些标记,则这些标记将继续到达终点主机,并导致ICMPEcho答复分组回送到接收主机。任选地,所述标记可能在载荷终止的下一个节点处终止,然后有关标记的TTL Expiry消息回送到接收主机。通过对与有序分组组的传输开始时间相关的信息、以及与接收主机所得消息和答复的接收时间相关的信息进行收集和分析,可以评估出源主机与终点主机之间网络路径的每一段的特性。在一个实施例中,源主机还可以是接收主机,而在另选实施例中,终点主机是接收主机。如果不是这种情况,标记和载荷可以被设定以确定一个用于消息和答复分组传输的另外的接收主机。在这种情况下,考虑基于该另外的接收主机位置的消息和答复分组的传输时间的时间增加和减小,还需要例如使用全球定位系统(GPS,Global Positioning System)使传送和接收定时同步,以获得等同的精度。
在另一实施例中,为了从终点主机生成错误响应,通过以其他协议对标记进行编排可以实现用于获得对标记分组的响应的等同机制。例如,标记可以使用UDP协议编排并被设置为使用终点主机上的非活动端口。该UDP标记分组可以生成ICMP Port Unreachable(ICMP端口不可达)响应。然而,在任何实施例中,都应当注意,对载荷分组的协议的选择独立于对标记分组的协议的选择。
图5示出了根据本发明生成的有序分组组的传输的示例。有序分组组150在源主机50处创建,并且寻址终点主机60,其中载荷分组设置为TTL等于2,而标记分组位于载荷分组的前后。该有序分组组穿过第一目标主机70A(在该处,分组的TTL减量),然后沿着第二段到达第二目标主机,在这里载荷分组终止,并且有关它们沿网络路径的传输的信息170被发送到用于收集并继而进行分析的预定接收主机80。作为示例,该信息可以是来自第二个目标主机70B的ICMP TTL Expiry消息的形式。与初始发送的有序分组组相关联的标记分组继续沿网络路径到达终点主机60,在这里它们被反射到用于收集并继而进行分析的预定接收主机80。作为示例,该信息可以以ICMP Echo答复分组的形式返回到起点的主机。在该示例中,这些标记分组提供与有序分组组和网络之间直至并且包括第二个目标主机70B的相互作用有关的信息,第三目标主机70C可以不影响返回信息的计时与间隔测量,因为该目标主机不会导致两个标记分组之间间隔的变化。在载荷分组终止之后,如果这些标记分组中的一个在网络内经历了背景流量,而其他标记分组保持原样,那么标记分组之间的间隔可能改变。
随着载荷分组通过网络路径,它们受到所经过或者穿过的网络设备以及与网络相关的其他方面的影响。例如,网络路径中的带宽收缩、反向通信以及各种变化能够干扰载荷,并因而干扰与之关联的标记。例如,针对载荷数、分组大小、往返行程时间、行程总时间、分组丢失、间隔以及排序,相对于来自源主机的原始分组,测量TTL Expiry分组和EchoReply分组返回接收主机的定时分布。该数据能够提供一种评价上述这些方面的效果和其他网络特性的手段。
图6示出了低容量段对之前沿较高容量段传输的标记分组与载荷分组的间隔的影响。该影响以Van Jacobson图的形式表述。分组之间的间隔可以在路径上出现带宽收缩之处引入。如图6所示,有序分组组在到达低容量段210之前的高容量段200内间隔紧密。一旦到达低容量区域,分组传输速率就会降低,从而致使相邻分组之间间隔增加。一旦到达随后的高容量段220,该分组通常不能减小在穿过低容量段过程中产生的间隔,因此分组之间的间隔表示了网络路径两个不同段的传输速度之间的相互关系。然而,在沿网络经历了背景流量的情况下,分组之间的间隔可能改变,其中,如果这种因素仅影响了有序分组组中的一些分组而不是全部分组,那么该因素可能减小这些分组之间的间隔,其中背景流量可以导致受影响分组的延迟增加。可以检测背景流量的存在及其对分组的影响,使得可以将受到背景流量影响的分组与没有遇到背景流量的分组相区分。
图7示出了载荷分组穿过低容量段210之后终止后的标记110的可感知间隔,以及与终止有关的消息170的产生。以这种方式,标记110之间的间隔能够表示例如沿到终点主机的网络路径直至并包括与有序分组组关联的载荷分组终止处的节点的瓶颈的影响。
如果载荷分组终止处的目标主机为瓶颈或者在其后,那么从载荷所终止的点开始,标记分组可保持其间的间隔,同时继续到达终点主机。在某种情况下,标记分组可以使到达终点主机的行程均衡而不受任何其他现象(例如随后的瓶颈和背景流量)的影响。从终点主机反射回来的标记分组同样可以使到达接收主机的行程不受其他现象的影响。在标记没有遇到其他可感知的影响的情况下,标记答复能够以代表载荷终止处的节点的分组间间隔到达接收主机,从而提供一种表征网络路径段的手段。在标记分组的间隔足够大的情况中,载荷分组终止后穿过的低容量段不能影响标记分组的间隔。在这种情况中,第一标记分组在低容量段传输速度的减小不能导致第二标记分组的进一步延迟,因而标记分组之间的间隔在载荷分组终止之后能够保持恒定。标记分组之间的间隔通常不会减小,然而,如果例如背景流量与其中一个标记分组相互作用而不与另一个作用,那么标记分组之间的间隔可能发生减小。
作为示例,在标记答复的分布中,由于在队列中彼此相遇而进行通信竞争并被延迟了的标记与标记答复,或者已经丢弃的标记与标记答复可以与那些已返回的、没有受到网络路径进一步影响的标记答复相隔离。在一个实施例中,当收到了与终止的载荷有关的所有答复,并且标记处于它们在原始传输中的顺序时,将基于具有最小行程总时间(TTT)的标记,来选择用于最大比特率分析的来自网络的响应。其他分析可能具有其他的数据选择要求。为了显示有关网络路径的更宽范围的特性,可以维持并分析针对载荷和标记的答复分组的分布。这些特性可以基于比如分组大小、分组计数、协议和TTL等参数,这些参数在有序分组组初始传输时已经设定。通过对有关初始传输的标记答复的分布、有关传输的信息以及有关载荷的终止和终止消息接收的分析,从源主机到预定终点主机之间的端对端网络路径可以逐“跳”或者逐段地表征。该网络路径的特性包括这样的指标,该指标包括单向最大比特率、单向传输延迟、单向延迟变量和单向可用比特率。
根据以上所述,清楚了基于分组的网络的速率容量不会影响本发明采样阶段收集用于随后分析的相关信息的能力,从而使得即使对高速网络也能表征整个网络路径。一个典型的限制因素是有序分组组可以安全地放置在网络路径上的精度,其中所述因素取决于源主机的网络接口卡(NIC,Network Interface Card)。为了提供期望的特性水平,必须能够对NIC进行充分控制,以便收集的有关响应的传输和接收的时间的数据具有足够的精度。
实现表征的分析阶段可以根据预定的一系列有关于网络路径能力和以所需方式在网络上布置所需分组的能力的假设,来限定实现表征的分析阶段。因此对于这种分析,可以假定存在一种用于分组制备和传输的机制,能够降低操作系统和其他限制进程对传输速率的影响,从而作为邻近系列的一部分被发送的分组在时间上分开得最小。因此,来自源主机的有序分组组的传输速率主要由源主机的NIC的最大传输容量限制。该参数例如由第二层规格(例如对于高速以太网为100Mbps)以及可能存在于IP网络的任何第三层影响来限定。
尽管下面执行分析的程序采用了传送特定的有序分组组,但是本领域所属技术人员容易理解如何使用另选设置的有序分组组扩展所提供的步骤顺序来确定所需的指标,因而同样被认为在本发明的范围之内。
在本发明的一个实施例中,图8示出了一个有序分组组,该有序分组组将用来对网络进行采样并且提供了对网络路径进行期望分析所需的原始数据,其中识别了有序分组组中的每一个分组的身份。被称为载荷分组Li的连续传输的分组系列(其中i为此系列中的指数并且等于1~n之间的整数)被设置为当以源主机NIC的最大传输容量传输时,这些分组之间的间隔最小。该有序分组组还包括两个附加的分组,其中一个在载荷分组之前另一个在载荷分组之后,并且这两个附加分组被分别称为标记分组M0和M1。相对于载荷,这些标记同样连续传输,其中标记分组与邻近的载荷分组之间的间隔被最小化。
可以经由受评估的网络发送各分组,将终点主机指定为从源主机可访问的具体IP地址,将源主机指定为接收主机。与两个标记分组关联的TTL参数可以设置为最大允许值,例如TTL=255,而与各载荷分组关联的TTL参数例如设置为整数值h(0<h<256)。虽然载荷分组通常在源主机与终点主机之间的目标主机终止,但这种结构通常允许标记分组到达终点主机。在特定的有序分组组中,每一个载荷分组的TTL值都赋予相同的数值,然而与其他有序分组组中的载荷分组关联的TTL值是经变化的,因此应当把它看作对应不同目标主机的变量。当h值小于源主机与终点主机之间路径上的第三层跳数目时,载荷分组Li将会终止,并且由目标主机将“TTL终止”信息发送到接收主机,从而针对每一个终止的载荷分组发送一条消息。在本实施例中,源主机与接收主机是相同的,然而这可能不是实际情况,因而需要纠正所收集的信息来考虑另选的配置。与特定有序分组组关联的标记分组将传送到终点主机而不管关联的载荷分组是否终止。一旦到达了终点主机,该终点主机将向接收主机发送响应分组(例如以Echo Reply分组的形式),其中对于每一个标记分组都发送一个Echo Reply。在另选的实施例中,标记分组可以向终点主机请求ICMP端口不可达分组,或者标记分组可以向终点主机之前的一些节点请求TTL Expiry分组。
在一个实施例中,使用一种特性化了的针对UDP协议的协议限定载荷分组,并且该载荷分组具有相同的大小SL。标记分组为ICMP Echo分组,并且都具有相同的大小SM,该大小可能与载荷分组的大小SL不同。从载荷分组终止处的目标主机发送到接收主机的ICMP TTL Expiry分组可具有另一大小SE,该大小可能比较小,例如64字节。从终点主机发送到接收主机的ICMP Echo答复分组与原始ICMP Echo标记分组具有相同的大小SM。
在另选的实施例中,各标记分组可能具有不同的大小,致使ICMPEcho答复标记分组从终点主机发送到接收主机,并与它们各自的原始ICMP Echo标记分组的大小相同。在另外的实施例中,标记分组可能为某一其他的协议(比如UDP),并且不管它们的原始大小都可以生成从终点主机到接收主机的ICMP端口不可达分组,该分组大小比较小,例如64字节。
在一个实施例中,为了实现端对端采样和网络路径分析以及为了实现逐段地表征所选的基于分组的网络路径,下面提供了以下的步骤顺序。选择目标主机,可选地,可以确定第三层跳的数目H以及源主机与终点主机之间的所有可见第三层跳的相应IP地址,从而识别源主机与终点主机之间的所有目标主机。随后,多个序列的相邻的载荷分组和标记分组的有序组被发送到目标主机的IP地址。与不同的有序分组组的载荷分组关联的终止变量TTL可以设置为在1~H范围内的某值,从而使得可以收集来自源主机与终点主机之间直至并包括终点主机的所有目标主机的数据。所有分组的传输时间都针对各探测分组记录在源主机上,而每一个收到的终止或答复分组的返回分组时间都记录在接收主机上,其中将有关发送分组和从其返回的所得返回信息的各定时联系起来以进行分析。对于特定TTL值,对分组序列内的每一个分组的定时进行统计,并且对于每一个TTL值,一旦记录了足够的统计,该统计就可以用来获得与特定TTL值识别的目标主机相关联的指标的范围。该过程可以导致针对每一个单独跳确定的指标。
根据本发明的网络路径采样阶段的结果包括统计值的收集,该统计值归结于所采样的端对端网络路径内的每一个所选的目标主机。与采样阶段中所传输的载荷分组关联的TTL值提供了一种使收集的信息与特定目标主机具有相关性的手段。因此,各目标主机都能够与TTT的统计数值相关联,所述TTT可以定义为从源主机开始传送序列中的第一个分组直到接收主机完成对该序列的特定分组的确认接收为止的时间。另外,每一个目标主机都能够与来自TTT分布的结论相关联,比如丢失和重新排序。
单个分组的定时可以基于在传输的源主机上当分组完全离开网络接口时的本地时间与在接收主机上当完全收到确认分组时的本地时间之间的差异。在一个实施例中,定时是相对于所发送和接收的分组的“尾沿”。该测量值可以被称为RTT(往返行程时间)并且与TTT有关,其中RTT等于TTT减去第一个分组传输直到相关分组所需的时间。图9在一张标准时间表中示出了序列组中第四个分组的TTT与RTT之间的关系,其中时间沿图的纵轴增加。
在采样阶段中,根据收集的信息确定了表1中每一个标识出的符号代表的值。表1介绍了描述应用于所采样的分组统计的分析所需要的术语。每一个指标采取适当过滤并应用到分组定时的分布上,以便仅挑选出符合条件的样本。例如,在前标记和在后标记的TTT最小值可以要求两个数值来自相同的有序分组组。表1中定义的数值能够评估有关基于分组的网络的段的特性,包括单向最大比特率、单向传输延迟、单向延迟变量和单向可用比特率。
下面,考虑以下假设,提供了以下根据一个实施例获得这些特性的过程。接收主机与源主机是相同的。当载荷分组为UDP并且它们的TTL设置为使限定的目标主机比终点主机远时(例如与载荷分组关联的TTL值大于源主机与终点主机之间的跳数),终点主机将产生ICMP端口不可达确认分组。返回路径的等待时间与网络路径的边界部分相称,并且为使各目标主机收集的信息具有统计显著性,已经对网络进行了足够的采样。假定一旦载荷分组终止,标记分组就相互独立,因此它们不会在网络路径上的第三层设备队列中相遇,或者,即使它们相遇,该情况可以被探测到并且受影响的分组也会被正确地分析。
表1
单向比特率正如本领域所属技术人员容易理解的那样,单向比特率可以认为是比特在起点与终点之间单向传输的最大速率。如图6所示,当有序分组组中的所有分组到达比特率瓶颈(例如低容量段)时,邻近分组尾沿之间的时间间隔将会增大。在没有任何其他影响(例如随后的网络容量减少或者背景流量)的情况下,该特性的间隔将持续。后面的收缩(例如进一步减小网络容量)可能带来分组之间更大的间隔。一旦与特定有序分组组关联的载荷终止,与之关联的两个标记分组尾沿之间的相对间隔就会保持固定并且代表载荷终止时刻存在载荷。因此,例如假定载荷分组终止后标记分组之间有充分的间隔并且不存在背景流量对其中一个标记分组的影响,则所述标记的间隔可以作为网络路径到达但不超过所关联的载荷的终止点的性质的残余指示(residual indication)。
可以增加或减少标记之间的间隔的情况同样增加了有关标记分组响应的传输与接收之间的总时间。通过选择最小时间Λ0和Λ1,端对端传输并且没有遇到任何其他通信的分组最可能用来评估单向比特率。收集充足的统计样本可以确保这些分组中的至少一对的最小时间代表该特性作为第一序列评估。网络对其他参数(例如分组大小、载荷数目和协议)的敏感性可以进一步改善网络路径的表征。
例如,参照图10,图10示出了计算单向比特率所需数据的示意性表述。与该有序分组组的载荷分组有关的TTL被设置为h,因此它们在穿过目标主机h后终止,并且TTL Expiry分组105被发送到指定的接收主机。直到载荷终止的点的数据被传输的速率(单向比特率Bmax)可以被计算为两个标记(包括标记的尾沿之间的所有标记的部分)之间的比特总数,并且定义如下 单向传输延迟正如本领域所属技术人员容易理解的那样,单向传输延迟可以定义为在IP网络中假想的零字节分组从源主机传输到终点主机所用的时间。对于本发明,TTL Expiry的确认从目标主机返回的最小RTT代表了分组完成从源主机到目标主机并且返回的往返行程的传输时间。分组在各中间节点串行化的时间包括在这些RTT时间中,其中串行化时间是分组大小的函数。在一些情况下,发送的分组的大小可能与收到的分组的大小不同。对于一个零字节的分组,从源主机到目标主机的传输时间可以是该零字节分组的RTT的一半,这是因为由于该分组大小为零字节并且假设返回路径对称,没有考虑有关串行化的时间。
在一个实施例中,假设载荷分组按顺序到达目标主机,第一载荷分组L1的第一最小时间α1应该是最小的。该值包含第一标记分组M0和第一载荷分组L1传输到目标主机的时间,加上与L1终止相关联的TTLExpiry分组返回到接收主机的时间,其中α1可以如下地确定α1=t1-wayprop+tser(S(M0))+tser(S(Li))+t1-wayprop+tser(S(L1-expiry))---(2)]]>=2×tprop+tser(SL+SM+SE)---(3)]]>其中tprop为单向传输时间,tser(Sx)为SX大小的分组的单向串行化时间。
因此,通过改变载荷分组的大小SL,或者标记分组大小SM,在采样阶段中可以产生RTT最小值α1的数值范围。假设α1与分组大小SX线性相关,对于零字节大小的分组SX=0,它的α1的映射数值可以通过下列公式计算,接下来单向传输可以估计为α1(0)/2。
α1(0)=α1(Slarge)-Slarge×[(α1(Slarge)-α1(Ssmall))/(Slarge-Ssmall) (4)其中α1(SX)为值SX=SL+SM+SE的最小TTT,并且SL与SM二者具有不同的大小,因而Slarge>>Ssmall。
单向延迟变量正如本领域所属技术人员容易理解的那样,单向延迟变量可以定义为分组沿特定路径的传输时间范围,并且可能与系统中出现的“抖动”有关。该指标代表分组延迟的分布。例如,在繁忙的网络中,随着背景流量的水平在网络中动态变化,各分组可能表现出独特的延迟。在本发明的情况下中,单向延迟变量定义为分组从源主机传输到目标主机的所用时间的变化,因为它可以从一系列的有序分组组中的特定分组随时间的TTT分布中推断。
在本发明采样阶段提取的载荷的TTT值τi可以表示其分布的关键指标。图11示出了在简化的单个分组的情况下(在这种情况下,RTT等于τ0,仅包含一个分组的有序分组组的TTT值)RTT的典型分布,其中x轴代表RTT,单位毫秒(ms),而y轴代表特定RTT的出现频率。另外,还示意性地表示了该典型分布的最小时间300、平均时间310和标准偏差320。该RTT分布可以是例如分组大小或者分组类型的函数。有序分组组的TTT值τi的分布在本质上是相似的,并且可以从单独的RTT分布中导出。
代表单向延迟变量整体分布的近似单值表达可以等于变量系数CoV,该变量系数定义如下 其中所选的标准偏差和平均值通常针对第一个载荷分组或者最后一个载荷分组的TTT而言。
该单向延迟变量还可相对于所发送载荷分组的大小或者数量来表示。然而,TTT平均值的使用包括了对有关返回路径性质的假定,即它与边境路径在等待时间上是对称的,并且限制作用(比如反向通信或者协议专用速率限制)在返回路径上可以忽略。
单向可用比特率单向可用比特率可以用来描述应用中可用的最大比特率Bmax的百分比。在背景流量和其他随时间变化的限制作用存在时,可用比特率通常随时间变化。可用比特率的任何指标表示随时间的粗略打磨(coarse-graining)或者平均。本发明所考虑的可用比特率的值表示在进行统计采样的整个过程中可用比特率的平均值。可用比特率的平均值Ai(T)可以定义如下
Ai(T)=BmaxT∫0T(1-λ(t))dt---(6)]]>其中λ(t)为关于时间的连续函数,表示背景流量占据总容量的分数。
应当注意,网络通信实际上是离散的,因为在给定的任何时刻分组都不能部分地占据网络链路。当在时刻t路径无竞争的背景流量时,函数λ(t)赋值为0,而当路径包含背景流量时,赋值为1。当该粗略打磨的周期T远大于任何分组沿网络路径传递到给定点所需的时间时,可以有效地近似认为λ(t)是连续的。
假定特定的端对端路径提供了从源主机到目标主机的单向比特率Bmax(推导的Bmax),则第一个标记分组M0的尾沿与最后一个标记分组M1的尾沿之间的时间可以涉及该最大比特率。如果假定可用比特率为最大比特率的简分数x×Bmax,那么分数x将决定从源主机到目标主机传递相同量的数据所需总时间的增加,并且定义如下发送的比特总数=Bmax×(t1-t0)=Bavail×(t2-t0) Bavail=Bmax×x (7)其中可以用最小TTT(α)和平均TTT(τ)来表达分数x=(t1-t0)/(t2-t0),因此x=α/τ。
作为示例,图12示出了可用比特率和最大比特率之间比较的示意图。具体地,当在一部分网络中不存在背景流量时,可用比特率将是最大比特率,并且如图12(a)所示,第一个标记分组的尾沿与最后一个标记分组的尾沿之间的时间表示为t1-t0。如图12(b)所示,在存在背景流量时,可用比特率为最大比特率的分数,第一个标记分组的尾沿与最后一个标记分组的尾沿之间的时间表示为t2-t0。可以注意到,t2大于t1,因此,在存在背景流量时,相同量信息的传递时间将增加。
取决于采取的假设以及包含的网络影响,可用比特率Bavail可以用有序分组组中载荷的第一个分组和最后一个分组来定义,或者用标记分组来定义。因为反向通信或者其他限制作用都潜在地对传输分组的传递敏感,所以载荷的第一个分组可能是最具代表性的。任选地,可以假定载荷的存在可以使反向通信的变化率稳定并且最后一个载荷分组的使用是合理的。使用标记分组需要一些关于经过目标主机的限制作用的假设,因为标记的平均TTT与最小RTT不同,可能包括一些沿网络路径的在载荷终止之后的附加的瞬时延迟。应当注意,使用平均TTT意味着有关相对于边境路径的返回路径性质的假设可适用于给定的情况。
自适应采样和测试流程正如本领域所属技术人员容易理解的那样,基于分组的网络路径的性质可以是略微变化的。可能针对表征过程所占用的时间优化路径和其元素的表征。根据本发明的一个实施例,通过使用自适应采样和相关分析的应用,可以最优化采样过程。这种自适应采样过程从评估预定的指示器开始,这可以通过使用非最佳采样技术产生。随后,为了改进采样技术,进行一个或更多个自适应操作。最后,为了确定是否已经进行了充分的采样以将被评价的网络路径表征到期望的精度水平,使用了收敛过程。
在一个实施例中,自适应过程检查原始分组定时以及次最佳采样技术的图案的丢失值,其中这些图案称为指示器。从采样的观点出发,这些指示器使得能够决定另选的采样技术(测试的网络路径将以一种改进的方式响应该技术)。该自适应过程可以反复地对采样技术进行更替或者自适应,直到可以确定对测试的网络路径最有效的采样技术。另外,可以针对与测试的网络路径的一个跳,与其他跳隔绝地进行自适应过程,或者可以任选地基于网络路径跳的整个序列或子序列进行自适应过程。
在一个实施例中,采样结果中存在指示器可以表示已经使用了次最佳采样技术。可替换地,在采样结果中的零指示器可以表示采样技术对测试的网络路径的表征是有效的。在特定采样结果中还可能有多个指示器,多个指示器可以表示多重次最佳采样技术的参数,或者多个指示器可以表示单一的更专用的次最佳采样技术的参数。
在一个实施例中,自适应操作限定了对采样技术及其参数的变化,其中每一操作都可以设计为对特定网络环境组的调节和补偿。单一操作或者多个操作可以运用于采样技术。此外,例如一项操作可以重复地使用,或者交替地逆向使用,其中此操作的效果被取消以产生相反的作用,从而例如提供了一种从测试的网络中展现所需效果的手段。
在一个实施例中,存在于特定采样技术的采样结果的特定组中的一个或更多个指示器的组可以决定用于产生更加有效的采样技术的操作。例如,基于上述指示器,一项操作或者多项操作可以应用于当前的采样技术参数。例如,自适应过程可以继续监视次最佳采样技术指示器的采样结果,并随后对该采样技术反复地进行操作,直到发现最有效的技术。在一个实施例中,仅当充足的证据表明该自适应将产生更精确的结果时,才对采样技术进行自适应。
在一个实施例中,执行了收敛性过程,其中这种过程是一种自适应分析,该分析可以检查为了精确确定网络性能特性所需的稳定性而收集的样本。该收敛性过程可以确定已经收集的测试样本的数量是否足以获得稳定性,并且如果不能获得,该收敛性过程可以指示大约还需要多少测试样本以获得稳定性。
在本发明的一个实施例中,在自适应过程中,可以保持过去的自适应的历史记录,并且在自适应过程中,该历史记录可以在对采样技术参数作出变化之前查阅。在一些情况中,被设计用来影响的采样技术参数的自适应可能不会对随后的采样产生期望的作用。当指示器以及随后的一项或多项自适应操作不产生期望的作用时,该自适应过程可以限制对其执行自适应的指示器的重要性。以这种方式,该自适应过程降低所选指示器的影响,该指示器在过去对于受评价的特定网络路径已经失效。
指示器指示器是采样结果中不理想的特性或者图案,代表了一种或更多种次最佳采样技术。采样结果中的零指示器可以表示该采样技术对测试的网络路径的表征是有效的。然而,采样结果中的零指示器仅表示该采样技术仅对限定的指示器表示的特征组有效,也就是说没有不理想的特征。
在一个实施例中,次最佳采样技术参数或者网络压力的几个指示器可能来自原始分组定时和丢失的值,所述网络压力或者是有意的网络安全机制或者是无意的网络缺陷。这些指示器包括,但不是全部包括标记重排、标记压缩、载荷重排、标记丢失率、载荷丢失率、报告的网络错误、慢的端主机以及这些条件的特定组合。
下面提供一种从采样过程中收集的数据确定这些指示器的方法,然而容易理解,可以获得每一个指示器的替换的定义。
当网络传输过程中随尾标记通过引导标记时,标记重排发生。因此,通过比较引导标记分组和随尾标记分组的接收时间可以提供标记重排指示器,其中较小随尾标记的接收时间表示网络传输过程中标记改变的位置。
标记压缩是标记重排的较缓和形式,其中标记分组被压缩,即使得其相互更接近,但是不改变接收次序。将引导标记和随尾标记在传输时间上的差异与这些相同分组之间在接收时间上的差异进行比较,可以提供标记压缩指示器。在预定的阈值内较小接收时间的变化量,可以表示与随尾标记相比,引导标记在网络传输过程中被不相称地延迟了。
在网络传输过程中,当载荷分组改变次序时,发生载荷重排。载荷重排指示器可以被认为是与标记重排指示器同义,只不过是基于载荷分组定时。
标记分组丢失指示器可以是一个或更多个标记分组中丢失的观测结果,而载荷丢失指示器可以是一个或更多个载荷分组中丢失的观测结果。
此外,报告的网络条件可以是来自网络设备或者第三层设备的关于网络错误或者网络压力的明白指示。这些报告的网络条件指示器在基于分组的网络中通常但不限于采用ICMP消息的形式。
慢的端主机指示器可以定义为随尾标记分组与引导标记分组TTT之差,与最后载荷分组与最前载荷分组TTT之差的比,其中比值充分大于1时可以表示慢的端主机。
在一个实施例中,对于基于分组丢失的指示器,当从初始发送分组直到经过合理量的时间而没有收到确认答复分组时,认为分组丢失。在将分组分类为丢失之前的合理量时间的界定可以由测试的网络路径决定,并且可以在普通基于分组的网络情况中极大地变化。本领域所属技术人员容易理解,有一些众所周知的用于确定所期望分组经过时间的机制,这些机制可以用来定义合理量的时间。在另选实施例中,否定确认可以用来判断分组的丢失。
自适应操作在一个实施例中,利用自适应操作来优化活动的采样技术,并且自适应操作可以有以下的调整,该调整例如包括改变载荷数、改变载荷大小、改变标记大小、逐渐改变标记大小、逐渐改变载荷大小、改变载荷分组参数、改变标记分组参数以及改变迭代数量。
在本发明的一个实施例中,自适应操作定义为1)通过在一定限度内增加或者减少载荷数目的方式改变载荷数目,而可以改变对测试的网络路径的需求。增加载荷数将产生对网络和目标主机的更多需求,而减少载荷数具有相反的效果。2)通过在一定限度内增加或者减少载荷大小来改变载荷大小,可以避免一些类型的分组过滤和避免干扰采样过程的网络缺陷状况。3)通过在一定限度内增加或者减少标记大小来改变标记大小,可以改变对测试的网络路径和终点主机的需求。例如,增加标记大小对端主机和将端主机连接到其余网络路径的网络产生更多需求。4)逐渐改变标记分组大小可以要求独立地改变引导标记和随尾标记的大小,以在引导标记小于随尾标记时引起向前的斜率,或者在引导标记大于随尾标记时引起向后斜率。以这种方式改变标记分组大小可独立改变各标记分组的生存性以及定时特性。5)逐渐改变载荷分组大小可以在载荷组内对所有的分组引起向前或向后的斜率。以这种方式改变载荷分组大小可以改变载荷分组作为一个整体的生存性以及定时特性。6)改变载荷分组参数可以在运用各种探测分组设置时探究网络特性。可以改变的载荷分组参数包括,例如网络协议和网络服务类型等。具有不同分组参数的载荷分组可能使用到达相同主机的不同网络路径,可能具有不同的响应定时和丢失特性,还可能应用了不同的网络策略。7)改变标记分组参数可以在运用各种探测分组设置时与端主机的响应配合探究网络特性。可以调节的标记参数包括,例如网络协议、生存时间以及协议专用参数(比如端口号)。具有不同分组参数的标记分组可使用到达目标主机的不同网络路径,可能具有不同的目标主机响应定时和丢失特性,还可能应用了不同的网络策略。8)改变所执行的、用以计算高层网络指标(例如可用带宽、单向比特率和单向传输延迟)的迭代数量和/或样本数量。在对网络进行采样时,同样不需要对网络进行过度采样,此时需要该自适应操作。例如,过多采样可能将远程影响并入性能测量值以及不必要的检测时间和网络通信。相反的是,过少的样本数量不可能获得网络真实的性能,导致网络性能评估的精确度低。
下表描述了依据本发明实施例的指示器、所需的预设条件和自适应过程的响应。在本发明的一个实施例中,在没有满足所需的预设条件时,可以有针对存在于采样结果中的特定指示器的已定义的响应。在这种情况下,自适应过程的历史记录可以用来确定最有效的次最佳检测方法,例如可以用来表征正在评估的网络。
表2
收敛在一个实施例中,与自适应过程关联的收敛过程提供了一个或更多个有关于精确网络性能表征所需的采样数量的评估量,并且还可以确定是否进行了足够的采样。例如,网络采样过度或网络采样不足都是不期望的。例如,如果进行了过多的采样,采样处理可能无意中获得可能影响网络性能指标的远程影响并且不必要地增加了检测时间和网络负荷。相反的是,如果进行了过少的采样,从这些样本中获得的网络性能表征将会有较大的置信区间,降低了计算结果的有效性,即它的精度。
在一个实施例中,收敛过程可以估算采样期间与其自身有关的收敛指示器。在一个实施例中,有三个与网络性能表征有关的收敛指示器,每一个收敛指示器可以捕捉非瞬时特性、瞬时特性或者诊断特性之一的稳定性,其中非瞬时特性或者指标不随时间改变,瞬时特性或者指标随时间变化,而诊断特性可以形成有关网络功能异常的推断基础。
在本发明的一个实施例中,在设定一些合理的渐近值之前,可以监视收敛指示器接近它均衡值的速率。为了确定所选收敛指示器相对于采样速率的变化速率,本发明在此方面的实现是基于收敛指示器的当前统计值与以前值的比较。例如,如果系列中特定分组的最小传输时间对于最后的x次采样没有变化,那么基于这些最小值的任何测量都将认为相对于预期值是稳定的。
在一个实施例中,这三个收敛指示器是单独基于分组定时和丢失分布的,并且不需要更高层信息或者访问大量历史记录信息。上述瞬时网络特性指示器是所选分组(通常为最后的载荷分组或随尾标记分组)的RTT或TTT的平均值。上述非瞬时网络特性指示器是一个分组或者混合分组(通常为标记分组)的最小分组的TTT变化量。上述诊断网络特性指示器是特定样本中分组系列的各载荷分组和标记分组的分组丢失分布。
在一个实施例中,收敛过程包括五个阶段,其中对每一个新样本调用前三个阶段,而剩余的两个阶段周期性的或者根据要求调用。以这种方式划分阶段能够允许具有更高计算要求的函数被以更低频率调度,从而降低对收敛分析的整体计算要求。具体地,针对相对于累积样本的稳定性,收敛过程在整个采样期间检查收敛指示器。当累积的样本的分布精确地估算出总体分布时,该样本分布被认为已经收敛。因此,当样本分布已经收敛时,增加新样本到该分布将不能明显改变该分布。
在本发明的一个实施例中,收敛的五个阶段是1)百分比变化函数;2)二进制串编码器;3)熵编码器;4)熵分析函数;以及5)收敛指示器稳定性函数。
收敛的第一阶段是由百分比变化函数提供的,该百分比变化函数比较样本与存在的收集样本结合前后的收敛指示器。此外,可以组合一个或更多个百分比变化函数以形成用于收敛的这一阶段的综合百分比变化函数。例如,针对非瞬时网络特性的样本百分比变化的实现可以包括计算引导标记和随尾标记的最快TTT时间之间的百分比变化,和可以作为整体百分比变化函数的两个收敛指示器之间的最大百分比变化。
收敛的第二阶段是由二进制串函数(该二进制串函数对0和1的串进行编码)提供的,把单个的数位添加到用于所收集的各样本的串中。当特定样本的百分比变化函数结果大于预定的阈值时,该函数添加1,否则添加0。
收敛的第三阶段是由熵编码器提供的,该熵编码器从二进制串中删除冗余信息以产生熵串。当进行采样时,二进制串为使用游程长度编码方法形式编制的熵。任选地,可以用任何熵编码器来代替游程长度编码器。在另一个实施例中,采样实现熵编码器不需要逆向转换,于是在执行收敛过程中可以改进时间和空间要求。
收敛的第四阶段是由熵分析函数提供的,该熵分析函数比较包含在熵串较早部分中的熵的量,确定包含在熵串较晚部分中的熵的量。通过检测在熵编码的串中的这些部分的长度可以估计在串不同部分中的熵的量。相对于输入的串长度,较长的熵串表示了较多的熵,而较短的串则表示了较少的熵。例如,当全部样本稳定时,串的末端包含较少的熵。
收敛的最后阶段是通过评估收敛指示器稳定性(检测在二进制串末端的相对于串剩余部分的熵)提供的。
在一个实施例中,收敛指示器稳定性评估的样本实现将串分成最小的熵串和剩余串。该最小熵串通过在熵串中搜寻包含最后二进制数位并且包含最少量的熵的子串而发现。剩余字符串与最小熵串的熵值之比构成熵比。熵比可以任选地映射到函数上,该函数将熵比转换成适当比例百分比收敛值。在该实现中,该比值可以映射到如下形式的二次函数上 在另选实施例中,收敛指示器稳定性的样本实现计算出游程长度编码串数值的第一统计矩和第二统计矩,也就是游程长度矩(run-lengthmoment)。最后游程长度值与游程长度矩的正3-sigma值之比构成了熵比。然后该熵比映射到如下形式的函数上(9)比值=收敛%测试流程逻辑在本发明的一个实施例中,测试流程可以修改为自适应采样过程的反馈过程的一部分,其中采样阶段的结果可能更改随后选择的采样参数以及以后采样对象的选择。
该测试流程逻辑能够控制对自适应操作所述的机制和收敛。这种逻辑还可以识别并消除测量过程的冗余、条件、选项或其他不适宜实现测试目的的情况。
在一个实施例中,测试流程逻辑需要在完成测试平衡之前估算源主机与终点主机之间的连通性。关于参数化,因为超过了路径MTU的分组通常丢失,因而从源主机到终点主机的路径MTU的测量值建立了可以有效地被使用的最大分组大小。例如,在复杂的实现中,针对分组丢失图案,可探测并识别网络路径中的速率限制,因而采样阶段自适应以避免或者考虑所探测到的速率限制的影响。另外,例如采样阶段中一个或更多个指示器的缓慢收敛或者没有收敛可能引起选择最佳采样模式的自适应循环。
变型例应该理解,虽然出于说明的目的在此描述了本发明具体的实施例,但是在不脱离本发明的精神和范围内可以进行各种变化。具体地说,提供用于根据本发明的方法控制计算机的操作和/或构成本发明系统的组件的计算机程序产品或程序元件,或存储机器可读的信号的程序存储器或存储装置(比如固体或流体传送介质、磁芯缆或光缆、带或盘等),都在本发明的范围内。
此外,该方法的各步骤可以在任何通用计算机(比如PC机、服务器等上)执行,并且与由任何编程语言(比如C++、Java、Pl/l等)生成的一个或更多个程序单元、模块或对象(或其一部分)相对应。另外,每一步,或者完成所述步骤的文件或对象等,可以由为此目的设计的专用硬件或者电路模块执行。
如此描述了本发明的实施例,很明显这些实施例可以以多种方式变化。这些变型不应被认为脱离了本发明的精神和范围,并且所有对本领域所属技术人员来说显而易见的改变都包括在所附权利要求
的范围内。
权利要求
1.一种用于表征基于分组的网络的端对端路径的方法,所述端对端路径包括两个或更多个节点,所述方法包括如下步骤a)生成一个或更多个有序分组组,每一个有序分组组包括两个或更多个标记分组和一个或更多个载荷分组,所有所述分组都设置成沿由源主机和终点主机限定的共用端对端路径传输,其中所述一个或更多个载荷分组设置成经过所述端对端路径到预定节点,所述预定节点为沿端对端路径的任何节点;b)从所述源主机沿所述共用端对端路径传输所述一个或更多个有序分组组;c)收集与所述一个或更多个有序分组组的传输有关的数据;以及d)分析所述数据,从而显现所述端对端路径的特性。
2.如权利要求
1所述的方法,其特征在于,所述收集数据的步骤在接收主机进行。
3.如权利要求
2所述的方法,其特征在于,所述接收主机是源主机。
4.如权利要求
2所述的方法,其特征在于,所述接收主机是所述端对端路径外的节点。
5.如权利要求
1所述的方法,其特征在于,所述生成一个或更多个有序分组组的步骤包括用生存时间值配置所述一个或更多个载荷分组。
6.如权利要求
1所述的方法,其特征在于,所述生成一个或更多个有序分组组的步骤包括配置所述一个或更多个载荷分组,以产生来自所述预定节点的端口不可到达响应。
7.如权利要求
5所述的方法,其特征在于,所述端对端路径包括位于所述源主机和所述终点主机之间的一个或更多个目标主机,并且设置所述生存时间值,以使所述一个或更多个载荷在所述一个或更多个目标主机中的一个主机上终止。
8.如权利要求
1所述的方法,其特征在于,所述生成一个或更多个有序分组组的步骤包括使用选自ICMP、UDP和TCP的协议配置所述一个或更多个载荷分组和所述两个或更多个标记分组。
9.如权利要求
1所述的方法,其特征在于,所述生成一个或更多个有序分组组的步骤包括用生存时间值配置所述两个或更多个标记分组,以使所述两个或更多个标记分组在到达所述终点主机之前终止,其中所述两个或更多个标记分组的终止发生在所述标记分组穿过预定节点之后。
10.如权利要求
1所述的方法,其特征在于,所述收集数据的步骤包括收集与所述一个或更多个有序分组组从所述源主机传输有关的时间数据,以及在接收主机处与对所述有序分组组的答复的接收有关的时间数据。
11.如权利要求
10所述的方法,其特征在于,在收集了统计显著性量的时间数据之前一直执行收集数据的步骤。
12.如权利要求
10所述的方法,其特征在于,所述分析所述数据的步骤包括评估所述两个或更多个标记分组和所述一个或更多个载荷分组中的一个或更多个分组的行程总时间、最小行程总时间、最大行程总时间、平均行程总时间、行程总时间的标准偏差以及丢失率中的一个或更多个。
13.如权利要求
1所述的方法,其特征在于,所述一个或更多个有序分组组包括第一个标记分组,随后是一个或更多个载荷分组,再后是第二个标记分组。
14.如权利要求
13所述的方法,其特征在于,所述分析所述数据的步骤包括确定单向比特率。
15.如权利要求
13所述的方法,其特征在于,所述分析所述数据的步骤包括确定单向传输延迟。
16.如权利要求
13所述的方法,其特征在于,所述分析所述数据的步骤包括确定单向延迟变量。
17.如权利要求
13所述的方法,其特征在于,所述分析所述数据的步骤包括确定单向可用比特率。
18.如权利要求
14所述的方法,其特征在于,所述单向比特率Bmax基本上被确定如下Bmax=(n×SL+SM+)/(Λ1-Λ0)其中n是载荷分组的数目,SL是一个载荷分组的大小,SM是一个标记分组的大小,Λ1是所述第二个标记分组的最小行程总时间,以及Λ0是所述第一个标记分组的最小行程总时间。
19.如权利要求
16所述的方法,其特征在于,所述单向延迟变量基本上通过评估标准偏差的变量系数和第一个载荷分组或最后一个载荷分组的行程总时间的平均值确定。
20.如权利要求
18所述的方法,其特征在于,所述单向可用比特率Bavail基本上被确定如下Bavail=Bmax×[(t1-t0)/(t2-t0)]其中(t1-t0)为在最大比特率时所述第一个标记分组的尾沿与最后一个标记分组的尾沿之间的时间,(t2-t0)为在可用比特率时所述第一个标记分组的尾沿与最后一个标记分组的尾沿之间的时间。
21.如权利要求
1所述的方法,其特征在于,修改步骤包括确定一个或更多个指示器,并且基于所述一个或更多个指示器修改所述一个或更多个有序分组组的一个或更多个参数。
22.如权利要求
21所述的方法,其特征在于,修改所述参数的步骤是从包括改变载荷分组数目、改变载荷分组大小、改变标记分组大小、逐渐改变标记分组大小、逐渐改变载荷分组大小、改变载荷分组协议、改变标记分组协议以及改变终点主机的组中选择的。
23.如权利要求
21所述的方法,其特征在于,修改所述参数的步骤以迭代方式执行,以获得最佳的采样过程。
24.如权利要求
1所述的方法,还包括评估所收集的数据的收敛性的步骤。
25.如权利要求
24所述的方法,其特征在于,评估收敛性的步骤包括如下步骤百分比变化函数评估、二进制串函数评估、熵编码、熵分析函数评估以及收敛指示器稳定性评估。
26.一种用于表征基于分组的网络的端对端路径的设备,所述设备包括a)用于生成一个或更多个有序分组组的装置,每一个有序分组组包括两个或更多个标记分组和一个或更多个载荷分组,所有所述分组都设置成沿由源主机和终点主机限定的共用端对端路径传输,其中所述一个或更多个载荷分组设置成经过端对端路径到预定节点,所述预定节点为沿端对所述端路径的任何节点;b)用于从所述源主机沿所述共用端对端路径传输所述一个或更多个有序分组组的装置;c)用于收集与所述一个或更多个有序分组组的传输有关的数据的装置;以及d)用于分析所述数据从而显现所述端对端路径的特性的装置。
27.如权利要求
26所述的设备,还包括一种用于基于所收集的数据自适应修改所述一个或更多个有序分组组的生成的装置,所述用于自适应修改的装置用来优化所述端对端路径的特性。
28.如权利要求
26所述的设备,还包括一种用于评估所收集的数据的收敛性的装置。
29.一种计算机程序产品,包括其上记录有计算机程序的计算机可读介质,所述计算机程序用来执行一种用于表征基于分组的网络的端对端路径的方法,所述方法包括如下步骤a)生成一个或更多个有序分组组,每一个有序分组组包括两个或更多个标记分组和一个或更多个载荷分组,所有所述分组都设置成沿由源主机和终点主机限定的共用端对端路径传输,其中所述一个或更多个载荷分组设置成经过所述端对端路径到预定节点,所述预定节点为沿端对端路径的任何节点;b)从所述源主机沿所述共用端对端路径传输所述一个或更多个有序分组组;c)收集与所述一个或更多个有序分组组的传输有关的数据;以及d)分析所述数据,从而显现所述端对端路径的特性。
专利摘要
本发明提供一种表征源主机与终点主机之间每一段网络路径的方法和设备。本发明包括通过发送和接收特定的预定有序分组组来收集数据,该有序分组组是可以改变大小、数量和协议的,该分组从源主机发送并寻址终点节点。这些分组组包括策略排列的标记分组和载荷分组。载荷分组通常在预定节点终止,而标记分组完成到达终点的传输。在载荷分组终止后,标记分组提供了一种捕获能够对直到这些载荷分组终止的各段进行表征的信息的手段。此外,分析收集的信息使得能够调节分组组的特性,从而使网络路径的采样和表征最优化。
文档编号H04L12/28GK1998186SQ20058000810
公开日2007年7月11日 申请日期2005年2月4日
发明者洛基·乔根森, 克里斯托弗·R·诺里斯 申请人:阿派伦特网络股份有限公司导出引文BiBTeX, EndNote, RefMan
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1