CN108512675A - 一种网络诊断的方法、装置、控制节点和网络节点 - Google Patents

一种网络诊断的方法、装置、控制节点和网络节点 Download PDF

Info

Publication number
CN108512675A
CN108512675A CN201710105106.1A CN201710105106A CN108512675A CN 108512675 A CN108512675 A CN 108512675A CN 201710105106 A CN201710105106 A CN 201710105106A CN 108512675 A CN108512675 A CN 108512675A
Authority
CN
China
Prior art keywords
network node
message
diagnostic
network
mark
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.)
Granted
Application number
CN201710105106.1A
Other languages
English (en)
Other versions
CN108512675B (zh
Inventor
刘敏献
杨腾飞
袁舟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201710105106.1A priority Critical patent/CN108512675B/zh
Publication of CN108512675A publication Critical patent/CN108512675A/zh
Application granted granted Critical
Publication of CN108512675B publication Critical patent/CN108512675B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • H04L41/064Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis involving time analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0677Localisation of faults
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及一种网络诊断的方法、装置、控制节点和网络节点,该方法包括:控制节点向第一网络节点发送诊断请求消息,诊断请求消息中包括待诊断网络事务的标识和指示信息;接收第一网络节点发送的第一诊断消息,第一诊断消息包括待诊断网络事务的标识、诊断消息的生成顺序标识、接收诊断请求消息的时间,以及第一网络节点的标识和第二网络节点的标识,第二网络节点为第一网络节点的下一个网络节点;接收第二网络节点发送的第二诊断消息,第二诊断消息包括待诊断网络事务的标识、第二顺序标识、第二网络节点的标识、接收诊断请求消息的时间,第一网络节点和第二网络节点的下一个网络节点的标识;根据多个诊断消息得到待诊断网络事务的诊断结果。

Description

一种网络诊断的方法、装置、控制节点和网络节点
技术领域
本发明涉及互联网技术领域,特别涉及一种网络诊断方法、装置、控制节点和网络节点。
背景技术
随着互联网技术的不断发展,网络的运营规模迅速扩大,同时用户对网络的服务质量也提出了更高的要求,因此在网络运营中进行网络诊断便显得尤为重要。其中,网络诊断指在网络出现故障或网络处于亚健康状态时,定位问题发生的位置及其发生的原因,主要应用于网络诊断系统中网络节点之间的链路存在瓶颈的网络节点定位及网络节点异常检测等场景。
现有技术中对网络诊断的方法主要采用黑盒分析方法,黑盒分析方法是将整个网络看作为一个黑盒,对网络节点之间的网络请求建立数学模型,如利用网络节点通信消息的属性建立概率数据模型,通过收集和分析大量网络节点之间通信消息的基础上,得到一组网络节点拓扑和网络节点分析数据。这一结果以较大概率说明网络节点的状态,但存在一定的误差,且对存储和网络要求较大。
黑盒分析方法由于将整个网络作为一个黑盒,无法对某一个网络节点进行分析诊断,因此,存在准确度低,容易误报的问题,且难以用于待诊断网络中某一个网络节点无法访问等网络异常检测的场景,存在灵活性差的问题。
发明内容
本申请提供了一种网络诊断的方法、装置、控制节点和网络节点,可以获取待诊断网络中网络节点的诊断消息,并针对诊断消息进行分析确定待诊断网络系统的网络拓扑关系和诊断结果,以使得在网络诊断系统中,提供一种通用、灵活、准确的网络诊断方法,提升网络诊断系统的诊断准确性和灵活性。
第一方面,本申请提供一种网络诊断的方法,该方法应用于网络诊断系统中,该系统包括控制节点和至少一个网络节点,控制节点和网络节点之间通过网络进行通信,该网络可以是以太网、光纤网络或无线网络,也可以是其他类型的网络。在本申请提供的网络诊断方法中,控制节点先向第一网络节点发送诊断请求消息,该诊断请求消息中包括待诊断网络事务的标识和指示信息,其中,第一网络节点为预置的诊断起始的网络节点或网络诊断系统中任意一个网络节点;待诊断网络事务可以为诊断网络诊断系统的网络拓扑关系、是否存在故障的网络节点、网络节点之间的链路是否存在故障或瓶颈等,该待诊断网络事务的标识可以利用数字、字母或其他组合形式唯一标识一种类型的一个待诊断网络事务;然后,再接收网络诊断系统中第一网络节点发送的第一诊断消息,该诊断消息中包括诊断网络事务的标识、第一顺序标识、第一网络节点的标识,接收诊断请求消息的时间,以及下一个网络节点的标识,第一顺序标识是第一网络节点根据控制节点发送的诊断请求消息中的指示信息确定的,第一顺序标识用于标识第一诊断消息的生成时间在控制节点接收到的多个诊断消息的生成时间的顺序;以及,接收第二网络节点发送的第二诊断消息,第二诊断消息是第二网络节点响应于第一网络节点发送的诊断请求消息生成的诊断响应消息,第二网络节点是第一网络节点的下一个网络节点;第二顺序标识用于标识第二诊断消息的生成时间在多个诊断消息的生成时间的顺序,多个诊断消息包括第一诊断消息以及第二诊断消息,第一诊断消息的生成时间早于第二诊断消息的生成时间;最后,再根据接收的多个诊断消息进行分析,得到待诊断网络事务的诊断结果,该诊断结果包括网络拓扑关系、存在故障的网络节点和网络节点之间的链路存在故障或瓶颈中的至少一种。
可选地,诊断请求消息中还可以包括诊断起始网络节点和诊断终止网络节点。
值得说明的是,控制节点可以根据业务需求选择诊断起始网络节点和诊断终止网络节点字段,并在诊断请求消息添加对应的配置;也可以只配置诊断起始网络节点或诊断终止网络节点字段,或在诊断请求消息中不配置诊断起始网络节点和诊断终止网络节点,本申请不作限制。
在第一方面的一种可能的实现方式中,在控制节点向第一网络节点发送诊断请求消息之前,可以采用以下方式中任意一种将诊断请求消息发送给网络节点:
方式一:控制节点对待诊断事务的标识和指示信息进行封装,生成网络报文,该网络报文为所述诊断请求消息,所述待诊断事务的标识和所述指示信息携带在所述网络报文的净荷中。
方式二:控制节点在控制节点根据应用程序生成的业务请求消息中添加所述待诊断事务的标识、指示信息得到携带所述诊断请求消息的业务请求消息。
可选地,控制节点还可以在控制节点根据应用程序生成的业务请求消息中添加指纹(FINGER),指纹用于标识该业务请求消息中包括诊断请求消息,当网络节点接收到业务请求消息中包含此字段时,网络节点即可启动网络诊断,并将诊断结果发送给控制节点。
在第一方面的另一种可能的实现方式中,第一诊断消息中携带当前网络节点的标识以及当前网络节点的下一个网络节点的标识,第一诊断消息中携带的当前网络节点的标识是第一网络节点的标识,第一诊断消息中携带的当前网络节点的下一个网络节点的标识是第二网络节点的标识,第二诊断消息中携带当前网络节点的标识,第二诊断消息中携带的当前网络节点的标识是第二网络节点的标识,控制节点确定诊断消息集合,该诊断消息集合是多个诊断消息构成的集合的子集,诊断消息集合中的每个诊断消息都携带该待诊断网络事物的标识。当控制节点确定诊断消息集合中的第一诊断消息中携带的当前网络节点的下一个网络节点的标识,与诊断消息集合中的第二诊断消息中携带的当前网络节点的标识相同时,则确定第一网络节点与第二网络节点是相邻的网络节点,依此类推,控制节点可以确定该网络诊断系统的网络拓扑关系。
在第一方面的另一种可能的实现方式中,控制节点可以在接收的多个诊断消息中确定具有相同待诊断网络事务的标识的诊断消息的集合;然后,按照诊断消息的生成顺序依次进行排序;再按照顺序由低到高的顺序依次读取每个诊断消息中当前网络节点和下一个网络节点的标识,同样可以确定相邻的网络节点,进而确定该网络诊断系统的网络拓扑关系。
在第一方面的另一种可能的实现方式中,控制节点先在多个诊断消息中确定特定的诊断消息,所述特定的诊断消息中携带的顺序标识的值大于所述多个诊断消息中其他诊断消息中携带的顺序标识的值;当控制节点确定未接收到来自特定的诊断消息中携带的当前网络节点的下一个网络节点的标识指示的网络节点的诊断消息时,则控制节点可以确定当前网络节点的下一个网络节点的标识指示的网络节点为发生故障的网络节点。
在第一方面的另一种可能的实现方式中,控制节点还可以根据第一诊断消息中携带的第一网络节点接收诊断请求消息的时间,以及第二诊断消息中携带的第二网络节点接收诊断请求消息的时间,确定第二网络节点接收诊断请求消息的时间与第一网络节点接收所述诊断请求消息的时间的差值;当该差值大于预设阈值时,确定第一网络节点和第二网络节点之间的网络链路存在故障。
通过上述内容的描述,控制节点可以生成诊断请求消息,将该诊断请求消息发送给第一网络节点,或通过将该诊断请求消息添加到业务请求并发送给第一网络节点,由第一网络节点根据诊断请求消息生成诊断消息,或根据业务请求中指纹字段确定业务请求消息中存在诊断请求消息并生成诊断消息,并将诊断消息发送给控制节点;网络节点之间也会传递更新了指示信息的诊断请求消息,每个网络节点在获取到诊断请求消息后,均会根据该诊断请求消息生成诊断消息,并发送给控制节点;控制节点根据接收的诊断消息确定诊断结果。诊断结果具体可以是网络诊断系统的网络拓扑关系、存在故障的网络节点或者网络节点之间的链路存在故障或瓶颈。与现有技术相比,本申请提供的网络诊断方法更通用、灵活、准确;另一方面,控制节点仅需要分析诊断消息中字段内容,降低了控制节点中计算资源和存储资源的损耗。
第二方面,本申请提供一种网络诊断的方法,该方法应用于网络诊断系统中,该系统包括控制节点和至少一个网络节点,控制节点和网络节点之间通过网络进行通信,该网络可以是以太网、光纤网络或无线网络,也可以是其他类型的网络。在本申请的网络诊断的方法中,第一网络节点先获取诊断请求消息,该诊断请求消息中包括待诊断网络事务的标识和指示信息,其中,待诊断网络事务可以为诊断网络诊断系统的网络拓扑关系、是否存在故障的网络节点、网络节点之间的链路是否存在故障或瓶颈等,该待诊断网络事务的标识可以利用数字、字母或其他组合形式唯一标识一种类型的一个待诊断网络事务;再根据诊断请求消息生成诊断消息,该诊断消息中包括诊断网络事务的标识、诊断消息的生成顺序标识、生成所述诊断消息的网络节点的标识,接收诊断请求消息的时间,以及向生成诊断消息的网络节点发送诊断请求消息的网络节点和在诊断请求消息处理过程中生成诊断消息的网络节点的下一个网络节点;然后在将其生成的诊断消息发送给控制节点。
可选地,网络节点也可以在接收上一个网络节点发送的诊断请求消息和向下一个网络节点发送诊断请求消息时分别生成一个诊断消息,每个诊断消息中包括类型(如接收和发送)、接收诊断请求消息的时间或发送诊断请求消息的时间,并将其所生成的两个诊断消息均发送给控制节点,控制节点再根据所接收的诊断消息进行分析,确定网络诊断系统的网络拓扑关系、存在故障的网络节点和网络节点之间的链路存在故障或瓶颈的网络节点,完成对网络诊断系统的网络诊断。
在第二方面的另一种可能的实现方式中,第一网络节点将指示信息中用于被诊断请求消息的接收者确定诊顺序标识的字段加一,获得更新后的指示信息;向第二网络节点发送携带更新后的指示信息的诊断请求消息。
第三方面,本申请提供一种网络诊断的装置,所述装置包括用于执行第一方面或第一方面任一种可能实现方式中的网络诊断的方法的各个模块。
第四方面,本申请提供一种网络诊断的装置,所述装置包括用于执行第二方面或第二方面任一种可能实现方式中的网络诊断的方法的各个模块。
第五方面,本申请提供一种网络诊断的控制节点,所述控制节点包括处理器、存储器、通信接口、总线,所述处理器、存储器和通信接口之间通过总线连接并完成相互间的通信,所述存储器中用于存储计算机执行指令,所述控制节点运行时,所述处理器执行所述存储器中的计算机执行指令以利用所述控制节点中的硬件资源执行第一方面或第一方面任一种可能实现方式中所述方法的操作步骤。
第六方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行第一方面或第一方面任一种可能实现方式中所述的方法。
第七方面,本申请提供一种网络诊断的网络节点,所述网络节点包括处理器、存储器、通信接口、总线,所述处理器、存储器和通信接口之间通过总线连接并完成相互间的通信,所述存储器中用于存储计算机执行指令,所述网络节点运行时,所述处理器执行所述存储器中的计算机执行指令以利用所述网络节点中的硬件资源执行第二方面或第二方面任一种可能实现方式中所述方法的操作步骤。
第八方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第二方面及第二方面任一中可能实现方式中所述的方法。
第九方面,本申请提供一种网络诊断系统,该系统包括第五方面所述的控制节点以及第七方面所述的网络节点,用于实现第五方面中所述的控制节点与第七方面中所述的网络节点之间的网络诊断过程的操作步骤。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
为了更清楚地说明本申请的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的一种网络诊断系统的架构图;
图2为本发明实施例提供的一种网络诊断的方法流程示意图;
图3为本发明实施例提供的一种网络诊断的装置的示意图;
图4为本发明实施例提供的另一种网络诊断的装置的示意图;
图5为本发明实施例提供的一种网络诊断的控制节点的结构示意图;
图6为本发明实施例提供的一种网络诊断的网络节点的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细地描述。
图1为本发明实施例提供的一种网络诊断系统的架构图。如图所示,该系统中包括一个控制节点100和至少一个网络节点。例如,该系统中包括网络节点1、网络节点2、网络节点3、网络节点4、…、网络节点N,其中,N为大于1的正整数;控制节点100和网络节点之间通过网络进行通信,该网络可以为以太网、光纤网络或无线网络,也可以为其他通信网络。
控制节点100用于在生成诊断请求消息后向网络节点发送诊断请求消息,并对网络节点基于诊断请求消息返回的诊断消息进行分析,得到诊断结果,即确定网络拓扑关系、存在故障的网络节点、以及网络节点之间存在故障或瓶颈的网络节点。控制节点100可以部署在物理服务器中,也可以部署在虚拟机中,本申请不作限制。
网络节点用于处理不同的应用程序的业务请求消息,以及接收控制节点100发送的诊断请求消息,并根据诊断请求消息生成诊断消息返回给控制节点100,以便于控制节点100对网络诊断系统进行网络诊断。其中,每个网络节点均包括一个监控模块。该监控模块可以为在网络节点中增加的代理(Agent)。代理为一个软件模块。该监控模块也可以为协处理器。该协处理器安装在网络节点之间的网络接口处,以便于准确及时地捕获网络节点之间传递的诊断请求。
接下来,结合图2进一步介绍本发明实施例提供的一种网络诊断的方法,如图所示,所述方法包括S201至S209。具体来说,图2中的控制节点可以用于实现图1所示的控制节点100。
S201、控制节点生成诊断请求消息,该诊断请求消息中包括待诊断网络事务的标识和指示信息。
表1为本实施例中提供的一种诊断请求消息的格式的示例,如表所示,诊断请求消息中包括待诊断网络事务的标识(也称为通用唯一标识(universally uniqueidentifier,UUID))和指示信息(INFO)。可选地,诊断请求消息中还可以包括诊断起始网络节点(SRC)的标识、诊断终止网络节点(DST)的标识。其中,待诊断网络事务的标识用于全局唯一地标识本次诊断请求消息的待诊断网络事务,诊断事物可以为网络诊断系统中的网络拓扑关系、是否存在故障的网络节点、网络节点之间是否存在故障或瓶颈等,该待诊断网络事务的标识可以利用数字、字母或其他组合形式唯一标识一种类型的一个待诊断网络事务;诊断起始网络节点用于标识本次网络诊断请求消息处理过程中首个接收诊断请求消息的网络节点;诊断终止网络节点用于标识本次网络诊断请求消息处理过程中理论上最后一个接收诊断请求消息的网络节点。需要说明的是,当网络诊断系统中存在故障网络节点时,该诊断终止网络节点并非本次诊断请求消息处理过程中最后一个接收诊断请求消息的网络节点,例如,当诊断请求消息中配置诊断终止网络节点的标识,且存在故障的网络节点时,本次诊断请求消息处理过程中最后一个接收诊断请求消息的网络节点为故障的网络节点的上一个网络节点,诊断请求消息无法发送给该诊断终止网络节点。指示信息被诊断请求消息的接收者用于确定生成的诊断消息中携带的顺序标识。该指示信息中包括用于指示诊断请求消息的接收者确定诊断消息中携带的顺序标识的的字段,该字段可以利用数字或字母或美国信息交换标准代码(American Standard Code for InformationInterchange,ASCII)等形式或利用以上形式的组合进行记录。
控制节点可以根据业务需求选择诊断起始网络节点和诊断终止网络节点的字段,并将该信息配置到诊断请求消息中;也可以只配置诊断起始网络节点或诊断终止网络节点的字段,或在诊断请求消息中不配置诊断起始网络节点和诊断终止网络节点的字段,本申请不作限制。
表1诊断请求消息的示例
S202、控制节点向第一网络节点发送诊断请求消息。
其中,第一网络节点可以为预置的诊断起始网络节点,也可以为网络诊断系统中任意一个网络节点。控制节点向第一网络节点发送诊断请求消息的方式可以为以下方式中任意一种:
方式一:控制节点对待诊断事务的标识和指示信息进行封装,生成网络报文,该网络报文为诊断请求消息,待诊断事务的标识和指示信息携带在所述网络报文的净荷中,控制节点将该网络报文发送给第一网络节点。
方式二:控制节点在控制节点根据应用程序生成的业务请求消息中添加诊断数据,如待诊断网络事务的标识和指示信息,得到携带诊断请求消息的业务请求消息,并将携带诊断数据的业务请求消息发送给第一网络节点。
其中,应用程序是指部署在控制节点中的软件,例如,控制节点中部署监控软件,在每个网络节点中部署相应的代理软件,控制节点可以在其根据监控软件生成的业务请求消息中添加待诊断网络事务的标识和指示信息,以及指纹信息,得到携带诊断请求消息的业务请求消息,并将该业务请求消息发送给第一网络节点。
可选地,控制节点还可以在根据应用程序生成的业务请求消息中添加指纹(FINGER)信息,指纹信息用于标识该业务请求消息中携带诊断请求消息,当网络节点接收到业务请求消息中包含此字段时,网络节点即可启动网络诊断,并将诊断信息发送给控制节点。
可选地,控制节点还可以在根据应用程序生成的业务请求消息中添加诊断起始网络节点和诊断终止网络节点。
表2为本实施例提供的一种携带诊断数据的业务请求消息的示例,如表所示,业务请求消息中包括头部、适配网络协议、诊断数据、指纹,其中,头部和适配网络协议是实际业务请求消息中携带的网络数据包中的内容;适配网络协议用于标识业务请求传输所使用的协议类型,如文件传输协议(File Transfer Protocol,FTP)、传输控制协议/因特网互联协议(Transmission Control Protocol/Internet Protocol,TCP/IP);诊断数据中各字段与表1中各字段标识内容相同,在此不再赘述。
表2一种携带诊断数据的业务请求消息的示例
S203、第一网络节点根据诊断请求消息生成第一诊断消息。
第一诊断消息是第一网络节点响应于控制节点发送的诊断请求消息生成的诊断响应消息。表3为本发明实施例提供的一种诊断消息的示例,如表所示,第一诊断消息中包括待诊断网络事务的标识(UUID)、顺序标识(ORD)、接收诊断请求消息的时间(TIME)、当前网络节点的标识(CUR)、以及在诊断请求消息处理过程中当前网络节点的上一个网络节点的标识(PRE)和下一个网络节点的标识(NXT),其中,当前网络节点的标识用于标识当前时刻正在处理诊断请求消息的网络节点;上一个网络节点的标识用于标识在诊断请求消息处理过程中,向当前网络节点发送诊断请求消息的网络节点;下一个网络节点的标识用于标识在诊断请求消息处理过程中,当前网络节点需要按照预置的网络配置策略向其发送诊断请求消息的网络节点,例如,若网络诊断系统中包括3个网络节点:网络节点A、网络节点B和网络节点C,若预置的网络配置策略为网络节点A->网络节点B->网络节点C,且网络节点A为预置的诊断起始网络节点,则网络节点A的下一个网络节点为网络节点B;而对于网络节点B,在诊断请求消息的处理过程中,其上一个网络节点为网络节点A,其下一个网络节点为网络节点C。指示信息被诊断请求消息的接收者用于确定顺序标识,其中,该指示信息中用于指示诊断请求消息的接收者生成诊断消息的顺序标识的字段可以利用数字或字母等形式进行记录,诊断消息的生成顺序标识与诊断请求消息中的指示信息一一对应,例如,当当前网络节点接收的诊断请求消息中指示信息中用于指示诊断请求消息的接收者生成诊断消息的顺序标识的字段为1时,诊断消息中生成顺序标识也为1。另外,UUID、SRC、DSR与表1中诊断请求消息中各字段标识的内容相同,在此不再赘述。为便于后续描述,将第一网络节点生成的诊断消息称为第一诊断消息,第一诊断消息中包括待诊断网络事务的标识、第一顺序标识、第一网络节点的标识、第一网络节点接收诊断请求消息的时间,以及第一网络节点的下一个网络节点的标识;第一顺序标识是第一网络节点根据控制节点发送的诊断请求消息中的指示信息确定的,用于标识第一诊断消息的生成时间在控制节点接收到的多个诊断消息的生成时间的顺序。
表3一种诊断消息的示例
当控制节点在生成诊断请求消息并发送给预置的诊断起始网络节点后,预置的诊断起始网络节点会根据预置的网络配置策略确定当前网络节点的标识和下一网络节点的标识,并生成诊断消息,其中,网络节点的标识可以为该网络节点的ID或其他能够唯一标识该节点的信息;预置的网络配置策略可以是预置的路由表或资源调度策略,例如,若预置的网络配置策略为预置的路由表,每个网络节点中记录有该预置的路由表,当接收到上一个网络节点发送的诊断请求消息时,即根据预置的路由表中记录的下一个网络节点的标识,将携带更新后的指示信息的诊断请求消息发送给该下一个网络节点;若预置的网络配置策略为资源调度策略,网络节点中记录有能够与该网络节点负载相同业务请求消息的网络节点和其负载情况的信息,当接收到上一个网络节点发送的诊断请求消息时,根据该网络节点的负载情况和其他网络节点的负载情况,将该业务请求消息传递给负载最低的网络节点处理,以此提高处理效率。同样的,当诊断请求消息在网络节点之间传递时,每个网络节点均会根据其预置的网络配置策略确定上一个网络节点的标识、下一个网络节点的标识,并将当前网络节点的标识、上一个网络节点的标识和下一个网络节点的标识更新到到诊断消息中。
可选地,当控制节点将诊断请求消息发送给网络诊断系统中任意一个网络节点时,该网络节点可以根据诊断请求消息生成诊断消息,诊断消息中包括待诊断网络事务的标识、生成诊断消息的顺序标识、当前网络节点的标识、接收诊断请求消息的时间,以及当前网络节点的下一个网络节点的标识。诊断消息中上一个网络节点的标识为空。此时,该网络节点生成的诊断消息即为第一诊断消息。
值得说明的是,当当前网络节点为预置的诊断起始网络节点或任意一个网络节点时,诊断消息中上一个网络节点的标识为空;当当前网络节点为预置的诊断终止网络节点时,诊断消息中下一个网络节点的标识为空。
S204、第一网络节点向控制节点发送第一诊断消息。
S205、第一网络节点对指示信息中用于指示诊断请求消息的接收者确定诊断消息中携带的顺序标识的字段加一,得到更新后的指示信息。
诊断请求消息中指示信息被诊断请求消息的接收者在接收到该诊断请求消息后,确定其所生成的诊断消息的顺序标识,若采用数字记录该顺序,起始顺序可以从0或1开始,当第一网络节点生成的第一诊断消息后,需要对诊断请求消息中的指示信息加一,具体是对指示信息中用于接收者确定生成诊断消息的顺序标识的字段加一,以便于下一个网络节点可以根据该指示信息生成诊断消息的顺序,以此标识不同网络节点生成的诊断消息。
示例地,若第一网络节点接收控制节点发送的诊断请求消息的指示信息中用于被诊断请求消息的接收者确定诊顺序标识的字段为1,那么第一网络节点对指示信息中用于被诊断请求消息的接收者确定诊顺序标识的字段加一,获得更新后的指示信息为2。
示例地,若第一网络节点接收的诊断请求消息的指示信息中顺序标识用字母表示时,第一网络节点可以按照英文字母由A到Z的顺序,每次将顺序标识更新为当前字母的下一个字母,如当前网络节点接收的诊断请求消息的指示信息中顺序标识为A,那么,当前网络节点更新顺序标识为B,并将携带更新后字母表示的诊断请求消息发送给第一网络节点的下一个网络节点。示例地,若第一网络节点接收的诊断请求消息的指示信息中顺序标识用ASCII码表示,第一网络节点可以按照ASCII码顺序,每次将顺序标识更新为当前ASCII码的下一个ASCII码,并将携带更新后ASCII码的诊断请求消息发送给第一网络节点的下一个网络节点。
S206、第一网络节点向第二网络节点发送携带更新后的指示信息的诊断请求消息。
第二网络节点是诊断请求消息处理过程中第一网络节点的下一个网络节点。
值得说明的是,本申请中网络节点向控制节点发送诊断消息和网络节点对诊断请求消息中指示信息加一并发送给第二网络节点没有时序限制,即S204、以及S205至S206的时序关系没有限制,也可以先执行S205至S206,再执行S204,或者二者同时执行。
S207、第二网络节点根据携带更新后的指示信息的诊断请求消息生成第二诊断消息。
为便于描述,将第二网络节点根据诊断请求消息生成的诊断消息称为第二诊断消息。第二诊断消息为第二网络节点响应于第一网络节点发送的诊断请求消息生成的响应信息,第二诊断消息中包括待诊断网络事务的标识、第二顺序标识、第二网络节点的标识、第二网络节点接收诊断请求消息的时间,第一网络节点以及所述第二网络节点的下一个网络节点的标识,第二顺序标识用于标识第二诊断消息的生成时间在多个诊断消息的生成时间的顺序,而多个诊断消息包括第一诊断消息以及第二诊断消息,第一诊断消息的生成时间早于第二诊断消息的生成时间。
S208、第二网络节点向控制节点发送第二诊断消息。
在S206至S208中,第二网络节点为第一网络节点按照预置的网络配置策略确定的下一个网络节点,该网络节点在接收到携带更新后的指示信息的诊断请求消息后,会按照如S203至S206的操作方法生成诊断消息,并将其生成的诊断消息发送给控制节点;同时,对诊断请求消息中指示信息加一得到更新后的指示信息,并将携带该更新后的指示信息的诊断请求消息发送给该网络节点的下一个网络节点,该网络节点的下一个网络节点再继续重复上述S203至S206的操作过程,直到网络诊断系统中所有网络节点均完成诊断请求消息的处理过程,或诊断请求消息中预置的终止网络节点完成诊断消息的处理过程,或网络诊断系统中存在故障网络节点而导致诊断请求消息的处理过程终止。
可选地,若诊断请求消息为如表2所示的形式,网络节点在获取到诊断请求消息后,可以根据业务请求消息中指纹信息确定该业务请消息中是否包括诊断请求消息,并基于该诊断请求消息生成诊断消息,将该诊断消息发送给控制节点。
S209、控制节点根据接收的多个诊断消息得到待诊断网络事物的诊断结果。
控制节点根据接收的多个诊断消息信息可以确定以下三种诊断结果中的至少一种。三种诊断结果分别是网络诊断系统的网络拓扑关系、网络诊断系统中存在故障的网络节点,以及网络诊断系统中网络节点之间存在故障或瓶颈的网络节点。下文对确定三种诊断结果的过程进行举例说明。
1、确定网络诊断系统的网络拓扑关系。
具体地,控制节点可以确定诊断消息集合,该诊断消息集合是多个诊断消息构成的集合的子集,该诊断消息集合中的每个诊断消息都携带所述待诊断网络事物的标识。进一步地,当控制节点确定诊断消息集合中的第一诊断消息中携带的当前网络节点的下一个网络节点的标识,与诊断消息集合中的第二诊断消息中携带的当前网络节点的标识相同时,则确定第一网络节点与第二网络节点是相邻的网络节点,依此类推,控制节点可以确定待诊断网络系统的拓扑关系。
示例地,如表4所示为一种控制节点收到的诊断消息的示例,控制节点先确定诊断消息中待诊断网络事务的标识(UUID)为1的诊断消息的集合,当网络节点A中当前网络节点的标识(CUR)和网络节点B中上一个网络节点的标识(PRE)相同时,则可以确定网络节点A和网络节点B为相邻的网络节点;进一步地,由网络节点B中下一个网络节点的标识(NXT)为网络节点C,且网络节点C中上一网络节点为网络B,则可以确定网络节点B的下一网络节点为网络节点C,依此类推,可以确定网络诊断系统的网络拓扑关系具体为网络节点A->网络节点B->网络节点C->网络节点D->网络节点E。
表4一种控制节点收到的诊断消息的示例
网络节点 UUID ORD TIME SRC DST CUR PRE NXT
网络节点A 1 1 T1 A E A - B
网络节点B 1 2 T2 A E B A C
网络节点C 1 3 T3 A E C B D
网络节点D 1 4 T4 A E D C E
网络节点E 1 5 T5 A E E D -
可选地,控制节点可以确定诊断消息集合,该诊断消息集合是多个诊断消息构成的集合的子集,该诊断消息集合中的每个诊断消息都携带所述待诊断网络事物的标识。进一步地,控制节点可以按照诊断消息生成顺序对诊断消息集合中诊断消息,按照顺序标识由小到大的顺序,依次读取每个诊断消息中当前网络节点的标识、下一个网络节点的标识和上一个网络节点的标识,同样可以确定相邻的网络节点,进而确定待诊断网络系统的网络拓扑关系。
值得说明的是,控制节点在确定网络诊断系统的网络拓扑关系后,可以在控制节点中记录该网络拓扑关系,如利用指定文件存储网络拓扑关系,以便于在后续网络诊断过程中,进一步对其他待诊断网络事务进行分析,避免每次分析诊断请求消息的诊断消息时,控制节点均需要确定网络拓扑关系所带来的计算资源和存储资源的损耗。
2、确定网络诊断系统中存在故障的网络节点。
在控制节点确定网络拓扑关系基础上,对于具有同一个待诊断网络事务的标识的多个诊断消息中,每个诊断消息中均包括标识该诊断消息的顺序标识,且在同一个诊断请求消息的处理过程中,每个网络节点生成的诊断消息的顺序标识是不断增大的,控制节点可以先按照该顺序标识对具有同一个待诊断网络事务的标识的多个诊断消息进行升序排列,确定顺序标识大于其他诊断消息中携带的顺序标识的诊断消息;再进一步确定发送该诊断消息的网络节点,当确定未接收到来该网络节点的下一个网络节点的诊断消息时,则可以确定该网络节点的下一个网络节点为存在故障的网络节点。
具体地,每个网络节点生成的诊断消息中均包括当前网络节点的标识、下一个网络节点的标识、上一个网络节点的标识,对于具有同一个待诊断网络事务的标识的多个诊断消息,控制节点先确定顺序标识最大的诊断消息,当顺序标识最大的诊断消息中当前网络节点的下一个网络节点在处理诊断请求消息过程中故障时,会导致网络中断,控制节点无法接收到该网络节点发送的诊断消息,此时,控制节点可以确定当前网络节点的下一个网络节点为存在故障的网络节点。
示例地,若网络诊断系统中包括网络节点A、网络节点B和网络节点C三个网络节点,预置的网络配置策略为网络节点A->网络节点B->网络节点C,且指示信息中用于被诊断请求消息的接收者确定生成诊断消息的顺序标识的字段利用数字表示,由上述描述可知诊断消息中顺序标识是逐渐递增的。假设网络节点C存在故障,网络节点A接收控制节点发送的诊断请求消息,其中,指示信息中用于指示诊断请求消息的接收者生成诊断消息的顺序标识的字段为1,那么,网络节点A所生成的诊断消息1的顺序标识为1;网络节点A将指示信息中用于指示诊断请求消息的接收者生成诊断消息的顺序标识的字段加1后,此时,得到指示诊断请求消息的接收者生成诊断消息的顺序标识的字段为2,并将携带更新后的指示信息的诊断请求消息发送给网络节点B,那么,网络节点B生成的诊断消息2的顺序标识为2;同样的,网络节点B也会更新指示信息,并将更新指示信息后的诊断请求消息发送给网络节点C,而由于网络节点C存在故障,无法接收网络节点B发送的诊断消息。此时,控制节点会接收到诊断消息1和诊断消息2,由于网络节点的处理效率,以及网络节点和控制节点之间的网络情况,控制节点接收诊断消息的顺序可能与诊断请求消息传递的路径不同;而且同一时间诊断网络系统中可能存在多个待诊断网络事务需要由各个网络节点处理,因此,控制节点在根据多个诊断消息确定诊断结果时,需要先根据待诊断网络事务的标识筛选所有具有相同待诊断网络事务的标识的诊断消息;然后,再按照顺序标识对具有相同待诊断网络事务的标识的诊断消息进行升序排列,具体为诊断消息1>诊断消息2,由此确定顺序标识最大的诊断消息为诊断消息2,控制节点可以确定发送诊断消息2的网络节点为网络节点B,诊断消息2中当前网络节点的下一个网络节点为网络节点C,而控制节点并未接收到网络节点C发送的具有相同待诊断网络事务的标识的诊断消息,此时,控制节点可以确定网络节点C为存在故障的网络节点。
可选地,为更精确确定存在故障的网络节点,控制节点也可以重新生成诊断请求消息,将诊断起始网络节点和诊断终止网络节点互换,首先,向原诊断终止网络节点发送诊断请求消息,具体实施例过程中,控制节点可以模拟响应消息的传递过程,使诊断请求消息按照从原诊断终止网络节点到原诊断起始网络节点的方向传递,或修改预置的网络配置策略,由原诊断终止网络节点将更新诊断请求消息的指示信息的诊断请求消息发给该网络节点的下一个网络节点,各个网络节点将其生成的诊断消息再发送给控制节点,控制节点通过分析两次不同顺序的诊断请求消息处理过程所获得的网络拓扑关系,综合判断存在故障的网络节点,保证网络诊断过程更加精确。
示例地,假设网络诊断系统中存在5个网络节点:网络节点A、网络节点B、网络节点C、网络节点D、网络节点E,按照预置的网络配置策略业务请求的处理过程为网络节点A->网络节点B->网络节点C->网络节点D->网络节点E,且网络节点C出现故障;控制节点在对网络诊断系统进行诊断时,若先按照诊断起始网络节点为网络节点A,诊断终止网络节点为网络节点E生成诊断请求消息,并将该诊断请求消息发送给网络节点A,由网络节点A将诊断请求消息发送给网络节点B,各个网络节点分别将各自生成的诊断消息发送给控制节点;控制节点可以分别获取网络节点A、网络节点B的诊断消息,其中,网络节点B发送的诊断消息的顺序标识大于网络节点A发送的诊断消息中的顺序标识,即网络节点B发送的诊断消息为控制节点接收的具有同一个待诊断网络事务的标识的多个诊断消息中顺序标识最大的诊断消息;进一步地,由网络节点B的诊断消息可以获知该网络节点的下一个网络节点为网络节点C,控制节点可以确认网络拓扑关系为:网络节点A->网络节点B->网络节点C,但并未获取网络节点C的诊断消息,此时,控制节点可以初步确认网络节点C为存在故障的网络节点。为精确确定存在故障的网络节点,控制节点可以再按照诊断起始网络节点为网络节点E,诊断终止网络节点为网络节点A生成诊断请求消息,并修改预置的网络配置策略或模拟响应消息传递过程,将该诊断请求消息发送给网络节点E,由网络节点E将诊断请求消息发送给网络节点D,各个网络节点分别将各自生成的诊断消息发送给控制节点;控制节点可以分别获取网络节点E、网络节点D的诊断消息,其中,网络节点D发送的诊断消息的顺序标识大于网络节点E发送的诊断消息中的顺序标识,即网络节点D发送的诊断消息为控制节点接收的具有同一个待诊断网络事务的标识的多个诊断消息中顺序标识最大的诊断消息;进一步地,由网络节点D的诊断消息可以获知该网络节点的下一个网络节点为网络节点C,此时,控制节点可以确定网络拓扑关系为:网络节点E->网络节点D->网络节点C,但控制节点并未获取网络节点C的诊断消息,由此可以进一步确定存在故障的网络节点为网络节点C,综合分析获知,该网络诊断系统的拓扑关系为网络节点A->网络节点B->网络节点C->网络节点D->网络节点E,其中,网络节点C为故障网络节点,上述方法可以避免由于网络原因导致控制节点未收到网络节点发送的诊断消息而出现的网络诊断错误问题。
3、确定网络诊断系统中网络节点之间的链路存在故障或瓶颈的网络节点。
在控制节点确定网络拓扑关系基础上,控制节点可以进一步计算网络拓扑关系中相邻两个网络节点接收诊断请求的时间差值,当接收诊断请求的时间差值大于或等于预设阈值时,控制节点确定接收诊断请求的时间差值大于或等于预设阈值的两个相邻网络节点之间的网络链路存在故障或瓶颈。其中,网络链路存在故障或瓶颈的原因可能为网络节点间网络异常、网络节点自身异常(如网卡问题导致网络丢包)等,维护人员可以依据诊断结果对网络节点进行进一步确认,排查具体原因。预设阈值为大于0的正数,预设阈值可以是根据实际业务处理过程中多个网络节点之间接收诊断请求消息的时间差值的统计数据计算获得的值,如计算多个网络节点之间接收诊断消息的时间差值的平均值;也可以是维护人员根据经验评估的值。
示例地,表5为本发明实施例提供的一种控制节点计算相邻两个网络节点接收诊断请求消息的时间差值的示例,如表所示,相邻两个网络节点接收诊断请求消息的时间差值分别为1、4、25、2,若假设预设阈值为10,那么,控制节点可以确定网络节点C和网络节点D为网络节点之间的链路存在故障或瓶颈的网络节点。
表5一种控制节点计算相邻两个网络节点接收诊断请求的时间差值的示例
网络节点 UUID ORD TIME SRC DST CUR PRE NXT 时间差值
网络节点A 1 1 10:00 A E A - B -
网络节点B 1 2 10:01 A E B A C 1
网络节点C 1 3 10:05 A E C B D 4
网络节点D 1 4 10:30 A E D C E 25
网络节点E 1 5 10:32 A E E D - 2
在具体实施例过程中,控制节点确定网络诊断系统的网络拓扑关系后,可以通过界面呈现给维护人员,便于维护人员熟悉当前网络诊断系统中网络节点之间的关系。进一步地,在确定存在故障的网络节点或网络节点之间的链路存在故障或瓶颈的网络节点后,控制节点还可以通过告警形式向维护人员或管理节点发送通知消息,以便于维护人员或管理节点针对故障进行处理,保证网络诊断系统能够正常运行,提高网络诊断系统的可靠性。
值得说明的是,当控制节点仅接收到第一网络节点发送的诊断消息时,控制节点可以根据诊断消息确定第一网络节点的下一个网络节点出现故障,维护人员可以对故障进行恢复。待故障的网络节点恢复后,控制节点可以利用步骤S201至步骤S209的方法进一步确定网络诊断系统的网络拓扑关系。
通过上述内容的描述,控制节点可以生成诊断请求消息,将该诊断请求消息发送给第一网络节点,或通过将该诊断请求消息添加到业务请求消息中,并发送给第一网络节点,由第一网络节点根据诊断请求消息生成诊断消息,或业务请求消息中指纹字段确定业务请求消息中存在业务请求中指纹字段确定诊断请求消息并生成诊断消息,并将诊断消息发送给控制节点;第一网络节点将诊断请求消息中指示信息加一后得到更新后的诊断请求消息,并将该诊断请求消息发送给第一网络节点的下一个网络节点,该网络节点再依此生成诊断消息,并发送给控制节点;依此类推,网络诊断系统中网络节点之间会传递携带更新后指示信息的诊断请求消息,并依此生成对应的诊断消息发送给控制节点;控制节点根据接收的诊断消息确定诊断结果。诊断结果具体可以是网络诊断系统的网络拓扑关系、存在故障的网络节点或者网络节点之间的链路存在故障或瓶颈。与现有技术相比,本申请提供的网络诊断方法能够对网络诊断系统中任一网络节点进行诊断,所提供的方法更通用、灵活、准确;另一方面,控制节点仅需要分析诊断消息中指定字段内容,与现有技术中基于配置文件解析的方法中控制节点需要分析获取和解析多个网络节点的配置文件的过程相比,本申请降低了控制节点中计算资源和存储资源的损耗。
作为本发明的一个可能的实施例,表6为本发明实施例提供的另一种诊断消息的示例,表6与表3的区别在于表6所示的诊断消息中增加了类型(TYPE)字段。该类型用于标识该诊断消息是接收或发送,若类型为接收,则表示该诊断消息为当前网络节点接收的诊断请求消息时生成的诊断消息;若类型为发送,则表示该诊断消息为当前网络节点对接收的诊断请求消息进行处理并发送给下一个网络节点时生成的诊断消息。发送给下一个网络节点的诊断请求消息可以通过如下方式得到:当前网络节点对所接收的诊断请求消息中指示信息加一得到更新后的指示信息。当前网络节点将携带更新后的指示信息标识的诊断请求消息发送给下一个网络节点。在诊断消息中可以利用数字、字母、文字或其他组合形式表示诊断消息的类型,如利用0表示接收,1表示发送。每个网络节点在接收诊断请求消息和向下一个网络节点发送诊断请求消息时均会生成不同的诊断消息,控制节点根据上述诊断消息进行网络诊断。另一方面,表6相比与表3,表6所示的诊断消息中TIME中包括接收诊断请求消息的时间或发送诊断请求消息的时间。在诊断消息是当前网络节点在接收诊断请求消息时生成的情况下,TIME用于标识接收诊断请求消息的时间。在诊断消息是当前网络节点在向下一个网络节点发送诊断请求消息时生成的情况下,TIME用于标识发送诊断请求消息的时间。网络节点的每个诊断消息均有各自的诊断消息的生成顺序标识,控制节点可以根据该顺序对诊断消息进行进一步分析。
表6一种诊断消息的示例
示例地,表7为一种控制节点接收的诊断消息的示例,假设网络诊断系统中包括5个网络节点,每个网络节点均会生成两个诊断消息,控制节点接收的诊断消息如表7所示,控制节点可以参照S209所述方法,结合表7所示的接收和发送两种类型的诊断消息确定网络拓扑关系为网络节点A->网络节点B->网络节点C->网络节点D->网络节点E;若存在故障的网络节点,控制节点可以先根据当前网络节点的下一个网络节点的标识确定网络拓扑关系,若未接收到该下一个网络节点的诊断消息,则确定该下一个网络节点为存在故障的网络节点。
表7一种控制节点接收的诊断消息的示例
进一步地,当控制节点需要确定网络节点之间的链路存在故障或瓶颈的网络节点时,可以通过计算相邻两个网络节点接收诊断请求消息的时间和发送诊断请求消息的时间的时间差值,当同一网络节点的接收诊断请求的时间和发送诊断请求的时间的时间差值大于或等于预设阈值时,确定该网络节点为网络节点之间的链路存在故障或瓶颈的网络节点;当相邻的网络节点发送诊断请求消息的时间和接收诊断请求消息的时间的时间差值大于或等于预设阈值时,此时,相邻两个网络节点对于同一个诊断请求消息的发送和接收时间的时间差值大于预设阈值,控制节点可以确定该相邻的两个网络节点为网络节点之间的链路存在故障或瓶颈的网络节点。
示例地,如表8所示,假设预设阈值为10,当控制节点计算每个网络节点发送的诊断请求消息的时间和下一个网络节点接收诊断请求消息的时间的时间差值大于或等于预设阈值,或同一个网络节点接收诊断请求消息的时间和发出诊断请求消息的时间的时间差值大于或等于预设阈值时,则可以确定该网络节点为网络节点之间的链路存在故障或瓶颈的网络节点,由表8可知,网络节点C接收诊断请求消息的时间和发送诊断请求消息的时间的时间差值大于10,则控制节点可以确定网络节点C为网络节点之间的链路存在故障或瓶颈的网络节点;网络节点E接收ORD为9的诊断请求消息的时间与网络节点D发送ORD为8的诊断请求消息的时间的时间差值为11,大于10,则网络节点可以确定网络节点D和网络节点E是网络节点之间的链路存在故障或瓶颈的网络节点。
表8一种控制节点计算相邻两个网络节点接收诊断请求的时间差值的示例
通过上述实施例的描述,网络节点也可以按照接收诊断请求消息和发出诊断请求消息分别生成不同的诊断消息,控制节点在接收到多个诊断消息后,同样可以根据诊断消息确定网络诊断系统的网络拓扑关系、存在故障的网络节点、网络节点之间的链路存在故障或瓶颈的网络节点。进一步地,由于每个网络节点均生成两个诊断消息,控制节点可以分别计算每个网络节点发送的诊断请求消息的时间和下一个网络节点接收诊断请求消息的时间的时间差值,以及同一个网络节点接收诊断请求消息的时间和发出诊断请求消息的时间的时间差值,精确确定网络节点之间的链路存在故障或瓶颈的网络节点,提高网络诊断的准确性。
值得说明的是,对于上述方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制。
上文中结合图1至图2,详细描述了根据本发明实施例所提供的一种网络诊断的方法,下面将结合图3至图6进一步描述本发明实施例所提供的网络诊断的装置、控制节点和网络节点。
图3为本发明实施例提供的一种装置300的示意图,该装置300对应图1中控制节点100。如图所示,装置300包括发送单元301、接收单元302和处理单元303。举例来说,装置300可以用于实现图2所示的控制节点。装置300的具体实现方式,可以参考图2所示的实施例,此处不再赘述。
所述发送单元301,用于向第一网络节点发送诊断请求消息,所述诊断请求消息中包括待诊断网络事务的标识和指示信息;
所述接收单元302,用于接收所述第一网络节点发送的第一诊断消息,所述第一诊断消息是所述第一网络节点响应于所述控制节点发送的所述诊断请求消息生成的诊断响应消息,所述第一诊断消息包括所述待诊断网络事务的标识、第一顺序标识、所述第一网络节点的标识、所述第一网络节点接收所述诊断请求消息的时间,以及所述第一网络节点的下一个网络节点的标识,所述第一顺序标识是所述第一网络节点根据所述控制节点发送的所述诊断请求消息中的指示信息确定的,所述第一顺序标识用于标识所述第一诊断消息的生成时间在所述控制节点接收到的多个诊断消息的生成时间的顺序;以及接收第二网络节点发送的第二诊断消息,所述第二诊断消息是所述第二网络节点响应于所述第一网络节点发送的所述诊断请求消息生成的诊断响应消息,所述第一网络节点的下一个网络节点是所述第二网络节点,所述第二诊断消息包括所述待诊断网络事务的标识、第二顺序标识、所述第二网络节点的标识、所述第二网络节点接收所述第一网络节点发送的所述诊断请求消息的时间、所述第一网络节点的标识以及所述第二网络节点的下一个网络节点的标识,所述第二顺序标识是所述第二网络节点根据所述第一网络节点发送的所述诊断请求消息中的指示信息确定的,所述第二顺序标识用于标识所述第二诊断消息的生成时间在所述多个诊断消息的生成时间的顺序,所述多个诊断消息包括所述第一诊断消息以及所述第二诊断消息,所述第一诊断消息的生成时间早于所述第二诊断消息的生成时间;
所述处理单元303,用于根据所述接收单元302接收的多个诊断消息得到所述待诊断网络事务的诊断结果。
可选地,所述处理单元303,还用于对所述待诊断事务的标识和所述指示信息进行封装,生成网络报文,所述网络报文为所述诊断请求消息,所述待诊断事务的标识和所述指示信息携带在所述网络报文的净荷中;或根据应用程序生成的业务请求消息中添加所述待诊断事务的标识、所述指示信息以及指纹信息,得到携带所述诊断请求消息的业务请求消息,所述指纹信息用于指示所述携带所述诊断请求消息的业务请求消息中携带所述诊断请求消息。
可选地,所述第一诊断消息中携带当前网络节点的标识以及所述当前网络节点的下一个网络节点的标识,所述第一诊断消息中携带的当前网络节点的标识是所述第一网络节点的标识,所述第一诊断消息中携带的当前网络节点的下一个网络节点的标识是所述第二网络节点的标识,所述第二诊断消息中携带当前网络节点的标识,所述第二诊断消息中携带的当前网络节点的标识是所述第二网络节点的标识;所述处理单元303,还用于确定诊断消息集合,所述诊断消息集合是所述多个诊断消息构成的集合的子集,所述诊断消息集合中的每个诊断消息都携带所述待诊断网络事物的标识;当确定所述诊断消息集合中的所述第一诊断消息中携带的当前网络节点的下一个网络节点的标识,与所述诊断消息集合中的所述第二诊断消息中携带的当前网络节点的标识相同时,确定所述第一网络节点与所述第二网络节点是相邻的网络节点。
可选地,所述多个诊断消息中每个诊断消息都携带顺序标识、当前网络节点的标识以及当前网络节点的下一个网络节点的标识;所述处理单元303,还用于在所述多个诊断消息中确定特定的诊断消息,所述特定的诊断消息中携带的顺序标识的值大于所述多个诊断消息中其他诊断消息中携带的顺序标识的值;确定是否接收到来自所述特定的诊断消息中携带的当前网络节点的下一个网络节点的标识指示的网络节点的诊断消息;确定未接收到来自所述特定的诊断消息中携带的当前网络节点的下一个网络节点的标识指示的网络节点的诊断消息时,确定所述特定的诊断消息中携带的当前网络节点的下一个网络节点的标识指示的网络节点为发生故障的网络节点。
可选地,所述处理单元303,还用于根据所述第一诊断消息中携带的所述第一网络节点接收所述诊断请求消息的时间,以及所述第二诊断消息中携带的所述第二网络节点接收所述诊断请求消息的时间,确定所述第二网络节点接收所述诊断请求消息的时间与所述第一网络节点接收所述诊断请求消息的时间的差值;当所述差值大于预设阈值时,所述控制节点确定所述第一网络节点和所述第二网络节点之间的网络链路存在故障。
应理解的是,本发明实施例的装置300可以通过专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)实现,或可编程逻辑器件(Programmable LogicDevice,PLD)实现,上述PLD可以是复杂程序逻辑器件(Complex Programmable LogicDevice,CPLD),现场可编程门阵列(Field-Programmable Gate Array,FPGA),通用阵列逻辑(Generic Array Logic,GAL)或其任意组合。通过软件实现图2所示的网络诊断方法时,装置300及其各个模块也可以为软件模块。
图4为本发明实施例提供的一种装置400的示意图。装置400可以用于实现图1中任一网络节点。装置400包括获取单元401、处理单元402和发送单元403;
所述获取单元401,用于获取诊断请求消息,所述诊断请求消息中包括待诊断网络事务的标识和指示信息;
所述处理单元402,用于根据所述获取单元401获取的所述诊断请求消息生成第一诊断消息,所述第一诊断消息是所述第一网络节点响应于所述诊断请求消息生成的诊断响应消息,所述第一诊断消息包括所述待诊断网络事务的标识、第一顺序标识、所述第一网络节点的标识、所述第一网络节点接收所述诊断请求消息的时间,以及所述第一网络节点的下一个网络节点的标识,所述第一顺序标识是所述第一网络节点根据所述控制节点发送的所述诊断请求消息中的指示信息确定的,所述第一顺序标识用于标识所述第一诊断消息的生成时间在所述控制节点接收到的多个诊断消息的生成时间的顺序;
所述发送单元403,用于向所述控制节点发送所述处理单元402生成的所述第一诊断消息。
可选地,所述处理单元402,还用于将所述指示信息中用于被诊断请求消息的接收者确定生成诊断消息的顺序标识的字段中加一,得到更新后的指示信息;
所述发送单元403,还用于向第二网络节点发送携带所述更新后的指示信息的诊断请求消息。
应理解的是,本发明实施例的装置400可以通过专用集成电路实现,或可编程逻辑器件实现,上述PLD可以是复杂程序逻辑器件,现场可编程门阵列,通用阵列逻辑或其任意组合。通过软件实现图2所示的网络诊断方法时,装置400及其各个模块也可以为软件模块。
图5为本发明实施例提供的一种控制节点500的结构示意图,如图所示,所述控制节点500包括处理器501、存储器502、通信接口503和总线504。其中,处理器501、存储器502、通信接口503通过总线504进行通信,也可以通过无线传输等其他手段实现通信。该存储器502用于存储指令,该处理器501用于执行该存储器502存储的指令。该存储器502存储程序代码,且处理器501可以调用存储器502中存储的程序代码执行以下操作:
向第一网络节点发送诊断请求消息,所述诊断请求消息中包括待诊断网络事务的标识和指示信息;
接收所述第一网络节点发送的第一诊断消息,所述第一诊断消息是所述第一网络节点响应于所述控制节点发送的所述诊断请求消息生成的诊断响应消息,所述第一诊断消息包括所述待诊断网络事务的标识、第一顺序标识、所述第一网络节点的标识、所述第一网络节点接收所述诊断请求消息的时间,以及所述第一网络节点的下一个网络节点的标识,所述第一顺序标识是所述第一网络节点根据所述控制节点发送的所述诊断请求消息中的指示信息确定的,所述第一顺序标识用于标识所述第一诊断消息的生成时间在所述控制节点接收到的多个诊断消息的生成时间的顺序;
接收第二网络节点发送的第二诊断消息,所述第二诊断消息是所述第二网络节点响应于所述第一网络节点发送的所述诊断请求消息生成的诊断响应消息,所述第一网络节点的下一个网络节点是所述第二网络节点,所述第二诊断消息包括所述待诊断网络事务的标识、第二顺序标识、所述第二网络节点的标识、所述第二网络节点接收所述第一网络节点发送的所述诊断请求消息的时间、所述第一网络节点的标识以及所述第二网络节点的下一个网络节点的标识,所述第二顺序标识是所述第二网络节点根据所述第一网络节点发送的所述诊断请求消息中的指示信息确定的,所述第二顺序标识用于标识所述第二诊断消息的生成时间在所述多个诊断消息的生成时间的顺序,所述多个诊断消息包括所述第一诊断消息以及所述第二诊断消息,所述第一诊断消息的生成时间早于所述第二诊断消息的生成时间;
根据所述多个诊断消息得到所述待诊断网络事务的诊断结果。
应理解,在本发明实施例中,该处理器501可以是中央处理单元(Central ProcessUnit,CPU),该处理器501还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。
该存储器502可以包括只读存储器和随机存取存储器,并向处理器501提供指令和数据。存储器502还可以包括非易失性随机存取存储器。例如,存储器502还可以存储设备类型的信息。
该总线504除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线504。
应理解,根据本发明实施例的控制节点500对应于本发明实施例中图1所示的控制节点100,该控制节点500用于实现图2中所示方法中控制节点100所执行的相应流程,为了简洁,在此不再赘述。
图6为本发明实施例提供的一种网络节点600的结构示意图。如图所示,所述网络节点600包括处理器601、存储器602、通信接口603和总线604。其中,处理器601、存储器602、通信接口603通过总线604进行通信,也可以通过无线传输等其他手段实现通信。该存储器602用于存储指令,该处理器601用于执行该存储器602存储的指令。该存储器602存储程序代码,且处理器601可以调用存储器602中存储的程序代码执行以下操作:
获取诊断请求消息,所述诊断请求消息中包括待诊断网络事务的标识和指示信息;
根据所述诊断请求消息生成第一诊断消息,所述第一诊断消息是所述第一网络节点响应于所述诊断请求消息生成的诊断响应消息,所述第一诊断消息包括所述待诊断网络事务的标识、第一顺序标识、所述第一网络节点的标识、所述第一网络节点接收所述诊断请求消息的时间,以及所述第一网络节点的下一个网络节点的标识,所述第一顺序标识是所述第一网络节点根据所述控制节点发送的所述诊断请求消息中的指示信息确定的,所述第一顺序标识用于标识所述第一诊断消息的生成时间在所述控制节点接收到的多个诊断消息的生成时间的顺序;
向所述控制节点发送所述第一诊断消息。
应理解,在本发明实施例中,该处理器601可以是CPU,该处理器601还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。
该存储器602可以包括只读存储器和随机存取存储器。存储器602向处理器601提供指令和数据。存储器602可以包括非易失性随机存取存储器。例如,存储器602还可以存储设备类型的信息。
该总线604除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线604。
应理解,根据本发明实施例的网络节点600对应于本发明实施例中图1所示的任一网络节点,该物理节点600用于实现图2中所示方法中任一网络节点所执行的相应流程,其中,任一网络节点包括第一网络节点(预置的诊断起始网络节点或网络诊断系统中任意一个网络节点)和网络诊断系统中除第一网络节点之外的其他网络节点,为了简洁,在此不再赘述。
本申请中还提供一种网络诊断的系统,该系统中包括图5和图6所示的控制节点和至少一个网络节点,控制节点和网络节点分别用于执行图5和图6中网络诊断处理过程中的操作步骤,为了简洁,在此不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘(Solid State Disk,SSD)。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述,仅为本发明的具体实施方式。熟悉本技术领域的技术人员根据本申请提供的具体实施方式,可想到变化或替换。

Claims (16)

1.一种网络诊断的方法,其特征在于,所述方法包括:
控制节点向第一网络节点发送诊断请求消息,所述诊断请求消息中包括待诊断网络事务的标识和指示信息;
所述控制节点接收所述第一网络节点发送的第一诊断消息,所述第一诊断消息是所述第一网络节点响应于所述控制节点发送的所述诊断请求消息生成的诊断响应消息,所述第一诊断消息包括所述待诊断网络事务的标识、第一顺序标识、所述第一网络节点的标识、所述第一网络节点接收所述诊断请求消息的时间,以及所述第一网络节点的下一个网络节点的标识,所述第一顺序标识是所述第一网络节点根据所述控制节点发送的所述诊断请求消息中的指示信息确定的,所述第一顺序标识用于标识所述第一诊断消息的生成时间在所述控制节点接收到的多个诊断消息的生成时间的顺序;
所述控制节点接收第二网络节点发送的第二诊断消息,所述第二诊断消息是所述第二网络节点响应于所述第一网络节点发送的所述诊断请求消息生成的诊断响应消息,所述第一网络节点的下一个网络节点是所述第二网络节点,所述第二诊断消息包括所述待诊断网络事务的标识、第二顺序标识、所述第二网络节点的标识、所述第二网络节点接收所述第一网络节点发送的所述诊断请求消息的时间、所述第一网络节点的标识以及所述第二网络节点的下一个网络节点的标识,所述第二顺序标识是所述第二网络节点根据所述第一网络节点发送的所述诊断请求消息中的指示信息确定的,所述第二顺序标识用于标识所述第二诊断消息的生成时间在所述多个诊断消息的生成时间的顺序,所述多个诊断消息包括所述第一诊断消息以及所述第二诊断消息,所述第一诊断消息的生成时间早于所述第二诊断消息的生成时间;
所述控制节点根据所述多个诊断消息得到所述待诊断网络事务的诊断结果。
2.根据权利要求1所述方法,其特征在于,在所述控制节点向第一网络节点发送诊断请求消息之前,所述方法还包括:
所述控制节点对所述待诊断事务的标识和所述指示信息进行封装,生成网络报文,所述网络报文为所述诊断请求消息,所述待诊断事务的标识和所述指示信息携带在所述网络报文的净荷中;或
所述控制节点在所述控制节点根据应用程序生成的业务请求消息中添加所述待诊断事务的标识、所述指示信息以及指纹信息,得到携带所述诊断请求消息的业务请求消息,所述指纹信息用于指示所述携带所述诊断请求消息的业务请求消息中携带所述诊断请求消息。
3.根据权利要求1或2所述方法,其特征在于,所述第一诊断消息中携带当前网络节点的标识以及所述当前网络节点的下一个网络节点的标识,所述第一诊断消息中携带的当前网络节点的标识是所述第一网络节点的标识,所述第一诊断消息中携带的当前网络节点的下一个网络节点的标识是所述第二网络节点的标识,所述第二诊断消息中携带当前网络节点的标识,所述第二诊断消息中携带的当前网络节点的标识是所述第二网络节点的标识;
所述控制节点根据所述多个诊断消息得到所述待诊断网络事务的诊断结果,包括:
所述控制节点确定诊断消息集合,所述诊断消息集合是所述多个诊断消息构成的集合的子集,所述诊断消息集合中的每个诊断消息都携带所述待诊断网络事物的标识;
当所述控制节点确定所述诊断消息集合中的所述第一诊断消息中携带的当前网络节点的下一个网络节点的标识,与所述诊断消息集合中的所述第二诊断消息中携带的当前网络节点的标识相同时,所述控制节点确定所述第一网络节点与所述第二网络节点是相邻的网络节点。
4.根据权利要求3所述方法,其特征在于,所述多个诊断消息中每个诊断消息都携带顺序标识、当前网络节点的标识以及当前网络节点的下一个网络节点的标识,所述方法包括:
所述控制节点在所述多个诊断消息中确定特定的诊断消息,所述特定的诊断消息中携带的顺序标识的值大于所述多个诊断消息中其他诊断消息中携带的顺序标识的值;
所述控制节点确定是否接收到来自所述特定的诊断消息中携带的当前网络节点的下一个网络节点的标识指示的网络节点的诊断消息;
当所述控制节点确定未接收到来自所述特定的诊断消息中携带的当前网络节点的下一个网络节点的标识指示的网络节点的诊断消息时,确定所述特定的诊断消息中携带的当前网络节点的下一个网络节点的标识指示的网络节点为发生故障的网络节点。
5.根据权利要求1至4中任一所述方法,其特征在于,所述控制节点根据所述多个诊断消息得到所述待诊断网络事务的诊断结果包括:
所述控制节点根据所述第一诊断消息中携带的所述第一网络节点接收所述诊断请求消息的时间,以及所述第二诊断消息中携带的所述第二网络节点接收所述诊断请求消息的时间,确定所述第二网络节点接收所述诊断请求消息的时间与所述第一网络节点接收所述诊断请求消息的时间的差值;
当所述差值大于预设阈值时,所述控制节点确定所述第一网络节点和所述第二网络节点之间的网络链路存在故障。
6.一种网络诊断的方法,其特征在于,所述方法包括:
第一网络节点获取诊断请求消息,所述诊断请求消息中包括待诊断网络事务的标识和指示信息;
所述第一网络节点根据所述诊断请求消息生成第一诊断消息,所述第一诊断消息是所述第一网络节点响应于所述诊断请求消息生成的诊断响应消息,所述第一诊断消息包括所述待诊断网络事务的标识、第一顺序标识、所述第一网络节点的标识、所述第一网络节点接收所述诊断请求消息的时间,以及所述第一网络节点的下一个网络节点的标识,所述第一顺序标识是所述第一网络节点根据所述控制节点发送的所述诊断请求消息中的指示信息确定的,所述第一顺序标识用于标识所述第一诊断消息的生成时间在所述控制节点接收到的多个诊断消息的生成时间的顺序;
所述第一网络节点向所述控制节点发送所述第一诊断消息。
7.根据权利要求6所述方法,其特征在于,所述方法包括:
所述第一网络节点将所述诊断请求消息的所述指示信息中用于被诊断请求消息的接收者确定生成诊断消息的顺序标识的字段加一,得到更新后的指示信息;
所述第一网络节点向第二网络节点发送携带所述更新后的指示信息的诊断请求消息。
8.一种网络诊断的装置,其特征在于,所述装置包括发送单元、接收单元和处理单元;
所述发送单元,用于向第一网络节点发送诊断请求消息,所述诊断请求消息中包括待诊断网络事务的标识和指示信息;
所述接收单元,用于接收所述第一网络节点发送的第一诊断消息,所述第一诊断消息是所述第一网络节点响应于所述控制节点发送的所述诊断请求消息生成的诊断响应消息,所述第一诊断消息包括所述待诊断网络事务的标识、第一顺序标识、所述第一网络节点的标识、所述第一网络节点接收所述诊断请求消息的时间,以及所述第一网络节点的下一个网络节点的标识,所述第一顺序标识是所述第一网络节点根据所述控制节点发送的所述诊断请求消息中的指示信息确定的,所述第一顺序标识用于标识所述第一诊断消息的生成时间在所述控制节点接收到的多个诊断消息的生成时间的顺序;以及接收第二网络节点发送的第二诊断消息,所述第二诊断消息是所述第二网络节点响应于所述第一网络节点发送的所述诊断请求消息生成的诊断响应消息,所述第一网络节点的下一个网络节点是所述第二网络节点,所述第二诊断消息包括所述待诊断网络事务的标识、第二顺序标识、所述第二网络节点的标识、所述第二网络节点接收所述第一网络节点发送的所述诊断请求消息的时间、所述第一网络节点的标识以及所述第二网络节点的下一个网络节点的标识,所述第二顺序标识是所述第二网络节点根据所述第一网络节点发送的所述诊断请求消息中的指示信息确定的,所述第二顺序标识用于标识所述第二诊断消息的生成时间在所述多个诊断消息的生成时间的顺序,所述多个诊断消息包括所述第一诊断消息以及所述第二诊断消息,所述第一诊断消息的生成时间早于所述第二诊断消息的生成时间;
所述处理单元,用于根据根据所述多个诊断消息,得到所述待诊断网络事务的诊断结果。
9.根据权利要求8所述装置,其特征在于,
所述处理单元,还用于对所述待诊断事务的标识和所述指示信息进行封装,生成网络报文,所述网络报文为所述诊断请求消息,所述待诊断事务的标识和所述指示信息携带在所述网络报文的净荷中;或根据应用程序生成的业务请求消息中添加所述待诊断事务的标识、所述指示信息以及指纹信息,得到携带所述诊断请求消息的业务请求消息,所述指纹信息用于指示所述携带所述诊断请求消息的业务请求消息中携带所述诊断请求消息。
10.根据权利要求8或9所述装置,其特征在于,所述第一诊断消息中携带当前网络节点的标识以及所述当前网络节点的下一个网络节点的标识,所述第一诊断消息中携带的当前网络节点的标识是所述第一网络节点的标识,所述第一诊断消息中携带的当前网络节点的下一个网络节点的标识是所述第二网络节点的标识,所述第二诊断消息中携带当前网络节点的标识,所述第二诊断消息中携带的当前网络节点的标识是所述第二网络节点的标识;
所述处理单元,还用于确定诊断消息集合,所述诊断消息集合是所述多个诊断消息构成的集合的子集,所述诊断消息集合中的每个诊断消息都携带所述待诊断网络事物的标识;当确定所述诊断消息集合中的所述第一诊断消息中携带的当前网络节点的下一个网络节点的标识,与所述诊断消息集合中的所述第二诊断消息中携带的当前网络节点的标识相同时,确定所述第一网络节点与所述第二网络节点是相邻的网络节点。
11.根据权利要求10所述装置,其特征在于,所述多个诊断消息中每个诊断消息都携带顺序标识、当前网络节点的标识以及当前网络节点的下一个网络节点的标识;
所述处理单元,还用于在所述多个诊断消息中确定特定的诊断消息,所述特定的诊断消息中携带的顺序标识的值大于所述多个诊断消息中其他诊断消息中携带的顺序标识的值;确定是否接收到来自所述特定的诊断消息中携带的当前网络节点的下一个网络节点的标识指示的网络节点的诊断消息;确定未接收到来自所述特定的诊断消息中携带的当前网络节点的下一个网络节点的标识指示的网络节点的诊断消息时,确定所述特定的诊断消息中携带的当前网络节点的下一个网络节点的标识指示的网络节点为发生故障的网络节点。
12.根据权利要求8至11中任一所述装置,其特征在于,
所述处理单元,还用于根据所述第一诊断消息中携带的所述第一网络节点接收所述诊断请求消息的时间,以及所述第二诊断消息中携带的所述第二网络节点接收所述诊断请求消息的时间,确定所述第二网络节点接收所述诊断请求消息的时间与所述第一网络节点接收所述诊断请求消息的时间的差值;当所述差值大于预设阈值时,所述控制节点确定所述第一网络节点和所述第二网络节点之间的网络链路存在故障。
13.一种网络诊断的装置,其特征在于,所述装置包括获取单元、处理单元和发送单元;
所述获取单元,用于获取诊断请求消息,所述诊断请求消息中包括待诊断网络事务的标识和指示信息;
所述处理单元,用于根据所述诊断请求消息生成第一诊断消息,所述第一诊断消息是所述第一网络节点响应于所述诊断请求消息生成的诊断响应消息,所述第一诊断消息包括所述待诊断网络事务的标识、第一顺序标识、所述第一网络节点的标识、所述第一网络节点接收所述诊断请求消息的时间,以及所述第一网络节点的下一个网络节点的标识,所述第一顺序标识是所述第一网络节点根据所述控制节点发送的所述诊断请求消息中的指示信息确定的,所述第一顺序标识用于标识所述第一诊断消息的生成时间在所述控制节点接收到的多个诊断消息的生成时间的顺序;
所述发送单元,用于向所述控制节点发送所述处理单元生成的所述第一诊断消息。
14.根据权利要求13所述装置,其特征在于,
所述处理单元,还用于将所述指示信息中用于被诊断请求消息的接收者确定生成诊断消息的顺序标识的字段加一,得到更新后的指示信息;
所述发送单元,还用于向第二网络节点发送携带所述更新后的指示信息的诊断请求消息。
15.一种控制节点,其特征在于,所述控制节点包括处理器、存储器、通信接口、总线,所述处理器、存储器和通信接口之间通过总线连接并完成相互间的通信,所述存储器中用于存储计算机执行指令,所述控制节点运行时,所述处理器执行所述存储器中的计算机执行指令以利用所述控制节点中的硬件资源执行权利要求1至5中任一所述方法的操作步骤。
16.一种网络节点,其特征在于,所述网络节点包括处理器、存储器、通信接口、总线,所述处理器、存储器和通信接口之间通过总线连接并完成相互间的通信,所述存储器中用于存储计算机执行指令,所述网络节点运行时,所述处理器执行所述存储器中的计算机执行指令以利用所述网络节点中的硬件资源执行权利要求6至7中任一所述方法的操作步骤。
CN201710105106.1A 2017-02-25 2017-02-25 一种网络诊断的方法、装置、控制节点和网络节点 Active CN108512675B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710105106.1A CN108512675B (zh) 2017-02-25 2017-02-25 一种网络诊断的方法、装置、控制节点和网络节点

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710105106.1A CN108512675B (zh) 2017-02-25 2017-02-25 一种网络诊断的方法、装置、控制节点和网络节点

Publications (2)

Publication Number Publication Date
CN108512675A true CN108512675A (zh) 2018-09-07
CN108512675B CN108512675B (zh) 2021-06-15

Family

ID=63373842

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710105106.1A Active CN108512675B (zh) 2017-02-25 2017-02-25 一种网络诊断的方法、装置、控制节点和网络节点

Country Status (1)

Country Link
CN (1) CN108512675B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110943877A (zh) * 2018-09-21 2020-03-31 华为技术有限公司 网络状态测量方法、设备及系统
CN111740878A (zh) * 2020-06-08 2020-10-02 中国工商银行股份有限公司 网络通路检测方法及节点
CN112217692A (zh) * 2020-02-19 2021-01-12 杜义平 网络系统、网络诊断处理方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150222477A1 (en) * 2014-02-04 2015-08-06 Cisco Technology, Inc Network alert pattern mining
WO2015180559A1 (zh) * 2014-05-26 2015-12-03 华为技术有限公司 业务链的故障检测方法及装置
CN105577413A (zh) * 2014-10-17 2016-05-11 中兴通讯股份有限公司 操作、管理和维护oam报文处理方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150222477A1 (en) * 2014-02-04 2015-08-06 Cisco Technology, Inc Network alert pattern mining
WO2015180559A1 (zh) * 2014-05-26 2015-12-03 华为技术有限公司 业务链的故障检测方法及装置
CN105577413A (zh) * 2014-10-17 2016-05-11 中兴通讯股份有限公司 操作、管理和维护oam报文处理方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110943877A (zh) * 2018-09-21 2020-03-31 华为技术有限公司 网络状态测量方法、设备及系统
CN112217692A (zh) * 2020-02-19 2021-01-12 杜义平 网络系统、网络诊断处理方法及装置
CN111740878A (zh) * 2020-06-08 2020-10-02 中国工商银行股份有限公司 网络通路检测方法及节点

Also Published As

Publication number Publication date
CN108512675B (zh) 2021-06-15

Similar Documents

Publication Publication Date Title
US5568471A (en) System and method for a workstation monitoring and control of multiple networks having different protocols
US8359378B2 (en) Network system and method of administrating networks
US8819220B2 (en) Management method of computer system and management system
US6529954B1 (en) Knowledge based expert analysis system
CN104796273B (zh) 一种网络故障根源诊断的方法和装置
US6363384B1 (en) Expert system process flow
US20080016115A1 (en) Managing Networks Using Dependency Analysis
JP5560936B2 (ja) 構成情報取得方法、仮想プローブおよび構成情報取得制御装置
JP2008104027A (ja) パケット情報収集装置およびパケット情報収集プログラム
CN108989136A (zh) 业务端到端性能监控方法及装置
JP5251538B2 (ja) 異常箇所特定プログラム、異常箇所特定装置、異常箇所特定方法
CN108512675A (zh) 一种网络诊断的方法、装置、控制节点和网络节点
CN113364624B (zh) 基于边缘计算的混合云流量采集方法和系统
CN107870832A (zh) 基于多维度健康诊断方法的多路径存储设备
JP2021141582A (ja) 障害回復方法および障害回復装置、ならびに記憶媒体
CN109586959A (zh) 一种故障检测的方法及装置
CN109960634A (zh) 一种应用程序监控方法、装置及系统
CN108664346A (zh) 分布式存储系统的节点异常的定位方法、装置和系统
CN110300008A (zh) 一种确定网络设备的状态的方法及装置
JP6809011B2 (ja) 制御システムの遠隔監視を行う装置およびシステム
CN104950832B (zh) 钢铁厂控制系统
CN113364651B (zh) 一种分布式网络流量采集方法
CN108494625A (zh) 一种网络性能分析系统
CN117271234A (zh) 故障诊断方法、装置、存储介质及电子装置
CN110442468A (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
GR01 Patent grant
GR01 Patent grant