对通信网络中的数据流量的测量的制作方法

文档序号:7978359阅读:309来源:国知局
对通信网络中的数据流量的测量的制作方法
【专利摘要】本发明公开了一种用于在通信网络的节点处对数据流量执行测量的方法。节点包括输入接口和输出接口。输入接口接收第一分组并检查它们是否被标记。如果第一分组被标记,则更新全局输入参数。如果第一分组寻址到输出接口,还更新局部输入参数。输出接口接收包括第一分组的至少一部分的第二分组,并检查它们是否被标记。如果第二分组被标记,则,如果第二分组接收自输入接口,则更新局部输出参数。此外,还更新全局输出参数。该方法还包括基于全局输入参数、局部输入参数、全局输出参数和局部输出参数来对数据流量执行测量。
【专利说明】对通信网络中的数据流量的测量
【技术领域】
[0001]本发明涉及通信网络领域。具体地,本发明涉及用于对通信网络中所传输的数据流量执行测量,特别是数据丢失测量和/或时间测量(具体地,延迟和/或到达间隔(interarrival)抖动的测量)的方法。此外,本发明涉及通信网络中执行这样的方法的节点。
【背景技术】
[0002]在分组交换通信网络中,数据是以分组的形式传输的,其中分组从源节点经由可能的中间节点而被路由到目的地节点。示例性分组交换网络有以太网网络,IP网络和MPLS网络。
[0003]另一方面,在电路交换网络中,数据是以持续的比特流的形式传输的,其中比特流在准同步或同步帧内从源节点被运载到目的地节点。示例性电路交换网络有roH,SDH,Sonet和OTN网络。
[0004]以下,表述“数据单元”将指代在通信网络中传输的数据流的一部分。具体地,在分组交换网络的情况中,数据单元可以是分组或分组的一部分。另外,在电路交换网络的情况中,数据单元可以是准同步帧、准同步帧的一部分,同步帧或同步帧的一部分。
[0005]或者在分组交换网络中或者在电路交换网络中从源节点发送的数据不总是到达目的地节点,即,它们有可能在通过网络进行的传输期间丢失。
[0006]数据的丢失可能是由不同原因引起的。例如,节点或链路可能故障,从而引起完全的数据丢失直到故障被绕过或修复。可替换地,在分组交换网络中,中间节点可能由于其端口拥塞而丢弃分组内的数据。另外,在分组交换网络中和在电路交换网络中,数据都可能因为它们包含比特错误而被中间节点或被目的地节点丢弃。
[0007]当通过经由分组交换网络或电路交换网络传输数据来提供服务时,传输期间的数据丢失率影响该服务的服务质量(QoS)。
[0008]另外,数据单元由源节点在发送时刻发送并且由目的地节点在接收时刻接收。在发送时刻和接收时刻之间过去的时间通常称为“单路延迟”(或简称为“延迟”)。数据单元的延迟用下式给出:
[0009]D (i) =R1-Si, [I]
[0010]其中,Si是数据单元的发送时刻而Ri是接收时刻。
[0011]数据单元的延迟主要取决于数据单元从源到目的地跨越的可能的中间节点的数目、数据单元在源节点处和在每个可能的中间节点处(主要在这些节点的缓冲器内)的持久时间以及沿链路的传播时间(传播时间又取决于链路的长度和它们的容量)。在分组交换网络中,在数据单元通过每个节点被逐跳路由的情况中,数据单元跨越的可能的中间节点的数目和数据单元在每个节点处的持久时间二者都是不可预测的。相应地,数据单元的延迟几乎是不可预测的。
[0012]另外,同一数据流的多个数据单元可能具有不同的延迟。在分组交换通信网络中,同一数据流的两个数据单元(即分组)的延迟的差称为“到达间隔抖动”。具体地,如果Si和Sj是第一分组i和第二分组j的发送时刻,并且Ri和Rj是第一分组i和第二分组j的接收时刻,则到达间隔抖动可以表示为:
[0013]J(i, j) = (Rj -Ri) - (Sj-Si) [2]
[0014]当通信服务(具体地,实时语音或数据服务诸如呼叫、会议呼叫、视频会议等等)借助通信网络被提供时,承载服务的数据流的延迟和到达间隔抖动强烈地影响服务的端用户所感知到的服务质量(QoS)。
[0015]因此,测量承载服务的数据流的数据丢失和延迟/到达间隔抖动是网络运营商特别关心的。
[0016]W02010/072251(以同一 申请人:的名义)公开了一种用于测量通过通信网络从发送节点传输到接收节点的数据流的数据丢失的方法。在发送数据流的数据单元之前,发送节点标记每个数据单元以将数据流按块分割。具体地,发送节点通过将每个数据单元的报头的比特设置为“I”或“O”来标记每个数据单元。该标记产生块的序列,其中,用“I”标记的数据单元的块与用“O”标记的数据单元的块在时间上交替。这些块具有相同的持续时间,称为“块周期” Tb (例如5分钟)。此外,在标记数据单元的同时,每次用“I”标记一个数据单元时,发送节点将第一计数器Cl增加1,每次用“O”标记一个数据单元时,发送节点将第二计数器CO增加I。被标记的数据单元随后在接收节点处被接收。每次接收节点接收到一个数据单元时,其检查其标记,如果标记为” I ”,则增大第三计数器C’ 1,如果标记为“0”,则增大第四计数器C’o。
[0017]根据W02010/072251,当发送节点和接收节点如上所述地操作时,与发送节点和接收节点协作的管理服务器周期地检测计数器Cl、CO、C’ I和C’ O的值,并使用它们来计算数
据丢失。
[0018]PCT/EP2009/067991(以同一 申请人:的名义)公开了一种用于对从通信网络的发送节点传输到接收节点的数据流执行时间测量(具体地,测量延迟和/或到达间隔抖动)的方法。

【发明内容】

[0019]由W02010/072251所记载的方案适合用于执行对给定数据流的测量,假设每个涉及的节点(即,端到端测量的情况下的发送和接收节点,当需要针对端到端路径的每个单个跨度的测量时还有中间节点)能够识别该数据流。换而言之,在决定是否使正确的计数器增大之前,每个涉及的节点应该能够从所有接收的数据单元中辨识出属于那个数据流的数据单元。
[0020]然而, 申请人:已经认识到,在涉及跨网络传输若干数据流的一些应用中,对这些数据流的整体提供指示网络的节点和链路的行为的测量而不在单个数据流之间进行区分可能是有帮助的。
[0021]鉴于以上, 申请人:已经解决了该问题,提供了一种用于对在通信网络中传输的数据流量执行测量的方法,该方法能够提供对数据流的测量而不需要识别该数据流,即不需要从通信网络中所传输的所有数据单元中辨识出属于该数据流的数据单元。
[0022]在以下描述和权利要求书中,表述“执行测量”将指代测量数据丢失的操作和/或执行时间测量的操作。
[0023]此外,在以下描述和权利要求书中,表述“测量数据丢失”将指代测量在第一接口检测到的数据单元的数目与在第二接口检测到的数据单元的数目之间的差的操作,该差对应于在从第一接口到第二接口的传输中丢失的数据单元的数目。
[0024]此外,在以下描述和权利要求书中,表述“执行时间测量”将指代测量以下内容的操作:
[0025]通过从第一接口传输到第二接口而在数据单元上引入的延迟;和/或
[0026]通过从第一接口传输到第二接口而在一对数据单元上引入的到达间隔抖动。
[0027]第一接口和第二接口可以是同一节点的接口。例如,第一接口可以是一节点的第一端口的输入接口而第二接口可以是同一节点的第二端口的输出接口。在此情况下,测量将称作“节点测量”。
[0028]第一接口和第二接口可以是不同节点的接口。例如,第一接口可以是第一节点的一端口的输出接口,而第二接口可以是第二节点的一端口的输入接口,其中第二节点借助于通过第一和第二接口结束于相对末端的链路而连接到第一节点。在此情况下,测量将称作“链路测量”。
[0029]另外,在以下描述和权利要求书中,表述“标记数据单元”将指代将数据单元的特征设置为预定义的值的操作。例如,标记数据单元的操作可以包括将数据单元的一个或多个比特(例如其报头的一个比特或比特序列)设置为预定义的值的操作,将其频率或其相位设置为预定义的值的操作,等等。
[0030]根据第一方面,本发明提供一种用于在通信网络的节点处对数据流量执行测量的方法,所述节点包括至少输入接口和输出接口,
[0031]所述方法包括,在所述输入接口处,接收第一数据单元以及:
[0032]a)对于每个接收的第一数据单元,检查所述第一数据单元是否被用特征标记,所述特征被设置成从第一值和第二值中选择的任意值;
[0033]b)如果所述第一数据单元被标记,则当所述特征被设置成所述第一值时更新全局输入参数;以及
[0034]c)当所述特征被设置为所述第一值时并且当所述第一数据单寻址到所述输出接口时,更新局部输入参数,
[0035]所述方法还包括,在所述输出接口处,接收第二数据单元,所述第二数据单元包括所述第一数据单元的至少一部分,以及:
[0036]d)对于每个接收的第二数据单元,检查所述第二数据单元是否被用所述特征标记,所述特征被设置成从所述第一值和所述第二值中选择的任意值;
[0037]e)如果所述第二数据单元被标记,则当所述特征被设置成所述第一值时并且当所述第二数据单元接收自所述输入接口时,更新局部输出参数;以及
[0038]f)当所述特征被设置成所述第一值时,更新全局输出参数,
[0039]所述方法还包括:
[0040]g)基于以下中的至少一者来对所述数据流量执行测量:所述全局输入参数,所述局部输入参数,所述全局输出参数和所述局部输出参数。
[0041]全局输入参数可以包括全局输入计数器或与全局输入计数器相关联的输入时间戳;全局输出参数可以包括全局输出计数器或与全局输出计数器相关联的输出时间戳;局部输入参数可以包括局部输入计数器或与局部输入计数器相关联的输入时间戳;局部输出参数可以包括局部输出计数器或与局部输出计数器相关联的输出时间戳。
[0042]根据第一实施例:
[0043]在所述步骤b),更新步骤包括在接收到具有被设置成所述第一值的所述特征的每个第一数据单元时,增大全局输入计数器;
[0044]在所述步骤c),更新步骤包括在接收到具有被设置成所述第一值的所述特征并且寻址到所述输出接口的每个第一数据单元时,增大局部输入计数器;
[0045]-在所述步骤e),更新步骤包括在接收到具有被设置成所述第一值的所述特征并且接收自所述输入接口的每个第二数据单元时,增大局部输出计数器;
[0046]-在所述步骤f),更新步骤包括在接收到具有被设置为所述第一值的所述特征的每个第二数据单元时,增大全局输出计数器;以及
[0047]在所述步骤g),执行测量包括基于以下中的至少一者来计算数据丢失:所述全局输入计数器,所述局部输入计数器,所述全局输出计数器和所述局部输出计数器。
[0048]根据特别有利的变形例:
[0049]在所述步骤b),更新步骤包括在接收到具有被设置成所述第一值的所述特征的预定第一数据单元时,设置等于当前时刻的全局输入时间戳;
[0050]在所述步骤c),更新步骤包括如果所述预定第一数据单元寻址到所述输出接口,则在接收到所述预定第一数据单元时设置等于所述当前时刻的局部输入时间戳;
[0051 ] 在所述步骤e),更新步骤包括如果所述预定第二数据单元接收自所述输入接口,则在接收到具有被设置成所述第一值的所述特征的预定第二数据单元时设置等于所述当前时刻的局部输出时间戳;
[0052]-在所述步骤f),更新步骤包括在接收到所述预定第二数据单元时设置等于所述当前时刻的全局输出时间戳;以及
[0053]在所述步骤g),执行测量包括基于以下中的至少一者来执行时间测量:所述全局输入时间戳,所述局部输入时间戳,所述全局输出时间戳和所述局部输出时间戳。
[0054]全局输入时间戳是与全局输入计数器相关联的输入时间戳;全局输出时间戳是与全局输出计数器相关联的输出时间戳;局部输入时间戳是与局部输入计数器相关联的输入时间戳;局部输出时间戳是与局部输出计数器相关联的输出时间戳。
[0055]在所述步骤g),执行时间测量可以包括测量所述数据流量的延迟和到达间隔抖动中的至少一者。
[0056]优选地:
[0057]在所述步骤b),更新步骤还包括设置另外的全局输入时间戳,所述另外的全局输入时间戳等于与所述预定第一数据单元时间上相邻的另外的预定第一数据单元被接收到的时刻;
[0058]-在所述步骤C),更新步骤还包括设置另外的局部输入时间戳,所述另外的局部输入时间戳等于所述另外的预定第一数据单元被接收到的所述时刻;
[0059]在所述步骤e),更新步骤还包括设置另外的局部输出时间戳,所述另外的局部输出时间戳等于与所述预定第二数据单元时间上相邻的另外的预定第二数据单元被接收到的时刻;
[0060]-在所述步骤f),更新步骤还包括设置另外的全局输出时间戳,所述另外的全局输出时间戳等于所述另外的预定第二数据单元被接收到的时刻;以及
[0061]在所述步骤g),执行时间测量包括测量到达间隔抖动,所述到达间隔抖动是以下之间的差:
[0062]以下之一:分别地,所述全局输入时间戳,所述局部输入时间戳,所述全局输出时间戳和所述局部输出时间戳;和
[0063]以下之一:分别地,所述另外的全局输入时间戳,所述另外的局部输入时间戳,所述另外的全局输出时间戳和所述另外的局部输出时间戳。
[0064]优选地,在所述步骤g),执行测量包括基于所述局部输入参数和所述局部输出参数在所述节点内执行与所述数据流量相关的测量。
[0065]可替代地,在所述步骤g),执行测量包括在所述节点与向所述节点发送所述第一数据单元的第一另外的节点之间的第一链路上,基于所述全局输入参数和由所述第一另外的节点生成的另外的全局输出参数来执行与所述数据流量相关的测量。
[0066]可替代地,在所述步骤g),执行测量包括在所述节点与从所述节点接收所述第二分组的第二另外的节点之间的第二链路上,基于所述全局输出参数(Y2(l))和由所述第二另外的节点生成的另外的全局输入参数来执行与所述数据流量相关的测量。
[0067]根据优选实施例,该方法还包括,如果在步骤a)判定所述第一数据单元未被标记,则在执行所述步骤c)之前通过将所述特征设置成所述第一值来标记所述第一数据单
J Li ο
[0068]根据优选实施例,该方法还包括,如果在步骤d)判定所述第二数据单元未被标记,则在执行所述步骤f)之前通过将所述特征设置为所述第一值来标记所述第二数据单
J Li ο
[0069]优选地,所述步骤g)由管理服务器协同所述节点来执行。可替换地,所述步骤g)由所述节点执行。
[0070]根据第二方面,本发明提供一种用于通信网络的节点,所述节点包括至少输入接口和输出接口,
[0071]其中所述输入接口被配置为接收第一数据单元以及:
[0072]a)对于每个接收的第一数据单元,检查所述第一数据单元是否被用特征标记,所述特征被设置成从第一值和第二值中选择的任意值;
[0073]b)如果所述第一数据单元被标记,则当所述特征被设置成所述第一值时,更新全局输入参数;以及
[0074]c)当所述特征被设置成所述第一值时并且当所述第一数据单元寻址到所述输出接口时,更新局部输入参数,
[0075]以及其中所述输出接口被配置为接收第二数据单元,所述第二数据单元包括所述第一数据单元的至少一部分,以及:
[0076]d)对于每个接收的第二数据单元,检查所述第二数据单元是否被用所述特征标记,所述特征被设置成从所述第一值和所述第二值中选择的任意值;
[0077]e)如果所述第二数据单元被标记,则当所述特征被设置成所述第一值时并且当所述第二数据单元接收自所述输入接口时,更新局部输出参数;以及
[0078]f)当所述特征被设置成所述第一值时,更新所述全局输出参数。
[0079]所述节点还被配置为提供所述全局输入参数、所述局部输入参数、所述全局输出参数和所述局部输出参数以用于对所述数据流量执行测量。
[0080]优选地,所述节点还被配置为基于以下中的至少一者来对所述数据流量执行测量:所述全局输入参数,所述局部输入参数,所述全局输出参数和所述局部输出参数。
[0081]根据第三方面,本发明提供一种用于通信网络的管理服务器,所述管理服务器被配置为与以上所述的节点协作,所述管理服务器被配置为基于以下中的至少一者来对所述数据流量执行测量:所述全局输入参数,所述局部输入参数,所述全局输出参数和所述局部输出参数。
[0082]根据第四方面,本发明提供一种计算机程序产品,可加载在至少一个计算机的存储器中并且包括软件代码部分,软件代码部分用于当所述产品在计算机上运行时执行以上所述的方法的步骤。
[0083]根据第五方面,本发明提供一种用于在通信网络的节点处接收数据流量的方法,该节点包括至少输入接口和输出接口,该用于接收的方法包括用于如上所述对数据流量执行测量的方法。
【专利附图】

【附图说明】
[0084]本发明将从以下要参考附图阅读的详细描述变得更清楚,以下详细描述通过示例而非限制给出,在附图中:
[0085]图1示意性地示出示例性分组交换网络;
[0086]图2示意性地示出根据本发明一个实施例的分组的结构;
[0087]图3更详细地示出图1的通信网络的节点的结构;
[0088]图4是根据本发明第一实施例的图3的节点的输入接口的操作的流程图;
[0089]图5是根据本发明第一实施例的图3的节点的输出接口的操作的流程图;
[0090]图6a和6b示意性地示出分别应用于图1的通信网络的一部分的节点测量和链路测量;以及
[0091]图7示意性地示出通过图1的通信网络传输的数据流。
具体实施例
[0092]以下,将参考在分组交换网络中测量数据丢失的具体的示例性情况来详细描述根据本发明第一优选实施例的方法。
[0093]图1示意性地示出示例性分组交换通信网络CN,其包括五个节点NI, N2, “.Ν5。通信网络CN可以是例如以太网网络、因特网网络或任何其它类型的分组交换通信网络。节点NI,Ν2,…Ν5按照部分网状拓扑、借助物理链路LI,L2,…,L7而彼此互连。图1中示出的节点的数目和通信网络CN的拓扑仅仅是示例性的。
[0094]信网络CN适合于与管理服务器MS协作。在图1中,管理服务器MS连接到节点Ν3。这仅仅是示例性的,因为管理服务器MS可以通过其节点NI,Ν2,…,Ν5中的任何一个连接到通信网络CN。可替换地,管理服务器MS可以集成在通信网络CN的节点Ν1,Ν2,…,N5的任何一个中。
[0095]通信网络CN的节点NI,N2,…,N5被配置用于沿着链路LI,L2,…,L7以分组Pki的形式相互交换数据流量。如图2中所示,每个分组Pki包括报头Hi和有效载荷Pi。有效载荷Pi包括要被传输的数据。另外,优选地,报头Hi包括用于路由分组Pki的信息,诸如源节点地址和目的地节点地址。
[0096]根据本发明的实施例,分组Pki还包括为了标记分组Pki而预留的至少一个标记比特。更优选地,分组Pki包括两个标记比特:
[0097]第一标记比特bl,指示分组Pki是否被标记。例如,bl=0指示该分组未被标记,而bl=l指示分组Pki被标记;以及
[0098]第二标记比特b2,指示分组Pki的标记。b2=0指示分组Pki被用O标记,而b2=l指示分组Pki被用I标记。
[0099]因此,分组Pki可以被标记或不被标记,并且如果其被标记,则其可能具有两个可替换的标记:0或I。标记比特bl,b2优选地被通信网络CN的节点用于执行测量(具体地,数据丢失测量和/或时间测量),如以下将详细描述的。
[0100]标记比特bl,b2优选地被包括在分组Pki的报头Hi中。标记比特bl,b2可以是例如两个比特,其中对分组Pki进行格式化所依据的协议还没有向这两个比特指派具体的功能。可替换地,标记比特bl,b2可以是具有其他用处的字段的两个比特,诸如例如IP分组中的优先字段的两个比特,或MPLS分组中的标签字段的两个比特。
[0101]图3更详细地示出通信网络CN的节点Ni的结构,节点Ni可以是节点N1,N2,…,N5中的任何一个。节点Ni可以是例如IP路由器(在网络CN是IP网络的情况中)、以太网交换机(在网络CN是以太网网络的情况中)等等。
[0102]节点Ni包括多个例如η个`双向端口,每个端口借助对应的链路双向地将节点Ni连接到通信网络CN的相邻节点的端口。通过非限制性示例,图3中示出的节点Ni包括四个端口 (η=4)3ΡΡ1,Ρ2,Ρ3,Ρ4。每个节点NI,N2,…,N5当然可以根据相邻节点的数目而具有不同数目的端口。
[0103]每个端口 Pl,P2,P3,P4优选地包括适合用于通过对应的链路从对应的相邻节点接收分组的输入接口 Iinl,Iin2,Iin3,Iin4和适合用于通过对应的链路向对应的相邻节点发送分组的输出接口 1utl,1ut2,1ut3,1ut4。在节点Ni内,每个端口的输入接口连接到其它(η-1)个端口的输出接口,如由图3中的虚箭头所示意性地指示的。换而言之,节点Ni被配置为使得通过端口的输入接口接收的分组可以通过其它端口中的任何一个的输出接口被发送。
[0104]每个输入接口 Iinl, Iin2, Iin3, Iin4优选地实现一对全局输入计数器和(n_l)对局部输入计数器。具体地,参考图3的示例性节点Ni:
[0105]端口 Pl的输入接口 Iinl实现:
[0106]一对全局输入计数器Xl⑴,Xl (O)以及
[0107](n-l)=3 对局部输入计数器 X12(1),X12(0) ;X13 (I),X13 (O) ;X14 (I),X14 (O),
[0108]端口 P2的输入接口 I in2实现:
[0109]一对全局输入计数器X2⑴,X2 (O)以及
[0110](n-l)=3 对局部输入计数器 X21(1),X21(0) ;X23 (I),X23 (O) ;X24 (I),X24 (O);[0111]端口 P3的输入接口 I in3实现:
[0112]一对全局输入计数器X3(1),X3(0)以及
[0113](n-l)=3 对局部输入计数器 X31(1),X31(0) ;X32 (I),X32 (O) ;X34 (I),X34 (O);以及
[0114]端口 P4的输入接口 I in4实现:
[0115]一对全局输入计数器X4(1),X4(0)以及
[0116](η-1) =3 对局部输入计数器 Χ41 ⑴,Χ41 (O) ;X42 (I),Χ42 (O) ;X43 (I),Χ43 (O)。
[0117]类似地,每个输出接口 1utl, 1ut2, 1ut3, 1ut4优选地实现一对全局输出计数器和(η-1)对局部输出计数器。具体地,参考图3的示例性节点Ni:
[0118]端口 Pl的输出接口 1utl实现:
[0119]一对全局输出计数器Yl(I),Yl (O)以及
[0120](n-l)=3 对局部输出计数器 Y21(l),Y21(0) ;Υ31 (I),Υ31 (O) ;Υ41 (I),Υ41 (O),
[0121]端口 Ρ2的输出接口 1ut2实现:
[0122]一对全局输出计数器Y2(l),Y2(0)以及
[0123](η-1)=3 对局部输出计数器 Y12(l),Υ12(0) ;Υ32 (I),Υ32 (O) ;Υ42 (I),Υ42 (O);
[0124]端口 Ρ3的输出接口 1ut3实现:
[0125]一对全局输出计数器Y3(1),Y3(0)以及
[0126](η-1)=3 对局部输出计数器 Y13(l),Υ13(0) ;Υ23 (I),Υ23 (O) ;Υ43 (I),Υ43 (O);以及
[0127]端口 Ρ4的输出接口 1ut4实现:
[0128]一对全局输出计数器Y4(l),Y4(0)以及
[0129](η-1)=3 对局部输出计数器 Y14(l),Υ14(0) ;Υ24 (I),Υ24 (O) ;Υ34 (I),Υ34 (O)。
[0130]如以上所提及的,节点Ni通过端口 Ρ1,Ρ2,Ρ3和Ρ4与相邻节点交换数据流量。具体地,其通过输入接口 Iinl,Iin2,Iin3,Iin4从相邻节点接收分组,结束它作为目的地节点的分组以及将其余分组通过输出接口 1utl, 1ut2, 1ut3, 1ut4发送到相邻节点。另夕卜,其还生成它作为源节点的分组并将它们通过输出接口 1utl,1ut2,1ut3,1ut4发送给相邻节点。
[0131]现在将参考图4来详细描述根据本发明第一实施例的端口 Pl的输入接口 Iinl的操作。
[0132]输入接口 Iinl从将它连接到与节点Ni相邻的节点的链路接收分组Pkl。分组Pkl可以属于不同数据流,所述不同数据流具有不同源和/或目的地的并且其从源到目的地的路径跨越至少节点Ni。相应地,输入接口 Iinl在其它端口 P2,P2和P3的输出接口 1ut2,1ut3和1ut4中分发分组PSl。
[0133]在节点Ni处接收到的分组Pkl中的至少一些可以是被节点Ni上游的节点标记了的。被标记的分组Pkl的第一标记比特等于“1”,而未被标记的分组Pkl的第一标记比特bl等于“O”。并且,每个被标记的分组Pkl可以让其第二标记比特b2等于“I”(指示该分组Pkl被用I标记)或“O” (指示该分组Pkl被用O标记)。优选地,适合用于标记分组的通信网络CN的所有节点(包括节点Ni,如以下将详细描述的)以周期Tb周期性地改变所施加的标记(I或O),周期Tb以下将称作“块周期”。适合用于标记分组的通信网络CN的所有节点(包括节点Ni)优选地被相互地同步,以使得在每个时刻它们施加相同的标记。以下,假定在奇数块周期Tl,T3,一Tk-1 (都具有持续时间Tb)期间,被配置为标记分组的节点施加标记1,而在偶数块周期T2, T4,…Tk期间,被配置为标记分组的节点施加标记O。因此,在节点Ni处接收到的在奇数块周期T1,T3,…Tk-1期间被标记的分组Pkl被用I标记,而在节点Ni处接收到的在偶数块周期Τ2,Τ4,…Tk期间被标记的分组Pkl被用O标记。
[0134]块周期Tb可以由网络运营商按照期望的数据丢失测量率设置(如将在以下详细描述的,块周期Tb也是测量周期)。例如,块周期Tb可以等于5分钟。
[0135]当在节点Ni处开始数据丢失测量时(例如通过发送适合的命令给节点Ni,该命令可以包含块周期Tb的值),输入接口 Iinl优选地将它的全局输入计数器Xl(I),Xl (O)和它的局部输入计数器 Χ12(1),Χ12(0) ;Χ13(1),Χ13(0) ;Χ14 (I),Χ14 (O)设置为 0(步骤 401)。
[0136]在接收到分组Pkl时(步骤402),输入接口 Iinl优选地例如通过读取其第一标记比特bl的值来检查分组Pkl是否被标记(步骤403)。
[0137]如果分组Pkl已经被标记(如以下将描述的,分组Pkl可以被节点Ni上游的节点标记),输入接口 Iinl优选地通过读取其第二标记比特b2来检查其标记(步骤404)。如果分组Pkl被用I标记(b2=l),则输入接口 Iinl优选地将全局输入计数器Xl (I)增大I (步骤405)。否则,如果分组Pkl被用O标记(b2=0),则输入接口 Iinl优选地将其它全局输入计数器Xl (O)增大I (步骤405’)。
[0138]如果在步骤403输入接口 Iinl判定分组Pkl未被标记,则其优选标记它。具体地,为了标记分组Pkl,输入接口 Iinl首先判定当前块周期是奇数块周期T1,T3,…Tk-1还是偶数块周期T2,T4,一Tk(步骤406)。如果当前块周期是奇数块周期Tl,Τ3,…Tk-1,则输入接口 Iinl优选地通过将`分组Pkl的第二标记比特b2设置为I来用I标记分组Pkl (步骤407)。否则,如果当前块周期是偶数块周期T2,T4,一Tk,则输入接口 Iinl优选地通过将分组Pkl的第二标记比特b2设置为O来用O标记分组Pkl (步骤407’)。在步骤407和407’,输入接口 Iinl还优选地将第一标记比特bl设置为1,以用于指示分组Pkl现在已被
T 己 O
[0139]随后,输入接口 Iinl优选按照分组Pkl的标记和按照分组Pkl在节点Ni内已经要被转发到的输出接口(即1ut2,1ut3或1ut4)增大局部输入计数器。
[0140]具体地,不论分组Pkl是否被输入接口 Iinl在407-407’标记或其在输入接口Iinl处被接收到时已经被标记,如果其标记等于I (步骤408),贝U输入接口 Iinl检查其输出接口(步骤409)并且:
[0141]如果分组Pkl要被转发到输出接口 1ut2,则其增大局部输入计数器X12(l)(步骤410);
[0142]如果分组Pkl要被转发到输出接口 1ut3,则其增大局部输入计数器X13(l)(步骤410,);以及
[0143]如果分组Pkl要被转发到输出接口 1ut4,则其增大局部输入计数器X14(l)(步骤410")。
[0144]另一方面,不论分组Pkl是否被输入接口 Iinl在步骤407-407’标记或其在输入接口 Iinl被接收到时已经被标记,如果其标记等于O (步骤408),则输入接口 Iinl检查其输出接口(步骤411)以及:
[0145]如果分组Pkl要被转发到输出接口 1ut2,则其增大局部输入计数器X12(0)(步骤412);
[0146]如果分组Pkl要被转发到输出接口 1ut3,则其增大局部输入计数器X13(0)(步骤412,);以及
[0147]如果分组Pkl要被转发到输出接口 1ut4,则其增大局部输入计数器X14(0)(步骤412")。
[0148]输入接口 Iinl随后将分组Pkl转发到相关的输出接口(在图4中未示出的步骤)。
[0149]如果输入接口 Iinl判定节点Ni是分组Pkl的目的地节点,则分组Pkl不被转发到任何输出接口并且没有局部输入计数器被增大。
[0150]以上操作被输入接口 Iinl针对每个接收到的分组Pkl重复。假设节点Ni (具体地,输入接口 Iinl)和最初标记分组(这些分组在节点Ni处被接收到时已被标记)的(一个或多个)上游节点被相互同步(即,它们使用相同的块周期Tb并且具有经同步的本地时钟,它们使用该本地时钟来判定当前块周期是偶数还是奇数块周期),以上操作的结果是形成在时间上交替的用I标记的分组Pkl的块和用O标记的分组Pkl的块,所有块具有等于块周期Tb的相同持续时间。
[0151]在奇数块周期Tl,T3,…Tk-1期间,分组Pkl被用I标记,而在偶数块周期T2,T4,…Tk期间,分组Pkl被用O标记。另外,在奇数块周期T1,T3,…Tk-1期间,全局输入计数器Xl (I)的值和局部输入计数器乂12(1)413(1)414(1)的值增大,而全局输入计数器Xl(O)和局部输入计数器乂12(0),乂13(0),乂14(0)的值不变。另一方面,在偶数块周期Τ2,Τ4,…Tk期间,全局输入计数器Xl (O)和局部输入计数器Χ12(0),Χ13(0),Χ14(0)的值增大,而全局输入计数器Xl (I) 和局部输入计数器乂12(1)313(1),乂14(1)的值不变。
[0152]该对全局输入计数器Xl(I),Xl(O)对在输入接口 Iinl处接收的已被标记的分组Pkl 计数,而(η-1)=3 对局部输入计数器 X12(l),Χ12(0) ;Χ13 (I), Χ13 (O) ;Χ14 (I),Χ14 (O)对在节点Ni内由输入接口 Iinl发送的所有分组Pkl按照它们必须被发送到的输出接口进行计数。
[0153]由于输入接口 Inl将每个分组Pkl转发到输出接口,所以分组Pkl在输出接口1ut2, 1ut3和1ut4之间被分发。
[0154]所有其它输入接口 Iin2,Iin3,Iin4的操作与输入接口 Iinl相同。因此将不重复详细描述。
[0155]现在将参考图5来详细描述根据本发明第一实施例的端口 P2的输出接口 1ut2的操作。
[0156]输出接口 1ut2接收来自其它端口 P1,P3和P4的输入接口 Iinl,Iin3和Iin4的分组Pk2和由节点Ni本身源发的分组Pk2,并将它们合并到单个分组Pk2流中,此外,该单个分组Pk2流随后沿着退出输出接口 1ut2的链路被转发到与节点Ni相邻的节点。多个分组Pk2可以属于不同数据流,所述不同数据流具有不同源和/或目的地并且其从源到目的地的路径跨越至少节点Ni。
[0157]当在节点Ni处开始数据丢失测量时,输出接口 1ut2优选地将其全局输出计数器Y2⑴,Y2 (O)和其局部输出计数器Y12⑴,Y12 (O) ;Y32⑴,Υ32 (O) ;Υ42⑴,Υ42 (O)设置为0(步骤501)。
[0158]在接收到分组Pk2时(步骤502),输出接口 1ut2优选地例如通过读取分组Pk2的第一标记比特bl的值来检查分组Pk2是否被标记(步骤503)。
[0159]如果分组Pk2已被标记(这是当分组Pk2是从输入接口 Iinl, Iin3或Iin4中的任意一个接收到时的情况),输出接口 1ut2优选地检查其标记(步骤504)并按照分组Pk2的标记和按照从其接收该分组Pk2的输入接口(即Iinl,Iin3或Iin4)来增大局部输出计数器。
[0160]具体地,如果分组Pk2的标记等于1,则输出接口 1ut2检查其输入接口(步骤
505)以及:
[0161]如果分组Pk2接收自输入接口 Iinl,则其增大局部输出计数器Y12(l)(步骤
506);
[0162]如果分组Pk2接收自输入接口 Iin3,则其增大局部输出计数器Y32(l)(步骤506,);以及
[0163]如果分组Pk2接收自输入接口 Iin4,则其增大局部输出计数器Y42(l)(步骤506")。
[0164]另一方面,如果分组Pk2的标记等于0,则输出接口 1ut2检查其输入接口(步骤
507)以及:`
[0165]如果分组Pk2接收自输入接口 Iinl,则其增大局部输出计数器Y12(0)(步骤
508);
[0166]如果分组Pk2接收自输入接口 Iin3,则其增大局部输出计数器Y32(0)(步骤508,);以及
[0167]如果分组Pk2接收自输入接口 Iin4,则其增大局部输出计数器Y42(0)(步骤508")。
[0168]如果在步骤503输出接口 1ut2判定分组Pk2未被标记(例如由于分组Pk2是由节点Ni本身生成的),其优选标记它。具体地,输出接口 1ut2通过以以上定义的块周期Tb周期性地改变标记(I或O)来标记分组Pk2。
[0169]更具体地,为了标记分组Pk2,输出接口 1ut2首先判定当前块周期是奇数块周期T1,T3,…Tk-1还是偶数块周期T2,T4,...Tk(步骤509)。如果当前块周期是奇数块周期Tl,Τ3,…Tk-1,则输出接口 1ut2优选地通过将分组Pk2的第二标记比特b2设置为I来用I标记分组Pk2(步骤510)。否则,如果当前块周期是偶数块周期T2,T4,一Tk,则输出接口 1ut2优选地通过将分组Pk2的第二标记比特b2设置为O来用O标记分组Pk2 (步骤510’)。节点Ni的所有输入和输出接口被与相同时钟(即节点Ni的本地时钟)同步,并且因此由输出接口 1ut2在步骤509执行的当前块周期的判定与由输入接口 Iinl在步骤406处执行的判定相同。换而言之,在每个时刻,所有输入和输出接口对要处理的分组施加相同的标记。
[0170]在步骤510和510’,输出接口 1ut2还优选地将第一标记比特bl设置为1,从而指示分组Pk2现在被标记。
[0171]随后,不论是否分组Pk2由输出接口 1ut2标记或在输出接口 1ut2处被接收到时已被标记,如果分组Pk2被用I标记(b2=l)(步骤511),则输出接口 1ut2优选地将全局输入计数器Y2 (I)增大I (步骤512)。否则,如果分组Pk2被用O标记(b2=0)(步骤511),则输出接口 1ut2优选地将另一全局输入计数器Y2 (O)增大I (步骤512’)。
[0172]输出接口 1ut2随后将分组Pk2沿着退出链路转发到另外的相邻节点(图5中未示出的步骤)。
[0173]以上操作由输出接口 1ut2针对每个接收的分组Pk2重复。因为如以上所提及的,节点Ni的所有接口都被相互同步(即它们使用相同的块周期Tb并具有经同步的时钟,它们使用该经同步的时钟来判定当前块周期是偶数还是奇数块周期),以上操作的结果是形成在时间上交替的用I标记的分组Pk2的块和用O标记的分组的块,所有块具有等于块周期Tb的相同持续时间。
[0174]在奇数块周期Tl,T3,…Tk-1期间,分组Pk2被用I标记,而在偶数块周期T2,T4,…Tk期间,分组Pk2被用O标记。另外,在奇数块周期T1,T3,…Tk-1期间,全局输出计数器Y2(l)的值和局部输出计数器¥12(1),¥32(1)442(1)的值增大,而全局输出计数器Υ2 (O)的值和局部输出计数器Υ12(0),Υ32(0),Υ42(0)的值不变。另一方面,在偶数块周期Τ2,Τ4,…Tk期间,全局输出计数器Υ2 (O)和局部输出计数器Υ12(0),Υ32(0),Υ42(0)的值增大,而全局输出计数器Υ2 (I)和局部输出计数器¥12(1),¥32(1),¥42(1)的值不变。
[0175](η-1)=3 对局部输出计数器 Y12(1),Y12(0) ;Y32 (I),Υ32 (O) ;Υ42 (I),Υ42 (O)对在输出接口 1ut2处接收的已经标记的分组Pk2按照它们被从其接收的输入接口进行计数,而该对全局输出计数器Y2(l),Y2(0)对被输出接口 1ut2发送到另外的相邻节点的所有分组Pk2进行计数。
[0176]所有其它输出接口 1utl,1ut3,1ut4的操作与输出接口 1ut2相同。因此将不重复详细描述。
[0177]在每个块周期Tb,节点Ni随后提供一组全局和局部计数器,其使得可以计算与跨越节点Ni的数据流量相关的数据丢失,如将另外参考图6a和6b详细描述的。
`[0178]图6a和6b更详细地示出图1的通信网络CN的一部分。具体地,图6a和6b示出节点N2和N5。节点N2包括三个端口 Pl (2),P2 (2),P3 (2),而节点N5包括四个端口 Pl (5),P2 (5),P3 (5),P4 (5)。节点N2和N5的每个端口包括输入接口和输出接口,输入接口和输出接口的操作与节点Ni的端口的输入和输出接口基本相同(参见图4和5的流程图)。因此将不重复对节点N2和N5的端口以及其操作的详细描述。
[0179]节点N2的每个端口 Pl (2),P2 (2),P3 (2)借助相应的链路将节点N2连接到网络CN的相邻节点。类似地,节点N5的每个端口 Pl (5),P2(5),P3(5),P4(5)借助相应的链路将节点N5连接到网络CN的相邻节点。具体地,节点N5的端口 P2 (5)通过链路L4连接到节点N2的端口 P3 (2)。链路L4是双向的并且其相对的端物理地连接到端口 P2 (5)和P3 (2)中所包含的输入和输出接口,以使得节点N2和N5可以沿着链路L4交换双向数据流量。
[0180]在每个块周期Tb,可以执行两种类型的数据丢失测量,即节点数据丢失测量(参见图6a)和链路数据丢失测量(参见图6b)。
[0181]节点数据丢失指示影响从节点的第一端口的输入接口传输到同一节点的第二端口的输出接口的数据流量的数据丢失。节点数据丢失可以作为如下之间的差来计算:
[0182](i)由第一端口的输入接口提供的局部输入计数器,其对要转发到第二端口的输出接口的分组进行计数,和[0183](ii)由第二端口的输出接口提供的局部输出计数器,其对从第一端口的输入接口接收的分组进行计数。
[0184]在每个块周期,用于进行计算的局部计数器是在当前块周期期间具有不变值的局部计数器(即:在奇数块周期Tl,T3,…Tk-1期间,对用O标记的分组进行计数的局部计数器,和在偶数块周期T2,T4,…Tk期间,对用I标记的分组进行计数的局部计数器)。
[0185]例如,参考图6a,在节点N5内从端口 Pl (5)的输入接口发送到端口 P2 (5)的输出接口的数据流量(由箭头Al示出)的节点数据丢失DL12(5)可以计算为:
[0186]-在奇数块周期期间,DL12(5)=X125(0)_Y125(0);以及
[0187]-在偶数块周期期间,DL12(5) =X125⑴_Y125⑴,
[0188]其中Χ125(0)和X125(l)是由端口 Pl (5)的输入接口提供的局部输入计数器,其对要转发给端口 Ρ2 (5)的输出接口的分组进行计数,而Υ125 (O)和Y125(l)是由端口 Ρ2(5)的输出接口提供的局部输出计数器,其对从端口 Pl (5)的输入接口接收的分组进行计数。
[0189]通信网络CN的每个节点因此可以自主地执行节点数据丢失测量,即,独立于通信网络CN的其它节点。即便通信网络CN的其它节点不实现上述方法,每个节点也可以自主地计算其端口中任何一对之间的数据丢失,因为所有其输入和输出接口都设有标记和计数能力,这允许它生 成局部计数器,该局部计数器的值是计算节点数据丢失所需要的。
[0190]就关注链路数据丢失测量而言,链路数据丢失指示影响从第一节点的端口的输出接口通过连接第一和第二节点的链路而传输到第二节点的端口的输入接口的数据流量的数据丢失。链路数据丢失可以计算为如下之间的差:
[0191](i)由第一节点的端口的输出接口提供的全局输出计数器,其对要通过该链路转发的分组进行计数,以及
[0192](ii)由第二节点的端口的输入接口提供的全局输入计数器,其对从该链路接收的分组进行计数。
[0193]在每个块周期,用于进行计算的全局计数器是在当前块周期期间具有不变值的全局计数器(即:在奇数块周期Tl,T3,…Tk-1期间,对用O标记的分组进行计数的全局计数器,和在偶数块周期T2,T4,…Tk期间,对用I标记的分组进行计数的全局计数器)。
[0194]例如,参考图6b,从节点N5的端口 P2(5)的输出接口经由链路L4传输到节点N2的端口 P3(2)的输入接口的数据流量(由箭头A2指示)的链路数据丢失DL(5-2)可以是计算为:
[0195]在奇数块周期期间,DL(5-2)=Y25(0)_X32(0);以及
[0196]在偶数块周期期间,DL(5-2)=Y25 (I) _X32 (I),
[0197]其中Υ25(0)和Y25(l)是由端口 Ρ2(5)的输出接口提供的全局输出计数器,其对由端口 Ρ2(5)的输出接口沿着链路L4发送的分组进行计数,而Χ32 (O)和X3J1)是由节点Ν2的端口 Ρ3(2)的输入接口提供的全局输入计数器,其对由端口 Ρ3 (2)的输入接口沿着链路L4接收的分组进行计数。
[0198]因此,为了执行链路数据丢失测量,需要由链路的上游和下游的节点生成的全局计数器。因此,应当在链路的紧上游和紧下游的节点处实现上述标记和计算能力,并且全局计数器的值应当提供给单个实体,该单个实体负责使用全局计数器的值来计算链路数据丢失。[0199]根据集中式方法,管理服务器MS可以负责计算链路数据丢失。在此情况下,在每个块周期,通信网络CN的节点可以向管理服务器MS发送通过它们的输入和输出接口生成的并且在当前块周期期间具有不变值的全局计数器的值,以使得管理服务器MS可以使用它们来计算链路数据丢失。
[0200]根据分布式方法,节点本身可以负责计算链路数据丢失。例如,链路紧上游的节点可以负责计算与该链路有关的数据丢失。在此情况下,在每个块周期,链路紧下游的节点可以向上游节点发送通过其结束该链路的输入接口生成的并且在当前块周期期间具有不变值的全局计数器的值,以使得上游节点可以使用它们来计算链路数据丢失。可替换地,链路紧下游的节点可以负责计算与该链路有关的数据丢失。可替换地,在链路的相对两端结束链路的两个节点都可以计算与该链路有关的数据丢失。在该情况中,在每个块周期,所述节点可以交换在当前块周期期间具有不变值的各自的全局计数器的值,以使得每个节点可以自主地计算链路数据丢失。
[0201]与通信网络CN的节点和链路有关的节点和链路数据丢失测量可以用于估计影响通过通信网络CN从给定源节点传输到给定目的地节点的给定数据流的数据丢失。
[0202]例如,参考图7,与通信网络CN的节点和链路有关的节点和链路数据丢失测量可以用于估计影响从NI (充当源节点)传输到N4 (充当目的地节点)的数据流DF的数据丢失。
[0203]为了执行这样的估计,应该知道数据流DF通过通信网络CN所遵循的路径。这样的路径可以包括例如:链路L2,节点N5和链路L7。
[0204]随后,与从NI到N5的方向中的链路L2有关的链路数据丢失、从链路L2下游的端口到链路L7上游的端口的与节点N5有关的节点数据丢失、和与从N5到N4的方向中的链路L7有关的链路数据丢失被涉及的节点NI,N5,N4和/或被管理服务器MS使用由节点NI,N5和N4提供的全局和局部计数器的值来计算,如上所述。
[0205]这样的链路和节点数据丢失测量基本是对链路L2上、节点N5处和链路L7上的影响数据流DF的数据丢失的估计。这样的链路和节点数据丢失测量实际上是考虑不仅影响数据流DF的分组而且还影响其路径至少部分重叠或跨越数据流DF的路径的其它数据流的分组的数据丢失而计算出的。例如,与链路L2有关的链路数据丢失是考虑从节点NI经链路L2传输到节点N5的所有分组而不仅仅是数据流DF的分组而计算出的。实际上,图4和5的流程图示出,当节点的输入和输出接口增大它们各自的计数器时,它们不考虑分组所属于的数据流。因此,基本上如上所述地计算出的L2的链路数据丢失是影响通过链路L2从NI运载到N5的所有数据流的数据丢失的平均值。这样的链路数据丢失测量相应地是对影响经由链路L2的数据流DF的实际数据丢失的非常准确的估计,假设影响数据流DF的实际的数据丢失离平均值没有太远。
[0206]也可以将与L2,N5和L7有关的链路和节点数据丢失测量加到一起,从而提供对影响沿着数据流DF的整条路径的数据流DF的端到端数据丢失的估计。
[0207]上述方法因此有利地允许估计影响数据流的数据丢失而不需要在数据流的通过通信网络的路径中所包括的每个节点处识别该数据流。实际上,通信网络的节点提供与通过网络运载的所有流量有关的节点数据丢失测量和链路数据丢失测量,而不在不同数据流之间做任何区分。当知道给定数据流的路径时,从节点和链路数据丢失测量得出对影响该数据流的数据丢失的估计。
[0208]在通信网络的节点处实现该方案非常简单,因为每个节点仅必须检查分组的标记,而不必读取和处理允许识别数据流的更多信息(例如源或目的地MAC地址,VLAN-1d,或在IP分组中,源或目的地IP地址中的至少一者,源或目的地端口标识符或协议)。
[0209]此外,在用于估计与给定数据流有关的数据丢失的节点处不需要对分组标记和/或计数机制的定制。实际上,如上所述基于由节点提供的计数器计算出的链路和节点数据丢失测量允许独立于数据流所遵循的路径来估计通过通信网络传输的任意数据流的数据丢失。节点可以持续地提供它们的计数器,基于这些计数器,每个节点和链路的数据丢失性能可以被监控。如果对给定数据流需要新的数据丢失估计,则节点的操作保持不变并且相关的链路和节点数据丢失测量被收集以用于提供所需估计。
[0210]此外,以上方法不干扰按照W02010/072251对特定数据流执行的可能的数据丢失测量会话。实际上,如以上参考图4所描述的,节点的输入接口在从相邻节点接收到已经标记的分组时,仅增大全局输入计数器,而不修改分组的标记。类似地,如图5中所示,节点的输出接口在接收到已经标记的分组时,仅增大相关的局部输出计数器,而不修改分组的标记。换而言之,每个节点仅标记未被标记的分组,而不会再标记已经标记的分组。因此,在分组被其源节点标记以用于实现根据W02010/072251的端到端数据丢失测量的情况中,路径的中间节点不改变这样的标记。相应地,在目的地节点接收到其原始标记未改变的分组。目的地节点于是可以识别这样的分组并适当地处理它以测量数据丢失。
[0211]根据本发明的第二实施例,上述方法可以用于除了执行数据丢失测量之外还执行时间测量(即延迟和/或到达间隔抖动测量)。
[0212]为此,每个输入接口 Iinl,Iin2,Iin3,Iin4优选地为每个全局和局部输入计数器实现各自的输入时间戳。类似地,每个输出接口 1utl, 1ut2, 1ut3, 1ut4优选地为每个全局和局部输出计数器实现各自的输出时间戳。
[0213]根据该第二实施例,在检查接收的分组Pkl的标记(图4的步骤404)之后,输入接口 Iinl优选地还检查接收的分组Pkl是否是在当前块周期期间接收的第一分组,并且如果是肯定的,则将与对被标记为分组Pkl的分组进行计数的全局输入计数器相关联的输入时间戳设置到当前时刻(用节点Ni的本地时钟指示)。这样,与全局输入计数器Xl(I),Xl (O)相关联的输入时间戳指示用I或O标记的第一分组Pkl在当前奇数或偶数块周期期间被接收到的时刻。
[0214]类似地,在再次检查分组Pkl的标记(图4的步骤408)和分组Pkl已被转发至的输出接口(图4的步骤409,411)之后,输入接口 Iinl优选地还检查接收的分组Pkl是否是要在当前块周期期间发送到那个输出接口的第一分组,并且如果是肯定的,则将与和那个输出接口相关并且对被标记为分组Pkl的分组进行计数的局部输入计数器相关联的输入时间戳设置到当前时刻。这样,与局部输入计数器X12(l),X12(0) ;X13(1), X13(0);X14(1),X14(0)相关联的输入时间戳指示用I或0标记的第一分组Pkl在当前奇数或偶数块周期期间被转发到输出接口 1ut2,1ut3和1ut4的时刻。
[0215]另一方面,根据第二实施例,在检查分组Pk2的标记(图5的步骤504)和从其接收分组Pk2的输入接口(图5的步骤505,507)之后,输出接口 1ut2优选地还检查接收的分组Pk2是否是在当前块周期期间从那个输入接口接收到的第一分组,并且如果是肯定的,则将与和那个输入接口相关的并且对被标记为分组Pk2的分组进行计数的局部输出计数器相关联的输出时间戳设置到当前时刻(由节点Ni的本地时钟指示)。这样,与局部输出计数器Y12(l),Υ12(0) ;Υ32⑴,Υ32 (O) ;Υ42⑴,Υ42 (O)相关联的输出时间戳指示用I或O标记的第一分组Pk2在当前的奇数或偶数块周期期间从输入接口 Iinl,Iin3和Iin4被接收的时刻。
[0216]类似地,在再次检查接收的分组Pk2的标记(图5的步骤511)之后,输出接口1ut2优选地还检查分组Pk2是否是要在当前块周期期间沿着退出链路发送的第一分组,并且如果是肯定的,则将与对被标记为分组Pk2的分组进行计数的全局输出计数器相关联的输出时间戳设置到当前时刻(由节点Ni的本地时钟指示)。这样,与全局输出计数器Y2(1),Y2(0)相关联的输出时间戳指示用I或O标记的第一分组Pk2在当前奇数或偶数块周期被发送的时刻。
[0217]在每个块周期Tb,节点Ni随后提供一组时间戳,该组时间戳允许执行与跨越节点Ni的数据流量相关的时间(具体地,延迟和/或到达间隔抖动)测量。具体地,在每个块周期Tb,可以执行两种类型的时间测量,即节点时间测量和链路时间测量。
[0218]节点时间测量(具体地,节点延迟测量)指示影响从节点的第一端口的输入接口传输到同一节点的第二端口的输出接口的数据流量的延迟。节点延迟可以计算为如下时间戮之间的差
[0219](i)与由第二端口的输出接口提供的局部输出计数器相关联的输出时间戳,所述局部输出计数器对从第一端口的输入接口接收的分组进行计数,以及
[0220](ii)与由第一端口的输入接口提供的局部输入计数器相关联的输入时间戳,所述局部输出计数器对要被转发到第二端口的输出接口的分组进行计数。
[0221]在每个块周期,`用于进行计算的时间戳是与在当前块周期期间具有不变值的局部计数器(即:在奇数块周期Tl,T3,…Tk-1期间对用O标记的分组进行计数的局部计数器,和在偶数块周期T2,T4,…Tk期间,对用I标记的分组进行计数的局部计数器)相关联的时间戳。
[0222]通信网络CN的每个节点可以自主地,即独立于通信网络CN的其它节点来执行节点延迟测量。即使通信网络CN的其它节点不实现上述方法,每个节点也可以自主地计算其端口中任何一对之间的延迟,因为所有其输入和输出接口都设有标记、计数和加时间戳的能力,这允许其生成与局部计数器相关联的时间戳,所述局部计数器的值是计算节点延迟所需要的。
[0223]就关心链路时间测量(具体地,链路延迟测量)而言,链路延迟指示影响从第一节点的端口的输出接口经连接第一和第二节点的链路传输到第二节点的端口的输入接口的数据流量的延迟。链路延迟可以被计算为如下时间戳之间的差:
[0224](i)与由第二节点的端口的输入接口提供的全局输入计数器相关联的输入时间戳,所述全局输入计数器对从该链路接收的分组进行计数,以及
[0225](ii)与由第一节点的端口的输出接口提供的全局输出计数器相关联的输出时间戳,所述全局输出计数器对要通过该链路转发的分组进行计数。
[0226]在每个块周期,用于标记该计算的时间戳是与在当前块周期期间具有不变值的全局计数器(即:在奇数块周期Tl,T3,…Tk-1期间,对用O标记的分组进行计数的全局计数器,和在偶数块周期T2,T4,…Tk期间,对用I标记的分组进行计数的全局计数器)相关联的时间戳。
[0227]因此,为了执行链路延迟测量,需要与由链路的上游和下游的节点生成的全局计数器相关联的时间戳。因此,应当在链路的紧上游和下游的节点处实现上述标记、计数和加时间戳的能力,并且全局计数器的值应当按照上述集中式方法或分布式方法而提供给单个实体(g卩,管理服务器MS或节点),该实体负责使用与全局计数器相关联的时间戳的值来计算链路延迟。
[0228]除了计算节点和链路延迟以外,还可以计算节点和链路到达间隔抖动。
[0229]具体地,节点(或链路)到达间隔抖动可以计算为在当前块周期计算的节点(或链路)延迟与在前一块周期计算的节点(或链路)延迟之间的差。
[0230]可替换地,根据第二实施例的特别有利的变形例,每个输入接口 Iinl,Iin2,Iin3,Iin4优选地为每个全局和局部输入计数器实现各自一对输入时间戳:前一块结束(EOPB)输入时间戳和当前块开始(SOCB)输入时间戳。类似地,每个输出接口 1utl,1ut2,1ut3, 1ut4优选地为每个全局和局部输出计数器实现,各自一对输出时间戳:前一块结束(EOPB)输出时间戳和当前块开始(SOCB)输出时间戳。
[0231]SOCB输入和输出时间戳基本上对应于以上所述的输入和输出时间戳(即它们与当前块周期的第一分组对应),而EOPB输入和输出时间戳与当前块周期之前的块周期的最后分组相关。
[0232]根据该有利变形例,节点Ni随后提供两组时间戳:
[0233]一组SOCB时间戳,其在每个块周期允许与当前块周期的第一分组相关的节点或链路延迟,和
[0234]一组EOPB时间戳,其在每个块周期,允许计算与前一块周期的最后分组相关的节点或链路延迟。
[0235]此外,根据该有利变形例,在每个块周期,用于进行计算的SOCB或EOPB时间戳是与在当前块周期期间具有不变值的全局或局部计数器(即:在奇数块周期Tl,T3,…Tk-1期间,对用O标记的分组进行计数的计数器,和在偶数块周期T2,T4,…Tk期间,对用I标记的分组进行计数的计数器)相关联的时间戳。
[0236]根据该有利的变形例,节点(或链路)到达间隔抖动可以计算为与当前块周期的第一分组相关的节点(或链路)延迟和与前一块周期的最后分组相关的节点(或链路)延迟之间的差。换而言之,到达间隔抖动是基于两个连续的分组的延迟计算出的。这允许以比使用与两个连续的快周期的第一分组相关的延迟更精确的方式计算到达间隔抖动。实际上,在连续的分组的情况中,可能导致时间戳的不准确并因此导致所计算出的延迟和到达间隔抖动的不准确的本地时钟的可能的漂移具有减小很多的影响,因为两个连续的分组的传输之间过去的时间比两个连续的块周期的第一分组的传输之间过去的时间短得多。
[0237]优选地,在每个块周期,只在同一块周期期间计算出的对应的节点或链路数据丢失等于O时,计算节点或链路延迟和到达间隔抖动。实际上,如果一个块周期的第一(或最后)分组丢失,则在该块周期期间被指派到对应的时间戳的值与该块的后续分组相关,而不与第一分组相关。因此,基于这样的时间戳的时间测量本质上是不准确的,因为,其被计算为与不同分组相关的时间戳之间的差。
[0238]然而,如果一个块周期的第一分组在节点内或链路上的传输期间未丢失,则这不会损害在后续块周期期间计算出的延迟和到达间隔抖动的准确度。实际上,一个块周期的第一分组的丢失不会妨碍节点的输入和输出接口识别后续块周期的第一分组以及正确地设置那个块周期的时间戳。从那之后,延迟和到达间隔抖动计算将随后不会由于之前的块周期中的第一分组的丢失而引起不准确。
[0239]时间测量不是必需基于每个块周期的第一分组。根据第二实施例的更多变形例,对于块周期的不同分组,时间戳可以被设置到由本地时钟指示的当前时刻。此外,为了增大延迟和到达间隔抖动的测量周期而不减小块周期Tb,可以针对每个块的多于一个分组(例如第一,第101,第201等等)设置时间戳。
[0240]此外,根据第二实施例,与通信网络CN的节点和链路相关的节点时间测量和链路时间测量可以用于估计影响跨越通信网络CN从给定源节点传输到给定目的地节点的给定数据流的延迟或到达间隔抖动。
[0241]例如,再次参考图7,与通信网络CN的节点和链路相关的节点和链路时间测量可以用于估计影响从NI (充当源节点)传输到N4 (充当目的地节点)的数据流DF的延迟和/或到达间隔抖动。
[0242]一旦知道数据流DF通过通信网络CN所遵循的路径(即链路L2,节点N5和链路L7),从NI到N5的方向上的链路L2的链路延迟和/或到达间隔抖动、节点N5处从链路L2下游的端口到链路L7上游的端口的节点延迟和/或到达间隔抖动以及从N5到N4的方向上的链路L7的链路延迟和/或到达间隔抖动被涉及的节点N1,N5,N4和/或被管理服务器MS使用由节点NI,N5和N4提供的时间戳的值计算出,如上所述。
[0243]这样的链路和节点时间测量基本上是对在链路L2上、节点N5处和链路L7上的影响数据流DF的延迟和/或到达间隔抖动的估计。这样的链路和节点时间测量实际上是考虑了不仅影响数据流DF的分组还影响其路径至少部分重叠或跨越数据流DF的路径的其它数据流的分组的延迟而计算出的。实际上,当节点的输入和输出接口设置它们各自的时间戳时,它们不考虑分组所属于的数据流。因此,基本上如上所述地计算出的例如链路L2的延迟和/或到达间隔抖动是影响经由链路L2传输的所有数据流的延迟和/或到达间隔抖动的平均值。相应地,这样的链路时间测量是对链路L2上影响数据流DF的实际延迟和/或到达间隔抖动的非常准确的估计,假设影响该数据流DF的实际延迟和/或到达间隔抖动离平均值不太远。
[0244]与L2,N5和L7相关的链路和节点延迟和/或到达间隔抖动测量也可以加到一起,从而提供对影响沿着数据流DF的整条路径的数据流DF的端到端延迟的估计。
[0245]根据本发明第二实施例的方法基本上具有与根据第一实施例的方法相同的优点,即:可以执行与给定数据流相关的时间测量,而不需要识别该数据流并且不需要在节点处定制分组标记和/或计数和/或加时间戳机制,不干扰根据W02010/072251对特定数据流执行的时间测量会话。
[0246]已经假设通信网络CN支持单个通信协议,即Ethernet,IP,MPLS,等等进行了对根据第一和第二实施例的方法的以上描述。根据另外的实施例,通信网络CN可以支持有可能在ISO-OSI或TCP/IP协议套件的不同层的多个通信协议。例如,通信网络可以支持以太网(层2)和MPLS(层2和层3的中间)二者。在此情况下,应当为每个支持的协议实现单独的数据丢失或时间测量机制。
【权利要求】
1.一种用于在通信网络(CN)的节点(Ni)处对数据流量执行测量的方法,所述节点(Ni)包括至少输入接口(Iinl)和输出接口(1ut2), 所述方法包括,在所述输入接口(Iinl)处,接收第一数据单元(Pkl)以及: a)对于每个接收的第一数据单元(Pkl),检查所述第一数据单元(Pkl)是否被用特征(b2)标记,所述特征(b2)被设置成从第一值和第二值中选择的任意值; b)如果所述第一数据单元(Pkl)被标记,则当所述特征(b2)被设置成所述第一值时更新全局输入参数(χ?α));以及 c)当所述特征(b2)被设置为所述第一值时并且当所述第一数据单元(Pkl)寻址到所述输出接口(1ut2)时,更新局部输入参数(X12(l)), 所述方法还包括,在所述输出接口(1ut2)处,接收第二数据单元(Pk2),所述第二数据单元(Pk2)包括所述第一数据单元(Pkl)的至少一部分,以及: d)对于每个接收的第二数据单元(Pk2),检查所述第二数据单元(Pk2)是否被用所述特征(b2)标记,所述特征被设置成从所述第一值和所述第二值中选择的任意值; e)如果所述第二数据单元(Pk2)被标记,则当所述特征(b2)被设置成所述第一值时并且当所述第二数据单元(Pk2)接收自所述输入接口(Iinl)时,更新局部输出参数ami));以 及 f)当所述特征(b2)被设置成所述第一值时,更新全局输出参数(Y2(l)), 所述方法还包括: g)基于以下中的至少一者来对所述数据流量执行测量:所述全局输入参数(XI(1)),所述局部输入参数(X12(l)),所述全局输出参数(Y2(l))和所述局部输出参数(Y12(l))。
2.如权利要求2所述的方法,其中: 在所述步骤b),所述更新包括在接收到具有被设置成所述第一值的所述特征(b2)的每个第一数据单元(Pki)时,增大全局输入计数器(Xl(I)); 在所述步骤c),所述更新包括在接收到具有被设置成所述第一值的所述特征(b2)并且寻址到所述输出接口(1ut2)的每个第一数据单元(Pkl)时,增大局部输入计数器(X12(l)); 在所述步骤e),所述更新包括在接收到具有被设置成所述第一值的所述特征(b2)并且接收自所述输入接口(Iinl)的每个第二数据单元(Pk2)时,增大局部输出计数器(Y12(l)); 在所述步骤f),所述更新包括在接收到具有被设置为所述第一值的所述特征(b2)的每个第二数据单元(Pk2)时,增大全局输出计数器(Y2(l));以及 在所述步骤g),所述执行测量包括基于以下中的至少一者来计算数据丢失:所述全局输入计数器(XI (I)),所述局部输入计数器(X12(l)),所述全局输出计数器(Y2(l))和所述局部输出计数器(Y12(l))。
3.如权利要求1或2所述的方法,其中: 在所述步骤b),所述更新包括在接收到具有被设置成所述第一值的所述特征(b2)的预定第一数据单元(Pkl)时,设置等于当前时刻的全局输入时间戳; 在所述步骤c),所述更新包括如果所述预定第一数据单元(Pkl)寻址到所述输出接口(1ut2),则在接收到所述预定第一数据单元(Pkl)时设置等于所述当前时刻的局部输入时间戳; 在所述步骤e),所述更新包括如果所述预定第二数据单元(Pk2)接收自所述输入接口(Iinl),则在接收到具有被设置成所述第一值的所述特征(b2)的预定第二数据单元(Pk2)时设置等于所述当前时刻的局部输出时间戳; 在所述步骤f),所述更新包括在接收到所述预定第二数据单元(Pk2)时设置等于所述当前时刻的全局输出时间戳;以及 在所述步骤g),所述执行测量包括基于以下中的至少一者来执行时间测量:所述全局输入时间戳,所述局部输入时间戳,所述全局输出时间戳和所述局部输出时间戳。
4.如权利要求3所述的方法,其中,在所述步骤g),所述执行时间测量包括测量所述数据流量的延迟和到达间隔抖动中的至少一者。
5.如权利要求3或4所述的方法,其中: 在所述步骤b),所述更新进一步包括设置另外的全局输入时间戳,所述另外的全局输入时间戳等于与所述预定第一数据单元(Pkl)时间上相邻的另外的预定第一数据单元(Pkl)被接收到的时刻; 在所述步骤c),所述更新进一步包括设置另外的局部输入时间戳,所述另外的局部输入时间戳等于所述另外的预定第一数据单元(Pkl)被接收到的所述时刻; 在所述步骤e),所述更新进一步包括设置另外的局部输出时间戳,所述另外的局部输出时间戳等于与所述预定第二数据单元(Pk2)时间上相邻的另外的预定第二数据单元(Pk2)被接收到的时刻; 在所述步骤f),所述更`新进一步包括设置另外的全局输出时间戳,所述另外的全局输出时间戳等于所述另外的预定第二数据单元(Pk2)被接收到的时刻;以及 在所述步骤g),所述执行时间测量包括测量到达间隔抖动,所述到达间隔抖动是分别地所述全局输入时间戳、所述局部输入时间戳、所述全局输出时间戳和所述局部输出时间戳之一与分别地所述另外的全局输入时间戳,所述另外的局部输入时间戳,所述另外的全局输出时间戳和所述另外的局部输出时间戳之一之间的差。
6.如之前的权利要求中任一项所述的方法,其中,在所述步骤g),所述执行测量包括基于所述局部输入参数(X12(l))和所述局部输出参数(Y12(l))在所述节点(Ni)内执行与所述数据流量相关的测量。
7.如之前的权利要求中任一项所述的方法,其中,在所述步骤g),所述执行测量包括在所述节点(Ni)与向所述节点(Ni)发送所述第一数据单元(Pkl)的第一另外的节点之间的第一链路上,基于所述全局输入参数(Xl(D)和由所述第一另外的节点生成的另外的全局输出参数来执行与所述数据流量相关的测量。
8.如之前的权利要求中任一项所述的方法,其中,在所述步骤g),所述执行测量包括在所述节点(Ni)与从所述节点(Ni)接收所述第二分组(Pk2)的第二另外的节点之间的第二链路上,基于所述全局输出参数(Y2(l))和由所述第二另外的节点生成的另外的全局输入参数来执行与所述数据流量相关的测量。
9.如之前的权利要求中任一项所述的方法,其中,其还包括,如果在步骤a)判定所述第一数据单元(Pkl)未被标记,则在执行所述步骤c)之前通过将所述特征(b2)设置成所述第一值来标记所述第一数据单元(Pkl)。
10.如之前的权利要求中任一项所述的方法,其中所述方法还包括,如果在步骤d)判定所述第二数据单元(Pk2)未被标记,则在执行所述步骤f)之前通过将所述特征(b2)设置为所述第一值来标记所述第二数据单元(Pk2)。
11.如之前的权利要求中任一项所述的方法,其中所述步骤g)由管理服务器(MS)协同所述节点(Ni)来执行。
12.如权利要求1到10中任一项所述的方法,其中所述步骤g)由所述节点(Ni)执行。
13.一种用于通信网络(CN)的节点(Ni),所述节点(Ni)包括至少输入接口(Iinl)和输出接口(1ut2), 其中所述输入接口(Iinl)被配置为接收第一数据单元(Pkl)以及: a)对于每个接收的第一数据单元(Pkl),检查所述第一数据单元(Pkl)是否被用特征(b2)标记,所述特征(b2)被设置成从第一值和第二值中选择的任意值; b)如果所述第一数据单元(Pkl)被标记,则当所述特征(b2)被设置成所述第一值时,更新全局输入参数(χ?α));以及` c)当所述特征(b2)被设置成所述第一值时并且当所述第一数据单元(Pkl)寻址到所述输出接口(1ut2)时,更新局部输入参数(X12(l)), 以及其中所述输出接口(1ut2)被配置为接收第二数据单元(Pk2),所述第二数据单元(Pk2)包括所述第一数据单元(Pkl)的至少一部分,以及: d)对于每个接收的第二数据单元(Pk2),检查所述第二数据单元(Pk2)是否被用所述特征(b2)标记,所述特征(b2)被设置成从所述第一值和所述第二值中选择的任意值; e)如果所述第二数据单元(Pk2)被标记,则当所述特征(b2)被设置成所述第一值时并且当所述第二数据单元(Pk2)接收自所述输入接口(Iinl)时,更新局部输出参数ami));以及 f)当所述特征(b2)被设置成所述第一值时,更新所述全局输出参数(Y2(l)), 所述节点(Ni)还被配置为提供所述全局输入参数(Xl(l)),所述局部输入参数(X12(l)),所述全局输出参数(Y2(l))和所述局部输出参数(Y12(l))以用于对所述数据流量执行测量。
14.如权利要求13所述的节点(Ni),所述节点(Ni)还被配置为基于以下中的至少一者来对所述数据流量执行测量:所述全局输入参数(XI (I)),所述局部输入参数(X12(l)),所述全局输出参数(Y2(l))和所述局部输出参数(Y12(l))。
15.一种用于通信网络(CN)的管理服务器(MS),所述管理服务器(MS)被配置为与如权利要求13所述的节点(Ni)协作,所述管理服务器(MS)被配置为基于以下中的至少一者来对所述数据流量执行测量:所述全局输入参数(XI (I)),所述局部输入参数(X12(l)),所述全局输出参数(Y2(l))和所述局部输出参数(Y12(l))。
16.一种计算机程序产品,可加载在至少一个计算机的存储器中并且包括软件代码部分,软件代码部分用于当所述产品在计算机上运行时执行如权利要求1至10中任一项所述的方法的步骤。
【文档编号】H04L12/26GK103797756SQ201180073524
【公开日】2014年5月14日 申请日期:2011年7月28日 优先权日:2011年7月28日
【发明者】M·克西格利奥 申请人:意大利电信股份公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1