CN117527543A - 网络故障定位方法及计算设备 - Google Patents

网络故障定位方法及计算设备 Download PDF

Info

Publication number
CN117527543A
CN117527543A CN202311422601.7A CN202311422601A CN117527543A CN 117527543 A CN117527543 A CN 117527543A CN 202311422601 A CN202311422601 A CN 202311422601A CN 117527543 A CN117527543 A CN 117527543A
Authority
CN
China
Prior art keywords
message
virtual
bridge
network
communication link
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311422601.7A
Other languages
English (en)
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.)
XFusion Digital Technologies Co Ltd
Original Assignee
XFusion Digital 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 XFusion Digital Technologies Co Ltd filed Critical XFusion Digital Technologies Co Ltd
Priority to CN202311422601.7A priority Critical patent/CN117527543A/zh
Publication of CN117527543A publication Critical patent/CN117527543A/zh
Pending legal-status Critical Current

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/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/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements

Landscapes

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

Abstract

本申请实施例提供一种网络故障定位方法及计算设备,涉及服务器技术领域,可以在虚拟网络环境下实现网络的故障定位。该方法应用于计算设备,计算设备中部署有第一虚拟机,第一虚拟机与至少一个网络节点通过通信链路连接,通信链路包括至少一个虚拟网桥,该虚拟网桥包括用于传递报文的端口。该方法包括:生成第一报文;通过通信链路向网络节点发送第一报文;在第一报文通过通信链路进行传递的过程中,对经第一虚拟网桥的端口传递的第一报文进行拦截,得到报文丢失信息;第一虚拟网桥为至少一个虚拟网桥中的一个;基于报文丢失信息,确定通信链路的故障位置。本申请实施例可用于服务器运维的过程中。

Description

网络故障定位方法及计算设备
技术领域
本申请实施例涉及服务器技术领域,尤其涉及一种网络故障定位方法及计算设备。
背景技术
超融合技术是以虚拟化技术为基础,将计算、存储和网络虚拟化整合在一台服务器中,通过软件定义的方法提供一体化解决方案。其中,网络虚拟化是超融合的关键技术之一,通过将网络功能从物理设备中解耦,使用软件定义的方式将网络资源划分为多个虚拟网络,使得不同用户或应用程序可以独立使用虚拟网络,因而得到广泛应用。
对于网络运维来说,网络的故障定位是尤为重要的。目前的故障定位方案,是基于物理交换机可以减少报文的生存时间的原理实现故障定位的,仅适用于物理网络环境。但是在虚拟网络环境下,报文的转发是基于虚拟化技术生成的虚拟交换机(虚拟网桥)进行的,该虚拟交换机不具备减少报文的生存时间的能力,因此目前的故障定位方案并不适用于虚拟网络环境。
发明内容
本申请实施例提供一种网络故障定位方法及计算设备,可以在虚拟网络环境下实现网络的故障定位。
第一方面,本申请实施例提供一种网络故障定位方法,应用于计算设备,该计算设备中部署有第一虚拟机,第一虚拟机与至少一个网络节点通过通信链路连接,通信链路包括至少一个虚拟网桥,虚拟网桥包括用于传递报文的端口;方法包括:生成第一报文;通过通信链路向网络节点发送第一报文;在第一报文通过通信链路进行传递的过程中,对经第一虚拟网桥的端口传递的第一报文进行拦截,得到报文丢失信息;第一虚拟网桥为至少一个虚拟网桥中的一个;基于报文丢失信息,确定通信链路的故障位置。
本申请实施例提供一种网络故障定位方法,在需要定位第一虚拟机与网络节点之间的通信链路中的故障时,该方法可以生成第一报文并在通信链路上发送第一报文,在报文传输过程中通过第一虚拟网桥的端口对第一报文进行拦截,以获取报文丢失信息。进而根据报文丢失信息确定故障位置。其中,报文丢失信息与虚拟网桥的端口拦截报文的情况相关,若报文丢失信息指示第一虚拟网桥的端口没有拦截报文,则说明第一报文不可达该端口,由此实现故障定位。该方法可以解决虚拟网络环境下无法通过减少报文的生存时间来实现故障定位的问题,实现虚拟网络环境下故障的有效定位。并且,该方法可以实现自动化故障定位,无需用户手动进行多次检测,减少人力资源的浪费。
一种可能的实现方式中,上述方法还包括;在通过通信链路向网络节点发送第一报文之前,方法还包括:在虚拟网桥的端口配置拦截规则;拦截规则用于拦截第一报文。
另一种可能的实现方式中,第一虚拟网桥的端口为第一虚拟网桥的报文入口;基于报文丢失信息,确定通信链路的故障位置,包括:在报文丢失信息指示第一值的情况下,确定第一虚拟网桥的报文入口,与第二虚拟网桥的报文入口之间的部分为故障位置;第二虚拟网桥为第一报文的传输方向上,第一虚拟网桥的上一个虚拟网桥。应理解,通过虚拟网桥的报文入口拦截第一报文,来确定第一报文是否可达该虚拟网桥,可以实现虚拟网络环境下故障的准确定位。
又一种可能的实现方式中,第一虚拟网桥的端口为第一虚拟网桥的报文入口或报文出口;基于报文丢失信息,确定通信链路的故障位置,包括:在报文丢失信息指示第一值的情况下,确定第一虚拟网桥的报文入口,与第二虚拟网桥的报文出口之间的部分为故障位置;第二虚拟网桥为第一报文的传输方向上,第一虚拟网桥的上一个虚拟网桥;或者,在报文丢失信息指示第一值的情况下,确定第一虚拟网桥的报文出口,与第一虚拟网桥的报文入口之间的部分为故障位置。应理解,通过虚拟网桥的报文入口或报文出口拦截第一报文,可以更为准确的定位报文的可达位置,进一步提高故障定位的准确性。
又一种可能的实现方式中,上述方法还包括:在报文丢失信息指示第二值的情况下,再次通过通信链路向网络节点发送第一报文;在第一报文通过通信链路进行传递的过程中,对经目标端口传递的第一报文进行拦截,得到目标端口的报文丢失信息;目标端口为第一报文的传输方向上,第一虚拟网桥的端口的下一个端口;基于目标端口的报文丢失信息,确定通信链路的故障位置。应理解,这种通过依次遍历的过程,无需用户参与,可以自动实现对通信链路中各个虚拟网桥的探测,实现故障的精准定位。
又一种可能的实现方式中,第一虚拟机对应的虚拟网桥包括第一虚拟网口;第一虚拟网口用于传输第一虚拟机生成的业务报文;方法还包括:在第一虚拟机对应的虚拟网桥上创建第二虚拟网口;第二虚拟网口用于网络故障定位;通过通信链路向网络节点发送第一报文,包括:通过第二虚拟网口,向网络节点发送第一报文。应理解,通过创建第二虚拟网口的方式,可以实现不进入第一虚拟机的环境,也能够实现模拟第一虚拟机到网络节点之间通信链路的报文传输的过程,从而有效保证客户的隐私。
又一种可能的实现方式中,在确定故障位置后,方法还包括:释放第二虚拟网口占用的资源。应理解,在故障定位完成后删除第二虚拟网口,从而减少虚拟资源的占用。
又一种可能的实现方式中,生成第一报文,包括:根据第一虚拟机的信息以及网络节点的信息,生成第二报文;对第二报文中的目标字段进行报文标识后,生成第一报文。应理解,通过报文标记技术,将虚拟报文进行标记,使得计算设备可以较为容易地区分第一报文与业务报文,从而避免用于故障探测的报文与实际的业务报文的冲突。
又一种可能的实现方式中,目标字段包括以下至少一项:差分服务代码点(diff-serve coding point,DSCP)、显式拥塞通告(explicit congestion notification)ECN。
又一种可能的实现方式中,方法还包括:方法还包括:生成第三报文;第三报文用于检测通信链路的连通性;通过通信链路向网络节点发送第三报文;生成第一报文,包括:在未检测到网络节点对第三报文的响应报文的情况下,生成第一报文。应理解,在确定通信链路故障(异常)的情况下,再执行本申请的网络故障定位方法,可以有针对性地进行故障定位,提高网络运维的效率。
第二方面,本申请提供一种网络故障定位装置,该装置包括:生成模块、发送模块、拦截模块以及确定模块。生成模块用于,生成第一报文;发送模块用于,通过通信链路向网络节点发送第一报文;拦截模块用于,在第一报文通过通信链路进行传递的过程中,对经第一虚拟网桥的端口传递的第一报文进行拦截,得到报文丢失信息;第一虚拟网桥为至少一个虚拟网桥中的一个;确定模块用于,基于报文丢失信息,确定通信链路的故障位置。
一种可能的实现方式中,上述装置还包括;配置模块。配置模块用于,在虚拟网桥的端口配置拦截规则;拦截规则用于拦截第一报文。
另一种可能的实现方式中,第一虚拟网桥的端口为第一虚拟网桥的报文入口;确定模块具体用于,在报文丢失信息指示第一值的情况下,确定第一虚拟网桥的报文入口,与第二虚拟网桥的报文入口之间的部分为故障位置;第二虚拟网桥为第一报文的传输方向上,第一虚拟网桥的上一个虚拟网桥。
又一种可能的实现方式中,第一虚拟网桥的端口为第一虚拟网桥的报文入口或报文出口;确定模块具体用于,在报文丢失信息指示第一值的情况下,确定第一虚拟网桥的报文入口,与第二虚拟网桥的报文出口之间的部分为故障位置;第二虚拟网桥为第一报文的传输方向上,第一虚拟网桥的上一个虚拟网桥;或者,在报文丢失信息指示第一值的情况下,确定第一虚拟网桥的报文出口,与第一虚拟网桥的报文入口之间的部分为故障位置。
又一种可能的实现方式中,发送模块还用于,在报文丢失信息指示第二值的情况下,再次通过通信链路向网络节点发送第一报文;拦截模块还用于,在第一报文通过通信链路进行传递的过程中,对经目标端口传递的第一报文进行拦截,得到目标端口的报文丢失信息;目标端口为第一报文的传输方向上,第一虚拟网桥的端口的下一个端口;确定模块还用于,基于目标端扣的报文丢失信息,确定通信链路的故障位置。
又一种可能的实现方式中,第一虚拟机对应的虚拟网桥包括第一虚拟网口;第一虚拟网口用于传输第一虚拟机生成的业务报文;配置模块还用于,在第一虚拟机对应的虚拟网桥上创建第二虚拟网口;第二虚拟网口用于网络故障定位;发送模块具体用于,通过第二虚拟网口,向网络节点发送第一报文。
又一种可能的实现方式中,上述装置还包括:释放模块。释放模块用于,释放第二虚拟网口占用的资源。
又一种可能的实现方式中,生成模块具体用于,根据第一虚拟机的信息以及网络节点的信息,生成第二报文;对第二报文中的目标字段进行报文标识后,生成第一报文。
又一种可能的实现方式中,生成模块还用于,生成第三报文;第三报文用于检测通信链路的连通性;发送模块还用于,通过通信链路向网络节点发送第三报文;生成模块具体用于,在未检测到网络节点对第三报文的响应报文的情况下,生成第一报文。
第三方面,本申请提供一种处理器,该处理器包括:接口和逻辑电路,所述逻辑电路用于执行上述第一方面的方法。
第四方面,本申请提供一种计算设备,该计算设备包括处理器和存储器;处理器与存储器耦合;存储器用于存储计算机指令,计算机指令由处理器加载并执行以使计算设备实现上述第一方面的方法。
第五方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质包括:计算机软件指令;当计算机软件指令在计算设备中运行时,使得计算设备实现上述第一方面的方法。
第六方面,本申请提供一种计算机程序产品,当该计算机程序产品在计算设备上运行时,使得计算设备执行上述第一方面描述的相关方法的步骤,以实现上述第一方面的方法。
上述第二方面至第六方面的有益效果可以参考第一方面的对应描述,不再赘述。
附图说明
图1为本申请实施例提供的一种相关技术进行故障定位的流程示意图;
图2为本申请实施例提供的一种计算设备的系统架构示意图;
图3为本申请实施例提供的一种超融合环境下模块之间的交互示意图;
图4为本申请实施例提供的一种网络故障定位方法的流程示意图;
图5为本申请实施例提供的另一种网络故障定位方法的流程示意图;
图6为本申请实施例提供的又一种网络故障定位方法的流程示意图;
图7为本申请实施例提供的又一种网络故障定位方法的流程示意图;
图8为本申请实施例提供的又一种网络故障定位方法的流程示意图;
图9为本申请实施例提供的又一种网络故障定位方法的流程示意图;
图10为本申请实施例提供的一种通信链路的示意图;
图11为本申请实施例提供的又一种网络故障定位方法的流程示意图;
图12为本申请实施例提供的又一种网络故障定位方法的流程示意图;
图13为本申请实施例提供的又一种网络故障定位方法的流程示意图;
图14为本申请实施例提供的一种基于ICMP进行故障定位的方法流程图;
图15为本申请实施例提供的一种基于TCP进行故障定位的方法流程图;
图16为本申请实施例提供的一种基于UDP进行故障定位的方法流程图;
图17为本申请实施例提供的一种网络故障定位装置的组成示意图;
图18为本申请实施例提供的一种计算设备的组成示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不是在对数量和执行次序进行限定。
下面对本申请实施例涉及到的技术术语进行解释说明。
1、超融合:超融合技术是一种将计算、存储和网络功能整合一体的技术。虚拟化技术通过将物理资源抽象为虚拟资源,提高了资源的利用率和灵活性。超融合技术在虚拟化技术的基础上,将计算、存储和网络虚拟化整合在一台服务器中,通过软件定义的方法提供一体化解决方案。目前,超融合技术已经在数据中心、云计算和虚拟化环境中得到广泛的应用,提供了更高的资源利用率、更灵活的部署和管理方式。
2、虚拟网络:虚拟网络是由网络虚拟化技术构建的网络,网络虚拟化是超融合的关键技术之一,通过将网络功能从物理设备中解耦,使用软件定义的方式将网络资源划分为多个虚拟网络,使得不同用户或应用程序可以独立使用虚拟网络。网络虚拟化可以为用户带来资源高效利用,管理和扩展灵活便捷等优点
3、虚拟机:英文全称virtual machine,指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。实体计算机可以通过虚拟化技术,将自身的部分硬盘以及内存容量作为虚拟机使用的硬盘以及内存容量。每个虚拟机都有独立的内存,硬盘和操作系统,具备实体计算机的大部分功能。
如背景技术的描述,现有的故障定位方案,例如开源工具traceroute,是基于物理交换机可以减少报文的生存时间的原理,通过不断调整互联网协议(internet protocol,IP)报文中生存时间的值,从而获取报文可达的路径。若报文不可达,则返回故障位置。但是在虚拟网络环境下,虚拟交换机(也称为虚拟网桥、虚拟网元)是软件生成的,并不是实体设备,并不具备减小报文生存时间的功能,因此现有的故障定位方案并不能适用于虚拟网络环境。
在相关技术中提供一种适用于虚拟网络环境下的故障定位方案。如图1所示,在虚拟网络环境中,若要测试虚拟机1与虚拟机2之间的通信链路情况,可以1、在虚拟机1中下载用于网络探测的开源工具,如ping,tcping,udping,traceroute等,通过这些开源工具判断虚拟机1与虚拟机2之间整个通信链路的连通性。若确定通信链路异常,则可以通过2、登录超融合网络管理平台,3、针对虚拟机1与虚拟机2之间的每个虚拟网桥,分别使用虚拟网桥自带的ovs ofproto/trace工具进行排查。该ovs ofproto/trace工具可以通过报文的协议、IP地址、媒体访问控制(media access control,MAC)地址等字段,判断报文是否能正常转发。但是该工具的功能只能判断单一虚拟网桥的转发状态,当虚拟网络比较复杂时,例如由多个虚拟网桥组成时,该工具无法进行端到端的故障定位。因此,相关技术的方案,对维护人员要求较高,需要维护人员熟悉虚拟机的相关操作命令,进行逐个排查,使用不方便。
综上所述,目前亟需一种可以在虚拟网络环境下,进行故障定位的方案。
基于此,本申请实施例提供一种网络故障定位方法,在需要定位第一虚拟机与网络节点之间的通信链路中的故障时,该方法可以生成第一报文并在通信链路上发送第一报文,在报文传输过程中通过第一虚拟网桥的端口对第一报文进行拦截,以获取报文丢失信息。进而根据报文丢失信息确定故障位置。其中,报文丢失信息与虚拟网桥的端口拦截报文的情况相关,若报文丢失信息指示第一虚拟网桥的端口没有拦截报文,则说明第一报文不可达该端口,由此实现故障定位。该方法可以解决虚拟网络环境下无法通过减少报文的生存时间来实现故障定位的问题,实现虚拟网络环境下故障的有效定位。本申请实施例提供的技术方案可以应用于计算设备,该计算设备具体可以是刀片服务器、高密服务器、机架服务器或高性能服务器等,或者通用服务器、GPU服务器、DPU服务器或AI服务器等。图2为计算设备的系统架构示意图,如图2所示,该计算设备的硬件包括处理器、带外控制器、存储器以及内存。软件包括带外管理模块以及操作系统(operating system,OS)。
其中,带外管理模块运行于带外控制器内,OS运行于处理器(如图2所示)。
其中,带外管理模块可以为非业务模块的管理单元。例如,带外管理模块可以通过专用的数据通道对计算设备进行远程维护和管理,该带外管理模块是完全独立于计算设备的操作系统之外,可以通过计算设备的带外管理接口与基本输入输出系统(basic inputoutput system,BIOS)和OS进行通信。
示例性的,带外管理模块可以包括计算设备运行状态的管理单元、处理器外的管理芯片中的管理系统、计算设备基板管理控制器(baseboard management controller,BMC)、系统管理模块(system management mode,SMM)等。需要说明的,本申请实施例对带外管理模块的具体形式并不限定,以上仅为示例性说明。
内存,也称为内存储器或主存储器,安装在计算设备的主板上的内存插槽中,内存与内存控制器之间通过内存通道(channel)进行通信。内存具有至少一个内存列(rank),每个内存列分别位于内存的一个面上,每个内存列包括至少一个子内存列(subrank),内存列或子内存列包括多个内存芯片(device),每个内存芯片被划分为多个存储阵列组(bankgroup),每个存储阵列组包括多个存储阵列(bank),每个存储阵列划分为多个存储单元(cell),每个存储单元具有一个行(row)地址和一个列(column)地址,每个存储单元包括一个或多个比特位。在一种划分方式中,内存从上级至下级可以依次划分为内存芯片、存储阵列组、存储阵列,存储行/存储列、存储单元、比特位,其中,内存颗粒、存储阵列组、存储阵列、存储行、存储了列、存储单元、比特位在内存上的地址为真实的物理地址。在另一种划分方式中,CPU基于分页机制将内存芯片划分为多个内存页(page),其中,内存页的地址为虚拟地址,虚拟地址需要转换后才会变为真实的物理地址。
存储器,可以是计算设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等,也可以是外部存储设备,例如U盘等。
在本申请实施例中,存储器中存储了虚拟化软件程序以及其他程序模块。虚报化软件程序被处理器读取和运行之后对硬件资源进行虚拟化,包括创建多个虚拟机等。
需要说明的,本申请实施例描述的系统架构以及应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
图3为本申请实施例提供的一种超融合环境下模块之间的交互示意图。如图3所示,包括超融合网络管理平台,以及一个或多个网络节点(图中以两个网络节点示出)。其中,每一个网络节点可以是一个实体的计算设备。超融合网络管理平台分别与多个网络节点连接,多个网络节点之间通过物理网口和物理交换机连接。网络节点中部署有虚拟机以及虚拟网桥,虚拟机之间的报文可以通过虚拟网桥进行转发。
需要说明的是,超融合管理平台可以部署于图3所示的任一个网络节点中,也可以单独部署于一个独立的计算设备中,用于管理多个网络节点内的虚拟机以及虚拟网络环境。本申请实施例对此不作具体限制。
本申请实施例中,在超融合环境中增加网络探测系统(或称为故障定位系统),以实现虚拟机之间的虚拟网络的故障定位功能。其中,网络探测系统包括探测控制器(detect-controller)以及探测代理(detect-agent)两个模块。探测控制器部署于超融合管理平台中,探测代理部署于每一个网络节点中。
探测控制器用于,接收用户的探测请求,生成探测任务下发至探测代理,控制探测流程。
探测代理用于,接收探测控制器的指令,实施网络配置、报文注入,数据接收,报文拦截检测等操作,并将结果返回至探测控制器。
示例性的,探测控制器可以接收用户的探测指令,生成探测任务。该探测任务用于指示对虚拟机1与虚拟机2之间通信链路进行故障定位。网络节点的探测代理接收到探测任务后,可以在通信链路的入口注入报文,并检测每一个虚拟网桥是否拦截报文,从而实现故障定位。
图4为本申请实施例提供的一种网络故障定位方法的流程示意图。示例性的,本申请实施例提供的网络故障定位方法,可以应用于图2的计算设备,或者图3所示的探测控制器中,下面以计算设备为执行主体为例进行说明。
在本申请实施例中,计算设备中部署有第一虚拟机,所述第一虚拟机与至少一个网络节点通过通信链路连接,该通信链路包括至少一个虚拟网桥,虚拟网桥包括用于传递报文的端口。其中,网络节点可以是同一计算设备中的其他虚拟机,或者不同计算设备中的虚拟机,或者外部的物理设备等,本申请实施例对此不作限定。应理解,第一虚拟机与每个网络节点之间的通信链路,所采用的网络故障定位方法基本一致,下面以对第一虚拟机与一个网络节点之间的通信链路实现故障定位为例进行说明。
如图4所示,本申请实施例提供的网络故障定位方法具体可以包括以下步骤:
S401、生成第一报文。
其中,第一报文用于探测故障位置。
在本申请实施例中,在需要探测第一虚拟机(源端节点)与网络节点(目的节点)之间通信链路的故障位置时,计算设备可以根据第一虚拟机以及网络节点的IP地址等信息,构造虚拟报文作为第一报文,以便于后续通过在通信链路中传输第一报文实现故障定位。
S402、通过通信链路向网络节点发送第一报文。
在本申请实施例中,在需要确定第一报文是否可达通信链路中的第一虚拟网桥时,计算设备可以通过通信链路中的至少一个虚拟网桥,向网络发送第一报文,以便后续通过检测第一虚拟网络是否拦截第一报文来判断报文是否可达。
可以理解的是,在进行网络部署时,计算设备的数据库中事先存储有第一虚拟机的位置信息,以及第一虚拟机与每个网络节点之间的通信链路信息。在需要进行网络探测时,计算设备可以直接从数据库中获取第一虚拟机与网络节点之间的通信链路信息,以及通信链路上各个虚拟网桥的信息以进行后续的故障定位使用。
在一种实现方式中,如图5所示,在S402之前,计算设备还执行如下S501。
S501、在虚拟网桥的端口配置拦截规则。
其中,拦截规则用于拦截第一报文。通过配置拦截规则,使得虚拟网桥的端口具有拦截第一报文的能力,便于后续在第一报文传输的过程中对第一报文进行拦截,以确定通信链路中的故障位置。
可选的,该拦截规则为访问控制列表(access control list,ACL)规则。ACL规则是路由器和交换机接口的指令列表,用来控制端口进入的数据包,ACL适用于所有的被路由协议。简而言之,ACL规则可以过滤网络中的流量,是控制访问的一种网络技术手段。配置ACL后,可以实现限制网络流量,允许特定设备访问,指定转发特定端口数据包等。
S403、在第一报文通过通信链路进行传递的过程中,对经第一虚拟网桥的端口传递的第一报文进行拦截,得到第一虚拟网桥的报文丢失信息。
其中,第一虚拟网桥为至少一个虚拟网桥中的一个,报文丢失信息用于反映虚拟网桥对报文的拦截情况。
应理解,第一虚拟网桥的端口事先被配置有拦截功能,可以实现对传递的第一报文进行拦截并丢弃,并记录丢弃报文的数量得到报文丢失信息。若报文丢失信息指示已拦截第一报文,则说明第一报文可达该第一虚拟网桥的端口。若报文丢失信息指示未拦截第一报文,则说明第一报文不可达该第一虚拟网桥的端口。在第一报文传输的过程中,计算设备对经第一虚拟网桥的端口传递的第一报文进行拦截,并获取报文丢失信息,以确定第一报文的可达位置。
S404、基于第一虚拟网桥的报文丢失信息,确定通信链路的故障位置。
在本申请实施例中,计算设备在发送第一报文后,计算设备可以根据第一虚拟网桥的报文丢失信息确定第一虚拟网桥的端口是否拦截第一报文。若确定第一虚拟网桥的端口未拦截第一报文,则说明报文不可达该端口,通信链路中第一虚拟网桥的端口之前的部分出现网络断点,因此计算可以根据第一虚拟网桥的端口的位置确定通信链路的故障位置。
应理解,在超融合环境下,虚拟网桥自带丢弃报文统计功能。在检测第一虚拟网桥是否拦截第一报文时,计算设备可以调用第一虚拟网桥的丢弃报文统计功能,获取第一虚拟网桥对丢弃报文的统计值。若统计值大于0,说明源端虚拟机到第一虚拟网桥之间通信链路正常。若统计值等于0,说明未检测到第一虚拟网桥拦截第一报文,说明源端虚拟机到第一虚拟网桥之间通信链路存在故障。
应理解,虚拟网桥包括报文入口和报文出口,分别用于接收流量以及发送流量。下面针对报文入口拦截第一报文的情况,以及报文入口和报文出口均可拦截第一报文的情况进行说明。
在一种实现方式中,上述S403中第一虚拟网桥的端口为第一虚拟网桥的报文入口。也即第一虚拟网桥的报文入口具有拦截功能,可以拦截进入流量。在这种情况下,如图6所示,上述S404可以具体实现为:在报文丢失信息指示第一值的情况下,确定第一虚拟网桥的报文入口,与第二虚拟网桥的报文入口之间的部分为故障位置。其中,第一值表征上述丢弃报文的统计值等于0。第二虚拟网桥为第一报文的传输方向上,第一虚拟网桥的上一个虚拟网桥。应理解,通过虚拟网桥的报文入口拦截第一报文,来确定第一报文是否可达该虚拟网桥,可以实现虚拟网络环境下故障的准确定位。
在另一种实现方式中,上述S403中第一虚拟网桥的端口为第一虚拟网桥的报文入口或报文出口。也即第一虚拟网桥的报文入口或报文出口具有拦截功能,可以拦截进入流量或者拦截出流量。在这种情况下,如图7所示,上述S404可以具体实现为:
在所述报文丢失信息指示第一值的情况下,确定第一虚拟网桥的报文入口,与第二虚拟网桥的报文出口之间的部分为故障位置(在报文入口配置拦截规则的情况)。
或者,
在报文丢失信息指示第一值的情况下,确定第一虚拟网桥的报文出口,与第一虚拟网桥的报文入口之间的部分为故障位置(在报文出口配置拦截规则的情况)。
其中,第一值表征上述丢弃报文的统计值等于0。第二虚拟网桥为第一报文的传输方向上,第一虚拟网桥的上一个虚拟网桥。应理解,通过虚拟网桥的报文入口或报文出口拦截第一报文,可以更为准确的定位报文的可达位置,进一步提高故障定位的准确性。
在一种实现方式中,若计算设备检测到第一虚拟网桥的端口拦截第一报文,说明源端虚拟机到第一虚拟网桥的端口之间通信链路正常,则需要进一步确定报文传输方向上,下一个端口是否可以拦截第一报文。因此,如图8所示,本申请实施例提供的网络故障定位方法还包括如下:
S801、在报文丢失信息指示第二值的情况下,再次通过通信链路向网络节点发送第一报文。
S802、在第一报文通过通信链路进行传递的过程中,对经目标端口传递的第一报文进行拦截,得到目标端口的报文丢失信息。
其中,目标端口为第一报文的传输方向上,第一虚拟网桥的端口的下一个端口。
S803、基于目标端口的报文丢失信息,确定通信链路的故障位置。
应理解,第二值表征上述丢弃报文的统计值大于0,即第一虚拟网桥的端口拦截第一报文,说明第一虚拟机到该第一虚拟网桥的端口之间通信链路正常,可以继续进行下一个端口的检测。因此,可以再次发送第一报文,获取下一个端口对应的报文丢失信息,确定通信链路的故障位置。上述S801-S803的相关描述,可以分别参见上述S402-S404的相关描述,在此不再重复赘述。
下面结合图9,针对通信链路中每个虚拟网桥的遍历过程进行说明。图9为本申请实施例提供的又一种网络故障定位方法的流程示意图。如图9所示,首先,在i次遍历过程中,1、对通信链路中第i+1个端口配置ACL规则。2、通过通信链路发送第一报文。3、检测第i+1个端口是否拦截第一报文。4、若是,则撤销第i+1个端口上配置的拦截规则,执行第i+1次遍历过程。5、若否,则根据第i+1个端口的位置确定故障位置。
应理解,上述第i+1个端口,是按照通信链路上报文传输方向为标准进行说明的。以报文入口拦截报文的情况为例,进行第1次遍历过程中,则针对第2个虚拟网桥的报文入口配置ACL规则,进而第2次遍历过程中,则针对第3个虚拟网桥的报文入口配置ACL规则,以此类推。容易理解,若通信链路中包括4个虚拟网桥,则最多需要进行3次遍历过程。这种通过依次遍历的过程,无需用户参与,可以自动实现通信链路中各个虚拟网桥的探测,实现故障的精准定位。
另外,上述端口是以虚拟网桥的报文入口或者报文出口为例进行说明的。在一种实现方式中,上述端口还可以是连接物理节点之间的物理网口,如图10中所示。
下面就一个具体的例子进行说明。图10为本申请实施例提供的一种通信链路的示意图。如图10所示,包括两个网络节点,分别为网络节点1和网络节点2。网络节点1依次通过物理网口1,物理交换机以及物理网口2连接网络节点2。其中,每个网络节点分别部署有一个虚拟机(分别为虚拟机1和虚拟机2),且分别部署有两个虚拟网桥。从图中可以看出,虚拟机1到虚拟机2之间的通信链路包括四个虚拟网桥,依次为虚拟网桥1-虚拟网桥4。
结合图10,以报文入口可以拦截报文为例,首先,可以在虚拟网桥2的报文入口(图中的端口1)上配置ACL规则,然后以虚拟网桥1为报文入口,向虚拟机2发送第一报文。然后检测虚拟网桥2是否拦截第一报文(即统计值是否大于0)。若已拦截,则说明虚拟网桥2的报文入口到虚拟网桥1之间的部分正常。则撤销虚拟网桥2上配置的ACL规则,进一步在虚拟网桥3的报文入口(图中的端口3)配置ACL规则,再次向虚拟机2发送第一报文。若未检测到虚拟网桥3拦截第一报文(即统计值等于0),则说明故障位置为端口1到端口3之间的部分。
结合图10,以报文入口与报文出口均可以拦截报文为例,首先,可以在虚拟网桥1的报文出口(图中的端口0)上配置ACL规则,然后以虚拟网桥1为报文入口,向虚拟机2发送第一报文。然后检测端口0是否拦截第一报文(即统计值是否大于0)。若已拦截,则说明虚拟网桥1的报文出口到虚拟网桥1的报文入口之间的部分正常。则撤销端口0上配置的ACL规则,进一步在虚拟网桥2的报文入口(图中的端口1)配置ACL规则,再次向虚拟机2发送第一报文。若未检测到端口1拦截第一报文(即统计值等于0),则说明故障位置为端口1到端口0之间的部分。
结合图10,以虚拟网桥的报文入口、报文出口以及物理网口均可以拦截报文为例,若计算设备确定第一报文可达端口2,则进一步在物理网口1上配置拦截规则,再次通过通信链路发送第一报文。若未检测到物理网口1拦截第一报文(即统计值等于0),则说明故障位置为端口2到物理网口1之间的部分。
如前所述,现有的网络探测方案,需要进入虚拟机环境下载开源工具并运行。如图10中所示,第一虚拟机(虚拟机1)对应的虚拟网桥包括第一虚拟网口,该第一虚拟网桥用于连接虚拟机1和虚拟网桥,用于传输第一虚拟机生成的业务报文。因此,常规方案下,若要实现在通信链路中传输报文,需要进入第一虚拟机的环境,指示第一虚拟机通过第一虚拟网口发送报文。但是对于存在私密性要求的客户,该方案难以实现。而本申请实施例提供的网络故障定位方法,可以不进入虚拟机的环境也可以实现故障定位,具体流程如下。
图11为本申请实施例提供的又一种网络故障定位方法的流程示意图,如图11所示,该方法还包括如下S1101、在第一虚拟机对应的虚拟网桥上创建第二虚拟网口。在执行S1101的情况下,上述S402可以实现为:通过第二虚拟网口,向网络节点发送第一报文。其中,S1101可以在S402之前执行。
可以理解的是,在常规方案下,若要检测第一虚拟机与网络节点之间通信链路的故障,需要进入第一虚拟机的环境,通过指令指示第一虚拟机发送第一报文。而本申请实施例通过网络配置命令,在第一虚拟网桥上创建第二虚拟网口,作为第一虚拟网桥的报文入口。这样,可以实现不进入第一虚拟机的环境,也能够实现模拟第一虚拟机到网络节点之间通信链路的报文传输的过程,从而有效保证客户的隐私。并且,通过第二虚拟网发送第一报文,还可以避免第一报文与第一虚拟网口中传输的业务报文冲突。
可选的,如图11所示,在S404确定故障位置之后,还可以执行如下S1102、释放虚拟网口占用的资源。即在故障定位完成后删除虚拟网口,从而减少虚拟资源的占用。
由于第一报文是用于探测故障的虚拟报文,在通信链路中传输时,可能会存在虚拟报文与第一虚拟机与网络节点之间的业务报文冲突的问题。为了降低报文冲突的概率,如图12所示,本申请实施例中,上述S401可以具体实现为如下S4011-S4012。
S4011、根据第一虚拟机的信息以及网络节点的信息,生成第二报文。
S4012、对第二报文中的目标字段进行报文标识后,生成第一报文。
其中,第一报文中可以包括报文标识,该报文标识可以是颜色、符号、数字等标识,用于区分其他的业务报文。
可选的,目标字段包括以下至少一项:DSCP、ECN。
针对上述S4011和S4012,计算设备可以根据通信双方的信息,生成初始的第二报文。然后,将IP协议中使用较少的字段进行报文标识,例如可以同时对DSCP字段以及ECN字段进行标识,得到用于网络探测的第一报文。应理解,通过报文标识技术,将虚拟报文进行标记,使得计算设备可以较为容易地区分第一报文与业务报文,从而避免用于故障探测的报文与实际的业务报文的冲突。
图13为本申请实施例提供的又一种网络故障定位方法的流程示意图,如图11所示,在S401之前,该方法还包括:
S1301、生成第三报文。
其中,第三报文用于检测通信链路的连通性。
S1302、通过通信链路,向网络节点发送第三报文。
针对上述S1101与S1102,计算设备可以根据第一虚拟机与网络节点的信息生成第三报文,该第三报文用于检测第一虚拟机与网络节点之间整个通信链路的连通性。然后,通过通信链路向网络节点发送该第三报文,并检测是否可以收到网络节点对第三报文的响应报文。
在检测到网络节点对第三报文的响应报文的情况下,说明通信链路正常,则无需进行后续的故障定位的相关步骤。
在未检测到网络节点对第三报文的响应报文的情况下,则说明第一虚拟机与网络节点之间的通信链路异常,导致第三报文无法到达网络节点。因此,可以继续执行上述S401-S404的步骤,实现通信链路上故障位置的定位。即上述S401可以实现为:在未检测到网络节点对第三报文的响应报文的情况下,生成第一报文。
可选的,第三报文为因特网控制报文协议(internet control messageprotocol,ICMP)报文,ICMP协议可用于在IP主机、路由器、网桥之间传递控制消息,该控制消息是指网络是否连通,主机是否可达、路由是否可用等网络基本属性的指示消息。通过在源端发送ICMP报文,检测对端是否应答,可以有效确定源端与对端之间是否存在故障。
应理解的是,本申请实施例提供的网络故障定位方法,可以适用于多个网络协议的故障定位。其中,多个网络协议包括但不限于ICMP、传输控制协议(transmissioncontrol protocol,TCP)、用户数据报协议(user datagram protocol,UDP)。
例如,图14为本申请实施例提供的一种基于ICMP进行故障定位的方法流程图。如图14所示,开始,首先计算设备在源端到对端的通信链路中1、注入(或者说发送)地址解析协议(address resolution protocol,ARP)报文以获取对端的MAC地址,并判断2、接收ARP报文的响应是否成功,若接收不成功(接收的响应中不包含MAC地址),3、输出故障位置,故障位置为对端。若接收成功(接收的响应中包含MAC地址),则继续在通信链路中4、注入ICMP回显(echo)报文。5、并判断是否接收ICPM应答(reply)报文成功。若成功接收,说明整个6、通信链路正常,结束。若未能成功接收,说明通信链路异常,则7、遍历虚拟网桥进行探测,3、输出故障位置,结束。其中,遍历虚拟网桥的过程可以参见图9所示的流程,在此不再赘述。
例如,图15为本申请实施例提供的一种基于TCP进行故障定位的方法流程图。如图15所示,开始,首先计算设备在源端到对端的通信链路中1、注入(或者说发送)地址解析协议(address resolution protocol,ARP)报文以获取对端的MAC地址,并判断2、接收ARP报文的响应是否成功,若接收不成功(接收的响应中不包含MAC地址),3、输出故障位置,故障位置为对端。若接收成功(接收的响应中包含MAC地址),则继续在通信链路中4、注入TCP建立连接(synchronous,SYN)报文,检测5、是否接收TCP确认(acknowledgement,ACK)报文。若成功接收,说明对端已响应,则说明整个6、通信链路正常,结束。若未能成功接收,继续7、检测是否接收TCP重置(reset,RST)报文(在连接超时或者源端与对端间连接异常的情况下产生)。若成功接收,3、输出故障位置,故障位置为对端,否则,继续8、检测是否接收ICMP类型3(type=3)报文(该报文指示对端IP不存在)。若成功接收,3、输出故障位置,故障位置为对端。若未成功接收,则9、遍历虚拟网桥进行探测,3、输出故障位置,说明通信链路异常,结束。其中,遍历虚拟网桥的过程可以参见图9所示的流程,在此不再赘述。
例如,图16为本申请实施例提供的一种基于UDP进行故障定位的方法流程图。应理解,UDP协议是一种无连接协议,不保证数据的可靠性。若在发送UDP报文后没有接收到响应,可能是通信链路故障,也可能是由于网络拥堵或者防火墙设置等因素导致的,本申请实施例可以针对通信链路故障进行排查。如图16所示,开始,首先计算设备在源端到对端的通信链路中1、注入(或者说发送)地址解析协议(address resolution protocol,ARP)报文以获取对端的MAC地址,并判断2、接收ARP报文的响应是否成功,若接收不成功(接收的响应中不包含MAC地址),3、输出故障位置,故障位置为对端。若接收成功(接收的响应中包含MAC地址),则继续在通信链路中4、注入UDP报文,判断5、接收ICMP type=3报文(该报文指示对端IP不存在)是否成功。若成功接收,3、输出故障位置为对端。若未成功接收,则6、遍历虚拟网桥进行探测。若遍历结果指示故障存在,则3、输出故障位置,说明通信链路异常,结束。若遍历结果指示故障不存在,说明7、通信链路正常,结束。其中,遍历虚拟网桥的过程可以参见图9所示的流程,在此不再赘述。
应理解,在确定通信链路故障(异常)的情况下,再执行本申请的网络故障定位方法,可以有针对性地进行故障定位,提高网络运维的效率。
本申请实施例提供一种网络故障定位方法,在需要定位第一虚拟机与网络节点之间的通信链路中的故障时,该方法可以生成第一报文并在通信链路上发送第一报文,在报文传输过程中通过第一虚拟网桥的端口对第一报文进行拦截,以获取报文丢失信息。进而根据报文丢失信息确定故障位置。其中,报文丢失信息与虚拟网桥的端口拦截报文的情况相关,若报文丢失信息指示第一虚拟网桥的端口没有拦截报文,则说明第一报文不可达该端口,由此实现故障定位。该方法可以解决虚拟网络环境下无法通过减少报文的生存时间来实现故障定位的问题,实现虚拟网络环境下故障的有效定位。并且,该方法可以实现自动化故障定位,无需用户手动进行多次检测,减少人力资源的浪费。
进一步的,该故障定位方法通过在虚拟网桥的端口配置ACL规则,依次对每个虚拟网桥进行遍历,从而实现故障定位的准确定位。另外,通过创建虚拟网口,可以不进入虚拟机环境实现报文的发送,保证客户的私密性。同时,该方法可以适用于多个网络协议的网络探测,且不限于基于超融合环境,所有支持ACL规则的虚拟网络均可以采用本方法进行网络探测,泛用性强。
可以看出,上述主要从方法的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,本申请实施例提供了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在示例性的实施例中,本申请实施例还提供一种网络故障定位装置。该网络故障定位装置可以是前述计算设备,也可以是计算设备中的处理器。该网络故障定位装置可以包括一个或多个功能模块,用于实现以上方法实施例的网络故障定位方法。
例如,图17为本申请实施例提供的一种网络故障定位装置的组成示意图。如图17所示,该网络故障定位装置包括:生成模块1701、发送模块1702、拦截模块1703以及确定模块1704。
生成模块1701用于,生成第一报文;
发送模块1702用于,通过通信链路向网络节点发送第一报文;
拦截模块1703用于,在第一报文通过通信链路进行传递的过程中,对经第一虚拟网桥的端口传递的第一报文进行拦截,得到第一虚拟网桥的报文丢失信息;第一虚拟网桥为至少一个虚拟网桥中的一个;
确定模块1704用于,基于第一虚拟网桥的报文丢失信息,确定通信链路的故障位置。
一种可能的实现方式中,上述装置还包括;配置模块。配置模块用于,在虚拟网桥的端口配置拦截规则;拦截规则用于拦截第一报文。
另一种可能的实现方式中,第一虚拟网桥的端口为第一虚拟网桥的报文入口;确定模块1704具体用于,在报文丢失信息指示第一值的情况下,确定第一虚拟网桥的报文入口,与第二虚拟网桥的报文入口之间的部分为故障位置;第二虚拟网桥为第一报文的传输方向上,第一虚拟网桥的上一个虚拟网桥。
又一种可能的实现方式中,第一虚拟网桥的端口为第一虚拟网桥的报文入口或报文出口;确定模块1704具体用于,在报文丢失信息指示第一值的情况下,确定第一虚拟网桥的报文入口,与第二虚拟网桥的报文出口之间的部分为故障位置;第二虚拟网桥为第一报文的传输方向上,第一虚拟网桥的上一个虚拟网桥;或者,在报文丢失信息指示第一值的情况下,确定第一虚拟网桥的报文出口,与第一虚拟网桥的报文入口之间的部分为故障位置。
又一种可能的实现方式中,发送模块1702还用于,在报文丢失信息指示第二值的情况下,再次通过通信链路向网络节点发送第一报文;拦截模块1703还用于,在第一报文通过通信链路进行传递的过程中,对经目标端口传递的第一报文进行拦截,得到目标端口的报文丢失信息;目标端口为第一报文的传输方向上,第一虚拟网桥的端口的下一个端口;确定模块1704还用于,基于目标端扣的报文丢失信息,确定通信链路的故障位置。
又一种可能的实现方式中,第一虚拟机对应的虚拟网桥包括第一虚拟网口;第一虚拟网口用于传输第一虚拟机生成的业务报文;配置模块还用于,在第一虚拟机对应的虚拟网桥上创建第二虚拟网口;第二虚拟网口用于网络故障定位;发送模块1702具体用于,通过第二虚拟网口,向网络节点发送第一报文。
又一种可能的实现方式中,上述装置还包括:释放模块1705。释放模块1705用于,释放第二虚拟网口占用的资源。
又一种可能的实现方式中,生成模块1701具体用于,根据第一虚拟机的信息以及网络节点的信息,生成第二报文;对第二报文中的目标字段进行报文标识后,生成第一报文。
又一种可能的实现方式中,生成模块1701还用于,生成第三报文;第三报文用于检测通信链路的连通性;发送模块1702还用于,通过通信链路向网络节点发送第三报文;生成模块1701具体用于,在未检测到网络节点对第三报文的响应报文的情况下,生成第一报文。
在示例性的实施例中,本申请实施例还提供了一种计算设备。图18为本申请实施例提供的计算设备的组成示意图。如图18所示,该计算设备可以包括:处理器1801和存储器1802;存储器1802存储有处理器1802可执行的指令;处理器1801被配置为执行指令时,使得计算设备实现如前述方法实施例中描述的方法。
本申请实施例还提供了一种计算机可读存储介质。上述方法实施例中的全部或者部分流程可以由计算机指令来指示相关的硬件完成,该程序可存储于上述计算机可读存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。计算机可读存储介质可以是前述任一实施例的或内存。上述计算机可读存储介质也可以是上述恢复装置的外部存储设备,例如上述恢复装置上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,上述计算机可读存储介质还可以既包括上述恢复装置的内部存储单元也包括外部存储设备。上述计算机可读存储介质用于存储上述计算机程序以及上述恢复装置所需的其他程序和数据。上述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供一种计算机程序产品,该计算机产品包含计算机程序,当该计算机程序产品在计算机上运行时,使得该计算机执行上述实施例中所提供的任一项网络故障定位方法。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现公开实施例的其他变化。在权利要求中,“包括”(Comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种网络故障定位方法,其特征在于,应用于计算设备,所述计算设备中部署有第一虚拟机,所述第一虚拟机与至少一个网络节点通过通信链路连接,所述通信链路包括至少一个虚拟网桥,所述虚拟网桥包括用于传递报文的端口;所述方法包括:
生成第一报文;
通过所述通信链路向所述网络节点发送所述第一报文;
在所述第一报文通过所述通信链路进行传递的过程中,对经第一虚拟网桥的端口传递的所述第一报文进行拦截,得到所述报文丢失信息;所述第一虚拟网桥为所述至少一个虚拟网桥中的一个;
基于所述报文丢失信息,确定所述通信链路的故障位置。
2.根据权利要求1所述的方法,其特征在于,在通过所述通信链路向所述网络节点发送所述第一报文之前,所述方法还包括:
在所述虚拟网桥的端口配置拦截规则;所述拦截规则用于拦截所述第一报文。
3.根据权利要求1或2所述的方法,其特征在于,所述第一虚拟网桥的端口为所述第一虚拟网桥的报文入口;
所述基于所述报文丢失信息,确定所述通信链路的故障位置,包括:
在所述报文丢失信息指示第一值的情况下,确定所述第一虚拟网桥的报文入口,与第二虚拟网桥的报文入口之间的部分为所述故障位置;所述第二虚拟网桥为所述第一报文的传输方向上,所述第一虚拟网桥的上一个虚拟网桥。
4.根据权利要求1或2所述的方法,其特征在于,所述第一虚拟网桥的端口为所述第一虚拟网桥的报文入口或报文出口;
所述基于所述报文丢失信息,确定所述通信链路的故障位置,包括:
在所述报文丢失信息指示第一值的情况下,确定所述第一虚拟网桥的报文入口,与第二虚拟网桥的报文出口之间的部分为所述故障位置;所述第二虚拟网桥为所述第一报文的传输方向上,所述第一虚拟网桥的上一个虚拟网桥;
或者,
在所述报文丢失信息指示第一值的情况下,确定所述第一虚拟网桥的报文出口,与第一虚拟网桥的报文入口之间的部分为所述故障位置。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
在所述报文丢失信息指示第二值的情况下,再次通过所述通信链路向所述网络节点发送所述第一报文;
在所述第一报文通过所述通信链路进行传递的过程中,对经目标端口传递的所述第一报文进行拦截,得到所述目标端口的报文丢失信息;所述目标端口为所述第一报文的传输方向上,所述第一虚拟网桥的端口的下一个端口;
基于所述目标端口的报文丢失信息,确定所述通信链路的故障位置。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述第一虚拟机对应的虚拟网桥包括第一虚拟网口;所述第一虚拟网口用于传输所述第一虚拟机生成的业务报文;所述方法还包括:
在所述第一虚拟机对应的虚拟网桥上创建第二虚拟网口;所述第二虚拟网口用于网络故障定位;
所述通过所述通信链路向所述网络节点发送所述第一报文,包括:
通过所述第二虚拟网口,向所述网络节点发送所述第一报文。
7.根据权利要求6所述的方法,其特征在于,在确定所述故障位置后,所述方法还包括:
释放所述第二虚拟网口占用的资源。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述生成第一报文,包括:
根据所述第一虚拟机的信息以及所述网络节点的信息,生成第二报文;
对所述第二报文中的目标字段进行报文标识后,生成所述第一报文。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述方法还包括:
生成第三报文;所述第三报文用于检测所述通信链路的连通性;
通过所述通信链路向所述网络节点发送所述第三报文;
所述生成第一报文,包括:
在未检测到所述网络节点对所述第三报文的响应报文的情况下,生成所述第一报文。
10.一种计算设备,其特征在于,所述计算设备包括处理器和存储器;所述处理器与所述存储器耦合;所述存储器用于存储计算机指令,所述计算机指令由所述处理器加载并执行以使计算设备实现如权利要求1-9任一所述的基于虚拟网络的网络故障定位方法。
CN202311422601.7A 2023-10-30 2023-10-30 网络故障定位方法及计算设备 Pending CN117527543A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311422601.7A CN117527543A (zh) 2023-10-30 2023-10-30 网络故障定位方法及计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311422601.7A CN117527543A (zh) 2023-10-30 2023-10-30 网络故障定位方法及计算设备

Publications (1)

Publication Number Publication Date
CN117527543A true CN117527543A (zh) 2024-02-06

Family

ID=89761656

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311422601.7A Pending CN117527543A (zh) 2023-10-30 2023-10-30 网络故障定位方法及计算设备

Country Status (1)

Country Link
CN (1) CN117527543A (zh)

Similar Documents

Publication Publication Date Title
CN106452925B (zh) 在nfv系统中检测故障的方法、装置和系统
US9900293B2 (en) System and method for supporting automatic disabling of degraded links in an infiniband (IB) network
CN103401726B (zh) 网络路径探测方法及装置、系统
Azzouni et al. Fingerprinting OpenFlow controllers: The first step to attack an SDN control plane
US8868708B2 (en) Methods and devices for communicating diagnosis data in a real time communication network
US20120311124A1 (en) System and method for supporting subnet manager (sm) level robust handling of unkown management key in an infiniband (ib) network
EP2372954B1 (en) Method and system for collecting information relating to a communication network
JP6677251B2 (ja) ネットワーク検証装置、ネットワーク検証方法およびプログラム
US20130124910A1 (en) System and method for signaling dynamic reconfiguration events in a middleware machine environment
CN111614505B (zh) 报文处理的方法和网关设备
JP2010531602A5 (zh)
US20070255733A1 (en) Method and system for performing simplified troubleshooting procedures to isolate connectivity problems
CN110995763B (zh) 一种数据处理方法、装置、电子设备和计算机存储介质
CN117527543A (zh) 网络故障定位方法及计算设备
CN107612848B (zh) 一种调试方法及装置、以及计算机可读存储介质
EP3827565A1 (en) Computing device and method for optimizing the tunneling of ip packets
CN114205218B (zh) 一种容器网络故障的诊断方法和系统
US9083586B2 (en) Verifying availability and reachability through a network device
Zhang et al. Toward comprehensive network verification: Practices, challenges and beyond
Bradford et al. Packet reading for network emulation
Nikitinskiy et al. Analyzing the possibility of applying asymmetric transport protocols in terms of software defined networks
Lu et al. ShadeNF: Testing Online Network Functions
Hayashida et al. Debugging SDN in HPC Environments
WO2004062216A1 (ja) ファイアウォールのポリシをチェックする装置
WO2023158818A1 (en) Network controller, failure injection communication protocol, and failure injection module for production network environment

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