处理测量报文的方法和设备与流程

文档序号:19688678发布日期:2020-01-14 18:37阅读:215来源:国知局
处理测量报文的方法和设备与流程

本申请涉及通信领域,特别涉及一种处理测量报文的方法和设备。



背景技术:

在计算机网络当中,前向传输(发送端到接收端的传输)与反向传输(接收端到发送端的传输)的路径往往并不对称。传统往返通信延迟(round-triptime,rtt)由于聚合双向往返时延,无法体现这种不对称性所带来的差异,导致无法探测到单向问题,加剧故障排除的成本。

现有技术中,通常通过单向时延(one-waydelay)的测量能够有效检测单向问题,实现故障排除等检测。并且服务级别协议(service-levelagreement,sla)指定单向时延来确保众多实时应用(如网络协议通话技术(voiceoverip,voip)、线上交易服务等)的服务质量(qualityofservice,qos)。也就是说通过单向时延的测量能够检测到实时应用的qos情况。

综上所述,现有的诸多方面的检测(例如,故障检测、qos的检测等)均是通过单向时延测量进行的。因此,单向时延的测量则引起越来越多的重视。

然而,现有的单向时延测量依赖于全网级的时钟同步,部署成本高,不够精细化,导致现有技术难以通过单向测量的结果保证上述多种检测的准确,因此,如何提高上述多种检测的准确性成为亟待解决的问题。



技术实现要素:

本申请提供一种处理测量报文的方法和设备,该方法能够以较低成本实现更加精细化时延测量,从而能够提高上述多种检测的准确性。

第一方面,提供了一种处理测量报文的方法,该方法包括第一节点设备接收测量报文;所述第一节点设备根据测量报文进入所述第一节点设备的入口时间以及离开所述第一节点设备的出口时间更新所述测量报文,获得更新后的测量报文;所述第一节点设备向第二节点设备发送所述更新后的测量报文。

因此,本申请实施例中,通过报文进入设备的入口时间和离开设备的出口时间对测量报文进行更新,能够使得接收端设备根据接收到的测量报文进行单向时延的测量。本申请实施例的方法无需进行发送端和接收端的时钟同步,进而可以避免现有技术中发送端和接收端的时钟同步问题,实现精细化测量,从而能够提高上述多种检测的准确性。

结合第一方面,在一种可能的实现方式中,所述测量报文承载在业务报文中;或者,所述测量报文为专门用于测量的报文。

本申请实施例中,第一节点设备可以为中间节点转发设备。例如,第一节点设备可以为发射端设备与接收端设备之间的多个中间节点转发设备中的第一个中间节点转发设备,那么第一节点设备接收测量报文包括该第一节点设备从发送端设备接收该测量测量报文。

可选地,第一节点设备可以为中间的中间节点转发设备。那么结合第一方面,在一种可能的实现方式中,所述第一节点设备接收测量报文,包括:所述第一节点设备接收第三节点设备发送的测量报文,其中,第三节点设备发送的测量报文是根据测量报文进入第三节点设备的入口时间以及离开所述第三节点设备的出口时间确定的,所述第三节点设备为所述第一节点设备的前一跳中间节点转发设备。

结合第一方面,在一种可能的实现方式中,所述第一节点设备接收到的测量报文是根据测量报文进入所述第一节点设备之前的各个中间节点转发设备的入口时间以及离开所述各个中间节点转发设备的出口时间确定的。

结合第一方面,在一种可能的实现方式中,所述更新后的测量报文携带以下信息中的至少一种:

测量报文离开所述第一节点设备的出口时间与进入所述第一节点设备的入口时间的时间差;

所述时间差与所述第一节点设备之前的节点设备的时间差的累加和;

测量报文进入所述第一节点设备的入口时间以及离开所述第一节点设备的出口时间;

其中,所述第一节点设备之前的节点设备的时间差为测量报文离开所述第一节点设备之前的节点设备的出口时间与进入所述第一节点设备之前的节点设备的入口时间的时间差值。

应理解,本申请实施例中的处理测量报文的方法可以应用于多种场景中,例如,用于网络单向时延测量、用于网络故障追踪定位、用于网络设备状态监测或用于网络管理可视化等场景中,本申请实施例并不限于此。

以下以用于单向时延测量的场景为例,描述本申请实施例中第一节点设备更新测量报文的具体方案。

结合第一方面,在一种可能的实现方式中,所述测量报文携带时延信息,所述时延信息用于测量单向时延,所述单向时延为发送端设备发送报文到接收端接收报文的时间间隔;

所述单向时延包括设备内部时延以及链路时延,其中所述设备内部时延包括各个中间节点转发设备的子内部时延,一个中间节点转发设备的子内部时延为所述一个中间节点转发设备对应的出口时间与入口时间的时间差,所述链路时延包括发送端至接收端之间的链路的时延,所述链路时延包括所有中间节点转发设备和接收端设备中各个节点设备对应的子链路时延,其中,一个节点设备对应的子链路时延包括该一个节点设备与其前一跳节点设备之间的直连链路的时延。

应理解,本申请实施例中,测量报文中的时延信息可以具有多种形式,下面将针对时延信息的不同形式,分情况描述本申请实施中第一节点设备更新测量报文的具体方案。

情况一:

结合第一方面,在一种可能的实现方式中,所述第一节点设备接收到的测量报文中的时延信息包括所述第一节点设备之前的各个中间节点转发设备的子内部时延的累加和;

其中,所述第一节点设备根据测量报文进入所述第一节点设备的入口时间以及离开所述第一节点设备的出口时间更新所述测量报文,获得更新后的测量报文,包括:

所述第一节点设备将测量报文离开所述第一节点设备的出口时间与进入所述第一节点设备的入口时间的时间差确定为所述第一节点设备的子内部时延;

所述第一节点设备根据所述第一节点设备的子内部时延更新所述时延信息,获得所述更新后的测量报文,其中,更新后的时延信息包括所述第一节点设备以及所述第一节点设备之前的各个中间节点转发设备的子内部时延的累加和。

情况二:

结合第一方面,在一种可能的实现方式中,所述第一节点设备接收到的测量报文中的时延信息包括第三节点设备之前的各个中间节点转发设备的子内部时延累加和以及所述第三节点设备对应的出口时间与入口时间,所述第三节点设备为所述第一节点设备的前一跳中间节点转发设备;

其中,所述第一节点设备根据测量报文进入所述第一节点设备的入口时间以及离开所述第一节点设备的出口时间更新所述测量报文,获得更新后的测量报文,包括:

所述第一节点设备将所述第三节点设备对应的出口时间与入口时间的时间差确定为所述第三节点设备的子内部时延;

所述第一节点设备根据所述第三节点设备的子内部时延以及所述第一节点设备对应的出口时间和入口时间更新所述时延信息,获得更新后的测量报文,其中,更新后的时延信息包括所述第一节点设备之前的各个中间节点转发设备的子内部时延累加和以及所述第一节点设备对应的出口时间与入口时间。

情况三:

结合第一方面,在一种可能的实现方式中,所述第一节点设备接收到的测量报文中的时延信息包括所述第三节点设备之前的各个中间节点转发设备的子内部时延与所述第一节点设备之前的各个中间节点转发设备对应的子链路时延的累加和,以及所述第三节点设备对应的出口时间与入口时间,所述第三节点设备为所述第一节点设备的前一跳中间节点转发设备;

其中,所述第一节点设备根据测量报文进入所述第一节点设备的入口时间以及离开所述第一节点设备的出口时间更新所述测量报文,获得更新后的测量报文,包括:

所述第一节点设备确定所述第一节点设备对应的子链路时延;

所述第一节点设备将所述第三节点设备对应的出口时间与入口时间的时间差确定为所述第三节点设备的子内部时延;

所述第一节点设备根据所述第三节点设备的子内部时延、所述第一节点设备对应的子链路时延以及所述第一节点设备对应的出口时间和入口时间更新所述时延信息,获得更新后的测量报文,其中,更新后的时延信息包括所述第一节点设备之前的各个中间节点转发设备的子内部时延、所述第一节点以及所述第一节点设备之前的各个中间节点转发设备对应的子链路时延的累加和,以及所述第一节点设备对应的出口时间与入口时间。

情况四:

结合第一方面,在一种可能的实现方式中,所述第一节点设备接收到的测量报文中的时延信息包括所述第一节点设备之前的各个中间节点转发设备对应的出口时间与入口时间;

其中,所述第一节点设备根据测量报文进入所述第一节点设备的入口时间以及离开所述第一节点设备的出口时间更新所述时延信息,包括:

所述第一节点设备根据测量报文进入所述第一节点设备的入口时间以及离开所述第一节点设备的出口时间更新所述时延信息,其中,更新后的时延信息包括所述第一节点设备以及所述第一节点设备之前的各个中间节点转发设备对应的出口时间与入口时间。

结合第一方面,在一种可能的实现方式中,所述测量报文还包括所述时延信息中的入口时间与出口时间对应的时间单位信息。

结合第一方面,在一种可能的实现方式中,所述测量报文还包括时延信息中的各个中间节点转发设备对应的出口时间与入口时间对应的时间单位信息。

结合第一方面,在一种可能的实现方式中,所述测量报文还包括最大跳数信息以及所述测量报文传输至所述第一节点设备的累积跳数信息。

根据上文描述的四种情况可以得出,上述情况一中需要中间节点转发设备自己计算自身的子内部时延,由于中间节点设备需要先打出口时间戳才能通过网络处理器(networkprocessor,np)计算自身的子内部时延,导致需要对测量值进行精度补偿。不过情况一中测量报文比特数比其他三个情况中测量报文的比特数小,能够节省网络资源。

情况二和情况三中由下一跳节点设备计算上一跳节点设备的子内部时延,可以实现在媒体访问控制(mediaaccesscontrol,mac)侧打时间戳,能够提高单向时延的测量精度。不过情况二和情况三中的比特数大于情况一,小于情况三。

情况四中,中间节点设备仅需要打自身的时间戳,无需进行计算,因此对中间节点设备的能力要求较低,无需对已有的转发设备进行修改,能够兼容已有的转发设备。情况一至情况三中需要要求中间节点设备具有一定的计算能力。

应理解,上述四种情况仅是示意性的,本领域技术人员可以根据上述四种情况进行相应的变形,这样的修改也在本申请实施例的保护范围内。

例如,在当所有设备的时间戳单元统一时,上述情况二至情况四中测量报文中可以省略时间戳单位字段。

还应理解,上述四种情况可以互相结合或者组合,本申请实施例并不限于此。

还应理解,上述四种情况中各个字段在报文中的先后顺序或者位置可以互相调整或者调换,本申请实施例并不限于此。

第二方面,提供了一种处理测量报文的方法,该方法包括第二节点设备接收第一节点设备发送的测量报文,所述测量报文是根据测量报文进入所述第一节点设备的入口时间以及离开所述第一节点设备的出口时间确定的;所述第二节点设备根据所述测量报文进行测量处理。

因此,本申请实施例中,通过报文进入设备的入口时间和离开设备的出口时间对测量报文进行更新,能够使得接收端设备根据接收到的测量报文进行单向时延的测量。本申请实施例的方法无需进行发送端和接收端的时钟同步,进而可以避免现有技术中发送端和接收端的时钟同步问题,能够提高诸多方面的检测(例如,故障检测、qos的检测等)的准确性。

应理解,第二方面的执行主体为第二节点设备,第一方面的执行主体为第一节点设备,第二方面的方法与第一方面的方法对应,具体地一些实现方式和有益效果可以参见上文中的描述,此处适当省略详细描述。

结合二方面,在一种可能的实现方式中,所述第二节点设备接收到的测量报文是根据测量报文进入所述第二节点设备之前的各个中间节点转发设备的入口时间以及离开所述各个中间节点转发设备的出口时间确定的。

结合二方面,在一种可能的实现方式中,所述测量报文携带以下信息中的至少一种:

测量报文离开所述第一节点设备的出口时间与进入所述第一节点设备的入口时间的时间差;

所述时间差与所述第一节点设备之前的节点设备的时间差的累加和;

测量报文进入所述第一节点设备的入口时间以及离开所述第一节点设备的出口时间;

其中,所述第一节点设备之前的节点设备的时间差为测量报文离开所述第一节点设备之前的节点设备的出口时间与进入所述第一节点设备之前的节点设备的入口时间的时间差值。

应理解,本申请实施例中,该第二节点设备为第一节点设备的下一跳节点设备,该第二节点设备可以为中间节点转发设备也可以为接收端设备。

在第二节点设备为中间节点转发设备时,该第二节点设备执行的动作与第一节点设备执行的动作类似,为避免重复,此处不再赘述。

在第二节点设备为接收端设备时,第二节点设备(即接收端设备)根据测量报文进行测量处理的具体过程。例如,可以进行单向时延测量、网络故障追踪定位、网络设备状态监测或网络管理可视化等。

下面以单向时延测量为例,描述该第二节点设备(即接收端设备)接收到测量报文后进行的测量处理。

结合二方面,在一种可能的实现方式中,所述测量报文携带时延信息,所述时延信息用于测量单向时延,所述单向时延为发送端设备发送报文到接收端接收报文的时间间隔;

所述单向时延包括设备内部时延以及链路时延,其中所述设备内部时延包括各个中间节点转发设备的子内部时延,一个中间节点转发设备的子内部时延为所述一个中间节点转发设备对应的出口时间与入口时间的时间差,所述链路时延包括发送端至接收端之间的链路的时延,所述链路时延包括所有中间节点转发设备和接收端设备中各个节点设备对应的子链路时延,其中,一个节点设备对应的子链路时延包括该一个节点设备与其前一跳节点设备之间的直连链路的时延。

结合二方面,在一种可能的实现方式中,所述第二节点设备为接收端设备,所述第二节点设备根据所述测量报文进行测量处理,包括:所述第二节点设备根据所述测量报文确定所述单向时延。

针对上文第一方面描述的测量报文的四种情况,下面分情况描述接收端设备确定单向时延的具体方案。

情况一,

结合二方面,在一种可能的实现方式中,所述时延信息包括所述第二节点设备之前的各个中间节点转发设备的子内部时延的累加和;

其中,所述第二节点设备根据所述测量报文确定所述单向时延,包括:

所述第二节点设备将所述子内部时延累加和确定为所述设备内部时延,并将所述内部时延与所述链路时延的和确定为所述单向时延。

情况二,

结合二方面,在一种可能的实现方式中,所述时延信息包括所述第一节点设备之前的各个中间节点转发设备的子内部时延累加和以及所述第一节点设备对应的出口时间与入口时间;

其中,所述第二节点设备根据所述测量报文确定所述单向时延,包括:

所述第二节点设备将所述第一节点设备对应的出口时间与入口时间的时间差确定为所述第一节点设备的子内部时延;

所述第二节点设备将所述第一节点设备之前的各个中间节点转发设备的子内部时延累加和与所述第一节点设备的子内部时延的和确定为所述设备内部时延,并将所述设备内部时延与所述链路时延的和确定为所述单向时延。

情况三,

结合二方面,在一种可能的实现方式中,所述时延信息包括所述第一节点设备之前的各个中间节点转发设备的子内部时延与所述第二节点设备之前的各个中间节点转发设备对应的子链路时延的累加和,以及所述第一节点设备对应的出口时间与入口时间;

其中,所述第二节点设备根据所述测量报文确定所述单向时延,包括:

所述第二节点设备确定所述第二节点设备对应的子链路时延;

所述第二节点设备将所述第一节点设备对应的出口时间与入口时间的时间差确定为所述第一节点设备的子内部时延;

所述第二节点设备将所述第一节点设备之前的各个中间节点转发设备的子内部时延与所述第二节点设备之前的各个中间节点转发设备对应的子链路时延的累加和、所述第二节点设备对应的子链路时延、以及所述第一节点设备的子内部时延的和确定为所述单向时延。

情况四,

结合二方面,在一种可能的实现方式中,所述时延信息包括所述第二节点设备之前的各个中间节点转发设备对应的出口时间与入口时间;

其中,所述第二节点设备根据所述测量报文确定所述单向时延,包括:

所述第二节点设备将所述第二节点设备之前的各个中间节点转发设备对应的出口时间与入口时间确定所述各个中间节点转发设备的子内部时延,

所述第二节点设备将所述各个中间节点转发设备的子内部时延的和确定为所述设备内部时延,并将所述设备内部时延与所述链路时延的和确定为所述单向时延。

结合二方面,在一种可能的实现方式中,所述测量报文还包括所述时延信息中的入口时间与出口时间对应的时间单位信息。

结合二方面,在一种可能的实现方式中,所述测量报文还包括时延信息中的各个中间节点转发设备对应的出口时间与入口时间对应的时间单位信息。

结合二方面,在一种可能的实现方式中,所述测量报文还包括最大跳数信息以及所述测量报文传输至所述第一节点设备的累积跳数信息。

结合二方面,在一种可能的实现方式中,所述测量报文承载在业务报文中;或者,所述测量报文为专门用于测量的报文。

第三方面,提供了一种第一节点设备,包括用于执行第一方面或第一方面任一种可能实现方式中的方法的各个模块或单元。

在一种实现方式中,该第一节点设备为中间节点转发设备。

第四方面,提供了一种第二节点设备,包括用于执行二方面或第二方面任一种可能实现方式中方法的各个模块或单元。

在一种实现方式中,该第二节点设备为中间节点设备或者接收端设备。

第五方面,提供了一种第一节点设备,包括收发器、处理器和存储器。该处理器用于控制收发器收发信号,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得该装置执行第一方面及其可能实现方式中的方法。

在一种实现方式中,该第一节点设备为中间节点转发设备。

第六方面,提供了一种第二节点设备,包括收发器、处理器和存储器。该处理器用于控制收发器收发信号,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得该通信装置执行第二方面及其可能实现方式中的方法。

在一种实现方式中,该第二节点设备为中间节点设备或者接收端设备。

第七方面,提供了一种计算机可读介质,其上存储有计算机程序,该计算机程序被计算机执行时实现第一方面或第一方面的任一种可能的实现方式中的方法。

第八方面,提供了一种计算机可读介质,其上存储有计算机程序,该计算机程序被计算机执行时实现第三方面或第三方面的任一种可能的实现方式中的方法。

第九方面,提供了一种计算机程序产品,该计算机程序产品被计算机执行时实现第一方面或第一方面的任一种可能的实现方式中的方法。

第十方面,提供了一种计算机程序产品,该计算机程序产品被计算机执行时实现第二方面或第二方面任一种可能实现方式中的方法。

第十一方面,提供了一种处理装置,包括处理器。

在一种实现方式中,上述第一方面至第二方面或第一至第二方面的任一可能的实现方式中的方法的由该处理器执行,在这种情况下,该处理器可以为专用处理器。

在另一种实现方式中,该处理装置还可以包括存储器,该存储器中存储有代码,处理器执行存储器中的代码执行上述第一方面至第二方面或第一至第二方面的任一可能的实现方式中的方法,在这种情况下,该处理器可以为通用处理器。

应理解,在第十一方面中相关的数据交互过程例如发送测量报文可以为从处理器输出测量报文的过程,接收测量报文可以为处理器接收输入测量的过程。具体地,处理输出的数据可以输出给发射器,处理器接收的输入数据可以来自接收器。其中,发射器和接收器可以统称为收发器。

上述十一方面中的处理装置可以是一个芯片,该处理器可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。

附图说明

图1是本申请实施例可应用的计算机网络示意图。

图2是现有的一种单向时延的测量方法示意图。

图3是根据本申请一个实施例的处理测量报文的方法示意图。

图4是根据本申请一个实施例的单向时延的测量方法示意图。

图5是根据本申请一个实施例的测量报文结构示意图。

图6是根据本申请一个实施例的打时间戳示意图。

图7是根据本申请另一实施例的测量报文结构示意图。

图8是根据本申请另一实施例的打时间戳示意图。

图9是根据本申请另一实施例的测量报文结构示意图。

图10是根据本申请另一实施例的测量报文结构示意图。

图11是根据本申请一个实施例的单向时延的测量方法流程示意图。

图12是根据本申请另一实施例的单向时延的测量方法流程示意图。

图13是根据本申请另一实施例的单向时延的测量方法流程示意图。

图14是根据本申请另一实施例的单向时延的测量方法流程示意图。

图15是根据本申请一个实施例的第一节点设备的示意图。

图16是根据本申请另一实施例的第一节点设备的示意图。

图17是根据本申请一个实施例的第二节点设备的示意图。

图18是根据本申请一个实施例的第二节点设备的示意图。

具体实施方式

下面将结合附图,对本申请中的技术方案进行描述。

本申请实施例的技术方案可以应用于需要由转发设备转发报文的计算机网络中,例如该计算机网络可以为分组交换网络。作为示例而非限定,该分组交换网络包括但不限于如下网络:园区网、数据中心(datacenter,dc)网络…。

如图1所示,图1为本申请实施例可应用的计算机网络示意图,该计算机网络中包括发送端设备101、至少一个中间节点转发设备(也可以称为转发设备)102和接收端设备103。

在计算机网络中发送端101与接收端设备103通信时,发送端设备101发送的报文需要经过至少一个中间节点转发设备102的转发到达该接收端设备103。

本申请实施例中的发送端设备101和接收端设备103可以互换,发送端设备101和接收端设备103可以为相同类型的设备也可以为不同类型的设备,例如,发送端设备101和/或接收端设备103可以指能够接入网络的用户设备或服务器等。其中,该用户设备也可以称为终端设备,例如可以为蜂窝电话、个人计算机、个人数字处理(personaldigitalassistant,pda)、手持设备、计算设备、车载设备或可穿戴设备,本申请实施例对此并不限定。该服务器可以包括提供各种业务的设备,例如,可以为数据中心、网络中心、控制中心。

本申请实施例中,中间节点转发设备102可以是具有转发功能的路由器或交换机,或者该中间节点转发设备也可以为具有转发功能的用户设备或服务器等,本申请实施例并不限于此。

在计算机网络中,现有的诸多方面的检测(例如,故障检测、qos的检测等)均是通过单向时延测量进行的。下面结合图2描述现有的一种单向时延的测量方法。如图2所示,通过分别记录发送端开始发送报文时刻tsend和接收端完成接收报文的时刻treceive,两者相减所得时间量,即treceive-tsend来获得单向时延。然而,这种方法需要保证发送端和接收端的时钟保持同步,否则无法克服时钟之间的偏差所带来的对测量精度的影响。

在单向时延测量过程中,由于发送端主机与接收端主机可能存在时钟不同步的情况,需要通过时钟同步协议(如ntp、ieee1588v2)或高精度参考时钟源(如gps)将二者时钟同步,以减少对测量精度的影响。然而,全网级的时钟同步部署成本过高,端到端的单向时延测量不够精细化。因此,现有技术中基于单向时延进行多种的检测不能提供精细化测量,即不能定位到单个设备,导致上述诸多方面的检测不够准确。

鉴于上述问题,本申请实施例提出一种处理测量报文的方法,本申请实施例中通过测量报文进入设备的入口时间和离开设备的出口时间对测量报文进行更新,以使得接收端设备根据接收到的测量报文进行测量处理,进而能够实现上述多种检测的需求。本申请实施例的方法无需进行发送端和接收端的时钟同步,进而可以避免现有技术中发送端和接收端的时钟同步问题,能够提高上述多种检测的准确性。

为了使得本申请实施例的方案更容易理解,下面在描述本申请实施例之前,首先对本申请实施例描述中的一些术语定义如下。

入口时间:表示测量报文进入设备的时间,可以为设备的入口mac侧打的硬件时间戳,或者设备的入口np侧打的软件时间戳。

出口时间:表示测量报文离开设备的时间。该出口时间可以为设备的出口mac侧打的硬件时间戳,或者,该出口时间可以为设备的出口np侧打的软件时间戳。

节点设备:节点设备可以是发送端设备、中间节点转发设备或接收端设备。

中间节点转发设备:也可以称为中间设备或者转发设备,中间节点转发设备为发送端设备向接收端设备发送报文所经过的链路上的设备。

单向时延:表示报文由发送端发出的时间到接收端接收到报文的时间。在本申请实施例中,单向时延可以包括设备内部时延和链路时延;可选地,单向时延还可以包括补偿时延。具体的单向时延的定义可以参考下文中的描述。

作为示例而非限定,下面结合图3描述本申请实施例的处理测量报文的方法。具体地,如图3所述的方法包括:

310,第一节点设备接收测量报文。

应理解,该测量报文可以为专门用于测量的报文,也可以为承载在业务报文中的报文,本申请实施例并不限于此。

本申请实施例中,第一节点设备可以为中间节点设备。

例如,第一节点设备可以为发射端设备与接收端设备之间的多个中间节点转发设备中的第一个中间节点转发设备,那么第一节点设备接收测量报文包括该第一节点设备从发送端设备接收该测量测量报文。

可选地,第一节点设备可以为中间的中间节点转发设备,那么该第一节点设备接收测量报文包括该所述第一节点设备接收第三节点设备发送的测量报文,其中,第三节点设备发送的测量报文是根据测量报文进入第三节点设备的入口时间以及离开所述第三节点设备的出口时间确定的,所述第三节点设备为所述第一节点设备的前一跳中间节点转发设备。

进一步地,作为另一实施例,在第一节点设备之前具有多个中间节点设备时,该所述第一节点设备接收到的测量报文是根据测量报文进入所述第一节点设备之前的各个中间节点转发设备的入口时间以及离开所述各个中间节点转发设备的出口时间确定的。测量报文的具体内容可以参见下文中330中的描述,此处不再赘述。

320,第一节点设备根据测量报文进入所述第一节点设备的入口时间以及离开所述第一节点设备的出口时间更新所述测量报文,获得更新后的测量报文。

可选的,作为一个实施例,所述更新后的测量报文携带以下信息中的至少一种:测量报文离开所述第一节点设备的出口时间与进入所述第一节点设备的入口时间的时间差;所述时间差与所述第一节点设备之前的节点设备的时间差的累加和;测量报文进入所述第一节点设备的入口时间以及离开所述第一节点设备的出口时间。其中,所述第一节点设备之前的节点设备的时间差为测量报文离开所述第一节点设备之前的节点设备的出口时间与进入所述第一节点设备之前的节点设备的入口时间的时间差值。

应理解,本申请实施例中的处理测量报文的方法可以应用于多种场景中,例如,用于网络单向时延测量、用于网络故障追踪定位、用于网络设备状态监测或用于网络管理可视化等场景中,本申请实施例并不限于此。

以下内容,以用于单向时延测量的场景为例,描述本申请实施例中第一节点设备更新测量报文的具体方案。

为了使得本申请实施例的方案更容易理解,下面首先对本申请实施例中单向时延进行描述。

本申请实施例中,单向时延为发送端设备发送报文到接收端设备接收报文的时间间隔。

可选地,本申请实施例中,单向时延包括设备内部时延以及链路时延,其中,设备内部时延为累计的中间节点转发设备的内部时延,链路时延为从发送端到接收端的链路传播时延。其中,链路传播时延与发送端到接收端的距离有关,可由线路长度除以传播速度获得。

具体而言,在本申请实施例中,所述设备内部时延包括各个中间节点转发设备的子内部时延,一个中间节点转发设备的子内部时延为所述一个中间节点转发设备对应的出口时间与入口时间的时间差,所述链路时延包括发送端至接收端之间的链路的时延,所述链路时延包括所有中间节点转发设备和接收端设备中各个节点设备对应的子链路时延,其中,一个节点设备对应的子链路时延包括该一个节点设备与其前一跳节点设备之间的直连链路的时延。

下面描述本发明实施例中一种计算单向时延的方法:

如图4所示,本发明实施例可以将单向时延τ的分解为链路时延tlink,以及设备内部时延θ两个部分,即:

τ=tlink+θ(1)

如图4所示,假设从发送端到接收端的路径上存在n个中间节点转发设备(以下简称转发设备),那么发送端到第一个转发设备的子链路时延记为t0,第一个转发设备到第二个转发设备的子链路时延记为t1,以此类推,直到第n个转发设备到接收端之间的子链路时延为tn,则整个链路时延tlink=∑tk,k=0,1,2,…,n。对于一条选定的端到端路径,链路时延恒定,链路时延与端到端的距离有关,可由线路长度l除以传播速度vt获得,即tlink=l/vt。因此,综上可以得出:

tlink=∑tk,k=0,1,2,…,n;或者,tlink=l/vt(2)

当测量报文到达第i个转发设备时,在该第i转发设备的入口和出口侧(例如,入口和出口mac侧)分别打下时间戳tii和tei,则该转发设备的子内部时延δi=(tei-tii)*ui,ui为第i转发设备的时戳单位。那么,路径上n个转发设备的累计设备内部时延即为

θ=∑δi,i=1,2,…,n(3)

综上所述,本申请实施例中,一条端到端路径的单向时延可以由式(1)~(3)确定并计算可得。

需要说明的是,上述公式(1)中并没有考虑报文的传输时延。为了更精确的进行单向时延测量,满足高精度单向时延测量的需求,本申请实施例可以对单向时延的公式(1)在数值上的补偿ttrans,即可以按照如下公式(4)确定单向时延。

τ=tlink+θ+ttrans(4)

其中,ttrans为补偿量,可以用于补偿上述各种传输时延。具体地,ttrans可以用于补偿以下时延中的部分时延或者全部时延:发送端主机出口处的输出传输时延,各个中间节点转发设备入口处的输入传输时延和出口处的输出传输时延,以及接收端主机入口处的输入传输时延等。

具体地,ttrans可以是接收端设备根据设备(发送端设备、中间节点转发设备和接收端设备中的至少一个设备)的性能参数确定的(例如,可通过报文大小除以入口或者出口带宽计算所得),本申请实施例并不限于此。

下文描述了在不考虑上述传输时延的情况下,确定单向时延的方案。但本申请实施例并不限于此,在实际应用中,在考虑传输时延的情况下,可以按照公式(4)确定单向时延。

可选地,所述测量报文携带时延信息,所述时延信息用于测量单向时延。

应理解,本申请实施例中,测量报文中的时延信息可以具有多种形式,下面将针对时延信息的不同形式,分情况描述本申请实施中第一节点设备更新测量报文的具体方案。

情况一:

第一节点设备接收到的测量报文中的时延信息包括所述第一节点设备之前的各个中间节点转发设备的子内部时延的累加和;

其中,所述第一节点设备根据测量报文进入所述第一节点设备的入口时间以及离开所述第一节点设备的出口时间更新所述测量报文,获得更新后的测量报文,包括:

所述第一节点设备将测量报文离开所述第一节点设备的出口时间与进入所述第一节点设备的入口时间的时间差确定为所述第一节点设备的子内部时延;

所述第一节点设备根据所述第一节点设备的子内部时延更新所述时延信息,获得所述更新后的测量报文,其中,更新后的时延信息包括所述第一节点设备以及所述第一节点设备之前的各个中间节点转发设备的子内部时延的累加和。

可选地,所述测量报文还包括最大跳数信息以及所述测量报文传输至所述第一节点设备的累积跳数信息。

例如,图5示出了本申请实施例中测量报文中的字段,具体地,这些字段可以封装在该测量报文的报文头中。图5所示报文格式可以通过任意能够提供足够的空间来承载时延信息的封装方式来进行封装,例如在报文tcp头部中,选项域提供40个字节(320比特)的空间,可用来承载时延信息。

可选地,如图5所示本申请实施例中测量报文中的字段也可以封装在净荷(payload)中,本申请实施例并不限于此。

图5给出了情况一中测量报文中所需字段及其格式。图5中所示测量报文采用了32位的对齐格式。实际应用中图5所示的数据尺寸和各字段大小可根据实际应用需求而改变,本申请实施例并不限于此。

具体地,如图5所示的测量报文可以包括1比特的旗帜位字段(e(1))、8比特的最大跳数字段(maxhop(8bits))、8比特的总跳数字段(totalhop(8bits))、15比特的保留位字段(rsvd(15bits))以及32比特的中间节点转发设备的子内部时延的累加和(hopslatencysum(32bits))。

下面对图5中各字段内容进行解释说明。

旗帜位e(1bit):当报文达到最大跳数限制时,置1;否则置0。当该旗帜位为1时,中间节点转发设备则不能向测量报文写入自己的时延信息,即不再更新该时延信息。

应理解,本申请实施例中,最大跳数可以认为为正常转发的最大次数,因此,当旗帜位置1时,表明存在异常,中间节点转发设备无需更新该时延信息。

maxhop(8bits):表示最大跳数,能够避免转发循环及其他异常。

totalhop(8bits):表示当前沿路所经过的总跳数。当totalhop与maxhop相等时,旗帜位e置1。

rsvd.(15bits):保留位。可以用于为将来的扩展预留的项。

hopslatencysum(32bits):表示当前沿路所经过的所有中间节点转发设备的子内部时延的累加和,当当前中间节点转发设备为最后一个中间节点转发设备时,该累加和即为设备内部时延θ。

下面描述第一节点设备更新测量报文的具体过程。

具体而言,如图6所示,第一节点设备在入口网络处理器(networkprocessor,np)侧打下时间戳tii。在旗帜位e取值为0的情况下,第一节点设备更新总跳数字段,即总跳数取值加1,并在更新后的总跳数不等于最大跳数的情况下,在第一节点设备出口np侧打下时间戳tei;将其减去入口侧时间戳tei-tii,再乘以时戳单位ui得第一节点设备内部时延δi=(tei-tii)ui;更新θ=θ+δi,并将更新后的θ计入hopsdelaysum字段,完成对测量报文的更新。

应理解,上述过程没有考虑设备内部的传输时延情况,可选的,在考虑到时延的情况下,本申请实施例还可以对时间戳进行补偿。

例如,第一节点设备在入口np(networkprocessor,网络处理器)侧打下时间戳tii。考虑到媒体访问控制(mediaaccesscontrol,mac)和np之间的时延,对tii进行一个固定纠偏值的补偿得到入口mac侧时间戳tii-μii。在旗帜位e取值为0的情况下,第一节点设备更新总跳数字段,即总跳数取值加1,并在更新后的总跳数不等于最大跳数的情况下,在第一节点设备出口np侧打下时间戳tei,并进行纠偏值补偿,得到出口mac侧时间戳tei+μei;将其减去入口mac侧时间戳tii-μii,再乘以时戳单位ui得第一节点设备内部时延δi=(tei-tii)ui+(μei+μii)ui;更新θ=θ+δi,并将更新后的θ计入hopsdelaysum字段,完成对测量报文的更新。

应理解,本申请实施例中纠偏值μei可以包括以下时间中的至少一种:出口处np和mac之间的时延,以及np计算δi和更新θ的时间。

情况二:

第一节点设备接收到的测量报文中的时延信息包括第三节点设备之前的各个中间节点转发设备的子内部时延累加和以及所述第三节点设备对应的出口时间与入口时间,所述第三节点设备为所述第一节点设备的前一跳中间节点转发设备;

其中,所述第一节点设备根据测量报文进入所述第一节点设备的入口时间以及离开所述第一节点设备的出口时间更新所述测量报文,获得更新后的测量报文,包括:

所述第一节点设备将所述第三节点设备对应的出口时间与入口时间的时间差确定为所述第三节点设备的子内部时延;

所述第一节点设备根据所述第三节点设备的子内部时延以及所述第一节点设备对应的出口时间和入口时间更新所述时延信息,获得更新后的测量报文,其中,更新后的时延信息包括所述第一节点设备之前的各个中间节点转发设备的子内部时延累加和以及所述第一节点设备对应的出口时间与入口时间。

可选地,所述测量报文还包括最大跳数信息以及所述测量报文传输至所述第一节点设备的累积跳数信息。

可选地,所述测量报文还包括所述时延信息中的入口时间与出口时间对应的时间单位信息。

例如,图7示出了本申请实施例中测量报文中的字段,具体地,这些字段可以封装在该测量报文的报文头中,图7所示报文格式可以通过任意能够提供足够的空间来承载时延信息的封装方式来进行封装,例如在报文tcp头部中,选项域提供40个字节(320比特)的空间,可用来承载时延信息。

可选地,如图7所示本申请实施例中测量报文中的字段也可以封装在净荷中,本申请实施例并不限于此。

图7给出了情况二中测量报文中所需字段及其格式。图7中所示测量报文采用了32位的对齐格式。实际应用中图7所示的数据尺寸和各字段大小可根据实际应用需求而改变,本申请实施例并不限于此。

具体地,如图7所示的测量报文可以包括1比特的旗帜位字段(e(1))、8比特的最大跳数字段(maxhop(8bits))、8比特的总跳数字段(totalhop(8bits))、8比特的上一跳网络节点设备的时戳单位(tsunit(8bits))、7比特的保留位字段(rsvd(7bits))、32比特的上一跳网络节点设备入口mac侧时间戳(tsin(32bits))、32比特的上一跳网络节点设备出口mac侧时间戳(tsout(32bits))以及32比特的中间节点转发设备的子内部时延的累加和(hopslatencysum(32bits))。

下面详细介绍图7中各字段内容。

旗帜位e(1bit):当报文达到最大跳数限制时,置1;否则置0。当该旗帜位为1时,中间节点转发设备则不能向测量报文写入自己的时延信息,即不再更新该时延信息。

应理解,本申请实施例中,最大跳数可以认为为正常转发的最大次数,因此,当旗帜位置1时,表明存在异常,中间节点转发设备无需更新该时延信息。

maxhop(8bits):表示最大跳数,能够避免转发循环及其他异常。

totalhop(8bits):表示当前沿路所经过的总跳数。当totalhop与maxhop相等时,旗帜位e置1。

tsunit(8bits):表示上一跳网络节点设备的时戳单位。

tsin(32bits):表示上一跳网络节点设备入口mac侧时间戳。

tsout(32bits):表示上一跳网络节点设备出口mac侧时间戳。

rsvd.(7bits):保留位。可以用于为将来的扩展预留的项。

hopslatencysum(32bits):表示当前沿路所经过的所有中间节点转发设备的子内部时延的累加和,当当前中间节点转发设备为最后一个中间节点转发设备时,该累加和即为设备内部时延θ。

下面描述第一节点设备更新测量报文的具体过程。

具体而言,如图8所示,第一节点设备在入口mac侧打下时间戳tii。在旗帜位e取值为0的情况下,第一节点设备更新总跳数字段,即总跳数取值加1,并在更新后的总跳数不等于最大跳数的情况下,第一节点设备读取报文中tsin字段得上一跳节点设备(即第三节点设备)入口时间戳tii-1,tsout字段得上一跳节点设备出口时间戳tei-1,tsunit字段得上一跳节点设备时戳单位ui-1,计算上一跳节点设备内部时延δi-1=(tei-1–tii-1)ui-1;更新θ=θ+δi,计入delaysum字段;将tsin字段更新为tii,tsunit字段更新为第一节点设备时戳单位ui,在第一节点设备出口mac侧打下时间戳tei,计入tsout字段。完成对测量报文的更新。

情况三:

所述第一节点设备接收到的测量报文中的时延信息包括所述第三节点设备之前的各个中间节点转发设备的子内部时延与所述第一节点设备之前的各个中间节点转发设备对应的子链路时延的累加和,以及所述第三节点设备对应的出口时间与入口时间,所述第三节点设备为所述第一节点设备的前一跳中间节点转发设备;

其中,所述第一节点设备根据测量报文进入所述第一节点设备的入口时间以及离开所述第一节点设备的出口时间更新所述测量报文,获得更新后的测量报文,包括:

所述第一节点设备确定所述第一节点设备对应的子链路时延;

所述第一节点设备将所述第三节点设备对应的出口时间与入口时间的时间差确定为所述第三节点设备的子内部时延;

所述第一节点设备根据所述第三节点设备的子内部时延、所述第一节点设备对应的子链路时延以及所述第一节点设备对应的出口时间和入口时间更新所述时延信息,获得更新后的测量报文,其中,更新后的时延信息包括所述第一节点设备之前的各个中间节点转发设备的子内部时延、所述第一节点以及所述第一节点设备之前的各个中间节点转发设备对应的子链路时延的累加和,以及所述第一节点设备对应的出口时间与入口时间。

可选地,所述测量报文还包括最大跳数信息以及所述测量报文传输至所述第一节点设备的累积跳数信息。

可选地,所述测量报文还包括所述时延信息中的入口时间与出口时间对应的时间单位信息。

例如,图9示出了本申请实施例中测量报文中的字段,具体地,这些字段可以封装在该测量报文的报文头中,图9所示报文格式可以通过任意能够提供足够的空间来承载时延信息的封装方式来进行封装,例如在报文tcp头部中,选项域提供40个字节(320比特)的空间,可用来承载时延信息。

可选地,如图9所示本申请实施例中测量报文中的字段也可以封装在净荷中,本申请实施例并不限于此。

图9给出了情况三中测量报文中所需字段及其格式。图9中所示报文采用了32位的对齐格式。实际应用中图9所示的数据尺寸和各字段大小可根据实际应用需求而改变,本申请实施例并不限于此。

具体地,如图9所示的测量报文可以包括1比特的旗帜位字段(e(1))、8比特的最大跳数字段(maxhop(8bits))、8比特的总跳数字段(totalhop(8bits))、8比特的上一跳网络节点设备的时戳单位(tsunit(8bits))、7比特的保留位字段(rsvd.(7bits))、32比特的上一跳网络节点设备入口mac侧时间戳(tsin(32bits))、32比特的上一跳网络节点设备出口mac侧时间戳(tsout(32bits)以及32比特的时延累加和(delaysum(32bits))。

下面详细介绍图9中各字段内容。

旗帜位e(1bit):当报文达到最大跳数限制时,置1;否则置0。当该旗帜位为1时,中间节点转发设备则不能向测量报文写入自己的时延信息,即不再更新该时延信息。

应理解,本申请实施例中,最大跳数可以认为为正常转发的最大次数,因此,当旗帜位置1时,表明存在异常,中间节点转发设备无需更新该时延信息。

maxhop(8bits):表示最大跳数,能够避免转发循环及其他异常。

totalhop(8bits):表示当前沿路所经过的总跳数。当totalhop与maxhop相等时,旗帜位e置1。

tsunit(8bits):上一跳网络节点设备的时戳单位。

tsin(32bits):上一跳网络节点设备入口mac侧时间戳。

tsout(32bits):上一跳网络节点设备出口mac侧时间戳。

rsvd.(7bits):保留位。为将来的扩展预留的项。

delaysum(32bits):区别于图7中的累计网络节点设备内部时延,该字段包含了所述第三节点设备之前的各个中间节点转发设备的子内部时延与所述第一节点设备之前的各个中间节点转发设备对应的子链路时延的累加和,其值记为τ。

下面描述第一节点设备更新测量报文的具体过程。

具体而言,如图8所示,第一节点设备在入口mac侧打下时间戳tii。在旗帜位e取值为0的情况下,第一节点设备更新总跳数字段,即总跳数取值加1,并在更新后的总跳数不等于最大跳数的情况下,第一节点设备依入口测得与上一跳节点(第三节点设备)的直连链路传播时延ti-1;读取报文中tsin字段得上一跳节点设备入口时间戳tii-1,tsout字段得上一跳节点设备出口时间戳tei-1,tsunit字段得上一跳节点设备时戳单位ui-1,计算上一跳节点设备内部时延δi-1=(tei-1–tii-1)ui-1;更新τ=τ+ti-1+δi-1,计入delaysum字段;将tsin字段更新为tsin_temp的值tii,tsunit字段更新为本节点设备时戳单位ui,在第一节点设备出口mac侧打下时间戳tei,计入tsout字段。完成对测量报文的更新。

情况四:

所述第一节点设备接收到的测量报文中的时延信息包括所述第一节点设备之前的各个中间节点转发设备对应的出口时间与入口时间;

其中,所述第一节点设备根据测量报文进入所述第一节点设备的入口时间以及离开所述第一节点设备的出口时间更新所述时延信息,包括:

所述第一节点设备根据测量报文进入所述第一节点设备的入口时间以及离开所述第一节点设备的出口时间更新所述时延信息,其中,更新后的时延信息包括所述第一节点设备以及所述第一节点设备之前的各个中间节点转发设备对应的出口时间与入口时间。

可选地,所述测量报文还包括最大跳数信息以及所述测量报文传输至所述第一节点设备的累积跳数信息。

可选地,所述测量报文还包括时延信息中的各个中间节点转发设备对应的出口时间与入口时间对应的时间单位信息。

例如,图10示出了本申请实施例中测量报文中的字段,具体地,这些字段可以封装在该测量报文的报文头中,图10所示报文格式可以通过任意能够提供足够的空间来承载时延信息的封装方式来进行封装,例如在报文tcp头部中,选项域提供40个字节(320比特)的空间,可用来承载时延信息。

可选地,如图10所示本申请实施例中测量报文中的字段也可以封装在净荷中,本申请实施例并不限于此。

图10给出了情况四中测量报文中所需字段及其格式。图10中所示报文采用了32位的对齐格式。实际应用中图10所示的数据尺寸和各字段大小可根据实际应用需求而改变,本申请实施例并不限于此。

具体地,如图10所示的测量报文可以包括1比特的旗帜位字段(e(1))、8比特的最大跳数字段(maxhop(8bits))、8比特的总跳数字段(totalhop(8bits))、15比特的保留位字段(rsvd.(15bits))、32比特的第n跳网络节点设备(即第一节点设备)的时戳单位(tsunitofhopn(32bits))、32比特的第n跳网络节点设备入口mac侧时间戳(tsinofhopn(32bits))、32比特的第n跳网络节点设备出口mac侧时间戳(tsoutofhopn(32bits))、…、32比特的第1跳网络节点设备(即第一个中间节点转发设备)的时戳单位(tsunitofhop1(32bits))、32比特的第1跳网络节点设备入口mac侧时间戳(tsinofhop1(32bits)))、32比特的第1跳网络节点设备出口mac侧时间戳(tsoutofhop1(32bits))。

应理解,图10中与图9中相同的字段可以参考上文中图7的描述,此处不再赘述。

下面描述第一节点设备更新测量报文的具体过程。

具体而言,如图8所示,第一节点设备在入口mac侧打下时间戳tii,计入报文相应字段,在旗帜位e取值为0的情况下,第一节点设备更新总跳数字段,即总跳数取值加1,并在更新后的总跳数不等于最大跳数的情况下,将第一节点设备时戳单位ui计入报文相应字段,在第一节点设备出口mac侧打下时间戳tei,计入报文相应字段。完成对测量报文的更新。

根据上文描述的四种情况可以得出,上述情况一中需要中间节点转发设备自己计算自身的子内部时延,由于中间节点设备需要先打出口时间戳才能通过np计算自身的子内部时延,导致无法在mac打出口时间,导致需要对单向时延测量精度进行补偿。不过情况一中测量报文比特数比其他三个情况中测量报文的比特数小,能够节省网络资源。

情况二和情况三中由下一跳节点设备计算上一跳节点设备的子内部时延,可以实现在mac打时间戳,能够提高单向时延的测量精度。不过情况二和情况三中的比特数大于情况一,小于情况三。

情况四中,中间节点设备仅需要打自身的时间戳,无需进行计算,因此对中间节点设备的能力要求较低,无需对已有的转发设备进行修改,能够兼容已有的转发设备。情况一至情况三中需要要求中间节点设备具有一定的计算能力。

应理解,上述四种情况仅是示意性的,本领域技术人员可以根据上述四种情况进行相应的变形,这样的修改也在本申请实施例的保护范围内。

例如,在当所有设备的时间戳单元统一时,上述情况二至情况四中测量报文中可以省略时间戳单位字段。

还应理解,上述四种情况可以互相结合或者组合,本申请实施例并不限于此。

还应理解,上述四种情况中各个字段在报文中的先后顺序或者位置可以互相调整或者调换,本申请实施例并不限于此。

330,第一节点设备向第二节点设备发送所述更新后的测量报文。

相对应地,第二节点设备接收该更新后的测量报文。

340,所述第二节点设备根据接收到的测量报文进行测量处理。

应理解,本申请实施例中,该第二节点设备为第一节点设备的下一跳节点设备,该第二节点设备可以为中间节点转发设备也可以为接收端设备。

在第二节点设备为中间节点转发设备时,该第二节点设备执行的动作与第一节点设备执行的动作类似,为避免重复,此处不再赘述。

在第二节点设备为接收端设备时,第二节点设备(即接收端设备)根据测量报文进行测量处理的具体过程。例如,可以进行单向时延测量、网络故障追踪定位、网络设备状态监测或网络管理可视化等。

下面以单向时延测量为例,描述该第二节点设备(即接收端设备)接收到测量报文后进行的测量处理。

具体而言,第一节点设备为最后一个中间节点转发设备,所述第二节点设备为接收端设备,所述第二节点设备根据所述测量报文进行测量处理,包括:

所述第二节点设备根据所述测量报文确定所述单向时延。

针对上文描述的测量报文的四种情况,下面分情况描述接收端设备确定单向时延的具体方案。

情况一,

所述时延信息包括所述第二节点设备之前的各个中间节点转发设备的子内部时延的累加和;

其中,所述第二节点设备根据所述测量报文确定所述单向时延,包括:

所述第二节点设备将所述子内部时延累加和确定为所述设备内部时延,并将所述内部时延与所述链路时延的和确定为所述单向时延。

具体而言,第二节点设备(接收端设备)读取测量报文中hopsdelaysum字段获得设备内部时延θ;根据式(2)计算发送端-接收端的链路传播时延tlink,例如,接收端设备可以根据已知拓扑、路由表项或者查表等确定线路长度l,并根据式(2)计算得到tlink;并根据公式(3)计算θ+tlink得端到端网络单向时延。

可选地,接收端设备也可以根据公式(4)计算tlink+θ+ttrans得端到端网络单向时延。

应理解,ttrans可以是接收端设备根据设备(发送端设备、中间节点转发设备和接收端设备中的至少一个设备)的性能参数确定的(例如,可通过报文大小除以入口或者出口带宽计算所得),本申请实施例并不限于此。

情况二,

所述时延信息包括所述第一节点设备之前的各个中间节点转发设备的子内部时延累加和以及所述第一节点设备对应的出口时间与入口时间;

其中,所述第二节点设备根据所述测量报文确定所述单向时延,包括:

所述第二节点设备将所述第一节点设备对应的出口时间与入口时间的时间差确定为所述第一节点设备的子内部时延;

所述第二节点设备将所述第一节点设备之前的各个中间节点转发设备的子内部时延累加和与所述第一节点设备的子内部时延的和确定为所述设备内部时延,并将所述设备内部时延与所述链路时延的和确定为所述单向时延。

具体而言,第二节点设备(接收端设备)读取报文中tsin字段得上一跳节点设备入口时间戳tii-1,tsout字段得上一跳节点设备出口时间戳tei-1,tsunit字段得上一跳节点设备时戳单位ui-1,计算上一跳节点设备内部时延δi-1=(tei-1–tii-1)ui-1;更新θ=θ+δi,获得设备内部时延θ;根据式(2)计算发送端-接收端的链路传播时延tlink,例如,接收端设备可以根据已知拓扑、路由表项或者查表等确定线路长度l,并根据式(2)计算得到tlink;并根据公式(3)计算θ+tlink得端到端网络单向时延。

可选地,接收端设备也可以根据公式(4)计算tlink+θ+ttrans得端到端网络单向时延。

应理解,ttrans可以是接收端设备根据设备(发送端设备、中间节点转发设备和接收端设备中的至少一个设备)的性能参数确定的(例如,可通过报文大小除以入口或者出口带宽计算所得),本申请实施例并不限于此。

情况三:

所述时延信息包括所述第一节点设备之前的各个中间节点转发设备的子内部时延与所述第二节点设备之前的各个中间节点转发设备对应的子链路时延的累加和,以及所述第一节点设备对应的出口时间与入口时间;

其中,所述第二节点设备根据所述测量报文确定所述单向时延,包括:

所述第二节点设备确定所述第二节点设备对应的子链路时延;

所述第二节点设备将所述第一节点设备对应的出口时间与入口时间的时间差确定为所述第一节点设备的子内部时延;

所述第二节点设备将所述第一节点设备之前的各个中间节点转发设备的子内部时延与所述第二节点设备之前的各个中间节点转发设备对应的子链路时延的累加和、所述第二节点设备对应的子链路时延、以及所述第一节点设备的子内部时延的和确定为所述单向时延。

具体而言,第二节点设备(接收端设备)依入口测得当前节点与上一跳节点(第一节点设备)的直连链路传播时延ti-1;读取报文中tsin字段得上一跳节点设备入口时间戳tii-1,tsout字段得上一跳节点设备出口时间戳tei-1,tsunit字段得上一跳节点设备时戳单位ui-1,计算上一跳节点设备内部时延δi-1=(tei-1–tii-1)ui-1;计算τ=τ+ti-1+δi-1得端到端网络单向时延。

进一步地,接收端设备还可以对得到的单向时延补偿ttrans,得到更新后最终的单向时延。应理解,ttrans可以是接收端设备根据设备(发送端设备、中间节点转发设备和接收端设备中的至少一个设备)的性能参数确定的(例如,可通过报文大小除以入口或者出口带宽计算所得),本申请实施例并不限于此。

情况四

所述时延信息包括所述第二节点设备之前的各个中间节点转发设备对应的出口时间与入口时间;

其中,所述第二节点设备根据所述测量报文确定所述单向时延,包括:

所述第二节点设备将所述第二节点设备之前的各个中间节点转发设备对应的出口时间与入口时间确定所述各个中间节点转发设备的子内部时延,

所述第二节点设备将所述各个中间节点转发设备的子内部时延的和确定为所述设备内部时延,并将所述设备内部时延与所述链路时延的和确定为所述单向时延。

具体而言,第二节点设备(接收端设备)读取报文中各设备时间戳信息;计算累计网络节点设备内部时延θ=∑δi=∑(tei-tii)ui;根据式(2)计算发送端至接收端的链路传播时延tlink,例如,接收端设备可以根据已知拓扑、路由表项或者查表等确定线路长度l,并根据式(2)计算得到tlink;并根据公式(3)计算θ+tlink得端到端网络单向时延。

可选地,接收端设备也可以根据公式(4)计算tlink+θ+ttrans得端到端网络单向时延。

应理解,ttrans可以是接收端设备根据设备(发送端设备、中间节点转发设备和接收端设备中的至少一个设备)的性能参数确定的(例如,可通过报文大小除以入口或者出口带宽计算所得),本申请实施例并不限于此。

应理解,上文描述了四种情况下,有接收端设备根据测量报文确定单向时延的方法,可选地,接收端设备也可以将最终的测量报文发送至其他设备,由该其他设备根据最终的测量报文确定单向时延,本申请实施例并不限于此。

因此,本申请实施例中,通过报文进入设备的入口时间和离开设备的出口时间对测量报文进行更新,能够使得接收端设备根据接收到的测量报文进行单向时延的测量。本申请实施例的方法无需进行发送端和接收端的时钟同步,进而可以避免现有技术中发送端和接收端的时钟同步问题,能够提高检测的准确性。

上文描述了四种情况下,中间节点设备更新测量报文以及接收端设备确定单向时延的方法。

下面针对上述四种情况,分别结合图11至图14的例子,详细描述测量报文由发送端设备经过中间节点设备发送至接收端设备的整个过程。

应理解,图11至图14分别对应上述情况一至情况四。图11至图14中各个设备的执行过程可以参考上文中针对情况一至情况四的描述,为避免重复,此处适当省略详细描述。

图11所示的方法包括:

1110,发送端初始化测量报文并发送该报文。

具体的,发送端设备向第1(i=1)跳网络节点设备,即第一个中间节点转发设备发送初始化报文。

发送端设备执行的初始化过程可以包括设置旗帜位e=0,设置最大跳数限制maxhop,设置totalhop=0,设置hopsdelaysum字段的值θ=0。

应理解,本申请实施例中,最大跳数maxhop可以不固定,具体的取值可根据实际网络情况进行设置,本申请实施例并不对此做限定。

1120,测量报文达到第i跳网络节点设备。

其中,当具有n个中间节点转发设备时,i的取值范围为1至n+1。

1121,当前节点设备判断自身是否为接收端设备。

具体而言,当前节点设备即第i跳网络设备节点设备判断自身是否为接收端设备,例如,当前节点设备可以根据报文头中的接收端设备的地址(例如,接收端设备的标识、五元组等)确定自身是否为接收端设备。

如该当前设备即第i跳网络设备节点设备确定为接收端,则执行步骤1123,确定单向时延,具体确定单向时延的过程如下:

读取测量报文中hopsdelaysum字段获得设备内部时延θ;根据式(2)计算发送端-接收端的链路传播时延tlink,例如,接收端设备可以根据已知拓扑、路由表项或者查表等确定线路长度l,并根据式(2)计算得到tlink;并根据公式(3)计算θ+tlink得端到端网络单向时延。

可选地,接收端设备也可以根据公式(4)计算tlink+θ+ttrans得端到端网络单向时延。

应理解,ttrans可以是接收端设备根据设备(发送端设备、中间节点转发设备和接收端设备中的至少一个设备)的性能参数确定的(例如,可通过报文大小除以入口或者出口带宽计算所得),本申请实施例并不限于此。

如该当前设备即第i跳网络设备节点设备不是接收端,则执行步骤1122:在设备入口网络处理器(networkprocessor,np)侧打下时间戳tii。考虑到媒体访问控制(mediaaccesscontrol,mac)和np之间的时延,对tii进行一个固定纠偏值的补偿得到入口mac侧时间戳tii-μii。前往步骤1130。

1130,判断旗帜位e是否=1。

如果e=1,说明报文在路径上经过的设备数达到了最大跳数限制,跳转至步骤1120。

如果e=0,执行步骤1131,更新字段totalhop=totalhop+1,之后前往步骤1140。

1140,判断totalhop与maxhop是否相等。

如果totalhop≠maxhop,直接前往步骤1150。

如果totalhop=maxhop,执行步骤1141,旗帜位e置1后,再前往步骤1150。

1150:更新测量报文。

具体地,在当前网络节点设备出口np侧打下时间戳tei;进行纠偏值补偿,得到出口mac侧时间戳tei+μei;将其减去入口mac侧时间戳tii-μii,再乘以时戳单位ui得设备内部时延δi=(tei-tii)ui+(μei+μii)ui;更新θ=θ+δi,并将更新后的θ计入hopsdelaysum字段,转步骤1120。

图12所示的方法包括:

1210:发送端初始化测量报文并发送该报文。

具体的,发送端设备向第1(i=1)跳网络节点设备,即第一个中间节点转发设备发送初始化报文。

发送端设备执行的初始化过程可以包括设置旗帜位e=0,设置最大跳数限制maxhop,设置totalhop=0,设置hopsdelaysum字段的值θ=0。

应理解,本申请实施例中,最大跳数maxhop可以不固定,可根据实际网络情况进行设置,本申请实施例并不限于此。

1220:测量报文达到第i跳网络节点设备。

其中,当具有n个中间节点转发设备时,i的取值范围为1至n+1。

1121,当前节点设备判断自身是否为接收端。

具体而言,当前节点设备即第i跳网络设备节点设备判断自身是否为接收端设备,例如,当前节点设备可以根据报文头中的接收端设备的地址(例如,接收端设备的标识、五元组等)确定自身是否为接收端设备。

如该当前设备即第i跳网络设备节点设备确定为接收端,则执行1223,确定单向时延,具体确定单向时延的过程如下:

读取报文中tsin字段得上一跳节点设备入口时间戳tii-1,tsout字段得上一跳节点设备出口时间戳tei-1,tsunit字段得上一跳节点设备时戳单位ui-1,计算上一跳节点设备内部时延δi-1=(tei-1–tii-1)ui-1;更新θ=θ+δi,获得设备内部时延θ。根据式(2)计算发送端-接收端的链路传播时延tlink,例如,接收端设备可以根据已知拓扑、路由表项或者查表等确定线路长度l,并根据式(2)计算得到tlink;并根据公式(3)计算θ+tlink得端到端网络单向时延。

可选地,接收端设备也可以根据公式(4)计算tlink+θ+ttrans得端到端网络单向时延。

应理解,ttrans可以是接收端设备根据设备(发送端设备、中间节点转发设备和接收端设备中的至少一个设备)的性能参数确定的(例如,可通过报文大小除以入口或者出口带宽计算所得),本申请实施例并不限于此。

如该当前设备即第i跳网络设备节点设备不是接收端,则执行1222:在设备入口mac侧打下时间戳tii,前往步骤1230。

1230:判断旗帜位e是否=1。

如果e=1,说明报文在路径上经过的设备数达到了最大跳数限制,跳转至步骤1220。

如果e=0,执行步骤1231,更新字段totalhop=totalhop+1,前往步骤1240。

1240:判断totalhop与maxhop是否相等。

如果totalhop≠maxhop,直接前往步骤1250。

如果totalhop=maxhop,执行步骤1241,旗帜位e置1后,再前往步骤1250。

1250:更新测量报文。

具体地,读取报文中tsin字段得上一跳节点设备入口时间戳tii-1,tsout字段得上一跳节点设备出口时间戳tei-1,tsunit字段得上一跳节点设备时戳单位ui-1,计算上一跳节点设备内部时延δi-1=(tei-1–tii-1)ui-1;更新θ=θ+δi,计入delaysum字段;将tsin字段更新为tsin_temp的值tii,tsunit字段更新为本节点设备时戳单位ui,前往步骤1260以继续对报文的更新。

1260:在当前网络节点设备出口mac侧打下时间戳tei,计入tsout字段,完成对测量报文的更新,之后转步骤1220。

图13所示的方法包括:

1310:发送端初始化测量报文并发送该报文。

具体的,发送端设备向第1(i=1)跳网络节点设备,即第一个中间节点转发设备发送初始化报文。

发送端设备执行的初始化过程可以包括设置旗帜位e=0,设置最大跳数限制maxhop,设置totalhop=0,设置delaysum字段的值τ=0。

应理解,本申请实施例中,最大跳数maxhop可以不固定,可根据实际网络情况进行设置,本申请实施例并不限于此。

1320:测量报文达到第i跳网络节点设备。

其中,当具有n个中间节点转发设备时,i的取值范围为1至n+1。

1321,当前节点设备判断自身是否为接收端。

具体而言,当前节点设备即第i跳网络设备节点设备判断自身是否为接收端设备,例如,当前节点设备可以根据报文头中的接收端设备的地址(例如,接收端设备的标识、五元组等)确定自身是否为接收端设备。

如该当前设备即第i跳网络设备节点设备确定为接收端,则执行1323:确定单向时延,具体确定单向时延的过程如下:

依入口测得当前节点与上一跳节点的直连链路传播时延ti-1;读取报文中tsin字段得上一跳节点设备入口时间戳tii-1,tsout字段得上一跳节点设备出口时间戳tei-1,tsunit字段得上一跳节点设备时戳单位ui-1,计算上一跳节点设备内部时延δi-1=(tei-1–tii-1)ui-1;计算τ=τ+ti-1+δi-1得端到端网络单向时延。

进一步地,接收端设备还可以对得到的单向时延补偿ttrans得到更新后最终的单向时延。应理解,ttrans可以是接收端设备根据设备(发送端设备、中间节点转发设备和接收端设备中的至少一个设备)的性能参数确定的(例如,可通过报文大小除以入口或者出口带宽计算所得),本申请实施例并不限于此。

如该当前设备即第i跳网络设备节点设备不是接收端,则执行1322:在设备入口mac侧打下时间戳tii,记录临时变量tsin_temp,前往步骤1330。

1330:判断旗帜位e是否=1。

如果e=1,说明报文在路径上经过的设备数达到了最大跳数限制,跳转至步骤1320。

如果e=0,执行步骤1331,更新字段totalhop=totalhop+1,前往步骤1340。

1340:判断totalhop与maxhop是否相等。

如果totalhop≠maxhop,直接前往步骤1350。

如果totalhop=maxhop,执行步骤1241,旗帜位e置1后,再前往步骤1350。

1350:更新测量报文。

具体地,依入口测得当前节点与上一跳节点的直连链路传播时延ti-1;读取报文中tsin字段得上一跳节点设备入口时间戳tii-1,tsout字段得上一跳节点设备出口时间戳tei-1,tsunit字段得上一跳节点设备时戳单位ui-1,计算上一跳节点设备内部时延δi-1=(tei-1–tii-1)ui-1;更新τ=τ+ti-1+δi-1,计入delaysum字段;将tsin字段更新为tsin_temp的值tii,tsunit字段更新为本节点设备时戳单位ui,前往步骤1360以继续对报文的更新。

1360:在当前网络节点设备出口mac侧打下时间戳tei,计入tsout字段,完成对测量报文的更新,之后转步骤1320。

图14所示的方法包括:

1410,发送端初始化测量报文并发送该报文。

具体的,发送端设备向第1(i=1)跳网络节点设备,即第一个中间节点转发设备发送初始化报文。

发送端设备执行的初始化过程可以包括设置旗帜位e=0,设置最大跳数限制maxhop,设置totalhop=0。

应理解,本申请实施例中,最大跳数maxhop可以不固定,可根据实际网络情况进行设置,本申请实施例并不限于此。

1420:测量报文达到第i跳网络节点设备。

其中,当具有n个中间节点转发设备时,i的取值范围为1至n+1。

1421,当前节点设备判断自身是否为接收端。

具体而言,当前节点设备即第i跳网络设备节点设备判断自身是否为接收端设备,例如,当前节点设备可以根据报文头中的接收端设备的地址(例如,接收端设备的标识、五元组等)确定自身是否为接收端设备。

如该当前设备即第i跳网络设备节点设备确定为接收端,则执行步骤1423:确定单向时延,具体确定单向时延的过程如下:

接收端设备读取报文中各设备时间戳信息;计算累计网络节点设备内部时延θ=∑δi=∑(tei-tii)ui;根据式(2)计算发送端至接收端的链路传播时延tlink,例如,接收端设备可以根据已知拓扑、路由表项或者查表等确定线路长度l,并根据式(2)计算得到tlink;并根据公式(3)计算θ+tlink得端到端网络单向时延。

可选地,接收端设备也可以根据公式(4)计算tlink+θ+ttrans得端到端网络单向时延。

应理解,ttrans可以是接收端设备根据设备(发送端设备、中间节点转发设备和接收端设备中的至少一个设备)的性能参数确定的(例如,可通过报文大小除以入口或者出口带宽计算所得),本申请实施例并不限于此。

如该当前设备即第i跳网络设备节点设备不是接收端,则1422在设备入口mac侧打下时间戳tii,计入报文相应字段,前往步骤1430。

1430:判断旗帜位e是否置1。

如果e=1,说明报文在路径上经过的设备数达到了最大跳数限制,跳转至步骤1420。

如果e=0,执行步骤1431,更新字段totalhop=totalhop+1,前往步骤1440。

1440:判断totalhop与maxhop是否相等。

如果totalhop≠maxhop,直接前往步骤1450。

如果totalhop=maxhop,执行步骤1441,旗帜位e置1后,再前往步骤1450。

1450:更新测量报文。

具体地,将本节点设备时戳单位ui计入报文相应字段,前往步骤1460以继续对报文的更新。

1460:在当前网络节点设备出口mac侧打下时间戳tei,计入报文相应字段,完成对测量报文的更新,之后转步骤1420。

因此,本申请实施例中,通过报文进入设备的入口时间和离开设备的出口时间对测量报文进行更新,能够使得接收端设备根据接收到的测量报文进行单向时延的测量。本申请实施例的方法无需进行发送端和接收端的时钟同步,进而可以避免现有技术中发送端和接收端的时钟同步问题,能够提高检测的准确性。

应理解,上述本申请的实施例中,中间节点设备可以不仅仅对应一个独立的设备,例如,一个中间节点转发设备可以对应一个局域网络,那么中间节点转发设备的子内部时延可以表示该一个局域网络中的单向时延,本申请实施例并不限于此。

应理解,上文中图1至图14的例子,仅仅是为了帮助本领域技术人员理解本发明实施例,而非要将本发明实施例限于所例示的具体数值或具体场景。本领域技术人员根据所给出的图1至图14的例子,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本发明实施例的范围内。

应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

上文中,结合图1至图14详细描述了本发明实施例的方法,下面结合图15至图18描述本发明实施例的设备。

图15为本申请实施例提供的一种处理测量报文的第一节点设备的结构示意图,该第一节点设备1500可以包括:

处理单元1510和收发单元1520。

所述收发单元用于接收测量报文;

所述处理单元用于根据测量报文进入所述第一节点设备的入口时间以及离开所述第一节点设备的出口时间更新所述测量报文,获得更新后的测量报文;

所述收发单元还用于向第二节点设备发送所述更新后的测量报文。

可选地,所述收发单元具体用于接收第三节点设备发送的测量报文,其中,第三节点设备发送的测量报文是根据测量报文进入第三节点设备的入口时间以及离开所述第三节点设备的出口时间确定的,所述第三节点设备为所述第一节点设备的前一跳中间节点转发设备。

可选地,所述收发单元接收到的测量报文是根据测量报文进入所述第一节点设备之前的各个中间节点转发设备的入口时间以及离开所述各个中间节点转发设备的出口时间确定的。

可选地,所述更新后的测量报文携带以下信息中的至少一种:

测量报文离开所述第一节点设备的出口时间与进入所述第一节点设备的入口时间的时间差;

所述时间差与所述第一节点设备之前的节点设备的时间差的累加和;

测量报文进入所述第一节点设备的入口时间以及离开所述第一节点设备的出口时间;

其中,所述第一节点设备之前的节点设备的时间差为测量报文离开所述第一节点设备之前的节点设备的出口时间与进入所述第一节点设备之前的节点设备的入口时间的时间差值。

可选地,所述测量报文携带时延信息,所述时延信息用于测量单向时延,所述单向时延为发送端设备发送报文到接收端接收报文的时间间隔;

所述单向时延包括设备内部时延以及链路时延,其中所述设备内部时延包括各个中间节点转发设备的子内部时延,一个中间节点转发设备的子内部时延为所述一个中间节点转发设备对应的出口时间与入口时间的时间差,所述链路时延包括发送端至接收端之间的链路的时延,所述链路时延包括所有中间节点转发设备和接收端设备中各个节点设备对应的子链路时延,其中,一个节点设备对应的子链路时延包括该一个节点设备与其前一跳节点设备之间的直连链路的时延。

可选地,所述收发单元接收到的测量报文中的时延信息包括所述第一节点设备之前的各个中间节点转发设备的子内部时延的累加和;

其中,所述处理单元具体用于:

将测量报文离开所述第一节点设备的出口时间与进入所述第一节点设备的入口时间的时间差确定为所述第一节点设备的子内部时延;

根据所述第一节点设备的子内部时延更新所述时延信息,获得所述更新后的测量报文,其中,更新后的时延信息包括所述第一节点设备以及所述第一节点设备之前的各个中间节点转发设备的子内部时延的累加和。

可选地,所述收发单元接收到的测量报文中的时延信息包括第三节点设备之前的各个中间节点转发设备的子内部时延累加和以及所述第三节点设备对应的出口时间与入口时间,所述第三节点设备为所述第一节点设备的前一跳中间节点转发设备;

其中,所述处理单元具体用于:

将所述第三节点设备对应的出口时间与入口时间的时间差确定为所述第三节点设备的子内部时延;

根据所述第三节点设备的子内部时延以及所述第一节点设备对应的出口时间和入口时间更新所述时延信息,获得更新后的测量报文,其中,更新后的时延信息包括所述第一节点设备之前的各个中间节点转发设备的子内部时延累加和以及所述第一节点设备对应的出口时间与入口时间。

可选地,所述收发单元接收到的测量报文中的时延信息包括所述第三节点设备之前的各个中间节点转发设备的子内部时延与所述第一节点设备之前的各个中间节点转发设备对应的子链路时延的累加和,以及所述第三节点设备对应的出口时间与入口时间,所述第三节点设备为所述第一节点设备的前一跳中间节点转发设备;

其中,所述处理单元具体用于:

确定所述第一节点设备对应的子链路时延;

将所述第三节点设备对应的出口时间与入口时间的时间差确定为所述第三节点设备的子内部时延;

根据所述第三节点设备的子内部时延、所述第一节点设备对应的子链路时延以及所述第一节点设备对应的出口时间和入口时间更新所述时延信息,获得更新后的测量报文,其中,更新后的时延信息包括所述第一节点设备之前的各个中间节点转发设备的子内部时延、所述第一节点以及所述第一节点设备之前的各个中间节点转发设备对应的子链路时延的累加和,以及所述第一节点设备对应的出口时间与入口时间。

可选地,所述收发单元接收到的测量报文中的时延信息包括所述第一节点设备之前的各个中间节点转发设备对应的出口时间与入口时间;

其中,所述处理单元具体用于:

根据测量报文进入所述第一节点设备的入口时间以及离开所述第一节点设备的出口时间更新所述时延信息,其中,更新后的时延信息包括所述第一节点设备以及所述第一节点设备之前的各个中间节点转发设备对应的出口时间与入口时间。

可选地,所述测量报文还包括所述时延信息中的入口时间与出口时间对应的时间单位信息。

可选地,所述测量报文还包括时延信息中的各个中间节点转发设备对应的出口时间与入口时间对应的时间单位信息。

可选地,所述测量报文还包括最大跳数信息以及所述测量报文传输至所述第一节点设备的累积跳数信息。

可选地,所述测量报文承载在业务报文中;或者,所述测量报文为专门用于测量的报文。

因此,本申请实施例中,通过报文进入设备的入口时间和离开设备的出口时间对测量报文进行更新,能够使得接收端设备根据接收到的测量报文进行单向时延的测量。本申请实施例的方法无需进行发送端和接收端的时钟同步,进而可以避免现有技术中发送端和接收端的时钟同步问题,能够提高检测的准确性。

应理解,这里的第一节点设备1500以功能单元的形式体现。这里的术语“单元”可以指应用特有集成电路(applicationspecificintegratedcircuit,asic)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。在一个可选例子中,本领域技术人员可以理解,本申请提供的第一节点设备1500对应上述方法实施例中第一节点设备执行的过程,该第一节点设备中的各个单元/模块的功能可以参见上文中的描述,此处不再赘述。

应理解,图15所述的第一节点设备可以是中间节点转发设备,也可以是安装于中间节点转发设备中的芯片或集成电路。

图16为本申请实施例提供的一种第一节点设备的结构示意图。如图16所示,该第一节点设备1600可应用于如图1所示的系统中,执行上述方法实施例中第一节点设备的功能。

如图16所示,第一节点设备1600可以包括处理器1610和收发器1620,处理器1610和收发器1620相连,可选地,第一节点设备1600还包括存储器1630,存储器1630与处理器1610相连,进一步可选地,该第一节点设备1600还可以包括总线系统1640。其中,处理器1610、存储器1630和收发器1620可以通过总线系统1640相连,该存储器1630可以用于存储指令,该处理器1610可以对应处理单元1510,收发器1620可以对应收发单元1520。具体地,处理1610用于执行该存储器1630存储的指令,以控制收发器1620收发测量报文。

应理解,在本发明实施例中,该处理器1610可以是中央处理单元(centralprocessingunit,cpu),该处理器1610还可以是其他通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

该存储器1630可以包括只读存储器和随机存取存储器,并向处理器1610提供指令和数据。存储器1630的一部分还可以包括非易失性随机存取存储器。

该总线系统1640除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统1640。

在实现过程中,上述方法的各步骤可以通过处理器1610中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1630,处理器1610读取存储器1630中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。

应理解,图16所示的第一节点设备1600能够实现上述方法实施例中涉及第一节点设备的各个过程。第一节点设备1600中的各个模块的操作和/或功能,分别为了实现上述方法实施例中的相应流程。具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详述描述。

图17为本申请实施例提供的一种处理测量报文的第二节点设备的结构示意图,该第一节点设备1700可以包括:

处理单元1710和收发单元1720。

所述收发单元用于接收第一节点设备发送的测量报文,所述测量报文是根据测量报文进入所述第一节点设备的入口时间以及离开所述第一节点设备的出口时间确定的;

所述处理单元用于根据所述测量报文进行测量处理。

可选地,所述收发单元接收到的测量报文是根据测量报文进入所述第二节点设备之前的各个中间节点转发设备的入口时间以及离开所述各个中间节点转发设备的出口时间确定的。

可选地,所述测量报文携带以下信息中的至少一种:

测量报文离开所述第一节点设备的出口时间与进入所述第一节点设备的入口时间的时间差;

所述时间差与所述第一节点设备之前的节点设备的时间差的累加和;

测量报文进入所述第一节点设备的入口时间以及离开所述第一节点设备的出口时间;

其中,所述第一节点设备之前的节点设备的时间差为测量报文离开所述第一节点设备之前的节点设备的出口时间与进入所述第一节点设备之前的节点设备的入口时间的时间差值。

可选地,所述测量报文携带时延信息,所述时延信息用于测量单向时延,所述单向时延为发送端设备发送报文到接收端接收报文的时间间隔;

所述单向时延包括设备内部时延以及链路时延,其中所述设备内部时延包括各个中间节点转发设备的子内部时延,一个中间节点转发设备的子内部时延为所述一个中间节点转发设备对应的出口时间与入口时间的时间差,所述链路时延包括发送端至接收端之间的链路的时延,所述链路时延包括所有中间节点转发设备和接收端设备中各个节点设备对应的子链路时延,其中,一个节点设备对应的子链路时延包括该一个节点设备与其前一跳节点设备之间的直连链路的时延。

可选地,所述第二节点设备为接收端设备,

所述处理单元具体用于根据所述测量报文确定所述单向时延。

可选地,所述时延信息包括所述第二节点设备之前的各个中间节点转发设备的子内部时延的累加和;

其中,所述处理单元具体用于将所述子内部时延累加和确定为所述设备内部时延,并将所述内部时延与所述链路时延的和确定为所述单向时延。

可选地,所述时延信息包括所述第一节点设备之前的各个中间节点转发设备的子内部时延累加和以及所述第一节点设备对应的出口时间与入口时间;

其中,所述处理单元具体用于:

将所述第一节点设备对应的出口时间与入口时间的时间差确定为所述第一节点设备的子内部时延;

将所述第一节点设备之前的各个中间节点转发设备的子内部时延累加和与所述第一节点设备的子内部时延的和确定为所述设备内部时延,并将所述设备内部时延与所述链路时延的和确定为所述单向时延。

可选地,所述时延信息包括所述第一节点设备之前的各个中间节点转发设备的子内部时延与所述第二节点设备之前的各个中间节点转发设备对应的子链路时延的累加和,以及所述第一节点设备对应的出口时间与入口时间;

其中,所述处理单元具体用于:

确定所述第二节点设备对应的子链路时延;

将所述第一节点设备对应的出口时间与入口时间的时间差确定为所述第一节点设备的子内部时延;

将所述第一节点设备之前的各个中间节点转发设备的子内部时延与所述第二节点设备之前的各个中间节点转发设备对应的子链路时延的累加和、所述第二节点设备对应的子链路时延、以及所述第一节点设备的子内部时延的和确定为所述单向时延。

可选地,所述时延信息包括所述第二节点设备之前的各个中间节点转发设备对应的出口时间与入口时间;

其中,所述处理单元具体用于:

将所述第二节点设备之前的各个中间节点转发设备对应的出口时间与入口时间确定所述各个中间节点转发设备的子内部时延,

将所述各个中间节点转发设备的子内部时延的和确定为所述设备内部时延,并将所述设备内部时延与所述链路时延的和确定为所述单向时延。

可选地,所述测量报文还包括所述时延信息中的入口时间与出口时间对应的时间单位信息。

可选地,所述测量报文还包括时延信息中的各个中间节点转发设备对应的出口时间与入口时间对应的时间单位信息。

可选地,所述测量报文还包括最大跳数信息以及所述测量报文传输至所述第一节点设备的累积跳数信息。

可选地,所述测量报文承载在业务报文中;或者,所述测量报文为专门用于测量的报文。

因此,本申请实施例中,通过报文进入设备的入口时间和离开设备的出口时间对测量报文进行更新,能够使得接收端设备根据接收到的测量报文进行单向时延的测量。本申请实施例的方法无需进行发送端和接收端的时钟同步,进而可以避免现有技术中发送端和接收端的时钟同步问题,能够提高检测的准确性。

应理解,这里的第二节点设备1700以功能单元的形式体现。这里的术语“单元”可以指应用特有集成电路(applicationspecificintegratedcircuit,asic)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。在一个可选例子中,本领域技术人员可以理解,本申请提供的第二节点设备1700对应上述方法实施例中第二节点设备执行的过程,该第二节点设备中的各个单元/模块的功能可以参见上文中的描述,此处不再赘述。

应理解,图17所述的第二节点设备可以是中间节点转发设备或接收端设备,也可以是安装于中间节点转发设备或接收端设备中的芯片或集成电路。

图18为本申请实施例提供的一种第二节点设备的结构示意图。如图18所示,该第二节点设备1800可应用于如图1所示的系统中,执行上述方法实施例中第二节点设备的功能。

如图18所示,第二节点设备1800可以包括处理器1810和收发器1820,处理器1810和收发器1820相连,可选地,第二节点设备1800还包括存储器1830,存储器1830与处理器1810相连,进一步可选地,该第二节点设备1800还可以包括总线系统1840。其中,处理器1810、存储器1830和收发器1820可以通过总线系统1840相连,该存储器1830可以用于存储指令,该处理器1810可以对应处理单元1710,收发器1820可以对应收发单元1720。具体地,处理1810用于执行该存储器1830存储的指令,以控制收发器1820收发测量报文。

应理解,在本发明实施例中,该处理器1810可以是中央处理单元(centralprocessingunit,cpu),该处理器1810还可以是其他通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

该存储器1830可以包括只读存储器和随机存取存储器,并向处理器1810提供指令和数据。存储器1830的一部分还可以包括非易失性随机存取存储器。

该总线系统1840除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统1840。

在实现过程中,上述方法的各步骤可以通过处理器1810中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1830,处理器1810读取存储器1830中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。

应理解,图18所示的第二节点设备1800能够实现上述方法实施例中涉及第二节点设备的各个过程。第二节点设备1800中的各个模块的操作和/或功能,分别为了实现上述方法实施例中的相应流程。具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详述描述。

本申请实施例还提供了一种处理装置,包括处理器和接口;所述处理器,用于执行上述任一方法实施例中的方法。

应理解,上述处理装置可以是一个芯片。例如,该处理装置可以是现场可编程门阵列(fieldprogrammablegatearray,fpga),可以是专用集成芯片(applicationspecificintegratedcircuit,asic),还可以是系统芯片(systemonchip,soc),还可以是中央处理器(centralprocessorunit,cpu),还可以是网络处理器(networkprocessor,np),还可以是数字信号处理电路(digitalsignalprocessor,dsp),还可以是微控制器(microcontrollerunit,mcu),还可以是可编程控制器(programmablelogicdevice,pld)或其他集成芯片。

在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。

应注意,本发明实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。

可以理解,本发明实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-onlymemory,rom)、可编程只读存储器(programmablerom,prom)、可擦除可编程只读存储器(erasableprom,eprom)、电可擦除可编程只读存储器(electricallyeprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(randomaccessmemory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(staticram,sram)、动态随机存取存储器(dynamicram,dram)、同步动态随机存取存储器(synchronousdram,sdram)、双倍数据速率同步动态随机存取存储器(doubledataratesdram,ddrsdram)、增强型同步动态随机存取存储器(enhancedsdram,esdram)、同步连接动态随机存取存储器(synchlinkdram,sldram)和直接内存总线随机存取存储器(directrambusram,drram)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。

本申请实施例还提供一种通信系统,其包括前述的发送端设备、中间节点设备和接收端设备。

本申请实施例还提供了一种计算机可读介质,其上存储有计算机程序,该计算机程序被计算机执行时实现上述任一方法实施例中的处理测量报文的方法。

本申请实施例还提供了一种计算机程序产品,该计算机程序产品被计算机执行时实现上述任一方法实施例中的处理测量报文的方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digitalsubscriberline,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(digitalvideodisc,dvd))、或者半导体介质(例如,固态硬盘(solidstatedisk,ssd))等。

上述各个装置实施例中节点设备和方法实施例中的节点设备完全对应,由相应的模块或单元执行相应的步骤,例如发送模块(发射器)方法执行方法实施例中发送的步骤,接收模块(接收器)执行方法实施例中接收的步骤,除发送接收外的其它步骤可以由处理模块(处理器)执行。具体模块的功能可以参考相应的方法实施例。发送模块和接收模块可以组成收发模块,发射器和接收器可以组成收发器,共同实现收发功能;处理器可以为一个或多个。

本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。

应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。

还应理解,本文中涉及的第一、第二、第三、第四以及各种数字编号仅为描述方便进行的区分,并不用来限制本申请实施例的范围。

应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各种说明性逻辑块(illustrativelogicalblock)和步骤(step),能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令(程序)。在计算机上加载和执行所述计算机程序指令(程序)时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1