CN113508557A - 在分组交换通信网络中启用往返分组丢失测量 - Google Patents
在分组交换通信网络中启用往返分组丢失测量 Download PDFInfo
- Publication number
- CN113508557A CN113508557A CN202080011181.1A CN202080011181A CN113508557A CN 113508557 A CN113508557 A CN 113508557A CN 202080011181 A CN202080011181 A CN 202080011181A CN 113508557 A CN113508557 A CN 113508557A
- Authority
- CN
- China
- Prior art keywords
- node
- packet
- packets
- packet loss
- plf
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
- H04L43/0841—Round trip packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/026—Capturing of monitoring data using flow identification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/0864—Round trip delays
Abstract
公开了一种用于在交换包括分组丢失字段的分组的分组交换通信网络的两个节点之间启用往返分组丢失测量的方法,所述分组丢失字段可设置为空闲值或一个或多个测量值。第一节点将第一分组发送给第二节点,所述第一分组具有被设置为测量值的分组丢失字段。在接收到每个第一分组后,第二节点将相应的第二分组送回第一节点,所述第二分组具有被设置为测量值的分组丢失字段。在接收到每个第二分组后,第一节点将相应的第三分组送回第二节点,所述第三分组具有被设置为测量值的分组丢失字段。放置在所述两个节点之间的测量点可以对第一分组的数量和第三分组的数量进行计数,并且使用它们来提供往返分组丢失测量。
Description
技术领域
本发明涉及通信网络领域。具体地说,本发明涉及一种用于在分组交换通信网络中启用往返分组丢失测量的方法以及被配置为实现这样的方法的分组交换网络。
背景技术
在分组交换通信网络中,分组流通过可能的中间节点从源节点发送给目的地节点。示例性分组交换网络是IP(互联网协议)网络、以太网网络和MPLS(多协议标签交换)网络。
分组不总是到达它们的目的地节点,即,它们在通过网络传输期间可能丢失。分组丢失因为不同原因。例如,节点或链路可能故障,或者分组可能由于节点的端口拥塞而被该节点丢弃。此外,分组可能因为它们包含位错误而被节点丢弃。
当借助于分组交换网络提供通信服务(特别是,实时的语音或数据服务,诸如呼叫、会议呼叫、视频会议等)时,在承载服务的分组流上的分组丢失、单向延迟和/或抖动方面的性能测量提供该服务的终端用户感知到的服务质量(QoS)的指示。另外,分组丢失和高延迟/抖动可能需要重发,于是降低了通信网络的效率。因此,测量通信网络中的分组流的分组丢失对于网络运营商是特别感兴趣的。
相同申请人名下的WO 2010/072251公开了使用交替标记技术的用于测量分组流上的分组丢失的方法,由此要测量的分组流被划分为包括第一标记值的分组块(例如,它们的头部中的专用标记位被设置为“1”)和包括第二标记值的分组块(例如,它们的头部中的专用标记位被设置为“0”)。标记值被周期性地切换,以使得具有第一标记值的分组块与具有第二标记值的分组块相交替。在标记的分组的路径上设有两个测量点。每个测量点实现分别对具有第一标记值和第二标记值的分组的数量进行计数的一对计数器。使用计数器值来计算两个测量点之间的分组丢失。
如所知的,QUIC(快速UDP互联网连接)是被设计为通过用户数据报协议(UDP)支持两个端点之间的复用连接的传输层(层4)网络协议。为了管理接收序列错误,QUIC头部包括分组编号字段,其中每个分组在被发送时写入分组编号。
B.Trammel等人的互联网草案“The addition of a Spin Bit to the QUICTransport Protocol draft-trammel-quic-spin-01”,2017年12月13日,描述了QUIC头部中的所谓的“延时自旋位”(或者简称“自旋位”)的添加,这允许在两个节点之间交换的两个对向传播分组流上的RTT(往返时间)测量。根据所述互联网草案,两个节点(也被称为“客户端”和“服务器”)最初在它们的自旋位的值被设置为0的情况下发送各自的分组。客户端通过将其自旋位设置为1来开始RTT测量。自旋位置的这个改变可以被看作从客户端发送给服务器的自旋位信号中的边沿。当服务器接收到这样的边沿时,它将它自己的自旋位的值从0变为1。这样,服务器将自旋位信号的边沿基本上反射回客户端。当客户端从服务器接收到自旋位信号的反射的边沿时,它将其自旋位的值切换回0。这可以看作从客户端发送给服务器的自旋位信号中的另一个边沿,该边沿如上所述那样在服务器处被接收并且被反射回客户端。然后可以在放置在客户端和服务器之间的任何中间测量点处将大致的RTT测量为自旋位周期(即,在自旋位信号的两个连续边沿在同一方向上(例如,从客户端到服务器)的通过之间过去的时间)的持续时间。
发明内容
申请人已经意识到需要提供用于在分组交换通信网络中启用分组丢失测量的方法——而上述自旋位技术允许测量大致的RTT——允许放置在两个节点(例如,根据QUIC术语,客户端和服务器)之间的任何中间测量点测量所述两个节点之间的大致的“往返分组丢失”,其中表述“往返分组丢失”指示在所述两个节点之间的交换两个对向传播的流中丢失的分组数量的测量。
申请人已经注意到,这样的往返分组丢失不能被测量为影响两个对向传播的流并例如根据以上提到的WO 2010/072251测得的单向分组丢失之和。
首先,实际上,每个单向分组丢失的测量将需要两个测量点。
而且,申请人已经注意到,仅单向分组丢失之和不会考虑以下事实,即,通常,链路的两个对向传播方向(例如,上游和下游)表现出非常不同的分组速率,例如,1:10。因此,在标记周期期间,可能在两个方向上的不同数量的分组上测量单向分组丢失,因此,相同数量的丢失的分组在所述两个方向上可能具有非常不同的权重。
例如,如果100个发送的分组中的1个分组在某个标记周期期间在一个方向上(例如,下游)丢失,并且10个发送的分组中的1个分组在同一标记周期期间在另一个方向上(例如,上游)丢失,则仅单的单向分组丢失之和将是2,在发送的分组100+10的总数上平均来说,这将提供2/110的往返分组丢失率。
作为另一个例子,如果100个发送的分组中的2个分组在下游方向上丢失,并且10个发送的分组中没有分组在上游方向上丢失,则仅单向分组丢失之和将再次是2。往返丢分组率于是将再次为2/110,而不管以下事实——不同于前一种情况——丢失的分组现在全都集中在具有更高的分组速率的下游方向上,于是丢失权重降低。
鉴于以上,申请人已经解决了提供用于在分组交换通信网络中启用分组丢失测量的方法的问题,该方法允许放置在两个节点之间的任何中间测量点考虑到所述两个方向上的分组速率可能不同的事实来测量往返分组丢失。
在下面的说明书中和在权利要求中,表述“在分组交换通信网络中启用性能测量”将指定以能进行分组丢失测量(可能在中间节点处)的方式标记和/或调理在分组交换通信网络的两个节点之间交换的分组的操作。
申请人已经认识到,为了提供适当考虑两个对向传播方向上的不同的分组速率的往返分组丢失的准确测量,应在两个方向上的相同数量的分组上执行测量。
例如,如果100个发送的分组中的1个分组在某个标记周期期间在一个方向上(例如,下游)丢失,并且10个发送的分组中的1个分组在同一标记周期期间在另一个方向上(例如,上游)丢失,则将仅在100个发送的分组中的10个分组上执行下游方向上的测量。如果所考虑的分组包括丢失的一个(可能性较低的情况),则下游分组丢失将再次为1,这提供2/20的往返丢分组率。否则(可能性更高的情况),下游分组丢失为0,这提供1/20的往返丢分组率。通过重复这样的下游测量几次,将发现0.1的平均下游分组丢失,这将提供1.1/20的平均往返丢分组率。
如果相反100个发送的分组中的2个分组在下游方向上丢失,并且10个发送的分组中没有分组在上游方向上丢失,则仅在100个发送的分组中的10个分组上执行下游方向上的测量,在所考虑的分组包括丢失的分组的情况下(可能性较低的情况),下游分组丢失将再次为2,往返丢分组率为2/20。否则(可能性更高的情况),下游分组丢失为0,这提供0的往返丢分组率。通过重复这样的下游测量几次,将发现0.2的平均下游分组丢失,这将提供0.2/20的平均往返丢分组率。可以意识到该值低于前一种情况下获得的值(1.1/20),因为它考虑到以下事实,即,丢失的分组现在全都集中在具有更高的分组速率的方向上(下游),使得它们的权重低于丢失的分组相等地分布在两个方向上的前一种情况。
这样的数值例子清楚地示出,如果在相同数量的发送的分组上测量单向分组丢失,则两个方向上的不同的分组速率被适当地考虑,使得每个方向上的丢失的分组的数量在往返丢分组率的最终值中具有50%权重。
根据本发明的实施例,以上问题于是通过以下方法来解决,在该方法中,通信网络的第一节点和第二节点交换包括分组丢失字段的分组,所述分组丢失字段可设置为要么空闲值、要么至少一个测量值。第一节点将其分组丢失字段被设置为所述至少一个测量值的第一分组发送给第二节点。在从第一节点接收到第一分组中的每个分组后,第二节点将包括所述至少一个测量值的相应的第二分组发送给第一节点。在从第二节点接收到第二分组中的每个分组后,第一节点将包括所述至少一个测量值的相应的第三分组发送给第二节点。
测量点然后可以对从第一节点发送给第二节点的第一分组的数量和第三分组的数量进行计数,基于此,然后可以执行往返分组丢失测量。应注意,测量点可以由除管理通信网络的第一节点和第二节点处的分组的分组丢失字段的设置的实体之外的实体实现和操作。
因此,有利地,因为在其上执行测量的第一分组和第三分组在同一方向上(即,从第一节点到第二节点)发送,所以往返分组丢失可以由位于第一节点和第二节点之间并且被配置为检测该方向上的分组的单个测量点测量。
此外,因为第三分组是通过第一分组的双反射(在第二节点处、然后在第一节点处)获得的,所以往返分组丢失的测量有利地在第一节点和第二节点之间的两个方向上发送的相同数量的分组(缺少丢失的分组)上执行,独立于所述两个方向上的分组速率。因此,如以上所讨论的,即使当所述两个方向表现出不同的分组速率时,测量也是准确的。
根据第一方面,本发明提供了一种用于在分组交换通信网络中启用往返分组丢失测量的方法,该方法包括在通信网络的第一节点和第二节点之间交换包含分组丢失字段的分组,其中分组丢失字段可设置为要么空闲值、要么至少一个测量值,所述交换包括:
a)第一节点将第一分组发送给第二节点,第一分组具有被设置为所述至少一个测量值的分组丢失字段;
b)在从第一节点接收到第一分组中的每个分组后,第二节点将相应的第二分组发送给第一节点,第二分组具有被设置为所述至少一个测量值的分组丢失字段;并且
c)在从第二节点接收到第二分组中的每个分组后,第一节点将相应的第三分组发送给第二节点,第三分组具有被设置为所述至少一个测量值的分组丢失字段。
优选地,步骤a)包括在从第二节点接收到分组后,将要发送给第二节点的分组的分组丢失字段设置为等于所述至少一个测量值。
优选地,当第一节点从第二节点接收到第二分组中的第一个分组时,终止步骤a)。
根据第一实施例,分组丢失字段可设置为要么空闲值、要么测量值。
根据第一实施例,第一节点执行以下至少之一:
-在开始步骤c)之前,在步骤a)结束时的第一暂停;以及
-在重复步骤a)之前,在步骤c)结束时的第二暂停,第一暂停和第二暂停包括迫使要发送给第二节点的每个分组的分组丢失字段为空闲值。
根据第一实施例的第一变型,步骤a)和步骤c)中的至少一个包括忽略在分别自步骤a)和步骤c)开始起过去一个时间间隙之后在第一节点处从第二节点接收的分组。
根据第一实施例的第二变型,第一节点执行以下至少之一:
-在开始步骤c)之前,自从第二节点接收到第二分组中的最后一个分组起的另一暂停;以及
-在重复步骤a)之前,自接收到第四分组(Pk’)中的最后一个分组起的又一暂停,第四分组具有被设置为测量值的分组丢失字段并且由第二节点在接收到第三分组后发送,
所述另一暂停和又一暂停包括迫使要发送给第二节点的每个分组的分组丢失字段为空闲值。
根据第二实施例,分组丢失字段可设置为要么空闲值、要么至少两个不同的且排序的测量值中的任何一个。
根据第二实施例:
-步骤a)包括当从第二节点接收到其分组丢失字段要么等于空闲值、要么等于前一个测量值MV(k-1)的分组时,将要发送给第二节点的分组的分组丢失字段设置为测量值MV(k);
-步骤b)包括在从第一节点接收到具有等于测量值MV(k)的分组丢失字段的第一分组中的每个分组后,将相应的第二分组发送给第一节点,第二分组具有被设置为测量值MV(k)的分组丢失字段;并且
-步骤c)包括在从第二节点接收到具有等于测量值MV(k)的分组丢失字段的第二分组中的每个分组后,将相应的第三分组发送给第二节点,第三分组具有被设置为测量值MV(k+1)的分组丢失字段。
根据第二方面,本发明提供了一种用于在分组交换通信网络中执行往返分组丢失测量的方法,所述方法包括如上所述的方法的步骤和以下步骤:
d)在测量点处,对第一分组的数量进行计数,并且对第三分组的数量进行计数,所述往返分组丢失测量基于第一分组的数量和第三分组的数量。
可选地,所述方法进一步包括将第一节点和第二节点之间的往返时间测量提供为第一分组中的第一个检测到的分组和第一分组中的最后检测到的分组的检测时间T1和T2之间的差值。
根据第三方面,本发明提供了一种用于在分组交换通信网络的第一节点和第二节点之间交换包含分组丢失字段的分组的方法,所述分组丢失字段可设置为要么空闲值、要么至少一个测量值,所述方法包括:
a)第一节点将具有被设置为所述至少一个测量值的分组丢失字段的第一分组发送给第二节点;
b)在从第一节点接收到第一分组中的每个分组后,第二节点将相应的第二分组发送给第一节点,所述第二分组具有被设置为所述至少一个测量值的分组丢失字段;以及
c)在从第二节点接收到第二分组中的每个分组后,第一节点将相应的第三分组发送给第二节点,所述第三分组具有被设置为所述至少一个测量值的分组丢失字段。
根据第四方面,本发明提供了一种分组交换通信网络,所述分组交换通信网络包括被配置为交换包含分组丢失字段的分组的第一节点和第二节点,其中所述分组丢字段可设置为要么空闲值、要么至少一个测量值,其中:
-第一节点被配置为将第一分组发送给第二节点,所述第一分组具有被设置为所述至少一个测量值的分组丢失字段;
-第二节点被配置为在从第一节点接收到第一分组中的每个分组后,将相应的第二分组发送给第一节点,所述第二分组具有被设置为所述至少一个测量值的分组丢失字段;以及
-第一节点被进一步配置为在从第二节点接收到第二分组中的每个分组后,将相应的第三分组发送给第二节点,所述第三分组具有被设置为所述至少一个测量值的分组丢失字段。
优选地,所述分组交换通信网络进一步包括至少一个测量点,所述至少一个测量点被配置为对第一分组的数量和第三分组的数量进行计数,往返分组丢失测量基于第一分组的数量和第三分组的数量。
附图说明
参照附图阅读以例子而非限制的方式给出的以下详细描述,本发明将变得更清楚,其中:
-图1示意性地示出其中实现根据本发明的实施例的用于启用往返分组丢失测量的分组交换通信网络;
-图2示意性地示出根据本发明的实施例的在图1的通信网络中交换的分组的结构;
-图3是根据本发明的第一实施例的图1的通信网络的第一节点和第二节点的操作的流程图;
-图4示意性地示出根据图3的流程图操作的第一节点和第二节点交换的分组;
-图5是根据本发明的第二实施例的图1的通信网络的第一节点和第二节点的操作的流程图;
-图6示意性地示出根据图5的流程图操作的第一节点和第二节点交换的分组;
-图7是根据本发明的第三实施例的图1的通信网络的第一节点和第二节点的操作的流程图;以及
-图8示意性地示出根据图7的流程图操作的第一节点和第二节点交换的分组。
具体实施方式
图1示意性地示出根据本发明的实施例的被配置为启用往返分组丢失测量的分组交换通信网络100。
通信网络100包括通过根据任何已知拓扑的物理链路相互互连的多个节点,包括图1所示的两个节点1和2。节点1和2可以通过单个物理链路、或者通过几个物理链路和中间节点(在附图中未示出)的串接连接。通信网络100可以例如是IP网络。
如图1中示意性地描绘的,节点1被配置为将分组Pk发送给节点2,而节点2被配置为将分组Pk’发送给节点1。分组Pk可以属于同一分组流(即,它们全都可以具有相同源地址和相同目的地地址)、或其路径在节点1和节点2之间重叠的不同的分组流。类似地,分组Pk’可以属于同一分组流、或其路径在节点2和节点1之间重叠的不同的分组流。
分组Pk、Pk’根据某个网络协议格式化。作为非限制性例子,所述网络协议可以是上面提到的QUIC协议。
如图2中示意性地描绘的,每个分组Pk、Pk’包括有效载荷PL和头部H。有效载荷PL包括用户数据。每个分组Pk、Pk’的头部H根据网络100支持的网络协议格式化,并且包括分组转发信息(图2中未示出),即,允许网络100的节点适当地处理分组Pk、Pk’以使得它们到达它们的目的地节点的信息。
根据本发明的实施例,每个分组Pk、Pk’的头部H优选地还包括分组丢失字段PLF。分组丢失字段PLF包括一个或多个位。分组丢失字段PLF可以被设置为以下中的任何一个:
-空闲值(例如,在一位分组丢失字段的情况下为“0”,或者在两位分组丢失字段的情况下为“00”);以及
-至少一个测量值(例如,在一位分组丢失字段的情况下为“1”,在两位分组丢失字段的情况下为“01”、“11”和“10”)。
现在将参照图3的流程图,详细地描述根据本发明的实施例的节点1和2的操作。
优选地,节点1通常将其分组丢失字段PLF被设置为空闲值的分组Pk发送给节点2(步骤300)。
优选地,当节点1确定应开始往返测量(步骤301)时,它优选地执行产生步骤(步骤302),步骤302包括将适用于要发送的分组Pk的分组丢失字段PLF的值从空闲值切换到测量值(以下,假定节点1和2使用单个测量值,例如,“1”)。
因此,在产生步骤302,节点1开始将其分组丢失字段PLF被设置为测量值的分组Pk发送给节点2。节点1优选地继续发送其分组丢失字段PLF被设置为测量值的分组Pk,直到预定义条件发生。所述预定义条件可以是例如:
(i)发送的其分组丢失字段PLF被设置为测量值的分组Pk的数量已经达到某个值Nb;或
(ii)自其分组丢失字段PLF被设置为测量值的第一个分组发送起,时间Tb已经到时。
在所述预定义条件发生后,节点1就通过再次将适用于要发送的分组Pk的分组丢失字段PLF的值从测量值切换到空闲值来确定产生步骤302。
因此,在产生步骤302期间,节点1基本上将其分组丢失字段PLF被设置为测量值的分组Pk的块B1发送给节点2。块B1包括N1个分组,其中如果应用以上条件(i),则N1是固定的,并且等于Nb,如果应用以上条件(ii),则N1是可变的,并且取决于Tb和从节点1到节点2的方向上的分组速率。
在任何情况下,在这个第一实施例中,假定块B1的持续时间(即,块B1的最后一个分组Pk和第一个分组Pk的发送时间之间的差值)低于节点1和节点2之间的RTT。
当节点2接收到在产生步骤302期间产生的分组Pk的块B1时,它优选地将它反射回节点1(步骤303)。反射分组块在本文中意指在与接收分组块的方向相反的方向上,发送包括节点需要朝向相对节点发送的分组的分组块,但是每个分组具有与从相对节点接收的对应的分组Pk中包括的分组丢失字段PLF的值成函数关系设置的分组丢失字段PLF的值。
具体地说,节点2优选地连续地朝向节点1反射从节点1接收的分组Pk中包括的分组丢失字段PLF的值。因此,当节点2从节点1接收到其分组丢失字段PLF被设置为空闲值的分组Pk时,它优选地将要发送给节点1的下一个分组Pk’的分组丢失字段PLF设置为空闲值。类似地,当节点2从节点1接收到其分组丢失字段PLF被设置为测量值的分组Pk时,它优选地将要发送给节点1的下一个分组Pk’的分组丢失字段PLF设置为该测量值。
因此,在反射步骤303,当节点2接收到其分组丢失字段PLF被设置为测量值的分组Pk的块B1时,它基本上将其分组丢失字段PLF被设置为测量值的分组Pk’的块B2发送回节点1。如果没有发生分组丢失,则块B2包括与块B1相同数量N2=N1的分组Pk’。反之,如果分组丢失发生,则块B2中的包括Pk’的数量N2低于N1。
因为已经假定块B1的持续时间低于节点1和节点2之间的RTT,所以当节点1接收到块B2的第一个分组Pk’时,产生步骤302已完成。
当节点1接收到在反射步骤303期间产生的块Pk’的块B2时,它优选地再次将它反射回节点2(步骤304)。节点1在反射步骤304期间的操作类似于节点2的操作,即,节点1朝向节点2反射从节点2接收的分组Pk’中包括的分组丢失字段PLF的值。因此,在反射步骤304,当节点1接收到其分组丢失字段PLF被设置为测量值的分组Pk’的块B2时,它基本上将其分组丢失字段PLF被设置为测量值的分组Pk的块B2发送给节点2。如果没有发生分组丢失,则块B3包括与块B2相同数量N3=N2的分组Pk。反之,如果分组丢失发生,则块B3中的分组Pk的数量N3低于N2。
当节点2接收到在反射步骤304期间产生的分组Pk的块B3时,它优选地再次将它反射回节点1(步骤305)。具体地说,因为节点2优选地连续地朝向节点1反射从节点1接收的分组Pk中包括的分组丢失字段PLF的值,所以在反射步骤305,当节点2接收到其分组丢失字段PLF被设置为测量值的分组Pk的块B3时,它基本上将其分组丢失字段PLF被设置为测量值的分组Pk’的块B4发送给节点1。如果没有发生分组丢失,则块B4包括与块B3相同数量N4=N3的分组Pk’。反之,如果分组丢失发生,则块B4中的分组Pk’的数量N4低于N3。
在接收到其分组丢失字段PLF被设置为测量值的分组Pk’的块B4后,节点1确定往返分组丢失测量是否应被终止(步骤306)。
在肯定的情况下,节点1优选地返回到步骤300,即,它继续将其分组丢失字段PLF被设置为空闲值的分组Pk发送给节点2。
在否定的情况下,节点1优选地返回到产生步骤302,从而将其分组丢失字段PLF被设置为测量值的分组Pk的新的块B1发送给节点2,块B1然后将经过上述反射步骤303、304和305。
因此,在测量会话的开始和结束之间执行步骤301-305的每次迭代,节点1和节点2优选地交换其分组丢失字段PLF被设置为测量值的分组的四个块B1、B2、B3、B4。如果没有发生分组丢失,则块B1、B2、B3、B4包括相同数量的分组。
为了执行节点1和节点2之间的往返分组丢失测量,则如图1中示意性地描绘的,可以在节点1和节点2之间的中间位置上提供测量点10。这不是限制性的。可以要么在节点1和节点2之间的中间位置中、要么在节点1或2处提供测量点10。
假定例如测量点10被配置为检测在从节点1到节点2的方向上发送的分组Pk,如图4中示意性地描绘的,测量点10优选地对节点1产生的块B1中包括的分组Pk的数量N1和由块B1的双反射导致的块B3中包括的分组Pk的数量N3进行计数。节点1和节点2之间的往返分组丢失然后可以被计算为差值N1-N3。可以对每对块B1-B3重复所述计算,从而提供往返分组丢失的周期性监视。
如果相反测量点10被配置为检测在从节点2到节点1的相反方向上发送的分组Pk’,则如图4中示意性地描绘的,测量点10优选地对块B2中包括的分组Pk’的数量N2和由块B2的双反射导致节点2产生的块B4中包括的分组Pk’的数量N4进行计数。节点1和节点2之间的往返分组丢失在这种情况下然后可以被计算为差值N2-N4。可以对每对块B2-B4重复所述计算,从而提供往返分组丢失的周期性监视。
在两种情况下,获得的分组丢失测量是“往返”,因为它不提供关于所述两个方向之间的丢失的分组的分布的任何指示。
然而,因为分组Pk的每个块B3是通过分组Pk的相应的块B1的双反射(在节点2处、然后在节点1处)获得的(并且,类似地,在相反的方向上,分组Pk’的每个块B4是通过分组Pk’的相应的块B2的双反射(在节点1处、然后在节点2处)获得的),所以往返分组丢失的测量有利地在节点1和2之间的两个方向上发送的相同数量的分组上执行,独立于所述两个方向上的分组速率。因此,如以上所讨论的,即使当所述两个方向表现出不同的分组速率时,测量也是准确的。
申请人已经注意到,由于所述两个方向上的非常不同的分组速率,以较低的分组速率发送的节点处的反射可能花费太长时间。例如,如果从节点2到节点1的分组速率为从节点1到节点2的分组速率的1/10,则在节点2发送N2=N1个其分组丢失字段PLF被设置为测量值的分组Pk’之前,可能会过去太长时间。这是不期望的,因为为了监视往返分组丢失,数十数百毫秒的数量级的测量周期通常是期望的。
此外,必须保证的是,测量点10能够适当地区分在同一方向上发送的并且属于不同的块B1、B3或B2、B4的分组Pk或Pk’。否则,测量点10不能以适当的方式对属于两个块的分组的数量N1、N3或N2、N4进行计数,从而不能提供往返分组丢失的正确值。
图5是示出根据本发明的另一实施例的节点1和节点2的操作的流程图。
根据这样的实施例,节点1和2优选地对于交换的分组Pk和Pk’的分组丢失字段PLF使用单个测量值。因此,分组丢失字段PLF可以是可被设置为要么空闲值“0”、要么测量值“1”的一位字段。
优选地,节点1通常将其分组丢失字段PLF被设置为空闲值的分组Pk发送给节点2(步骤500)。
优选地,当节点1确定应开始往返测量(步骤501)时,它执行产生步骤502,产生步骤502包括每次从节点2接收到分组Pk’时,将要发送的分组Pk的分组丢失字段PLF设置为等于测量值。
例如,这可以由节点1借助于产生计数器来执行,每次从节点2接收到分组Pk’时,节点1使产生计数器加1,每次向节点2发送其分组丢失字段PLF等于测量值的分组Pk时,节点1使产生计数器减1。只要产生计数器高于0,节点1就优选地将要发送的分组Pk的分组丢失字段PLF设置为等于测量值。反之,当产生计数器等于0时,节点1优选地使要发送的分组Pk的分组丢失字段PLF保持等于空闲值。
产生步骤502然后导致节点1将其分组丢失字段PLF被设置为测量值的分组Pk的块B1发送给节点2。根据该实施例,块B1的分组Pk可能不是相接的。如果从节点2到节点1的方向上的分组速率低于从节点1到节点2的分组速率,则实际上,将在从节点2接收到两个连续的分组Pk’之间发送其分组丢失字段PLF等于空闲值的一些分组Pk。
当节点2接收到在产生步骤502期间产生的分组Pk的块B1时,它优选地将它反射回节点1(步骤503)。
具体地说,同样地根据该实施例,节点2优选地连续地朝向节点1反射从节点1接收的分组Pk中包括的分组丢失字段PLF的值。因此,当节点2从节点1接收到其分组丢失字段PLF被设置为空闲值的分组Pk时,它优选地将要发送给节点1的下一个分组Pk’的分组丢失字段PLF设置为空闲值。类似地,当节点2从节点1接收到其分组丢失字段PLF被设置为测量值的分组Pk时,它优选地将要发送给节点1的下一个分组Pk’的分组丢失字段PLF设置为测量值。
例如,可以通过实现标记分组计数器来执行节点2处的反射,每次从节点1接收到其分组丢失字段PLF等于测量值的分组Pk时,节点2使标记分组计数器加1,每次向节点1发送其分组丢失字段PLF等于测量值的分组Pk’时,节点2使标记分组计数器减1。只要标记分组计数器高于0,节点2就优选地将要发送的分组Pk’的分组丢失字段PLF设置为等于测量值。反之,当标记分组计数器等于0时,节点2优选地使要发送的分组Pk’的分组丢失字段PLF保持等于空闲值。
因此,在反射步骤503,当节点2接收到其分组丢失字段PLF被设置为测量值的分组Pk的块B1时,它基本上将其分组丢失字段PLF被设置为测量值的分组Pk’的块B2发送给节点1。
根据该实施例,当节点1接收到块B2的第一个分组时,节点1优选地终止产生步骤502。为了终止产生步骤502,节点1优选地迫使产生计数器为零。
在产生步骤502结束时,节点1优选地将RTT计算为块B2的第一个分组的接收时间和块B1的第一个分组的发送时间之间的差值(步骤502a)。
然后,节点1优选地在开始块B2的反射之前执行第一暂停(步骤504a)。为了执行第一暂停504a,节点1优选地迫使要发送的分组Pk的分组丢失字段PLF等于空闲值。
此外,在第一暂停504a期间,节点1还优选地将反射计数器初始化为1,该反射计数器然后每次从节点2接收到块B2的分组Pk’(即,其分组丢失字段PLF等于测量值的分组Pk’)时被加1。
优选地,第一暂停504a的持续时间等于节点1在步骤502a计算的RTT。
然后,在第一暂停504a到时后,节点1优选地通过朝向节点2反射从节点2接收的分组Pk’中包括的分组丢失字段PLF的值来开始反射步骤504。优选地,在反射步骤504,每次从节点2接收到分组Pk’时,节点1将要发送的分组Pk的分组丢失字段PLF设置为等于测量值。
具体地说,只要在第一暂停504a期间初始化的反射计数器的值高于0,节点1就发送其分组丢失字段PLF等于测量值的分组Pk。每次发送其分组丢失字段PLF等于测量值的分组Pk时,反射计数器被减1。当块B2的所有的分组Pk’已经被反射时,即,当反射计数器达到值0时,反射步骤504结束。
因此,在反射步骤504,节点1基本上将其分组丢失字段PLF被设置为测量值的分组Pk的块B3送回节点2。
应注意,尽管原则上,块B2的所有的分组Pk’应在第一暂停504a到时之前在节点1处被接收到,但是块B2的一些分组Pk’可能经历异常的延迟,并且在第一暂停504a结束之后在节点1处被接收到。为了避免这样的分组Pk’一旦被反射就与将在产生步骤502的下一次迭代发送的块B1的分组Pk混淆的风险,在从第一暂停504a到时起的某个时间间隙之后,节点1优选地开始忽略接收到的其分组丢失字段PLF等于测量值的分组Pk’。该时间间隙优选地等于节点1在步骤502a计算的RTT的一半。优选地,为了忽略这样的迟到的分组Pk’,节点1优选地在自第一暂停504a到时起所述时间间隙到时之后,阻止反射计数器的任何进一步的增加。
当节点2接收到在反射步骤504期间产生的分组Pk的块B3时,它优选地再次将它反射回节点1(步骤505)。具体地说,因为节点2优选地连续地朝向节点1反射从节点1接收的分组Pk中包括的分组丢失字段PLF的值,所以在反射步骤505,当节点2接收到其分组丢失字段PLF被设置为测量值的分组Pk的块B3时,它基本上将其分组丢失字段PLF被设置为测量值的分组Pk’的块B4送回节点1。
如以上关于反射步骤503描述的,反射步骤505可以借助于标记分组计数器来实现。
在节点2正在执行反射步骤505时,在反射步骤504结束时,节点1优选地在块B2的反射结束和下一个块B1的产生开始之间执行第二暂停(步骤504b)。为了执行第二暂停504b,节点1优选地再次迫使要发送的分组Pk的分组丢失字段PLF等于空闲值。
优选地,第二暂停504b的持续时间等于节点1在步骤502a计算的RTT。可替代地,节点1可以将更新的RTT值计算为块B4的第一个分组的接收时间和块B3的第一个分组的发送时间之间的差值,并且使用这样的更新的RTT来确定第二暂停504b的持续时间。
在第二暂停504b到时后,节点1确定往返分组丢失测量是否应被终止(步骤506)。
在肯定的情况下,节点1优选地返回到步骤500,即,它继续将其分组丢失字段PLF被设置为空闲值的分组Pk发送给节点2。
在否定的情况下,节点1优选地返回到产生步骤502,从而将其分组丢失字段PLF被设置为测量值的分组Pk的新的块B1发送给节点2,这些分组Pk然后将经历上述反射步骤503、504和505。
由于与以上关于反射步骤504讨论的那些原因类似的原因,优选地,在第一个分组之后的产生步骤502的每一次迭代,节点1优选地只在自前面的第二暂停504b结束起已过去一个时间间隙之后才开始等待第一个产生的分组。所述时间间隙优选地等于RTT的一半,值RTT要么是在步骤502a计算的值、要么是在第二暂停504b之前更新的值。
因此,在测量会话开始和结束之间的步骤501-505的每次迭代,节点1和节点2优选地交换其分组丢失字段PLF被设置为测量值的分组的四个块B1、B2、B3、B4。如果没有发生分组丢失,则块B1、B2、B3、B4包括相同数量的分组。
如上所述,测量点10可以在块B1和B3的分组Pk上、或者在块B2和B4的分组Pk’上执行节点1和节点2之间的往返分组丢失测量。
图6示出在从节点2到节点1的方向上的分组速率为从节点1到节点2的方向上的分组速率的大致一半的假设下、根据图5的流程图操作的节点1和节点2之间的分组的示例性交换。
在图6中,可以看出,在产生步骤502期间,产生N1=4个分组Pk的块B1,块B1的每个分组Pk响应于从节点2接收到相应的分组Pk’而被发送,而不管其分组丢失字段PLF的值如何。在图6中,具有等于测量值的分组丢失字段PLF的分组用粗线表示。
如果在块B1的分组Pk当中没有发生分组丢失,则在反射步骤503,节点2将N2=4个分组Pk’的块B2反射回节点1。
当节点1接收到块B2的第一个分组Pk’时,它结束产生步骤502,并且进入第一暂停504a。在第一暂停504a期间,在节点1处接收到块B2的分组Pk’,这相应地使其反射计数器增加。假定在块B2的分组Pk’档中没有发生分组丢失,并且在第一暂停504a到时之前在节点1处没有接收到块B2的所有的分组Pk’,反射计数器在第一暂停504a期间从1增加到4。
然后,在第一暂停504a到时后,节点1开始反射步骤504,以使得它将N3=4个分组Pk的块B3反射回节点2。在反射步骤504期间,反射计数器从4减小到0。
当反射计数器达到值0时,终止反射步骤504,并且节点1进入第二暂停504b。
同时,如果在块B3的分组Pk当中没有发生分组丢失,则在反射步骤505,节点2将N4=4个分组Pk’的块B4反射回节点1。
如以上关于图3的实施例所描述的,测量点10可以通过对块B1的分组Pk的数量N1、块B3的分组Pk的数量N3进行计数来执行往返分组丢失测量,然后将往返分组丢失计算为N1和N3之间的差值。在相反的方向上,测量点10可以通过对块B2的分组Pk’的数量N2和块B4的分组Pk’的数量进行计数来执行往返分组丢失测量,然后将往返分组丢失计算为N2和N4之间的差值。
更具体地说,参照例如从节点1到节点2的方向,测量点10可以实现对其分组丢失字段PLF等于测量值的分组Pk的数量进行计数的计数器。因此,测量点10优选地每次在它检测到具有等于测量值的分组丢失字段PLF的分组P k时使计数器增加。
优选地,当自两个连续的其分组丢失字段PLF等于测量值的分组Pk’的检测之间的测量会话开始起测量点10检测到长于最小阈值的第一暂停时,它优选地将第一变量C1设置为等于当前计数器值和前一次暂停结束时的计数器值之间的差值(或如果前面没有暂停,即,在第一次迭代时,为0)。所述最小阈值可以例如等于通过应用已知的自旋位技术而计算的RTT的一半。
在暂停结束时,测量点10继续使计数器增加。
然后,在两个连续的其分组丢失字段PLF等于测量值的分组Pk的检测之间检测到下一次暂停后,它优选地将第二变量C2设置为等于当前计数器值和前一次暂停结束时的计数器值之间的差值。
然后,测量点10优选地将往返分组丢失计算为C1和C2之间的差值。
通过在整个测量会话期间交替地设置C1和C2的值,测量点10基本上提供节点1和节点2之间的往返分组丢失的周期性监视。
可以意识到,因为在产生步骤502,节点1只有在从节点2接收到分组Pk后才发送块B1的分组Pk,块B1的分组Pk的数量使得即使当来自节点2的分组速率比来自节点1的分组速率低得多时,反射步骤503、504也可以被节点2在合理的时间内管理。这允许避免节点2处的拥塞并且提供等于大约4个RTT的测量周期,即,100-200毫秒的数量级的测量周期。应注意到,往返分组丢失测量是在具有较低的分组速率的方向上(从节点1到节点2,或者反过来)发送的分组的大约1/4上执行的。
此外,暂停504a、504b有利地保证测量点10能够适当地区分在同一方向上发送的并且属于不同的块B1、B3或B2、B4的分组Pk或Pk’。因此,测量点10能够以适当的方式对属于两个块的分组的数量N1、N3或N2、N4进行计数,因此,提供往返分组丢失的正确值。
此外,申请人已经估计,如果通过忽略在分别自第一暂停504a和第二暂停504b到时起RTT/2的时间间隙已经到时之后从节点2接收的分组Pk’来执行节点1处的产生步骤502和反射步骤504,则如果节点1和节点2之间的RTT的变化在同一测量会话内不超过±50%RTT,则所述方法提供正确的测量结果。
根据第一实施例的有利的变型,优选地,在自块B2的最后一个分组的接收起已过去另一暂停(优选地,持续时间等于在步骤502a计算的RTT)之后,节点1开始反射步骤504。类似地,优选地在自块B4的最后一个分组的接收起已过去又一暂停(优选地,持续时间等于在步骤502a计算的RTT)之后,节点1返回到新的产生步骤502。
这样,测量周期更长(即,大约6个RTT),但是,有利地,所述算法的各种迭代很好地分开,并且由于分组的异常延迟导致的重叠的风险有利地最小化。因此,即使在RTT的变化大的情况下,往返分组丢失测量也被有利地校正。应注意到,在这种情况下,在具有更低的分组速率的从节点1到节点2的方向或者反过来的方向上发送的分组的大约1/6上执行往返分组丢失测量。
测量点10还可以被配置为提供节点1和节点2之间的RTT(往返时间)测量。为了这个目的,测量点10优选地记录在暂停结束之后检测到的具有等于测量值的分组丢失字段PLF的第一个分组Pk(即,块B1的分组Pk)的检测时间T1和在后一次暂停开始之前检测到的具有等于测量值的分组丢失字段PLF的最后一个分组Pk(即,块B1的最后一个分组)的检测时间T2。然后,RTT被计算为T2和T1之间的差值。因为在RTT计算的第一次迭代,测量点10应在它已经计算RTT的值之前检测暂停,所以为了检测暂停,测量点10可以使用例如利用已知的自旋位技术计算的RTT,至少在第一次迭代时使用。然后,对于每个后一次迭代,为了检测暂停,测量点10可以使用如上所述的在前一次迭代计算的RTT的值。
申请人已经注意到,这样计算的RTT提供如下测量周期:该测量周期平均来说是根据B.Trammel等人的互联网草案“The addition of a Spin Bit to the QUIC TransportProtocol draft-trammel-quic-spin-01”,2017年12月13日执行的RTT测量的情况下的测量周期的1/4(或1/6,根据上述变型)。RTT测量实际上只在块B1的分组Pk上执行(于是平均来说,存在持续时间RTT和持续RTT的反射步骤的两次暂停)。
还可以意识到,不能基于块B3的分组Pk的检测时间来计算RTT,因为块B3是通过反射获得的,因此在测量点10检测到第一个分组和最后一个分组之间过去的时间不对应于RTT。
图7是示出根据本发明的又一实施例的节点1和节点2的操作的流程图。
根据这样的实施例,节点1和节点2优选地将至少两个测量值用于交换的分组Pk和Pk’的分组丢失字段PLF。以下,作为非限制性例子,假定分组丢失字段PLF可以是两位字段,其可以被设置为要么空闲值“00”、要么三个测量值“01”、“10”和“11”之一。以下,为了简单起见,这三个测量值还将被称为“测量值A”、“测量值B”和“测量值C”。
例如,可以在节点1处实现测量值数组MV(k),MV(k)包括每个测量值A、B和C的元素。数组索引k的范围为0到测量值的数量减1(即,在目前的情况下,k=0、1、2)。
优选地,节点1通常将其分组丢失字段PLF被设置为空闲值的分组Pk发送给节点2(步骤700)。
优选地,当节点1确定应开始往返测量(步骤701)时,它执行产生步骤702,产生步骤702包括每次从节点2接收到其分组丢失字段PLF包括空闲值或测量值NV(k-1)的分组Pk’时,将要发送的分组Pk的分组丢失字段PLF设置为等于测量值MV(k)(k=0、1或2),其中“-”指示模3差。在产生步骤702的第一次迭代,当然,所有的接收的分组Pk’的分组丢失字段PLF都等于空闲值。
例如,产生步骤702可以由节点1借助于产生计数器执行,每次从节点2接收到其分组丢失字段PLF包括空闲值或测量值MV(k-1)的分组Pk’时,节点1使产生计数器加1。每次节点1应发送分组Pk时,它优选地检查产生计数器是否高于0。如果产生计数器高于0,则节点1优选地将要发送的分组Pk的分组丢失字段PLF设置为等于测量值MV(k),并且使产生计数器减1。反之,如果产生计数器等于0,则节点1优选地将要发送的分组Pk的分组丢失字段PLF设置为等于空闲值。
根据特别有利的变型,在产生步骤702,除了产生计数器之外,还使用反射计数器。每次从节点2接收到其分组丢失字段PLF包括测量值MV(k-2)的分组Pk’时,节点1优选地使反射计数器加1。每次节点1应发送分组Pk时,它优选地首先检查反射计数器是否高于0。在肯定的情况下,节点1优选地将要发送的分组Pk的分组丢失字段PLF设置为等于测量值MV(k-1),并且使反射计数器减1,从而执行测量值MV(k-2)的晚反射。在否定情况下(反射计数器等于0),节点1优选地检查产生计数器。如果产生计数器高于0,则节点1优选地将要发送的分组Pk的分组丢失字段PLF设置为等于测量值MV(k),并且使产生计数器减1。反之,如果产生计数器也等于0,则节点1优选地将要发送的分组Pk的分组丢失字段PLF设置为等于空闲值。
在两种情况下(没有或有测量值MV(k-2)的晚反射),产生步骤702导致节点1向节点2发送其分组丢失字段PLF被设置为测量值MV(k)的分组Pk的块B1。此外根据该实施例,块B1的分组Pk可以是不相接的。如果从节点2到节点1的方向上的分组速率低于从节点1到节点2的分组速率,则实际上,在从节点2接收到两个连续的分组Pk’之间,将从节点1发送其分组丢失字段PLF等于空闲值的一些分组Pk。
当节点2接收到在产生步骤702期间产生的具有等于测量值MV(k)的分组丢失字段PLF的分组Pk的块B1时,它优选地将它反射回节点1(步骤703)。
具体地说,同样根据该实施例,节点2优选地连续地朝向节点1反射从节点1接收的分组Pk中包括的分组丢失字段PLF的值。因此,当节点2从节点1接收到其分组丢失字段PLF被设置为空闲值的分组Pk时,它优选地将要发送给节点1的下一个分组Pk’的分组丢失字段PLF设置为空闲值。类似地,当节点2从节点1接收到其分组丢失字段PLF被设置为测量值MV(k)的分组Pk时,它优选地将要发送给节点1的下一个分组Pk’的分组丢失字段PLF设置为测量值MV(k)。
例如,节点2处的反射可以通过实现FIFO队列来执行,每次接收到具有等于测量值MV(k)的分组丢失字段PLF的分组Pk时,节点2将值MV(k)的元素插入在所述FIFO队列中。如前一个实施例中那样,当具有等于测量值MV(k)的分组丢失字段PLF的分组Pk’被发送时,FIFO队列被清空。只要FIFO队列包含元素,节点2就优选地将要发送的分组Pk’的分组丢失字段PLF设置为等于测量值MV(k)。反之,当FIFO队列完全空时,节点2优选地使要发送的分组Pk’的分组丢失字段PLF保持等于空闲值。
因此,在反射步骤703,当节点2接收到其分组丢失字段PLF被设置为测量值MV(k)的分组Pk的块B1时,它基本上将其分组丢失字段PLF被设置为同一测量值MV(k)的分组Pk’的块B2发送回节点1。
根据该实施例,节点1优选地在它接收到块B2的第一个分组时,终止具有测量值MV(k)的分组Pk’的产生步骤702。为了终止产生步骤702,节点1优选地迫使产生计数器为零。如果反射计数器也存在,则节点1也将它设置为值1。
然后,在产生步骤702终止后,节点1优选地开始反射步骤704,反射步骤704包括每次从节点2接收到具有包括测量值MV(k)的分组丢失字段PLF的分组Pk’时发送具有包括测量值MV(k+1)(其中“+”指示模3和)的分组丢失字段PLF的分组Pk。
例如,反射步骤704可以借助于反射计数器(其优选地是用于产生步骤702处的测量值MV(k-2)的晚反射的同一反射计数器,如果存在的话)执行,每次接收到具有等于测量值MV(k)的分组丢失字段PLF的分组Pk’时,节点1使反射计数器加1。当节点1必须发送分组Pk时,它优选地检查计数器值是否高于0。在肯定的情况下,节点1优选地将要发送的分组Pk的分组丢失字段PLF设置为等于测量值MV(k+1),并且使反射计数器减1。反之,如果反射计数器等于0,则节点1优选地将要发送的分组Pk的分组丢失字段PLF设置为等于空闲值。
当块B2的所有分组Pk’都已经被反射时,即,当反射计数器达到值0时,反射步骤704结束。因此,在反射步骤704,节点1基本上将其分组丢失字段PLF被设置为测量值MV(k+1)的分组Pk的块B3送回节点2。
当节点2接收到在反射步骤704期间产生的分组Pk的块B3时,它优选地再次将它反射回节点1(步骤705)。具体地说,因为节点2优选地连续地朝向节点1反射从节点1接收的分组Pk中包括的分组丢失字段PLF的值,所以在反射步骤705,当节点2接收到其分组丢失字段PLF被设置为测量值MV(k+1)的分组Pk的块B3时,它基本上将其分组丢失字段PLF被设置为测量值MV(k+1)的分组Pk’的块B4送回节点1。
反射步骤705可以借助于以上关于反射步骤703描述的FIFO队列来实现。
在反射步骤704结束时,节点1确定往返分组丢失测量是否应被终止(步骤706)。
在肯定的情况下,节点2优选地返回到步骤700,即,它继续将其分组丢失字段PLF被设置为空闲值的分组Pk发送给节点2。
在否定的情况下,节点1优选地设置k=k+2(步骤707),“+”是模3和,并且返回到产生步骤702,从而将其分组丢失字段PLF被设置为测量值MV(k+2)的分组Pk的新的块B1发送给节点2,这些分组Pk然后将经历上述反射步骤703、704和705。
因此,三个测量值MV(0)=A、MV(1)=B和MV(2)=C的使用导致节点1的循环行为。实际上:
-在产生步骤702的第i次迭代(i=1、4、7、10等),节点1产生具有包括测量值A的分组丢失字段PLF的分组Pk的块B1,并且将接收的具有包括测量值A的分组丢失字段PLF的分组Pk’的块B2反射到具有包括测量值B的分组丢失字段PLF的分组Pk的块B3中;
-在产生步骤702的第i次迭代(i=2、5、8、11等),节点1产生具有包括测量值C的分组丢失字段PLF的分组Pk的块B1,并且将接收的具有包括测量值C的分组丢失字段PLF的分组Pk’的块B2反射到具有包括测量值A的分组丢失字段PLF的分组Pk的块B3中;并且
-在产生步骤702的第i次迭代(i=3、6、9、12等),节点1产生具有包括测量值B的分组丢失字段PLF的分组Pk的块B1,并且将接收的具有包括测量值B的分组丢失字段PLF的分组Pk’的块B2反射到具有包括测量值C的分组丢失字段PLF的分组Pk的块B3中。
可以意识到,在每次迭代,块B1的分组Pk和块B3的分组Pk具有不同的测量值,即,MV(k)和MV(k+1)。类似地,在每次迭代,块B2的分组Pk’和块B4的分组Pk’具有不同的测量值,即,MV(k)和MV(k+1)。这有利地允许测量点10适当地区分属于块B1的分组Pk和属于块B3的分组Pk(以及类似地,属于块B2的分组Pk’和属于块B4的分组Pk’),并因此适当地对它们进行计数,而不需要在节点1处的产生和反射之间引入任何暂停。
这有利地允许增加监视的通信量的量。申请人已经估计到,该实施例使得可以监视具有较低的分组速率的方向上发送的分组Pk或Pk’的平均数的1/2。
因此,在测量会话开始和结束之间执行的步骤701-707的每次迭代,节点1和节点2优选地交换其分组丢失字段PLF被设置为测量值MV(k)(B1和B2)或MV(k+1)(B3和B4)的分组的四个块B1、B2、B3、B4。如果没有发生分组丢失,则块B1、B2、B3、B4包括相同数量的分组。
如上所述,测量点10可以在块B1和B3的分组Pk上、或者在块B2和B4的分组Pk’上执行节点1和节点2之间的往返分组丢失测量。
图8示出在从节点2到节点1的方向上的分组速率为从节点1到节点2的方向上的分组速率的大致一半的假设下根据图7的流程图操作的节点1和节点2之间的分组的示例性交换。在图8中,其分组丢失字段PLF等于任何标记值MV(k)(k=0、1、2)的分组Pk和Pk’用粗线表示。
在图8中,可以看出,在产生步骤702的第一次迭代期间,产生N1=4个具有等于测量值MV(k)的分组丢失字段PLF的分组Pk的块B1,块B1的每个分组Pk响应于从节点2接收到其分组丢失字段PLF等于空闲值的相应的分组Pk’而被发送。
如果在块B1的分组Pk当中没有发生分组丢失,则在反射步骤703,节点2反射回N2=4个具有等于测量值MV(k)的分组丢失字段PLF的分组Pk’的块B2。
当节点1接收到块B2的第一个分组Pk’时,它结束产生步骤702,并且开始反射步骤704,以使得它将N3=4个具有等于测量值MV(k+1)的分组丢失字段PLF的分组Pk的块B3反射回节点2。
然后,如果在块B3的分组Pk之中,分组丢失没有发生,则在反射步骤705,节点2将N4=4个具有等于测量值MV(k+1)的分组丢失字段PLF的分组Pk’的块B4反射回节点1。
在产生步骤702的后一次迭代,产生N1=4个具有等于测量值MV(k+2)的分组丢失字段PLF的分组Pk的块B1,块B1的每个分组Pk响应于从节点2接收到其分组丢失字段PLF要么等于空闲值、要么等于测量值MV(k+1)的相应的分组Pk’而被发送。
如果在块B1的分组Pk当中没有发生分组丢失,则在反射步骤703,节点2反射回N2=4个具有等于测量值MV(k+2)的分组丢失字段PLF的分组Pk’的块B2。
当节点1接收到块B2的第一个分组Pk’时,它结束产生步骤702,并且开始反射步骤704,以使得它将N3=4个具有等于测量值MV(k)的分组丢失字段PLF的分组Pk的块B3反射回节点2。
然后,如果在块B3的分组Pk当中没有发生分组丢失,则在反射步骤705,节点2将N4=4个具有等于测量值MV(k)的分组丢失字段PLF的分组Pk’的块B4反射回节点1。依此类推。
如以上关于图3的实施例所描述的,测量点10可以通过对块B1的分组Pk的数量N1、块B3的分组Pk的数量N3进行计数来执行往返分组丢失测量,然后将往返分组丢失计算为N1和N3之间的差值。在相反的方向上,测量点10可以通过对块B2的分组Pk’的数量N2、块B4的分组Pk’的数量N4进行计数来执行往返分组丢失测量,然后将往返分组丢失计算为N2和N4之间的差值。
更具体地说,参照例如从节点1到节点2的方向,测量点10可以实现3个计数器C(k),其中k=0、1、2(即,每个测量值MV(k)一个计数器,其中k=0、1、2),每个计数器对其分组丢失字段PLF等于相应的测量值的分组Pk的数量进行计数。因此,测量点10优选地在每次它检测到具有等于测量值MV(k)的分组丢失字段PLF的分组Pk时使计数器C(k)增加。
优选地,当测量点10检测到其分组丢失字段PLF包括测量值MV(k)的第一个分组Pk时,它优选地读取计数器C(k-2)的当前值。这样,计数器C(k-2)的值在每个计数器被读取时不是固定的风险有利地最小化。
然后,测量点10可以将往返分组丢失计算为计数器C(k)的最后读取的值和计数器C(k+1)的最后读取的值之间的差值。
可以意识到,因为在产生步骤702,节点1只在从节点2接收到分组Pk后才发送块B1的分组Pk,因此还根据这个第二实施例,块B1的分组Pk的数量使得即使当从节点2的分组速率比从节点1的分组速率低得多时,反射步骤703、704也可以被节点2在合理的时间内管理。这允许避免节点2处的拥塞并且提供等于大约2个RTT的测量周期,即,50-100毫秒的数量级的测量周期。
在以上描述的所有的实施例中,节点1在每个产生步骤302、502、702之后执行单个反射步骤304、504、704。然而,这不是限制性的。根据其他实施例,节点1可以在每个产生步骤之后执行N次反射,其中N高于1。N的值可以是固定的(例如,N=3)或可变的。N可以是变化的,例如,如果具有等于标记值的分组丢失字段PLF的分组Pk的数量减少到某个阈值(例如,70%)以下,和/或如果接收序列错误累积并且使得难以区分不同的周期。
节点1处的几次连续的反射的使用有利地使往返分组丢失测量的数量增加。实际上,如果单次反射在某个会话中提供X个测量,则对整个会话使用连续的反射将提供多达2*X-1个测量。
节点1处的多次反射可以以几种方式实现。例如,分组丢失字段PLF可以是两位字段,当测量开始时,该字段被设置为第一测量值1,并且可替代地,当反射时,被设置为测量值2和3。反之,如果分组丢失字段PLF是一位字段,则更短的暂停优选地被节点1执行以用于分开连续的反射,而更长的暂停优选地被执行用来分开不同的迭代。
Claims (14)
1.一种用于在分组交换通信网络(100)中启用往返分组丢失测量的方法,所述方法包括在所述通信网络(100)的第一节点(1)和第二节点(2)之间交换包含分组丢失字段(PLF)的分组(Pk、Pk’),其中所述分组丢失字段(PLF)可设置为空闲值或至少一个测量值,所述交换包括:
a)所述第一节点(1)将具有被设置为所述至少一个测量值的所述分组丢失字段(PLF)的第一分组(Pk)发送给所述第二节点(2);
b)在从所述第一节点(1)接收到所述第一分组(Pk)中的每个分组后,所述第二节点(2)将相应的第二分组(Pk’)发送给所述第一节点(1),所述第二分组(Pk’)具有被设置为所述至少一个测量值的所述分组丢失字段(PLF);以及
c)在从所述第二节点(2)接收到所述第二分组(Pk’)中的每个分组后,所述第一节点(1)将相应的第三分组(Pk)发送给所述第二节点(2),所述第三分组(Pk)具有被设置为所述至少一个测量值的所述分组丢失字段(PLF)。
2.根据权利要求1所述的方法,其中步骤a)包括响应于从所述第二节点(2)接收到分组(Pk’),将要发送给所述第二节点(2)的分组(Pk)的所述分组丢失字段(PLF)设置为等于所述至少一个测量值。
3.根据权利要求1或2所述的方法,其中当所述第一节点(1)从所述第二节点(2)接收到所述第二分组(Pk’)中的第一个分组时,终止步骤a)。
4.根据前述权利要求中任一项所述的方法,其中所述分组丢失字段(PLF)可设置为空闲值或测量值。
5.根据权利要求4所述的方法,其中所述第一节点(1)执行以下至少之一:
-在开始所述步骤c)之前,在所述步骤a)结束时的第一暂停;以及
-在重复所述步骤a)之前,在所述步骤c)结束时的第二暂停,
所述第一暂停和所述第二暂停包括迫使要发送给所述第二节点(2)的每个分组(Pk)的所述分组丢失字段(PLF)为所述空闲值。
6.根据权利要求5所述的方法,其中所述步骤a)和所述步骤c)中的至少一个包括忽略在分别自所述步骤a)和所述步骤c)开始起已过去一个时间间隙之后在所述第一节点(1)处从所述第二节点(2)接收的分组(Pk’)。
7.根据权利要求5所述的方法,其中所述第一节点(1)执行以下至少之一:
-在开始步骤c)之前,自从所述第二节点(2)接收到所述第二分组(Pk’)中的最后一个分组起的另一暂停;以及
-在重复步骤a)之前,自接收到第四分组(Pk’)中的最后一个分组起的又一暂停,所述第四分组(Pk’)是所述第二节点(2)在接收到所述第三分组(Pk)后发送的并且具有被设置为所述测量值的所述分组丢失字段(PLF),
所述另一暂停和所述又一暂停包括迫使要发送给所述第二节点(2)的每个分组(Pk)的所述分组丢失字段(PLF)为所述空闲值。
8.根据权利要求1至3中任一项所述的方法,其中,所述分组丢失字段(PLF)可设置为所述空闲值或者至少两个不同的且排序的测量值中的任何一个。
9.根据权利要求8所述的方法,其中:
-步骤a)包括当从所述第二节点(2)接收到其分组丢失字段(PLF)等于所述空闲值或等于前一个测量值MV(k-1)的分组时,将要发送给所述第二节点(2)的分组(Pk)的所述分组丢失字段(PLF)设置为等于测量值MV(k);
-步骤b)包括在从所述第一节点(1)接收到具有等于所述测量值MV(k)的所述分组丢失字段的第一分组(Pk)中的每个分组后,将相应的第二分组(Pk’)发送给所述第一节点(1),所述第二分组(Pk’)具有被设置为所述测量值MV(k)的所述分组丢失字段;并且
-步骤c)包括在从所述第二节点(2)接收到具有等于所述测量值MV(k)的所述分组丢失字段(PLF)的第二分组(Pk’)中的每个分组后,将相应的第三分组(Pk)发送给所述第二节点(2),所述第三分组(Pk)具有被设置为后一个测量值MV(k+1)的所述分组丢失字段。
10.一种用于在分组交换通信网络(100)中执行往返分组丢失测量的方法,所述方法包括根据权利要求1至9中任一项所述的方法的步骤和以下步骤:
d)在测量点(10)处,对所述第一分组(Pk)的数量(N1)进行计数,并且对所述第三分组(Pk)的数量(N3)进行计数,所述往返分组丢失测量基于所述第一分组(Pk)的数量(N1)和所述第三分组(Pk)的数量(N3)。
11.根据权利要求10所述的方法,其中,所述方法进一步包括将所述第一节点(1)和所述第二节点(2)之间的往返时间测量提供为所述第一分组(Pk)中的第一个检测到的分组和所述第一分组(Pk)中的最后检测到的分组的检测时间T1和T2之间的差值。
12.一种用于在分组交换通信网络(100)的第一节点(1)和第二节点(2)之间交换包含分组丢失字段(PLF)的分组(Pk、Pk’)的方法,所述分组丢失字段(PLF)可设置为空闲值或者至少一个测量值,所述方法包括:
a)所述第一节点(1)将具有被设置为所述至少一个测量值的所述分组丢失字段(PLF)的第一分组(Pk)发送给所述第二节点(2);
b)在从所述第一节点(1)接收到所述第一分组(Pk)中的每个分组后,所述第二节点(2)将相应的第二分组(Pk’)发送给所述第一节点(1),所述第二分组(Pk’)具有被设置为所述至少一个测量值的所述分组丢失字段(PLF);以及
c)在从所述第二节点(2)接收到所述第二分组(Pk’)中的每个分组后,所述第一节点(1)将相应的第三分组(Pk)发送给所述第二节点(2),所述第三分组(Pk)具有被设置为所述至少一个测量值的所述分组丢失字段(PLF)。
13.一种分组交换通信网络(100),所述分组交换通信网络(100)包括被配置为交换包含分组丢失字段(PLF)的分组(Pk、Pk’)的第一节点(1)和第二节点(2),其中所述分组丢字段(PLF)可设置为空闲值或者至少一个测量值,其中:
-所述第一节点(1)被配置为将具有被设置为所述至少一个测量值的所述分组丢失字段(PLF)的第一分组(Pk)发送给所述第二节点(2);
-所述第二节点(2)被配置为在从所述第一节点(1)接收到所述第一分组(Pk)中的每个分组后,将相应的第二分组(Pk’)发送给所述第一节点(1),所述第二分组(Pk’)具有被设置为所述至少一个测量值的所述分组丢失字段(PLF);以及
-所述第一节点(1)被进一步配置为在从所述第二节点(2)接收到所述第二分组(Pk’)中的每个分组后,将相应的第三分组(Pk)发送给所述第二节点(2),所述第三分组(Pk)具有被设置为所述至少一个测量值的所述分组丢失字段(PLF)。
14.根据权利要求13所述的分组交换通信网络(100),进一步包括至少一个测量点(10),所述至少一个测量点(10)被配置为对所述第一分组(Pk)的数量(N1)和所述第三分组(Pk)的数量(N3)进行计数,往返分组丢失测量基于所述第一分组(Pk)的数量(N1)和所述第三分组(Pk)的数量(N3)。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IT201900001289 | 2019-01-29 | ||
IT102019000001289 | 2019-01-29 | ||
PCT/EP2020/051911 WO2020156996A1 (en) | 2019-01-29 | 2020-01-27 | Enabling a round-trip packet loss measurement in a packet-switched communication network |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113508557A true CN113508557A (zh) | 2021-10-15 |
Family
ID=66166467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080011181.1A Pending CN113508557A (zh) | 2019-01-29 | 2020-01-27 | 在分组交换通信网络中启用往返分组丢失测量 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220191117A1 (zh) |
EP (1) | EP3918756A1 (zh) |
KR (1) | KR20210134900A (zh) |
CN (1) | CN113508557A (zh) |
WO (1) | WO2020156996A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023280881A1 (en) * | 2021-07-09 | 2023-01-12 | Telecom Italia S.P.A. | Establishing a connection in a packet-switched communication network |
IT202100030458A1 (it) * | 2021-12-01 | 2023-06-01 | Telecom Italia Spa | Trasmissione di un risultato di misura attraverso una rete di comunicazioni a commutazione di pacchetto |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010045844A1 (zh) * | 2008-10-25 | 2010-04-29 | 华为技术有限公司 | 测量网络性能参数的方法和装置 |
WO2010072251A1 (en) * | 2008-12-22 | 2010-07-01 | Telecom Italia S.P.A. | Measurement of data loss in a communication network |
CN103636169A (zh) * | 2011-07-04 | 2014-03-12 | 日本电气株式会社 | 传输系统、传输设备、分组丢失比率测量方法和分组丢失比率测量程序 |
US20150023179A1 (en) * | 2013-07-19 | 2015-01-22 | Rad Data Communications Ltd. | Triangle loopback |
US20150195159A1 (en) * | 2014-01-09 | 2015-07-09 | Electronics And Telecommunications Research Institute | Apparatus and method for processing mpeg media transport signaling message |
CN104837008A (zh) * | 2015-03-14 | 2015-08-12 | 中国传媒大学 | 一种基于网络丢包损伤的比特流层视频感知质量评价方法 |
WO2017032133A1 (zh) * | 2015-08-26 | 2017-03-02 | 中兴通讯股份有限公司 | 一种丢包率检测方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7978617B2 (en) * | 2006-09-15 | 2011-07-12 | Citrix Systems, Inc. | Methods for providing performance improvement recommendations |
WO2008117379A1 (ja) * | 2007-03-23 | 2008-10-02 | Fujitsu Limited | パケットの伝送品質計測方法、パケット送信計測装置、およびパケット受信計測装置 |
IT201900010362A1 (it) * | 2019-06-28 | 2020-12-28 | Telecom Italia Spa | Abilitazione della misura di perdita di pacchetti round-trip in una rete di comunicazioni a commutazione di pacchetto |
IT201900022458A1 (it) * | 2019-11-29 | 2021-05-29 | Telecom Italia Spa | Misura di perdita di pacchetti round-trip in una rete di comunicazioni a commutazione di pacchetto |
-
2020
- 2020-01-27 EP EP20701614.8A patent/EP3918756A1/en active Pending
- 2020-01-27 WO PCT/EP2020/051911 patent/WO2020156996A1/en unknown
- 2020-01-27 US US17/425,530 patent/US20220191117A1/en active Pending
- 2020-01-27 KR KR1020217026622A patent/KR20210134900A/ko unknown
- 2020-01-27 CN CN202080011181.1A patent/CN113508557A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010045844A1 (zh) * | 2008-10-25 | 2010-04-29 | 华为技术有限公司 | 测量网络性能参数的方法和装置 |
WO2010072251A1 (en) * | 2008-12-22 | 2010-07-01 | Telecom Italia S.P.A. | Measurement of data loss in a communication network |
CN103636169A (zh) * | 2011-07-04 | 2014-03-12 | 日本电气株式会社 | 传输系统、传输设备、分组丢失比率测量方法和分组丢失比率测量程序 |
US20150023179A1 (en) * | 2013-07-19 | 2015-01-22 | Rad Data Communications Ltd. | Triangle loopback |
US20150195159A1 (en) * | 2014-01-09 | 2015-07-09 | Electronics And Telecommunications Research Institute | Apparatus and method for processing mpeg media transport signaling message |
CN104837008A (zh) * | 2015-03-14 | 2015-08-12 | 中国传媒大学 | 一种基于网络丢包损伤的比特流层视频感知质量评价方法 |
WO2017032133A1 (zh) * | 2015-08-26 | 2017-03-02 | 中兴通讯股份有限公司 | 一种丢包率检测方法及装置 |
Non-Patent Citations (1)
Title |
---|
邓晓衡;陈志刚;张连明;曾碧卿;: "MP-Start:基于带宽测量的分阶段TCP慢启动机制", 通信学报, no. 11 * |
Also Published As
Publication number | Publication date |
---|---|
KR20210134900A (ko) | 2021-11-11 |
EP3918756A1 (en) | 2021-12-08 |
WO2020156996A1 (en) | 2020-08-06 |
US20220191117A1 (en) | 2022-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2374241B1 (en) | Measurement of data loss in a communication network | |
US9699062B2 (en) | Performance measurement of a link of a packet-switched communication network | |
CN102045219B (zh) | 一种高效的单端可用带宽测量方法 | |
JP2004524782A (ja) | インターネットにおけるボトルネック帯域幅の強固なリアルタイム推定のための方法及び装置 | |
CN113508557A (zh) | 在分组交换通信网络中启用往返分组丢失测量 | |
CN114747169B (zh) | 分组交换通信网络中的往返分组丢失测量 | |
CN114175592B (zh) | 启用往返分组丢失测量的方法和分组交换通信网络 | |
US11165671B2 (en) | Performance measurement in a packet-switched communication network | |
US20230087379A1 (en) | Packet loss measurement in a packet-switched communication network | |
US11121938B2 (en) | Performance measurement in a packet-switched communication network | |
CN109196823B (zh) | 对多点分组流的性能测量 | |
Ramadža et al. | Network performance monitoring within MPLS traffic engineering enabled networks | |
US20230403221A1 (en) | One-way delay measurement in a packet-switched communication network | |
US20230396525A1 (en) | One-way delay measurement in a packet-switched communication network | |
US20240064090A1 (en) | Round-trip time measurement in a packet-switched communication network | |
CN116965005A (zh) | 分组交换通信网络中的往返时间测量 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |