分组交换通信网络的链路的性能测量的制作方法
【技术领域】
[0001] 本发明涉及通信网络领域。具体而言,本发明涉及用于执行在分组交换通信网络 中两个测量点之间的链路的性能测量(尤其是,报文丢失测量和/或延迟测量和/或抖动 测量)的方法。另外,本发明涉及被配置为实现这种方法的用于通信网络的节点和计算机, 并且涉及包括这种节点和计算机的计算机网络。
【背景技术】
[0002] 在分组交换通信网络中,数据以通过可能的中间节点从源节点被路由到目的地节 点的报文的形式被发送。示例性分组交换网络是IP(互联网协议)网络、以太网网络和 MPLS(多协议标签交换)网络。
[0003]报文不总是到达目的地节点,即,它们可能在通过网络传输的过程中丢失。报文的 丢失是由于不同的原因。例如,节点或链路可能发生故障,由此引起整个报文丢失,直到故 障被要么绕过要么修复。作为替代,报文可能由于节点的端口拥塞而被节点丢弃。此外,报 文可能由于它们包含比特错误而被节点丢弃。在任何情况下,当通过经由分组交换网络发 送数据来提供服务时,在传输过程中报文丢失的比率影响该服务的服务质量(QoS)。
[0004]此外,报文由源节点在发送时间发送,并由目的地节点在接收时间接收。发送时间 和接收时间之间经过的时间通常被称为"单向延迟"。报文的单向延迟由下式给出:
[0005] OWD=Trx-Ttx,[1]其中Ttx是报文的发送时间并且Trx是接收时间。报文的单 向延迟主要取决于从源到目的地被报文跨过的可能中间节点的数量、报文在每个节点的持 久时间、以及沿链路的传播时间。由于报文通过每个节点逐跳路由,因此被报文跨过的可能 中间节点的数量和报文在每个节点的持久时间是不可预测的。因此,报文的单向传输延迟 几乎是不可预测的。
[0006]此外,同一报文流的报文可以具有不同的单向延迟。同一数据流的两个报文的单 向延迟的差异被称为"单向到达间抖动"(或者,简单地被称为"单向抖动")。尤其是,如果 Ttxl和Ttx2是第一报文和第二报文的发送时间,并且Trxl和Trx2是所述第一报文和第二 报文的接收时间,则单向抖动可表示为:
[0007]OWJ= (Trxl-Trx2) - (Ttxl-Ttx2) [2]
[0008] 当通信服务(尤其是,实时语音或数据服务,诸如电话、会议电话、视频会议,等 等)通过分组交换网络提供时,影响携带服务的报文流的报文丢失、单向延迟和单向抖动 的测量提供了由该服务的终端用户感知到的服务质量(QoS)的指示。因此,测量通信网络 中报文流的报文丢失、单向延迟和/或单向抖动对于网络运营商是特别关注的。
[0009]W0 2010/072251 (以同一申请人的名义)公开了用于测量通过通信网络从发送节 点向接收节点发送的数据流的数据丢失的方法。在发送数据流的数据单元之前,发送节点 标记每个数据单元,用于将数据流分成块。尤其是,发送节点通过将其报头的一位设置成 " 1"或"0"来标记每个数据单元。标记产生一系列块,其中用" 1"标记的数据单元的块与 用"0"标记的数据单元的块在时间上交替。块可以具有被称为"块周期"Tb(例如5分钟) 的相同持续时间。另外,每次发送用"1"标记的数据单元时,发送节点将第一计数器Cl增 加一,并且每次发送用"0"标记的数据单元时,发送节点将第二计数器C0增加一。然后,标 记的数据单元在接收节点处被接收。每次接收节点接收到数据单元时,它检查其标记,如果 标记是"1"则增加第三计数器C' 1,并且如果标记是"0",则增加第四计数器C' 0。计数器 Cl、C0、C' 1和C' 0的值被周期性地检测并且检测到的值被用于计算在每个块周期中的数 据丢失。
[0010] WO2011/079857(以同一申请人的名义)公开了用于对从通信网络的发送节点发 送到接收节点的数据流执行时间测量(尤其是,用于测量单向延迟和/或单向抖动)的方 法。根据W0 2011/079857,在发送节点,除了以上由W0 2010/072251公开的标记操作之外, 发送时间戳也在每个块周期生成,该发送时间戳指示当前块的预定数据单元(例如,当前 块的第一数据单元)被发送的时间。在接收节点,接收时间戳在每个块周期生成,该接收时 间戳指示当前块的预定数据单元被接收的时间。在每个块周期,发送和接收时间戳被用于 计算影响当前块的预定义数据单元的单向延迟。对连续数据单元生成的发送和接收时间戳 允许单向抖动的计算。
[0011] 代替测量单向延迟和单向抖动,已知测量沿两个节点之间的双向链路来回发送的 报文的双向延迟和双向抖动。双向测量固有地就比单向测量更精确,因为它们不受两个节 点之间缺乏同步的影响。这些测量通常对特设报文,即,具体而言是由两个节点之一为执行 测量而生成的人工报文,执行。
[0012] IP网络中的双向延迟和双向抖动通常是通过基于由RFC792(1981年9月)定义 的已知协议ICMP(互联网控制消息协议)对特设报文应用已知的Ping函数来测量的。Ping 函数规定在两个节点之一生成ICMP报文的序列。每个ICMP报文包括报文序号和指示该 ICMP报文被发送的时间的发送时间戳。然后,每个ICMP报文沿链路被来回发送。在发起其 的同一节点接收到每个ICMP报文时,生成接收时间戳。报文序号允许识别接收到的报文并 且检测可能的接收序列错误。发送和接收时间戳允许计算双向延迟和抖动。
[0013] 此外,由RFC4656 (2006年9月)定义的已知协议0WAMP(单向主动测量协议)和 由RFC5357(2008年10月)定义的TWAMP(双向主动测量协议)分别允许在IP网络中对 类似于"真实"报文(即,真正携带用户流量的报文)的人工报文执行单向测量和双向测 量。不同于Ping功能,TWAMP协议规定在远程节点处将两个另外的时间戳插入每个人工报 文:一个时间戳指示该报文在该远程节点被接收的时间并且一个时间戳指示该报文被该远 程节点重发的时间。这允许在双向延迟和抖动计算中考虑报文在远程节点的处理时间。
【发明内容】
[0014] 申请人注意到,对人工报文而不是真实报文测量报文丢失、延迟和/或抖动有多 个优点。
[0015]首先,真实报文的传输速率通常以不可预测的方式可变并且,因此,不可能预测在 负责对这种报文执行测量的节点或计算机处可用的计算资源是否足以执行测量。代替地对 人工报文执行测量允许使报文传输速率适应在执行测量的节点或计算机处可用的计算资 源量。
[0016]而且,真实报文可能易于有接收序列错误,这会损害测量精度。代替地使用人工报 文允许适当地选择人工报文的传输速率(或者连续报文的发送间时间),从而防止任何接 收序列错误。
[0017] 此外,对真实报文执行测量通常需要修改报文(尤其是,报文报头),从而包括执 行测量所需的信息。但是,这种修改要服从苛刻的限制,这是因为报文的格式通常是由国际 标准定义的。代替地人工报文可以以非常灵活的方式被定制/适应,从而包括执行测量所 需的所有信息。例如,这种信息可以被插入到报文的报头以及插入其净荷。另一方面,当人 工报文用于测量目的时,携带用户流量的真实报文有利地保持不变。
[0018] 而且,真实报文可能要经受由客户决定的改变(例如,目的地或源地址的改变), 这可能使负责执行测量的节点无法识别要测量的节点。这种改变应被通知给网络运营商, 否则网络运营商就无法正确地重新配置节点。代替地利用人工报文允许网络运营商直接控 制与测量相关的所有方面,尤其是要测量的报文的特征。
[0019] 以上提到的用于基于人工报文测量延迟和/或抖动的已知技术(S卩,Ping和 0WAMP/TWAMP)提供了以上优点,但是,另一方面,也呈现出进一步的缺点。
[0020] 关于已知的Ping功能,它可以仅应用于基于已知ICMP协议的报文。此外,它仅提 供双向延迟和双向抖动测量。而且,它相当不准确,因为双向延迟和抖动测量没有考虑人工 报文在远程节点处的处理时间。
[0021] 关于已知协议OWAMP/TWAMP,0WAMP规定单向测量并且TWAMP允许考虑人工报文 在远程节点处的处理时间。如以上所提到的,这后一个特征是根据TWAMP通过在远程节点 接收和重发每个人工报文时在每个人工报文中插入两个附加时间戳来实现的。但是,这种 附加时间戳和报文序号的插入和处理不利地增加了在测量中所涉及的节点处的计算量。而 且,基于0WAMP/TWAMP的测量本身就是不准确的,因为在由发起节点(并且在TWAMP中还由 远程节点)生成的发送时间戳与报文实际被发送的时间之间存在不可预测的失配。
[0022] 而且,Ping函数和0WAMP/TWAMP协议都不允许执行中间性能测量,S卩,对发起人工 报文的节点与接收和重发它们的远程节点之间的链路的一部分的性能测量。
[0023] 鉴于上述情况,本申请人已经解决了提供用于基于人工流量对分组交换通信网络 中的两个测量点(节点或计算机)之间的链路执行性能测量的方法的问题,该方法克服上 述缺陷当中至少一个,即,它提供了比Ping和0WAMP/TWAMP更准确的测量并且使得能够对 链路的一个或更多个部分进行中间性能测量。
[0024] 在以下描述和权利要求中,表述"人工报文"或"特设报文"将指示明确用于测量 目的而发起并发送并且因此不携带任何用户流量的报文。这种人工报文可以根据任何已知 的协议被格式化,尤其是或IS0-0SI或TCP/IP协议栈的传输层或层4的任何已知协议。例 如,人工报文可以根据TCP/IP协议栈的已知UDP(用户数据报协议)被格式化。
[0025] 此外,在以下描述和权利要求中,术语"链路"将指示通信网络的两个节点之间的 连接,其中这种连接可以是物理连接或逻辑连接,可能包括多个中间节点和/或一个或更 多个中间网络。
[0026] 此外,在以下描述和权利要求中,表述"执行链路的性能测量"将指示测量以下的 操作:
[0027]-对经该链路发送的报文流引起的报文丢失;
[0028]-由于经该链路的传输对所述报文流的报文引起的单向延迟或双向延迟;和/或
[0029] -由于经该链路的传输对一对报文引起的单向抖动或双向抖动。
[0030] 此外,在以下描述和权利要求中,表述"标记报文"将指示将报文的特征设定为预 定义标记值的操作,尤其是设定为至少两个备选标记值之一。例如,标记报文的操作可以 包括将报文的一个或更多个位(例如,其报头的一个位或位序列)设定为至少两个预定义 的备选标记值之一的操作、将其频率或相位设定为至少两个预定义的备选标记值之一的操 作,等等。
[0031] 根据第一方面,本发明提供了用于执行连接通信网络的第一节点和第二节点的链 路的性能测量的方法,该方法包括:
[0032] a)在开始性能测量之前,为第一节点和第二节点提供测量模式信息,测量模式信 息包括至少测量开始时间和报文传输速率;
[0033] b)在测量开始时间,生成并从第一节点向第二节点发送报文流,报文流包括多个 报文,其发送时间由测量开始时间和报文传输速率确定,生成和发送包括在第一块周期期 间生成并发送第一报文和在第二块周期期间生成和发送第二报文,其中第二块周期在时间 上与第一块周期交替;
[0034]c)在第一块周期或第二块周期的块周期,在报文流在第二节点被接收时,通过使 用测量模式信息和检测到的关于报文流的接收的信息,更新指示在该块期间期间报文流的 行为的变量;及
[0035]d)在第一块周期或第二块周期的后续块周期,利用在该块周期结束时变量达到的 值计算指示在该块周期期间报文流的性能的参数。
[0036] 优选地,步骤b)包括用第一标记值标记第一报文并且用第二标记值标记第二报 文。
[0037] 更优选地,报文流的每个报文包括标记字段,该标记字段在第一报文中被设定为 第一标记值并且在第二报文中被设定为第二标记值,该标记字段包括在报文的报头或净荷 之一当中。
[0038] 根据预定义的流量曲线,报文传输速率在时间上是常量或变量。
[0039] 优选地,在步骤a),测量模式信息还包括块周期持续时间Tb并且,在步骤b),第一 块周期和第二块周期具有等于块周期持续时间Tb的持续时间。
[0040] 有利地,在步骤a),测量模式信息还包括报文类型并且,在步骤b),报文具有该报 文类型。
[0041] 根据有利的实施例,在步骤a),测量模式信息还包括选自以下的性能测量类型: 报文丢失测量、单向时延测量、单向抖动测量和双向延迟测量。
[0042] 优选地:
[0043]-步骤c)还包括计数在块周期期间在第二节点处接收到的报文流的报文数量;及
[0044] -在步骤d),计算包括基于包括在测量模式信息中的报文传输速率计算在块周期 期间由第一节点发送的报文流的报文数量,并且基于计算出的在块周期期间由第一节点发 送的报文流的报文数量和计数的在块周期(T(k))期间在第二节点接收到的报文流的报文 数量来计算在块周期期间由报文流经历的报文丢失。
[0045] 根据实施例:
[0046] -在步骤c),更新包括,在块周期期间接收到报文流的每个报文时,检测相应的接 收时间、基于包括在测量模式信息中的测量开始时间和报文传输速率计算相应的发送时 间,并且作为检测到的接收时间与计算出的发送时间之差计算相应的单向延迟;
[0047]-在步骤c),更新包括,在块周期期间接收报文流的每个报文时,利用相应的单向 延迟更新以下至少一个:累积单向延迟、最大单向延迟变量、最小单向延迟变量,和阈值延 迟计数器;及
[0048]-在步骤d),计算包括利用由以下至少一个在块周期结束时达到的值:累积单向 延迟,最大单向延迟变量、最小单向延迟变量和阈值延迟计数器,来计算以下至少一个:在 块周期期间报文流的平均单向延迟、在块周期期间报文流的最大单向延迟、在块周期期间 报文流的的最小单向延迟,以及在块周期T(k)中相应的单向延迟高于阈值单向延迟的报 文的数量或百分比。
[0049] 根据实施例:
[0050] -在步骤c),更新包括,在块周期期间接收到报文流的每对连续报文时,检测其接 收之间所经过的时间、基于包括在测量模式信息中的报文传输速率计算其发送之间所经过 的时间,并且基于检测到的其接收之间所经过的时间和计算出的其发送之间所经过的时间 计算相应的单向抖动。
[0051] -在步骤c),更新包括,在块周期期间接收到报文流的每对连续报文时,利用相应 的单向抖动更新以下至少一个:最大单向抖动变量、最小单向抖动变量、最大阈值抖动计数 器和最小阈值抖动计数器;及
[0052] -在步骤d),计算包括利用由以下至少一个在块周期结束时达到的值:最大单向 抖动变量、最小单向抖动变量、最大阈值抖动计数器和最小阈值抖动计数器,计算以下至少 一个:块周期期间报文流的最大单向抖动、块周期期间报文流的最小单向抖动、块周期中其 相应的单向抖动高于最大阈值单向抖动的连续报文对的数量或百分比,以及块周期中其相 应的单向抖动低于最小阈值单向抖动的连续报文对的数量或百分比。
[0053] 根据优选变型,该方法还包括:
[0054] b')在测量开始时间,生成并从第二节点向第一节点发送另一报文流,该另一报文 流包括多个另外的报文,其发送时间由测量开始时间和报文传输速率确定,生成和发送包 括在第一块周期期间生成并发送第一另外的报文并且在第二块周期期间生成并发送第二 另外的报文;
[0055] c')在块周期,在另一报文流在第一节点被接收时,通过利用测量模式信息和检 测到的关于另一报文流的接收的信息,更新指示在块周期期间另一报文流的行为的另一变 量;及
[0056] d')在后续块周期,利用由该另一变量在块周期结束时达到的值计算指示在块周 期期间另一报文流的性能的另外的参数。
[0057] 优选地