CN113364681A - 网络路径确定方法、装置、电子设备、介质和程序产品 - Google Patents
网络路径确定方法、装置、电子设备、介质和程序产品 Download PDFInfo
- Publication number
- CN113364681A CN113364681A CN202110616812.9A CN202110616812A CN113364681A CN 113364681 A CN113364681 A CN 113364681A CN 202110616812 A CN202110616812 A CN 202110616812A CN 113364681 A CN113364681 A CN 113364681A
- Authority
- CN
- China
- Prior art keywords
- network
- network node
- node
- path
- forwarding
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供了一种网络路径确定方法,包括:接收路径查询请求,该路径查询请求包括网络流的起始网络节点和终止网络节点,起始网络节点和终止网络节点属于部署在分布式系统中的多个网络节点。响应于路径查询请求,获取分布式系统的网络拓扑信息和探针部署信息,该网络拓扑信息用于表征多个网络节点的链路关系,探针部署信息用于标识部署有探针的网络节点。在部署有探针的网络节点发现网络流的情况下,将网络节点确定为转发网络节点。基于起始网络节点、转发网络节点和终止网络节点的最短路径,确定网络流的网络路径。本公开还提供了一种网络路径确定装置、电子设备、介质和程序产品。本公开提供的方法和装置例如可以应用于金融领域或其他领域。
Description
技术领域
本公开涉及分布式技术领域,特别是涉及一种网络路径确定方法、装置、电子设备、介质和程序产品。
背景技术
本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
随着数字化转型的快速发展,信息科技日新月异,云计算、分布式、大数据等技术纷纷在数据中心得以推广和落地,随着基础环境向大规模、混合规模方向的演进,使得上层业务在灵活性和可扩展性上得以更好的支持,但是却给运维工作也带来了更大的挑战。就网络安全而言,一方面网络设备的数量呈现指数级增长,导致运维时需要关注的范围在增长,而另一方面通信故障却更细粒化,即维护范围在变大,而故障点在变小。
在通信故障越来越多地体现在会话层面的情况下,如何快速获取一批会话在网络中的转发路径,并分析网络路径所流经的共同网络节点,对于故障排查显得非常重要。相关技术也提供了一些针对性的运维方案,例如通过跟踪路由(trace router,tracert)指令进行路径探测,但是需要消耗网络设备的性能,加重网络设备负担。
发明内容
有鉴于此,为了至少部分地克服相关技术在运维过程中所存在的上述技术问题,本公开提供了一种网络路径确定方法、装置、电子设备、介质和程序产品。
为了实现上述目标,本公开的一个方面提供了一种网络路径确定方法,该方法可以包括:接收路径查询请求,其中,上述路径查询请求包括网络流的起始网络节点和终止网络节点,上述起始网络节点和上述终止网络节点属于部署在分布式系统中的多个网络节点;响应于上述路径查询请求,获取上述分布式系统的网络拓扑信息和探针部署信息,其中,上述网络拓扑信息用于表征上述多个网络节点的链路关系,上述探针部署信息用于标识部署有探针的网络节点;在部署有探针的网络节点发现上述网络流的情况下,将上述网络节点确定为转发网络节点;以及基于上述起始网络节点、上述转发网络节点和上述终止网络节点的最短路径,确定上述网络流的网络路径。
根据本公开的实施例,上述在部署有探针的网络节点发现上述网络流的情况下,将上述网络节点确定为转发网络节点可以包括:基于上述起始网络节点的网络地址信息和上述终止网络节点的网络地址信息,确定上述起始网络节点和上述终止网络节点是否属于同一局域网络;以及在上述起始网络节点和上述终止网络节点属于同一局域网络的情况下,在部署有探针的网络节点发现上述网络流的情况下,将上述网络节点确定为转发网络节点。
根据本公开的实施例,上述网络路径确定方法还可以包括:在上述起始网络节点和上述终止网络节点不属于同一局域网的情况下,基于上述起始网络节点到上述终止网络节点的最短路径,确定上述网络流的网络路径。
根据本公开的实施例,上述基于上述起始网络节点、上述转发网络节点和上述终止网络节点的最短路径,确定上述网络流的网络路径可以包括:在上述转发网络节点的数量等于1的情况下,基于最短路径算法确定上述起始网络节点到上述转发网络节点之间的第一最短路径;基于最短路径算法确定上述转发网络节点到上述终止网络节点之间的第二最短路径;以及将上述第一最短路径和上述第二最短路径拼接后的最短路径,确定为上述网络流的网络路径。
根据本公开的实施例,上述基于上述起始网络节点、上述转发网络节点和上述终止网络节点的最短路径,确定上述网络流的网络路径可以包括:在上述转发网络节点的数量大于1的情况下,获得每个转发网络节点发现上述网络流的上报时间戳;按照上述上报时间戳的先后顺序,确定最先上报的转发网络节点和最后上报的转发网络节点;基于最短路径算法确定上述起始网络节点到上述最先上报的转发网络节点之间的第三最短路径;基于最短路径算法依次确定上述最先上报的转发网络节点到上述最后上报的转发网络节点中相邻转发网络节点之间的第四最短路径;基于最短路径算法确定上述最后上报的转发网络节点到上述终止网络节点之间的第五最短路径;以及将上述第三最短路径、上述第四最短路径和上述第五最短路径拼接后的最短路径,确定为上述网络流的网络路径。
根据本公开的实施例,上述网络路径确定方法还可以包括:获取每个网络节点的网络邻居信息数据,其中,上述网络邻居信息数据用于表征网络节点和与其相邻的网络节点之间的网络连接关系;去除上述每个网络节点的网络邻居信息数据中的重复数据来获得上述多个网络节点的网络邻居信息数据;基于上述多个网络节点和上述多个网络节点的网络邻居信息数据,构建上述分布式系统的网络拓扑图模型;以及在上述网络拓扑图模型中添加上述每个网络节点接入的网络设备信息,来生成上述分布式系统的网络拓扑信息。
根据本公开的实施例,上述网络路径确定方法还可以包括:利用上述网络拓扑信息,确定上述多个网络节点的网络节点属性,其中,上述网络节点属性包括接入节点、汇聚节点和核心节点;在上述汇聚节点接入的网络设备上部署镜像网络流来标识上述网络节点上部署有第一探针;以及在上述核心节点接入的网络设备上部署镜像网络流来标识上述网络节点上部署有第二探针。
根据本公开的实施例,上述网络路径确定方法还可以包括:在上述汇聚节点接入的网络设备上部署第一探针标识信息,其中,上述第一探针标识信息用于表征上述第一探针和上述汇聚节点的对应关系;以及在上述核心节点接入的网络设备上部署第二探针标识信息,其中,上述第二探针标识信息用于表征上述第二探针和上述核心节点的对应关系。
为了实现上述目标,本公开的另一个方面提供了一种网络路径确定装置,该装置可以包括:接收模块,用于接收路径查询请求,其中,上述路径查询请求包括网络流的起始网络节点和终止网络节点,上述起始网络节点和上述终止网络节点属于部署在分布式系统中的多个网络节点;第一获取模块,用于响应于上述路径查询请求,获取上述分布式系统的网络拓扑信息和探针部署信息,其中,上述网络拓扑信息用于表征上述多个网络节点的链路关系,上述探针部署信息用于标识部署有探针的网络节点;第一确定模块,用于在部署有探针的网络节点发现上述网络流的情况下,将上述网络节点确定为转发网络节点;以及第二确定模块,用于基于上述起始网络节点、上述转发网络节点和上述终止网络节点的最短路径,确定上述网络流的网络路径。
根据本公开的实施例,上述第一确定模块可以包括:第一确定子模块,用于基于上述起始网络节点的网络地址信息和上述终止网络节点的网络地址信息,确定上述起始网络节点和上述终止网络节点是否属于同一局域网络;以及第二确定子模块,用于在上述起始网络节点和上述终止网络节点属于同一局域网络的情况下,在部署有探针的网络节点发现上述网络流的情况下,将上述网络节点确定为转发网络节点。
根据本公开的实施例,上述网络路径确定装置还可以包括:第三确定子模块,用于在上述起始网络节点和上述终止网络节点不属于同一局域网的情况下,基于上述起始网络节点到上述终止网络节点的最短路径,确定上述网络流的网络路径。
根据本公开的实施例,上述第二确定模块可以包括:第一处理子模块,用于在上述转发网络节点的数量等于1的情况下,基于最短路径算法确定上述起始网络节点到上述转发网络节点之间的第一最短路径;第二处理子模块,用于基于最短路径算法确定上述转发网络节点到上述终止网络节点之间的第二最短路径;以及第三处理子模块,用于将上述第一最短路径和上述第二最短路径拼接后的最短路径,确定为上述网络流的网络路径。
根据本公开的实施例,上述第二确定模块可以包括:获得子模块,用于在上述转发网络节点的数量大于1的情况下,获得每个转发网络节点发现上述网络流的上报时间戳;第四确定子模块,用于按照上述上报时间戳的先后顺序,确定最先上报的转发网络节点和最后上报的转发网络节点;第四处理子模块,用于基于最短路径算法确定上述起始网络节点到上述最先上报的转发网络节点之间的第三最短路径;第五处理子模块,用于基于最短路径算法依次确定上述最先上报的转发网络节点到上述最后上报的转发网络节点中相邻转发网络节点之间的第四最短路径;第六处理子模块,用于基于最短路径算法确定上述最后上报的转发网络节点到上述终止网络节点之间的第五最短路径;以及第五确定子模块,用于将上述第三最短路径、上述第四最短路径和上述第五最短路径拼接后的最短路径,确定为上述网络流的网络路径。
根据本公开的实施例,上述网络路径确定装置还可以包括:第二获取模块,用于获取每个网络节点的网络邻居信息数据,其中,上述网络邻居信息数据用于表征网络节点和与其相邻的网络节点之间的网络连接关系;获得模块,用于去除上述每个网络节点的网络邻居信息数据中的重复数据来获得上述多个网络节点的网络邻居信息数据;构建模块,用于基于上述多个网络节点和上述多个网络节点的网络邻居信息数据,构建上述分布式系统的网络拓扑图模型;以及生成模块,用于在上述网络拓扑图模型中添加上述每个网络节点接入的网络设备信息,来生成上述分布式系统的网络拓扑信息。
根据本公开的实施例,上述网络路径确定装置还可以包括:第三确定模块,用于利用上述网络拓扑信息,确定上述多个网络节点的网络节点属性,其中,上述网络节点属性包括接入节点、汇聚节点和核心节点;第一部署模块,用于在上述汇聚节点接入的网络设备上部署镜像网络流来标识上述网络节点上部署有第一探针;以及第二部署模块,用于在上述核心节点接入的网络设备上部署镜像网络流来标识上述网络节点上部署有第二探针。
根据本公开的实施例,上述网络路径确定装置还可以包括:第三部署模块,用于在上述汇聚节点接入的网络设备上部署第一探针标识信息,其中,上述第一探针标识信息用于表征上述第一探针和上述汇聚节点的对应关系;以及第四部署模块,用于在上述核心节点接入的网络设备上部署第二探针标识信息,其中,上述第二探针标识信息用于表征上述第二探针和上述核心节点的对应关系。
为了实现上述目标,本公开的另一方面提供了一种电子设备,包括:一个或多个处理器,存储器,用于存储一个或多个程序,其中,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如上所述的网络路径确定方法。
为了实现上述目标,本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,上述指令在被执行时用于实现如上所述的网络路径确定方法。
为了实现上述目标,本公开的另一方面提供了一种计算机程序,上述计算机程序包括计算机可执行指令,上述指令在被执行时用于实现如上所述的网络路径确定方法。
本公开实施例所提供的网络路径的确定方法,响应于接收到的路径查询请求,获取分布式系统的网络拓扑信息和探针部署信息,在部署有探针的网络节点发现网络流的情况下,将网络节点确定为转发网络节点,并基于起始网络节点、转发网络节点和终止网络节点的最短路径,确定出网络流的网络路径,通过利用部署在网络节点上的探针采集得到的实时信息来计算路由转发路径,有助于在分析从起始网络节点到终止网络节点的一批会话的网络路由转发路径时,得到这批路径所流转的共同网络节点,给通信故障的排查工作提供路径查询结果,可以至少部分地避免相关技术中通过tracert指令进行路径探测时需要消耗网络设备性能的技术问题,并因此可以实现不需要消耗网络设备的性能就可以快速实现路径探测的技术效果。
附图说明
通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:
图1示意性示出了适用于本公开实施例的网络路径确定方法、装置、电子设备、介质和程序产品的系统架构;
图2示意性示出了适用于本公开实施例的网络路径确定方法、装置、电子设备、介质和程序产品的分布式系统部署的网络节点;
图3示意性示出了根据本公开实施例的网络路径确定方法的流程图;
图4示意性示出了根据本公开实施例的网络路径确定方法确定出的网络路径;
图5示意性示出了根据本公开另一实施例的网络路径确定方法确定出的网络路径;
图6示意性示出了本公开实施例的拓扑模型的数据结构;
图7示意性示出了根据本公开实施例的网络路径确定装置的框图;
图8示意性示出了根据本公开实施例的适于实现上文描述的网络路径确定方法的计算机可读存储介质产品的示意图;以及
图9示意性示出了根据本公开实施例的适于实现上文描述的网络路径确定方法的电子设备的框图。
在附图中,相同或对应的标号表示相同或对应的部分。
应该注意的是,附图并未按比例绘制,并且出于说明目的,在整个附图中类似结构或功能的元素通常用类似的附图标记来表示。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了上述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程网络路径确定装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。
通信故障越来越多地体现在会话层面,如何快速获取一批会话的网络转发路径,并分析这一批会话所经的共同网络节点,对于故障排查十分重要,在相关技术中,运维方案一般通过tracert指令进行路径探测,由于tracert指令用IP生存时间(Time to Live,TTL)字段和Internet控制消息协议(Internet Control Message Protocol,ICMP)错误消息来确定从一个主机到网络上其他主机的路由,因此存在消耗网络设备性能的技术问题。
因此,为了避免对网络设备的性能消耗,本公开提供了一种网络路径确定方法,首先,接收路径查询请求,该路径查询请求包括网络流的起始网络节点和终止网络节点,起始网络节点和终止网络节点属于部署在分布式系统中的多个网络节点。然后,响应于路径查询请求,获取分布式系统的网络拓扑信息和探针部署信息,该网络拓扑信息用于表征多个网络节点的链路关系,探针部署信息用于标识部署有探针的网络节点。接着,在部署有探针的网络节点发现网络流的情况下,将网络节点确定为转发网络节点。最后,基于起始网络节点、转发网络节点和终止网络节点的最短路径,确定网络流的网络路径。
由于本公开提供的是一种利用分布式系统中部署的探针采集到的实时信息,计算网络流的路由转发路径的方法,可以至少部分地避免相关技术中通过tracert指令进行路径探测时需要消耗网络设备性能的技术问题,并因此可以实现不需要消耗网络设备的性能就可以快速实现路径探测的技术效果。
需要说明的是,本公开提供的网络路径确定方法、适用于该网络路径确定方法的装置、电子设备、介质和程序产品可用于金融领域中,也可用于除金融领域之外的任意领域中。因此,对本公开所提供的网络路径确定方法、适用于该网络路径确定方法的装置、电子设备、介质和程序产品的应用领域不做限定。
图1示意性示出了适用于本公开实施例的网络路径确定方法、装置、电子设备、介质和程序产品的系统架构100。需要注意的是,图1所示仅为可应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。服务器105可以是在分布式系统中部署的服务器,并作为网络流进入分布式系统的接入节点。
需要说明的是,本公开实施例所提供的网络路径确定方法一般可以由服务器105执行。相应地,本公开实施例所提供的网络路径确定装置一般可以设置于服务器105中。本公开实施例所提供的网络路径确定方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的网络路径确定装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图2示意性示出了适用于本公开实施例的网络路径确定方法、装置、电子设备、介质和程序产品的分布式系统部署的网络节点。
如图2所示,分布式系统200由多个网络节点构成,不同的网络节点上由于部署不同的网络设备而具有不同的节点属性。具体地,接入节点211、接入节点212、接入节点213、以及接入节点214作为网络流的入口,其上部署的网络设备为服务器。汇聚节点221、以及汇聚节点222作为网络流的汇聚节点,其上部署的网络设备为交换机。核心节点231、以及核心节点232作为网络流的核心节点,其上部署的网络设备为交换机。接入节点的网络流在汇聚节点处汇聚,并路由到核心节点。为了实现对网络流的实时发现,可以在网络节点上部署探针,考虑到适用性和成本因素,本公开在汇聚节点和核心节点上分别部署探针,如图2所示,在汇聚节点221上部署有探针1,在汇聚节点222上部署有探针2,在核心节点231上部署有探针3,在核心节点232上部署有探针4。当网络流路由到汇聚节点222时,部署在该节点上的探针2就可以发现网络流,并上报发现该网络流的时间戳。
根据本公开的实施例,因分布式系统的网络架构存在备份链路,为直观展示网络路径在各网络节点之间的转发路由情况,图中汇聚节点221和汇聚节点222是互为主备关系的汇聚节点,核心节点231和核心节点232是互为主备关系的核心节点。来自接入节点的网络流可以路由转发到主汇聚节点,电可以路由转发到备汇聚节点。例如来自接入节点211和接入节点214的网络流可以路由到汇聚节点221,来自接入节点212和接入节点213的网络流可以路由到汇聚节点222。具体路由转发的策略可以自行设定,例如可以根据带宽收敛比,本公开对此不做设定。
需要说明的是,图2中的接入节点、汇聚节点和核心节点的部署关系仅仅是示意性的,真实的分布式系统中网络节点的部署关系远比图示中复杂的多。根据实现需要,接入节点、汇聚节点和核心节点之间的部署关系可以做适应性调整,本公开对此不做限定。
图3示意性示出了根据本公开实施例的网络路径确定方法的流程图。如图3所示,该网络路径确定方法300可以包括操作S310~操作S340。
在操作S310,接收路径查询请求,其中,路径查询请求包括网络流的起始网络节点和终止网络节点,起始网络节点和终止网络节点属于部署在分布式系统中的多个网络节点。
根据本公开的实施例,终端设备向服务器发起的业务处理请求产生网络流,在分布式系统中转发路由来获得该业务处理请求的相应结果。分布式系统中的多个网络节点中的一个网络节点作为网络流的输入,称为起始网络节点,其上部署的服务器称为源服务器,分布式系统中的多个网络节点中的一个网络节点作为网络流的输出,称为终止网络节点,其上部署的服务器称为目的服务器。
在操作S320,响应于路径查询请求,获取分布式系统的网络拓扑信息和探针部署信息,其中,网络拓扑信息用于表征多个网络节点的链路关系,探针部署信息用于标识部署有探针的网络节点。
根据本公开的实施例,利用获取到的网络拓扑信息可以确定分布式系统中各网络节点对应的网络设备名和网络设备IP,以及多个网络节点之间的端口连接关系。利用获取到的探针部署信息可以确定哪些网络节点上部署有探针。
在操作S330,在部署有探针的网络节点发现网络流的情况下,将网络节点确定为转发网络节点。
根据本公开的实施例,探针为部署在交换机上的镜像业务流,即交换机复制的一份业务流数据。用于根据镜像业务流来确定业务流是否被发现。
在操作S340,基于起始网络节点、转发网络节点和终止网络节点的最短路径,确定网络流的网络路径。
根据本公开的实施例,由于符合路径查询请求的网络路径不只有一条,而是有多条,因此本公开与相关技术通过tracert指令进行路径探测不同,通过确定从起始网络节点到终止网络节点的最短路径来实现网络路径的探测,确定出多条网络路径所经的共同的网络节点。
通过本公开的实施例,响应于接收到的路径查询请求,获取分布式系统的网络拓扑信息和探针部署信息,在部署有探针的网络节点发现网络流的情况下,将网络节点确定为转发网络节点,并基于起始网络节点、转发网络节点和终止网络节点的最短路径,确定出网络流的网络路径,通过利用部署在网络节点上的探针采集得到的实时信息来计算路由转发路径,有助于在分析从起始网络节点到终止网络节点的一批会话的网络路由转发路径时,得到这批路径所流转的共同网络节点,给通信故障的排查工作提供路径查询结果,可以至少部分地避免相关技术中通过tracert指令进行路径探测时需要消耗网络设备性能的技术问题,并因此可以实现不需要消耗网络设备的性能就可以快速实现路径探测的技术效果。
根据本公开的实施例,根据网络流是否属于同一个局域网区域的检测结果、以及发现网络流的探针的数量,在确定网络路径时具体算法略有不同。
作为一种可选的实施例,在部署有探针的网络节点发现网络流的情况下,将网络节点确定为转发网络节点包括:基于起始网络节点的网络地址信息和终止网络节点的网络地址信息,确定起始网络节点和终止网络节点是否属于同一局域网络;以及在起始网络节点和终止网络节点属于同一局域网络的情况下,在部署有探针的网络节点发现网络流的情况下,将网络节点确定为转发网络节点。
作为一种可选的实施例,该网络路径确定方法还可以包括:在起始网络节点和终止网络节点不属于同一局域网的情况下,基于起始网络节点到终止网络节点的最短路径,确定网络流的网络路径。
根据本公开的实施例,跨区域的网络流通过最短路径算法计算路由转发。最短路径算法可以为Dijkstra算法、Bellman-Ford算法、Floyd算法和SPFA算法,本公开不做详细描述。
作为一种可选的实施例,基于起始网络节点、转发网络节点和终止网络节点的最短路径,确定网络流的网络路径可以包括:在转发网络节点的数量等于1的情况下,基于最短路径算法确定起始网络节点到转发网络节点之间的第一最短路径;基于最短路径算法确定转发网络节点到终止网络节点之间的第二最短路径;以及将第一最短路径和第二最短路径拼接后的最短路径,确定为网络流的网络路径。
根据本公开的实施例,同一局域网区域内的网络流通过探针信息结合最短路径算法计算网络流的网络路径,若该条网络流被1个探针发现,则路径计算可以先计算源服务器到该探针对应的网络设备的最短路径,再拼接该探针对应的网络设备到目的服务器的最短路径。
图4示意性示出了根据本公开实施例的网络路径确定方法确定出的网络路径。如图4所示,网络路径确定方法400可以包括在起始网络节点411和终止网络节点413之间,确定出有1个转发网络节点412,即网络流从起始网络节点411流经转发网络节点412,最终流至终止网络节点413,那么可以根据最短路径算法分别确定出从起始网络节点411到转发网络节点412之间的最短路径L411-412,以及从转发网络节点412到终止网络节点413之间的最短路径L412-413,将L411-412与L412-413拼接得到的最短路径作为网络流的网络路径。
作为一种可选的实施例,基于起始网络节点、转发网络节点和终止网络节点的最短路径,确定网络流的网络路径可以包括:在转发网络节点的数量大于1的情况下,获得每个转发网络节点发现网络流的上报时间戳;按照上报时间戳的先后顺序,确定最先上报的转发网络节点和最后上报的转发网络节点;基于最短路径算法确定起始网络节点到最先上报的转发网络节点之间的第三最短路径;基于最短路径算法依次确定最先上报的转发网络节点到最后上报的转发网络节点中相邻转发网络节点之间的第四最短路径;基于最短路径算法确定最后上报的转发网络节点到终止网络节点之间的第五最短路径;以及将第三最短路径、第四最短路径和第五最短路径拼接后的最短路径,确定为网络流的网络路径。
根据本公开的实施例,若同一局域网区域内的网络流若被多个探针发现,则可以根据探针上报的先后时间依次来拼接路径。
图5示意性示出了根据本公开另一实施例的网络路径确定方法确定出的网络路径。如图5所示,网络路径确定方法500可以包括在起始网络节点411和终止网络节点413之间,确定出3个转发网络节点,分别是转发网络节点412、转发网络节点511、以及转发网络节点512,由于网络流在这3个转发网络节点之间的流经先后顺序决定最终网络路径,因此本公开可以根据每个网络节点接入的网络设备上部署的探针在发现网络流的情况下,上报的时间戳确定网络流在这3个转发网络节点之间的流经先后顺序。如图5所示,在3个转发网络节点中,最先发现并上报的是转发网络节点511,中间发现并上报的是转发网络节点412,而最后发现并上报的是转发网络节点512。那么可以根据最短路径算法分别确定出从起始网络节点411到最先发现并上报的是转发网络节点511之间的最短路径L411-511,从最先发现并上报的是转发网络节点511到中间发现并上报的是转发网络节点412之间的最短路径L511-412,从中间发现并上报的是转发网络节点412到最后发现并上报的是转发网络节点512之间的最短路径L412-512,从最后发现并上报的是转发网络节点512到终止网络节点413之间的最短路径L512-413,将L411-511、L511-412、L412-512与L512-413拼接得到的最短路径作为网络流的网络路径。
通过本公开的实施例,随着网络规模变大,路径查询仍可以保持秒级响应,计算速度相对较快。
需要说明的是,因分布式系统的网络架构存在备份链路,所以查询符合条件的转发路径会有多条,为直观展示网络路径情况,可以对路径上的主备节点进行合并,从而进行简化呈现。
作为一种可选的实施例,该方法还可以包括:获取每个网络节点的网络邻居信息数据,其中,网络邻居信息数据用于表征网络节点和与其相邻的网络节点之间的网络连接关系;去除每个网络节点的网络邻居信息数据中的重复数据来获得多个网络节点的网络邻居信息数据;基于多个网络节点和多个网络节点的网络邻居信息数据,构建分布式系统的网络拓扑图模型;以及在网络拓扑图模型中添加每个网络节点接入的网络设备信息,来生成分布式系统的网络拓扑信息。
根据本公开的实施例,拓扑构建是将网络配置数据,转存至图数据库中,构建整体拓扑的图模型。随着网络技术的发展,接入网络的设备的种类越来越多,配置越来越复杂,来自不同设备厂商的设备也往往会增加自己特有的功能,这就导致在一个网络中往往会有很多具体不同特性的、来自不同厂商的设备,为了方便对这样的网络进行管理,就需要使得不同厂商的设备能够在网络中相互发现并交互各自的系统及配置信息。网络配置数据可以包括但不限于利用链路层发现协议(Link Layer Discovery Protocol,LLDP)功能获取的数据,LLDP是一种能够使得网络中的设备互相发现并通告状态、交互信息的、标准的网络邻居发现协议。网络设备可以通过在本地网络中发送LLDPDU来通告其他设备自身的状态。LLDP定已在802.1ab中,是一个二层协议,提供了一种标准的链路层发现方式,使得接入网络的一台设备可以将其主要的能力,管理地址,设备标识,接口标识等信息发送给接入同一个局域网络的其他设备。当一个设备从网络中接收到其他设备的这些信息时,它就将这些信息以管理信息库(Management Information Base,MIB)的形式存储起来。这些MIB信息可用于发现设备的物理拓扑结构以及管理配置信息,需要注意的是LLDP仅仅被设计用于进行信息通告,被用于通告一个设备的信息并可以获得其他设备的信息,进而得到相关的MIB信息,不是一个配置、控制协议,无法通过该协议对远端设备进行配置,只是提供了关于网络拓扑以及管理配置的信息,这些信息可以被用于管理、配置的目的。
根据本公开的实施例,开启LLDP功能的网络设备能在本地生成、并维护一张邻居信息表,主要记录着本端网络设备和对端网络设备的连接端口情况,拓扑构建则首先需通过简单网络管理协议(Simple Network Management Protocol,SNMP)将全网设备的LLDP信息采集下来,其次,对邻居信息进行去重,最后,将去重的邻居信息数据按照图数据库的数据结构进行转换得到拓扑模型。
以本端网络设备A(设备名为BJACHWXX01-IO,设备IP为1.1.1.1),其所连接的对端网络设备B(设备名为BJACHWXX02-IO,设备IP为1.1.1.2)为例。在具体实施时,在网络设备A的本地会保存一份记录有网络设备A的网络邻居的邻居信息表,在网络设备B的本地也会保存一份记录有网络设备B的网络邻居的邻居信息表,需要对网络设备A本地保存的邻居信息表和网络设备B本地保存的邻居信息表进行去重处理,将去重后的邻居信息数据(如表1所示)按照图数据库的数据结构(如图6所示)进行转换就可以生成网络设备A与网络设备B的拓扑模型,依次类推,可以生成整个分布式系统中各个网络节点构成的拓扑模型,此处不再赘述。
表1
图6示意性示出了本公开实施例的拓扑模型的数据结构。
如图6所示,拓扑模型的数据结构600可以用节点、节点属性以及两个节点之间的边表征分布式系统中各网络设备的链路关系。设备名和设备IP作为节点的属性,以键值对的形式存储,而设备端口信息可以依顺序收集在数组中,作为边的属性。具体地,“设备名:BJACHWXX01-IO”和“设备IP:1.1.1.1”作为节点610的属性,“设备名:BJACHWXX02-IO”和“设备IP:1.1.1.2”作为节点620的属性,“端口:[G/0/0/1,G/0/0/2]”作为边的属性。
根据本公开的实施例,通过以上步骤,可以生成网络节点的拓扑模型,但是如要支持转发路径的计算,还需要采集网络设备的地址解析协议(Address ResolutionProtocol,ARP)/(Media Access Control Address,MAC)信息,在拓扑模型上增加服务器的接入情况。ARP协议可以将服务器的IP地址映射为MAC(媒体存取控制位址,也称为局域网地址)地址,而MAC信息记录有MAC地址和交换机端口之间的对应信息,所以综合ARP/MAC就可以发现网内各个服务器的接入位置。在本公开中,需要说明的是,在从网络设备采集回ARP/MAC数据后,首先需要进行过滤,将来自核心节点部署的网络设备和来自汇聚节点部署的网络设备的数据滤掉,然后按照图数据库的数据结构进行转换。
作为一种可选的实施例,该方法还可以包括:利用网络拓扑信息,确定多个网络节点的网络节点属性,其中,网络节点属性包括接入节点、汇聚节点和核心节点;在汇聚节点接入的网络设备上部署镜像网络流来标识网络节点上部署有第一探针;以及在核心节点接入的网络设备上部署镜像网络流来标识网络节点上部署有第二探针。
根据本公开的实施例,探针主要是部署在交换机上镜像业务流,综合考虑适用性和成本问题,建议部署在网络的核心位置和汇聚位置,并且多个探针开启时钟同步。
作为一种可选的实施例,该方法还可以包括:在汇聚节点接入的网络设备上部署第一探针标识信息,其中,第一探针标识信息用于表征第一探针和汇聚节点的对应关系;以及在核心节点接入的网络设备上部署第二探针标识信息,其中,第二探针标识信息用于表征第二探针和核心节点的对应关系。
根据本公开的实施例,为了明确每个探针的旁挂网络设备的信息,每个探针还需要有标记字段,该标记字段用于记录探针与网络设备之间的对应关系。例如探针1部署在汇聚节点,探针3部署在核心节点。
在云网络中,大二层技术使得相关技术中所普遍采用的通过tracert指令探测路径的解决方法失效,而可以通过本公开实施例提供的基于探针技术的网络路径计算方法得以实现。
图7示意性示出了根据本公开实施例的网络路径确定装置的框图。
如图7所示,该网络路径确定装置700可以包括接收模块710、第一获取模块720、第一确定模块730、以及第二确定模块740。
接收模块710,用于接收路径查询请求,其中,路径查询请求包括网络流的起始网络节点和终止网络节点,起始网络节点和终止网络节点属于部署在分布式系统中的多个网络节点。可选地,接收模块710例如可以用于执行图3描述的操作S310,在此不再赘述。
第一获取模块720,用于响应于路径查询请求,获取分布式系统的网络拓扑信息和探针部署信息,其中,网络拓扑信息用于表征多个网络节点的链路关系,探针部署信息用于标识部署有探针的网络节点。可选地,第一获取模块720例如可以用于执行图3描述的操作S320,在此不再赘述。
第一确定模块730,用于在部署有探针的网络节点发现网络流的情况下,将网络节点确定为转发网络节点。可选地,第一确定模块730例如可以用于执行图3描述的操作S330,在此不再赘述。
第二确定模块740,用于基于起始网络节点、转发网络节点和终止网络节点的最短路径,确定网络流的网络路径。可选地,第二确定模块740例如可以用于执行图3描述的操作S340,在此不再赘述。
作为一种可选的实施例,第一确定模块可以包括:第一确定子模块,用于基于起始网络节点的网络地址信息和终止网络节点的网络地址信息,确定起始网络节点和终止网络节点是否属于同一局域网络;以及第二确定子模块,用于在起始网络节点和终止网络节点属于同一局域网络的情况下,在部署有探针的网络节点发现网络流的情况下,将网络节点确定为转发网络节点。
作为一种可选的实施例,该网络路径确定装置还可以包括:第三确定子模块,用于在起始网络节点和终止网络节点不属于同一局域网的情况下,基于起始网络节点到终止网络节点的最短路径,确定网络流的网络路径。
作为一种可选的实施例,第二确定模块可以包括:第一处理子模块,用于在转发网络节点的数量等于1的情况下,基于最短路径算法确定起始网络节点到转发网络节点之间的第一最短路径;第二处理子模块,用于基于最短路径算法确定转发网络节点到终止网络节点之间的第二最短路径;以及第三处理子模块,用于将第一最短路径和第二最短路径拼接后的最短路径,确定为网络流的网络路径。
作为一种可选的实施例,第二确定模块可以包括:获得子模块,用于在转发网络节点的数量大于1的情况下,获得每个转发网络节点发现网络流的上报时间戳;第四确定子模块,用于按照上报时间戳的先后顺序,确定最先上报的转发网络节点和最后上报的转发网络节点;第四处理子模块,用于基于最短路径算法确定起始网络节点到最先上报的转发网络节点之间的第三最短路径;第五处理子模块,用于基于最短路径算法依次确定最先上报的转发网络节点到最后上报的转发网络节点中相邻转发网络节点之间的第四最短路径;第六处理子模块,用于基于最短路径算法确定最后上报的转发网络节点到终止网络节点之间的第五最短路径;以及第五确定子模块,用于将第三最短路径、第四最短路径和第五最短路径拼接后的最短路径,确定为网络流的网络路径。
作为一种可选的实施例,该网络路径确定装置还可以包括:第二获取模块,用于获取每个网络节点的网络邻居信息数据,其中,网络邻居信息数据用于表征网络节点和与其相邻的网络节点之间的网络连接关系;获得模块,用于去除每个网络节点的网络邻居信息数据中的重复数据来获得多个网络节点的网络邻居信息数据;构建模块,用于基于多个网络节点和多个网络节点的网络邻居信息数据,构建分布式系统的网络拓扑图模型;以及生成模块,用于在网络拓扑图模型中添加每个网络节点接入的网络设备信息,来生成分布式系统的网络拓扑信息。
作为一种可选的实施例,该网络路径确定装置还可以包括:第三确定模块,用于利用网络拓扑信息,确定多个网络节点的网络节点属性,其中,网络节点属性包括接入节点、汇聚节点和核心节点;第一部署模块,用于在汇聚节点接入的网络设备上部署镜像网络流来标识网络节点上部署有第一探针;以及第二部署模块,用于在核心节点接入的网络设备上部署镜像网络流来标识网络节点上部署有第二探针。
作为一种可选的实施例,该网络路径确定装置还可以包括:第三部署模块,用于在汇聚节点接入的网络设备上部署第一探针标识信息,其中,第一探针标识信息用于表征第一探针和汇聚节点的对应关系;以及第四部署模块,用于在核心节点接入的网络设备上部署第二探针标识信息,其中,第二探针标识信息用于表征第二探针和核心节点的对应关系。
需要说明的是,网络路径确定装置部分实施例中各模块的实施方式、解决的技术问题、实现的功能、以及达到的技术效果分别与网络路径确定方法部分实施例中各对应的步骤的实施方式、解决的技术问题、实现的功能、以及达到的技术效果相同或类似,在此不再赘述。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FNGA)、可编程逻辑阵列(NLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,接收模块、第一获取模块、第一确定模块、第二确定模块、第一确定子模块、第二确定子模块、第三确定子模块、第一处理子模块、第二处理子模块、第三处理子模块、获得子模块、第四确定子模块、第四处理子模块、第五处理子模块、第六处理子模块、第五确定子模块、第二获取模块、获得模块、构建模块、生成模块、第三确定模块、第一部署模块、第二部署模块、第三部署模块以及第四部署模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,接收模块、第一获取模块、第一确定模块、第二确定模块、第一确定子模块、第二确定子模块、第三确定子模块、第一处理子模块、第二处理子模块、第三处理子模块、获得子模块、第四确定子模块、第四处理子模块、第五处理子模块、第六处理子模块、第五确定子模块、第二获取模块、获得模块、构建模块、生成模块、第三确定模块、第一部署模块、第二部署模块、第三部署模块以及第四部署模块中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FNGA)、可编程逻辑阵列(NLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,接收模块、第一获取模块、第一确定模块、第二确定模块、第一确定子模块、第二确定子模块、第三确定子模块、第一处理子模块、第二处理子模块、第三处理子模块、获得子模块、第四确定子模块、第四处理子模块、第五处理子模块、第六处理子模块、第五确定子模块、第二获取模块、获得模块、构建模块、生成模块、第三确定模块、第一部署模块、第二部署模块、第三部署模块以及第四部署模块中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图8示意性示出了根据本公开实施例的适于实现上文描述的网络路径确定方法的计算机可读存储介质产品的示意图。
在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在设备上运行时,程序代码用于使设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的网络路径确定方法中的前述各项操作(或步骤),例如,电子设备可以执行如图3中所示的操作S310~操作S340。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、系统或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(ENROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
如图8所示,描述了根据本发明的实施方式的网络路径确定的程序产品800,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、系统或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、系统或者器件使用或者与其结合使用的程序。可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆,RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,程序设计语言包括面向对象的程序设计语言-诸如Java,C++等,还包括常规的过程式程序设计语言-诸如“C”,语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAA)或广域网(WAA)一连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
图9示意性示出了根据本公开实施例的适于实现上文描述的网络路径确定方法的电子设备的框图。图9示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图9所示,根据本公开实施例的电子设备900包括处理器901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。处理器901例如可以包括通用微处理器(例如CNU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器901还可以包括用于缓存用途的板载存储器。处理器901可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 903中,存储有电子设备900操作所需的各种程序和数据。处理器901、ROM902以及RAM 903通过总线904彼此相连。处理器901通过执行ROM 902和/或RAM 903中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM902和RAM 903以外的一个或多个存储器中。处理器901也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例图3中所示的操作S310~操作S340。
根据本公开的实施例,电子设备900还可以包括输入/输出(I/O)接口905,输入/输出(I/O)接口905也连接至总线904。系统900还可以包括连接至I/O接口905的以下部件中的一项或多项:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAA卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被处理器901执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的网络路径确定方法,包括图3中所示的操作S310~操作S340。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(ENROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 902和/或RAM 903和/或ROM 902和RAM 903以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目标,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (12)
1.一种网络路径确定方法,包括:
接收路径查询请求,其中,所述路径查询请求包括网络流的起始网络节点和终止网络节点,所述起始网络节点和所述终止网络节点属于部署在分布式系统中的多个网络节点;
响应于所述路径查询请求,获取所述分布式系统的网络拓扑信息和探针部署信息,其中,所述网络拓扑信息用于表征所述多个网络节点的链路关系,所述探针部署信息用于标识部署有探针的网络节点;
在部署有探针的网络节点发现所述网络流的情况下,将所述网络节点确定为转发网络节点;
基于所述起始网络节点、所述转发网络节点和所述终止网络节点的最短路径,确定所述网络流的网络路径。
2.根据权利要求1所述的方法,其中,所述在部署有探针的网络节点发现所述网络流的情况下,将所述网络节点确定为转发网络节点包括:
基于所述起始网络节点的网络地址信息和所述终止网络节点的网络地址信息,确定所述起始网络节点和所述终止网络节点是否属于同一局域网络;
在所述起始网络节点和所述终止网络节点属于同一局域网络的情况下,在部署有探针的网络节点发现所述网络流的情况下,将所述网络节点确定为转发网络节点。
3.根据权利要求2所述的方法,其中,所述方法还包括:
在所述起始网络节点和所述终止网络节点不属于同一局域网的情况下,基于所述起始网络节点到所述终止网络节点的最短路径,确定所述网络流的网络路径。
4.根据权利要求1所述的方法,其中,所述基于所述起始网络节点、所述转发网络节点和所述终止网络节点的最短路径,确定所述网络流的网络路径包括:
在所述转发网络节点的数量等于1的情况下,基于最短路径算法确定所述起始网络节点到所述转发网络节点之间的第一最短路径;
基于最短路径算法确定所述转发网络节点到所述终止网络节点之间的第二最短路径;
将所述第一最短路径和所述第二最短路径拼接后的最短路径,确定为所述网络流的网络路径。
5.根据权利要求1所述的方法,其中,所述基于所述起始网络节点、所述转发网络节点和所述终止网络节点的最短路径,确定所述网络流的网络路径包括:
在所述转发网络节点的数量大于1的情况下,获得每个转发网络节点发现所述网络流的上报时间戳;
按照所述上报时间戳的先后顺序,确定最先上报的转发网络节点和最后上报的转发网络节点;
基于最短路径算法确定所述起始网络节点到所述最先上报的转发网络节点之间的第三最短路径;
基于最短路径算法依次确定所述最先上报的转发网络节点到所述最后上报的转发网络节点中相邻转发网络节点之间的第四最短路径;
基于最短路径算法确定所述最后上报的转发网络节点到所述终止网络节点之间的第五最短路径;
将所述第三最短路径、所述第四最短路径和所述第五最短路径拼接后的最短路径,确定为所述网络流的网络路径。
6.根据权利要求1所述的方法,其中,所述方法还包括:
获取每个网络节点的网络邻居信息数据,其中,所述网络邻居信息数据用于表征网络节点和与其相邻的网络节点之间的网络连接关系;
去除所述每个网络节点的网络邻居信息数据中的重复数据来获得所述多个网络节点的网络邻居信息数据;
基于所述多个网络节点和所述多个网络节点的网络邻居信息数据,构建所述分布式系统的网络拓扑图模型;
在所述网络拓扑图模型中添加所述每个网络节点接入的网络设备信息,来生成所述分布式系统的网络拓扑信息。
7.根据权利要求1所述的方法,其中,所述方法还包括:
利用所述网络拓扑信息,确定所述多个网络节点的网络节点属性,其中,所述网络节点属性包括接入节点、汇聚节点和核心节点;
在所述汇聚节点接入的网络设备上部署镜像网络流来标识所述网络节点上部署有第一探针;
在所述核心节点接入的网络设备上部署镜像网络流来标识所述网络节点上部署有第二探针。
8.根据权利要求7所述的方法,其中,所述方法还包括:
在所述汇聚节点接入的网络设备上部署第一探针标识信息,其中,所述第一探针标识信息用于表征所述第一探针和所述汇聚节点的对应关系;
在所述核心节点接入的网络设备上部署第二探针标识信息,其中,所述第二探针标识信息用于表征所述第二探针和所述核心节点的对应关系。
9.一种网络路径确定装置,包括:
接收模块,用于接收路径查询请求,其中,所述路径查询请求包括网络流的起始网络节点和终止网络节点,所述起始网络节点和所述终止网络节点属于部署在分布式系统中的多个网络节点;
第一获取模块,用于响应于所述路径查询请求,获取所述分布式系统的网络拓扑信息和探针部署信息,其中,所述网络拓扑信息用于表征所述多个网络节点的链路关系,所述探针部署信息用于标识部署有探针的网络节点;
第一确定模块,用于在部署有探针的网络节点发现所述网络流的情况下,将所述网络节点确定为转发网络节点;
第二确定模块,用于基于所述起始网络节点、所述转发网络节点和所述终止网络节点的最短路径,确定所述网络流的网络路径。
10.一种电子设备,包括:
一个或多个处理器;以及
存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1至8中任一项所述的方法。
11.一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时使处理器执行根据权利要求1至8中任一项所述的方法。
12.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时执行根据权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110616812.9A CN113364681B (zh) | 2021-06-02 | 2021-06-02 | 网络路径确定方法、装置、电子设备、介质和程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110616812.9A CN113364681B (zh) | 2021-06-02 | 2021-06-02 | 网络路径确定方法、装置、电子设备、介质和程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113364681A true CN113364681A (zh) | 2021-09-07 |
CN113364681B CN113364681B (zh) | 2022-05-27 |
Family
ID=77531496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110616812.9A Active CN113364681B (zh) | 2021-06-02 | 2021-06-02 | 网络路径确定方法、装置、电子设备、介质和程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113364681B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115022230A (zh) * | 2022-05-31 | 2022-09-06 | 中国人民解放军国防科技大学 | 一种通信路径规划方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070177518A1 (en) * | 2006-01-27 | 2007-08-02 | Lucent Technologies, Inc. | End-to-end service quality using source-routed probes |
US20120236705A1 (en) * | 2011-03-18 | 2012-09-20 | Fujitsu Limited | Management apparatus, communication system, and communication method |
CN102882787A (zh) * | 2012-10-11 | 2013-01-16 | 华为技术有限公司 | 确定流量工程隧道的转发路径的方法和装置 |
CN105207850A (zh) * | 2015-09-29 | 2015-12-30 | 国家电网公司 | 一种网络连通性测试方法及系统 |
US10200279B1 (en) * | 2017-10-03 | 2019-02-05 | Amer Omar Aljaedi | Tracer of traffic trajectories in data center networks |
CN111682986A (zh) * | 2020-06-08 | 2020-09-18 | 平安科技(深圳)有限公司 | 全量链路质量探测方法、装置、计算机设备及存储介质 |
-
2021
- 2021-06-02 CN CN202110616812.9A patent/CN113364681B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070177518A1 (en) * | 2006-01-27 | 2007-08-02 | Lucent Technologies, Inc. | End-to-end service quality using source-routed probes |
CN101371497A (zh) * | 2006-01-27 | 2009-02-18 | 卢森特技术有限公司 | 使用源路由探测的端到端服务质量 |
US20120236705A1 (en) * | 2011-03-18 | 2012-09-20 | Fujitsu Limited | Management apparatus, communication system, and communication method |
CN102882787A (zh) * | 2012-10-11 | 2013-01-16 | 华为技术有限公司 | 确定流量工程隧道的转发路径的方法和装置 |
CN105207850A (zh) * | 2015-09-29 | 2015-12-30 | 国家电网公司 | 一种网络连通性测试方法及系统 |
US10200279B1 (en) * | 2017-10-03 | 2019-02-05 | Amer Omar Aljaedi | Tracer of traffic trajectories in data center networks |
CN111682986A (zh) * | 2020-06-08 | 2020-09-18 | 平安科技(深圳)有限公司 | 全量链路质量探测方法、装置、计算机设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115022230A (zh) * | 2022-05-31 | 2022-09-06 | 中国人民解放军国防科技大学 | 一种通信路径规划方法及装置 |
CN115022230B (zh) * | 2022-05-31 | 2023-11-24 | 中国人民解放军国防科技大学 | 一种通信路径规划方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113364681B (zh) | 2022-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11588700B2 (en) | Component detection and management using relationships | |
US10797970B2 (en) | Interactive hierarchical network chord diagram for application dependency mapping | |
US11336567B2 (en) | Service aware virtual private network for optimized forwarding in cloud native environment | |
US20200351160A1 (en) | Cloud management connectivity assurance | |
CN110247784B (zh) | 确定网络拓扑结构的方法和装置 | |
US10142173B2 (en) | Automated creation of private virtual networks in a service provider network | |
US9596141B2 (en) | Representing software defined networks using a programmable graph model | |
KR20210059727A (ko) | 네트워크 라우팅 환경에서 단일 노드 및 다수 노드 데이터 저장소 아키텍처 | |
WO2020101950A1 (en) | Algorithmic problem identification and resolution in fabric networks by software defined operations, administration, and maintenance | |
US9674275B1 (en) | Providing a file system interface to network-accessible computing resources | |
US11075814B2 (en) | Sub-topology discovery for operating hybrid solutions | |
US20140280802A1 (en) | Capability identification and modification through hardware introspection and reflection | |
CN112956158B (zh) | 结构数据平面监视 | |
US11496369B2 (en) | Network topology discovery in substation | |
CN112532408B (zh) | 提取故障传播条件的方法、装置及存储介质 | |
CN113364681B (zh) | 网络路径确定方法、装置、电子设备、介质和程序产品 | |
US11336502B2 (en) | Deriving network device and host connection | |
US20140280804A1 (en) | Relationship driven dynamic workflow system | |
US11206175B1 (en) | Path analysis service for identifying network configuration settings that block paths in virtual private clouds (VPCs) | |
US11550050B2 (en) | Radar visualization of cloud native environments | |
US11831498B1 (en) | Integrating an existing cloud network into a target environment | |
US11539595B1 (en) | Tracking cluster identity over time | |
CN116938728A (zh) | 金融机构网络环境的网络拓扑确定方法、装置、设备 | |
JP5283199B2 (ja) | ネットワーク管理装置、ネットワーク管理方法、及びプログラム |
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 |