CN113542127A - 无角色vtep节点单vxlan拓扑查找方法及装置 - Google Patents
无角色vtep节点单vxlan拓扑查找方法及装置 Download PDFInfo
- Publication number
- CN113542127A CN113542127A CN202110647747.6A CN202110647747A CN113542127A CN 113542127 A CN113542127 A CN 113542127A CN 202110647747 A CN202110647747 A CN 202110647747A CN 113542127 A CN113542127 A CN 113542127A
- Authority
- CN
- China
- Prior art keywords
- node
- link
- target
- temporary
- vxlan
- 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/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/255—Maintenance or indexing of mapping tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2592—Translation of Internet protocol [IP] addresses using tunnelling or encapsulation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供了一种无角色VTEP节点单VXLAN拓扑查找方法及装置。本公开从网络管理系统获取所管理网络的基础网络数据,基于所获得的基础网络数据,以目标VTEP节点为起始节点,采用循环递归的方式查找所有能够到达所述目标VXLAN中其它目标VTEP节点的路径,将能够到达所述目标VXLAN中其它目标VTEP节点的路径中的所有不重复的路径加入到结果链路列表中。本公开能够在网络管理系统所管理的overlay网络拓扑中,准确快速地针对无角色的VTEP查找到单个VXLAN网络的所有可能的拓扑路径,提高网络管理系统发现网络拓扑、定位网络故障、维护网络的效率。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种无角色VTEP节点单VXLAN拓扑查找方法及装置。
背景技术
随着网络技术高速发展,人们更关心网络拓扑在实际应用中给日常维护带来的好处,为了更清晰直观地看出每个单独的VXLAN网络对应的设备节点和链路,从而在遇到故障时能第一时间进行排除,存在将拓扑在网管系统中进行呈现的需求。
目前传统网管基于虚拟可扩展局域网(Virtual eXtensible LAN,VXLAN)的overlay拓扑中,网络设备只有VXLAN隧道端点(VXLAN Tunnel End Point,VTEP),并没有实际的网络角色,比如数据中心组网中的Spine和Leaf,园区网络中的Spine、Leaf以及Access。在这种情况下,在进行拓扑展示的时候,要在全网物理拓扑中,找到其中一个VXLAN网络对应设备节点及链路,并通过颜色区分或高亮显示,就比较困难。
发明内容
有鉴于此,本公开提供一种无角色VTEP节点单VXLAN拓扑查找方法及装置,用于解决高效查找和呈现单VXLAN网络拓扑的技术问题。
图1为本公开提供的一种无角色VTEP节点单VXLAN拓扑查找方法的步骤流程图,该方法应用于网络管理设备,所述方法包括:
步骤101.从网络管理系统获取所管理网络的基础网络数据,所述网络数据中包括节点数据、链路数据和VXLAN数据,所述网络数据中包括目标VXLAN数据和目标VXLAN中的目标VTEP节点数据;
步骤102.以一个目标VTEP节点为起始节点,根据所述链路数据和所述节点数据,循环递归查找所有能够到达所述目标VXLAN中其它目标VTEP节点的路径,将能够到达所述目标VXLAN中其它目标VTEP节点的路径中的所有不重复的路径加入到结果链路列表中。
进一步地,所述循环递归查找所有能够到达所述目标VXLAN中其它目标VTEP节点的路径的方法包括:
获取与所述起始节点连接的所有链路以及链路的对端节点;
根据与所述起始节点连接的所有链路的个数,循环递归查找与所述起始节点连接的每一条链路,查找经过所述每一条链路能够到达所述目标VXLAN中其它目标VTEP节点的路径,直到满足递归终止条件;
所述递归终止条件为:所查找到的链路的对端节点为所述目标VXLAN中的任一目标VTEP节点;所查找的链路及对端节点为已经遍历过的链路或节点;所述起始节点为单链路节点。
进一步地,在每一层递归中,每次判定满足所查找到的链路的对端节点为所述目标VXLAN中的任一目标VTEP节点的递归终止条件时,将递归路径上的所有不重复的链路转存到结果链路列表中。
进一步地,在每一层递归中,在不满足所述递归终止条件的情况下,将所述起始节点存入临时节点列表nodeList;将当前查找的链路存入临时链路表tmpLinkList和链路历史临时表searchLinkList;将当前查找的链路的对端节点作为新的起始节点,将所述新的起始节点、临时链路表tmpLinkList和链路历史临时表searchLinkList作为递归参数再次进行递归查找。
进一步地,在进行下一层递归之前,做如下判断和处理:
判断当前查找的链路是否已存在于临时链路表tmpLinkList和结果链路列表linkList中,或当前的起始节点的对端节点是否已存在于临时节点列表nodeList中,如果判断结果为是则判定所查找的链路及对端节点为已经遍历过的链路或节点,本层递归结束,从所述临时链路表tmpLinkList删除当前查找的链路以及从临时节点列表nodeList中删除当前的起始节点的对端节点;
判断当前的起始节点是否有链路连接,如果没有则判定所述起始节点为单链路节点,本层递归结束,从所述临时节点列表nodeList中删除当前的起始节点。
图2为本公开一实施例提供的一种无角色VTEP节点单VXLAN拓扑查找装置结构示意图,该装置200中的各功能模块可以采用软件、硬件或软硬件相结合的方式实现。当多个硬件设备共同实施本公开的技术方案时,由于各硬件设备之间相互协作的目的是共同实现本发明目的,一方的动作和处理结果确定了另一方的动作执行的时机及可能获得的结果,因此,可视为各执行主体之间具有相互协作关系,各执行主体之间具有相互指挥和控制关系。该装置200应用于网络管理设备,所述装置200包括:
数据获取模块201,用于从网络管理系统获取所管理网络的基础网络数据,所述网络数据中包括节点数据、链路数据和VXLAN数据,所述网络数据中包括目标VXLAN数据和目标VXLAN中的目标VTEP节点数据;
递归查找模块202,用于以一个目标VTEP节点为起始节点,根据所述链路数据和所述节点数据,循环递归查找所有能够到达所述目标VXLAN中其它目标VTEP节点的路径,将能够到达所述目标VXLAN中其它目标VTEP节点的路径中的所有不重复的路径加入到结果链路列表中。
进一步地,所述递归查找模块包括:
信息获取单元,用于获取与所述起始节点连接的所有链路以及链路的对端节点;
终止处理单元,用于根据递归终止条件判断递归是否结束,所述递归终止条件为:所查找到的链路的对端节点为所述目标VXLAN中的任一目标VTEP节点;所查找的链路及对端节点为已经遍历过的链路或节点;所述起始节点为单链路节点
递归处理单元,用于根据与所述起始节点连接的所有链路的个数,循环递归查找与所述起始节点连接的每一条链路,查找经过所述每一条链路能够到达所述目标VXLAN中其它目标VTEP节点的路径,直到满足递归终止条件。
进一步地,所述终止处理单元在每一层递归中,每次判定满足所查找到的链路的对端节点为所述目标VXLAN中的任一目标VTEP节点的递归终止条件时,将递归路径上的所有不重复的链路转存到结果链路列表中。
进一步地,所述递归处理单元在每一层递归中,在不满足所述递归终止条件的情况下,将所述起始节点存入临时节点列表nodeList;将当前查找的链路存入临时链路表tmpLinkList和链路历史临时表searchLinkList;将当前查找的链路的对端节点作为新的起始节点,将所述新的起始节点、临时链路表tmpLinkList和链路历史临时表searchLinkList作为递归参数再次进行递归查找。
进一步地,所述终止处理单元在每一层递归开始前,做如下判断和处理:
判断当前查找的链路是否已存在于临时链路表tmpLinkList和结果链路列表linkList中,或当前的起始节点的对端节点是否已存在于临时节点列表nodeList中,如果判断结果为是则判定所查找的链路及对端节点为已经遍历过的链路或节点,本层递归结束,从所述临时链路表tmpLinkList删除当前查找的链路以及从临时节点列表nodeList中删除当前的起始节点的对端节点;
判断当前的起始节点是否有链路连接,如果没有则判定所述起始节点为单链路节点,本层递归结束,从所述临时节点列表nodeList中删除当前的起始节点。
本公开从网络管理系统获取所管理网络的基础网络数据,基于所获得的基础网络数据,以目标VTEP节点为起始节点,采用循环递归的方式查找所有能够到达所述目标VXLAN中其它目标VTEP节点的路径,将能够到达所述目标VXLAN中其它目标VTEP节点的路径中的所有不重复的路径加入到结果链路列表中。本公开能够在网络管理系统所管理的overlay网络拓扑中,准确快速地针对无角色的VTEP查找到单个VXLAN网络的所有可能的拓扑路径,提高网络管理系统发现网络拓扑、定位网络故障、维护网络的效率。
附图说明
为了更加清楚地说明本公开实施例或者现有技术中的技术方案,下面将对本公开实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本公开实施例的这些附图获得其他的附图。
图1为本公开一实施例提供的一种无角色VTEP节点单VXLAN拓扑查找方法流程图;
图2为本公开一实施例提供的一种无角色VTEP节点单VXLAN拓扑查找装置结构示意图;
图3为本公开一实施例中VXLAN网络设备节点及链路关系示意图;
图4A~图4E为本公开一实施例中与当前步骤的变量参数对应的查询状态示意图;
图5为本公开一实施例提供的一种电子设备结构示意图。
具体实施方式
在本公开实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本公开实施例。本公开实施例中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。本公开中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
网络管理系统(简称网管系统)负责管理和维护整个网络,网络管理系统中的网络管理设备能够获取到所管理的网络的基础网络数据,所述基础网络数据包括但不限于节点数据、节点之间的链路数据以及构建在物理网络上的虚拟扩展局域网VXLAN数据,基础网络数据可通过数据的形式储存在数据库中以供网络管理系统使用。
本公开旨在提供一种无角色VTEP节点单VXLAN拓扑查找方法,该方法应用于网络管理系统中的网络管理设备中,通过该方法能够在网络管理系统所管理的overlay网络拓扑中,准确快速地针对无角色的VTEP查找到单个VXLAN网络的所有可能的拓扑路径,从而提高网络管理系统发现网络拓扑、定位网络故障、维护网络的效率。
本公开提供的方法的整体思路是:通过从网络管理设备获取VXLAN数据、链路数据和节点数据等基础网络数据,得到目标VXLAN网络所在的所有节点设备,分别把节点列表、链路列表以及VXLAN-VTEP对应关系放到内存集合中,然后从对应的关系列表找到VTEP节点,从起始节点出发,采用递归的方式,查找链路表,根据链路的左节点或者右节点找到对应的链路信息,然后根据链路的关联关系,进而找到邻居节点,找到一个节点后,将找到的节点和链路放到临时列表中,继续以邻居节点出发,查找其关联的链路。本公开采用递归的方式查找所有能够到达目标VXLAN中其它目标VTEP节点的路径,直到满足递归终止条件,将查找到的路径放到最终结果集合中。通过本公开能够查找出目标VXLAN中所有无角色的VTEP节点所有可能的拓扑路径,进而可通过图形化的界面呈现给用户,以帮助用户快速的定位问题,更有效的管理和维护VXLAN网络。
图3为本公开一实施例中VXLAN网络设备节点及链路关系示意图,该组网实施例中,包括6个网络设备节点(例如交换机、路由器等)分别为节点1~节点6,节点之间的连线代表两节点之间存在链路连接关系。图示组网环境中的节点数据(例如节点标识,节点名称,呈现颜色,位置等)、链路数据(例如链路标识,左节点标识,右节点标识,呈现颜色等)、VXLAN数据(例如VXLAN标识,VXLAN所包含的VTEP等)等网络基础信息可从网管系统中获得。
图3中,节点1~节点6都为VXLAN网络的VTEP节点,但只有节点3和节点4属于目标VXLAN100,以下基于图3的组网对应用本公开提供的无角色VTEP节点单VXLAN拓扑查找方法查找无角色节点3和节点4所属的VXLAN100所有可能的拓扑链路的步骤流程进行详细说明,在执行本公开提供的方法前,首先需要建立并初始化以下一些变量参数:
vetpList:用于存储所有VTEP节点标识的列表,根据该实施例的组网环境可知,初始值为[节点1,节点2,节点3,节点4,节点5,节点6];
vxlanVTEP:用于存储目标VXLAN的目标VTEP节点的目标VXLAN节点列表;初始值为[节点3,节点4];为表述方便,本公开将所要查找的VXLAN拓扑对应的VXLAN称为目标VXLAN,将目标VXLAN所包含的VTEP称为目标VTEP节点;
relationMap:用于存储目标VXLAN与该目标VXLAN中的VTEP节点之间的映射关系的映射关系表,可采用map数据结构,例如MAP<vxlanId,vxlanVTEP>,初始值为(100,[3,4]),根据vxlanVTEP列表中的vxlanId进行分组,存放到MAP中。
linkList:用于最终确定目标VXLAN中需要高亮显示的链路的结果链路列表,该列表中的列表项不可重复,初始为空表。
tmpLinkList:该列表为链路临时表(以堆栈方式操作),用于存储临时查找到的链路,初始为空表。
searchLinkList:该列表为存储已经遍历的链路的链路历史临时表,用来确定链路是否已经被查找过,初始为空表。
nodeList:该列表为临时节点列表(以堆栈方式操作),用于记录临时查找到的节点,初始为空表。
本公开实施例提供的无角色VTEP节点单VXLAN拓扑查找方法在程序实现上可采用递归调用的思想,为了描述清楚起见,以下实施例采用分步骤方式描述,在以下公开的流程步骤的基础上。
步骤400.从映射关系表relationMap中找到目标VXLAN对应的VTEP节点,将目标VXLAN对应的目标VTEP节点加入目标VXLAN节点列表vxlanVTEP;
映射关系表relationMap中存储由目标VXLAN与VTEP的对应关系,要获得目标VXLAN的VTEP节点的所有可能的链路关系,需要首先获取目标VXLAN的所有VTEP节点,找到VXLAN100对应的目标VTEP节点为节点3和节点4,将这两个节点放到目标VXLAN节点列表vxlanVTEP[3,4]中。
步骤401.从目标VXLAN节点列表vxlanVTEP中取出一个节点作为起始节点,假设取出节点3,根据从网管系统获取的链路数据找到与节点3连接的链路有链路1和链路5,首先以链路1开始处理,判断链路1不在临时链路表tmpLinkList和结果链路列表linkList中,将链路1加入临时链路表tmpLinkList和链路历史临时表searchLinkList;继续确认对端节点1不在目标VXLAN节点列表vxlanVTEP表中,将节点1加入到临时节点列表nodeList中,图4A为该实施例与当前步骤的变量参数对应的查询状态示意图。
此时内存中的变量状态为:
结果链路列表linkList[];
临时链路表tmpLinkList[1];
临时节点列表nodeList[1];
链路历史临时表searchLinkList[1]。
步骤402.以节点1为起始节点,根据从网管系统获取的链路数据查找到与节点1连接的链路有链路1、链路2和链路3,链路1已存在于链路临时表中,所以继续查找到链路2,将链路2加入到临时链路表tmpLinkList和链路历史临时表searchLinkList,找到链路2的对端节点4,发现节点4在目标VXLAN节点列表vxlanVTEP表中,说明节点4也是目标VTEP节点,针对链路2的查询路径的查找结束,将查找到的两条链路1和2放到结果链路列表linkList中,临时链路表tmpLinkList中栈顶的链路2出栈,然后找到临时节点列表nodeList的栈顶为节点1,继续查找节点1上是否还有其他链路,继续查找。
图4B为该实施例与当前步骤的变量参数对应的查询状态示意图:
结果链路列表linkList[1,2]
临时链路表tmpLinkList[1]
临时节点列表nodeList[1]
链路历史临时表searchLinkList[1,2]。
步骤403.继续节点1开始查找不在临时链路表tmpLinkList和结果链路列表linkList中的其它链路,发现链路3满足条件,将链路3加入临时链路表tmpLinkList和链路历史临时表searchLinkList,链路3的对端节点为节点5,由于节点5不在目标VXLAN节点列表vxlanVTEP表中,因此节点5不是目标VTEP节点,将节点5放到临时节点列表nodeList中。
图4C为该实施例与当前步骤的变量参数对应的查询状态示意图:
结果链路列表linkList[1,2]
临时链路表tmpLinkList[1,3]
临时节点列表nodeList[1,5]
链路历史临时表searchLinkList[1,2,3]。
步骤404.临时节点列表nodeList的栈顶为节点5,继续以节点5为起点,继续查找,找到链路4,链路4不在临时链路表tmpLinkList和结果链路列表linkList中,将链路4加入临时链路表tmpLinkList和链路历史临时表searchLinkList中,链路4的对端节点为节点2,将节点2加入临时节点列表nodeList,再以节点2为起点继续查找与节点2连接的链路,找到链路5,将链路5加入临时链路表tmpLinkList和链路历史临时表searchLinkList,链路5的对端节点为节点3,节点3在目标VXLAN节点列表vxlanVTEP中,该路径的查找结束。
图4D为该实施例与当前步骤的变量参数对应的查询状态示意图:
结果链路列表linkList[1,2]
临时链路表tmpLinkList[1,3,4,5]
临时节点列表nodeList[1,5,2]
链路历史临时表searchLinkList[1,2,3,4,5]。
找到vtep节点3之后,进行一次数据转储,将本次查找路径上的所有链路即[链路1、链路3、链路4、链路5]从临时链路表tmpLinkList转存到结果链路列表linkList中。然后将该节点关联的链路,也就是临时链路表tmpLinkList中的最新的链路5删除,代表该链路已经查找完成。然后找到临时节点列表nodeList中最新的节点2,判断该节点是否还有其他链路,继续查找。
当前步骤的变量参数状态如下:
结果链路列表linkList[1,2,3,4,5]
临时链路表tmpLinkList[1,3,4]
临时节点列表nodeList[1,5,2]
链路历史临时表searchLinkList[1,2,3,4,5]。
步骤405.继续以节点2为起点,查找不在临时链路表tmpLinkList和结果链路列表linkList中的其它链路,找到链路6,将链路6加入临时链路表tmpLinkList和链路历史临时表searchLinkList,链路6的端节点为节点4,由于该节点为目标VTEP在目标VXLAN节点列表vxlanVTEP中,满足路径搜索结束条件,因此将链路临时表tmpLinkList中的数据转储到链路表结果链路列表linkList中。
图4E为该实施例与当前步骤的变量参数对应的查询状态示意图:
结果链路列表linkList[1,2,3,4,5,6]
临时链路表tmpLinkList[1,3,4]
临时节点列表nodeList[1,5,2]
链路历史临时表searchLinkList[1,2,3,4,5,6]。
步骤406.继续以节点2为起点,查找不在临时链路表tmpLinkList和结果链路列表linkList中的其它链路,找到链路7,将链路7加入临时链路表tmpLinkList和链路历史临时表searchLinkList,找到对端节点6,由于节点6不在目标VXLAN节点列表vxlanVTEP中,因此继续以节点6为起始节点继续找,发现只能找到链路7,链路7已在临时链路表tmpLinkList中,确定该节点6为单链路节点(单链路节点找到后,删除其关联的链路),将节点6出栈,链路7从临时链路表tmpLinkList中删除。
此时变量参数的的状态如下:
结果链路列表linkList[1,2,3,4,5,6]
临时链路表tmpLinkList[1,3,4]
临时节点列表nodeList[1,5,2]
链路历史临时表searchLinkList[1,2,3,4,5,6,7]。
步骤407.继续从节点2查找链路,判断是否还有不在临时链路表tmpLinkList和结果链路列表linkList中的其它链路,没有其他链路,查找结束。节点2所有相连的链路查找结束(可根据链路历史临时表searchLinkList表中查询相连链路是否已经被遍历来判断),节点2出栈。查看与节点2关联的链路4是否为临时链路表tmpLinkList的栈顶,确定是相连的链路,则将临时链路表tmpLinkList中栈顶链路4出栈。
此时变量参数的的状态如下:
结果链路列表linkList[1,2,3,4,5,6]
临时链路表tmpLinkList[1,3]
临时节点列表nodeList[1,5]
链路历史临时表searchLinkList[1,2,3,4,5,6,7]。
步骤408.从临时节点列表nodeList中找到栈顶节点5,判断节点5连接的所有链路都已经遍历过(可在链路历史临时表searchLinkList中判断),查找结束,节点5出栈,该节点处理完成。查看与节点5关联的链路3是否为链路临时表的栈顶,确定是相连的链路,则将临时链路表tmpLinkList中栈顶3出栈。
此时变量参数的的状态如下:
结果链路列表linkList[1,2,3,4,5,6]
临时链路表tmpLinkList[1]
临时节点列表nodeList[1]
链路历史临时表searchLinkList[1,2,3,4,5,6,7]。
步骤409.从临时节点列表nodeList中找到栈顶节点1,判断连接的所有链路都已经遍历过,查找结束,节点1出栈,该节点处理完成。查看与节点1关联的链路1是否为临时链路表的栈顶,确定是相连的链路,则将临时链路表tmpLinkList中栈顶1出栈。
此时变量参数的的状态如下:
结果链路列表linkList[1,2,3,4,5,6]
临时链路表tmpLinkList[]
临时节点列表nodeList[]
链路历史临时表searchLinkList[1,2,3,4,5,6,7]。
步骤410.当临时节点列表nodeList和临时链路表tmpLinkList为空时,遍历结束,将结果链路列表linkList所有链路进行高亮处理(属性highLight:true),这样就可查询出目标VXLAN100中的目标VTEP节点所有可能的链路拓扑路径。
本公开可以在全网拓扑中,清晰明确地展示出某一个VXLAN网络拓扑所有的链路信息,从而在设备故障和业务排查以及网络识别中快速找到对应的设备和链路,从而提升网络维护效率。
图5为本公开一实施例提供的一种电子设备结构示意图,该设备500包括:诸如中央处理单元(CPU)的处理器510、通信总线520、通信接口540以及存储介质530。其中,处理器510与存储介质530可以通过通信总线520相互通信。存储介质530内存储有计算机程序,当该计算机程序被处理器510执行时即可实现本公开提供的方法的各步骤的功能。
其中,存储介质可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。另外,存储介质还可以是至少一个位于远离前述处理器的存储装置。处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
应当认识到,本公开的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术,包括配置有计算机程序的非暂时性存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。此外,可按任何合适的顺序来执行本公开描述的过程的操作,除非本公开另外指示或以其他方式明显地与上下文矛盾。本公开描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本公开的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、RAM、ROM等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本公开所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本公开所述的方法和技术编程时,本公开还包括计算机本身。
以上所述仅为本公开的实施例而已,并不用于限制本公开。对于本领域技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.一种无角色VTEP节点单VXLAN拓扑查找方法,其特征在于,该方法应用于网络管理设备,所述方法包括:
从网络管理系统获取所管理网络的基础网络数据,所述网络数据中包括节点数据、链路数据和VXLAN数据,所述网络数据中包括目标VXLAN数据和目标VXLAN中的目标VTEP节点数据;
以一个目标VTEP节点为起始节点,根据所述链路数据和所述节点数据,循环递归查找所有能够到达所述目标VXLAN中其它目标VTEP节点的路径,将能够到达所述目标VXLAN中其它目标VTEP节点的路径中的所有不重复的路径加入到结果链路列表中。
2.根据权利要求1所述的方法,其特征在于,所述循环递归查找所有能够到达所述目标VXLAN中其它目标VTEP节点的路径的方法包括:
获取与所述起始节点连接的所有链路以及链路的对端节点;
根据与所述起始节点连接的所有链路的个数,循环递归查找与所述起始节点连接的每一条链路,查找经过所述每一条链路能够到达所述目标VXLAN中其它目标VTEP节点的路径,直到满足递归终止条件;
所述递归终止条件为:所查找到的链路的对端节点为所述目标VXLAN中的任一目标VTEP节点;所查找的链路及对端节点为已经遍历过的链路或节点;所述起始节点为单链路节点。
3.根据权利要求2所述的方法,其特征在于,
在每一层递归中,每次判定满足所查找到的链路的对端节点为所述目标VXLAN中的任一目标VTEP节点的递归终止条件时,将递归路径上的所有不重复的链路转存到结果链路列表中。
4.根据权利要求3所述的方法,其特征在于,
在每一层递归中,在不满足所述递归终止条件的情况下,将所述起始节点存入临时节点列表nodeList;将当前查找的链路存入临时链路表tmpLinkList和链路历史临时表searchLinkList;将当前查找的链路的对端节点作为新的起始节点,将所述新的起始节点、临时链路表tmpLinkList和链路历史临时表searchLinkList作为递归参数再次进行递归查找。
5.根据权利要求4所述的方法,其特征在于,在进行下一层递归之前,执行如下判断和处理:
判断当前查找的链路是否已存在于临时链路表tmpLinkList和结果链路列表linkList中,或当前的起始节点的对端节点是否已存在于临时节点列表nodeList中,如果判断结果为是则判定所查找的链路及对端节点为已经遍历过的链路或节点,本层递归结束,从所述临时链路表tmpLinkList删除当前查找的链路以及从临时节点列表nodeList中删除当前的起始节点的对端节点;
判断当前的起始节点是否有链路连接,如果没有则判定所述起始节点为单链路节点,本层递归结束,从所述临时节点列表nodeList中删除当前的起始节点。
6.一种无角色VTEP节点单VXLAN拓扑查找装置,其特征在于,该装置应用于网络管理设备,所述装置包括:
数据获取模块,用于从网络管理系统获取所管理网络的基础网络数据,所述网络数据中包括节点数据、链路数据和VXLAN数据,所述网络数据中包括目标VXLAN数据和目标VXLAN中的目标VTEP节点数据;
递归查找模块,用于以一个目标VTEP节点为起始节点,根据所述链路数据和所述节点数据,循环递归查找所有能够到达所述目标VXLAN中其它目标VTEP节点的路径,将能够到达所述目标VXLAN中其它目标VTEP节点的路径中的所有不重复的路径加入到结果链路列表中。
7.根据权利要求6所述的装置,其特征在于,所述递归查找模块包括:
信息获取单元,用于获取与所述起始节点连接的所有链路以及链路的对端节点;
终止处理单元,用于根据递归终止条件判断递归是否结束,所述递归终止条件为:所查找到的链路的对端节点为所述目标VXLAN中的任一目标VTEP节点;所查找的链路及对端节点为已经遍历过的链路或节点;所述起始节点为单链路节点
递归处理单元,用于根据与所述起始节点连接的所有链路的个数,循环递归查找与所述起始节点连接的每一条链路,查找经过所述每一条链路能够到达所述目标VXLAN中其它目标VTEP节点的路径,直到满足递归终止条件。
8.根据权利要求7所述的装置,其特征在于,
所述终止处理单元在每一层递归中,每次判定满足所查找到的链路的对端节点为所述目标VXLAN中的任一目标VTEP节点的递归终止条件时,将递归路径上的所有不重复的链路转存到结果链路列表中。
9.根据权利要求8所述的装置,其特征在于,
所述递归处理单元在每一层递归中,在不满足所述递归终止条件的情况下,将所述起始节点存入临时节点列表nodeList;将当前查找的链路存入临时链路表tmpLinkList和链路历史临时表searchLinkList;将当前查找的链路的对端节点作为新的起始节点,将所述新的起始节点、临时链路表tmpLinkList和链路历史临时表searchLinkList作为递归参数再次进行递归查找。
10.根据权利要求9所述的装置,其特征在于,所述终止处理单元在进行下一层递归之前,执行如下判断和处理:
判断当前查找的链路是否已存在于临时链路表tmpLinkList和结果链路列表linkList中,或当前的起始节点的对端节点是否已存在于临时节点列表nodeList中,如果判断结果为是则判定所查找的链路及对端节点为已经遍历过的链路或节点,本层递归结束,从所述临时链路表tmpLinkList删除当前查找的链路以及从临时节点列表nodeList中删除当前的起始节点的对端节点;
判断当前的起始节点是否有链路连接,如果没有则判定所述起始节点为单链路节点,本层递归结束,从所述临时节点列表nodeList中删除当前的起始节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110647747.6A CN113542127B (zh) | 2021-06-10 | 2021-06-10 | 无角色vtep节点单vxlan拓扑查找方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110647747.6A CN113542127B (zh) | 2021-06-10 | 2021-06-10 | 无角色vtep节点单vxlan拓扑查找方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113542127A true CN113542127A (zh) | 2021-10-22 |
CN113542127B CN113542127B (zh) | 2023-07-14 |
Family
ID=78124767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110647747.6A Active CN113542127B (zh) | 2021-06-10 | 2021-06-10 | 无角色vtep节点单vxlan拓扑查找方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113542127B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102155942A (zh) * | 2011-02-26 | 2011-08-17 | 山东大学 | 大范围环境下基于模糊拓扑地图的全局路径规划方法 |
US20140044008A1 (en) * | 2012-08-10 | 2014-02-13 | Ciena Corporation | Constraining topology size and recursively calculating routes in large networks |
CN105656771A (zh) * | 2014-11-12 | 2016-06-08 | 中国移动通信集团公司 | 一种业务路径确定方法、装置和系统 |
CN106878187A (zh) * | 2017-04-19 | 2017-06-20 | 天津微梦无界科技有限公司 | 一种分布式网络拓扑检测方法 |
CN107733713A (zh) * | 2017-10-18 | 2018-02-23 | 北京德塔精要信息技术有限公司 | 混合网络中网络拓扑的获取方法、系统、设备及存储介质 |
CN108135019A (zh) * | 2016-11-30 | 2018-06-08 | 华中科技大学 | 一种递增式递归计算约束下的路由算法 |
CN108173617A (zh) * | 2017-11-21 | 2018-06-15 | 北京兰云科技有限公司 | 一种全网时钟拓扑及时钟路径获取方法 |
CN108536764A (zh) * | 2018-03-21 | 2018-09-14 | 山东昭元信息科技有限公司 | 一种基于临时拓扑分析表的拓扑及孤岛分析方法和装置 |
CN111835636A (zh) * | 2019-06-02 | 2020-10-27 | 北京航空航天大学 | 一种基于主干路径递归扩展的网络拓扑重构方法 |
CN111865627A (zh) * | 2019-04-25 | 2020-10-30 | 中国移动通信集团河北有限公司 | 传输组网评估方法、装置、计算设备及计算机存储介质 |
-
2021
- 2021-06-10 CN CN202110647747.6A patent/CN113542127B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102155942A (zh) * | 2011-02-26 | 2011-08-17 | 山东大学 | 大范围环境下基于模糊拓扑地图的全局路径规划方法 |
US20140044008A1 (en) * | 2012-08-10 | 2014-02-13 | Ciena Corporation | Constraining topology size and recursively calculating routes in large networks |
CN105656771A (zh) * | 2014-11-12 | 2016-06-08 | 中国移动通信集团公司 | 一种业务路径确定方法、装置和系统 |
CN108135019A (zh) * | 2016-11-30 | 2018-06-08 | 华中科技大学 | 一种递增式递归计算约束下的路由算法 |
CN106878187A (zh) * | 2017-04-19 | 2017-06-20 | 天津微梦无界科技有限公司 | 一种分布式网络拓扑检测方法 |
CN107733713A (zh) * | 2017-10-18 | 2018-02-23 | 北京德塔精要信息技术有限公司 | 混合网络中网络拓扑的获取方法、系统、设备及存储介质 |
CN108173617A (zh) * | 2017-11-21 | 2018-06-15 | 北京兰云科技有限公司 | 一种全网时钟拓扑及时钟路径获取方法 |
CN108536764A (zh) * | 2018-03-21 | 2018-09-14 | 山东昭元信息科技有限公司 | 一种基于临时拓扑分析表的拓扑及孤岛分析方法和装置 |
CN111865627A (zh) * | 2019-04-25 | 2020-10-30 | 中国移动通信集团河北有限公司 | 传输组网评估方法、装置、计算设备及计算机存储介质 |
CN111835636A (zh) * | 2019-06-02 | 2020-10-27 | 北京航空航天大学 | 一种基于主干路径递归扩展的网络拓扑重构方法 |
Non-Patent Citations (2)
Title |
---|
覃思: "基于SNMP的网络拓扑发现研究", 《电子测试》 * |
覃思: "基于SNMP的网络拓扑发现研究", 《电子测试》, no. 09, 6 September 2009 (2009-09-06) * |
Also Published As
Publication number | Publication date |
---|---|
CN113542127B (zh) | 2023-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107104824B (zh) | 一种网络拓扑确定方法和装置 | |
CN112367211B (zh) | 一种设备命令行生成配置模板方法、装置及存储介质 | |
CN109189758B (zh) | 运维流程设计方法、装置和设备、运行方法、装置和主机 | |
CN112073438B (zh) | 一种访问控制规则配置方法、装置、交换机及存储介质 | |
CN112035216A (zh) | 一种Kubernetes集群网络和OpenStack网络的打通方法 | |
CN110808857A (zh) | 实现Kubernetes集群的网络互通方法、装置、设备以及存储介质 | |
CN112685175A (zh) | 一种服务拓扑图的构建方法、装置和计算机可读存储介质 | |
CN115348171A (zh) | 网络设备的访问控制列表管理方法、装置、设备和介质 | |
CN104429048A (zh) | 对象版本管理 | |
EP3974960A1 (en) | Method and system for automated testing of web service apis | |
CN114025000A (zh) | 网络访问关系的建立方法、装置、设备及存储介质 | |
CN114338738A (zh) | 基于Actor模型的规则引擎及场景联动实现方法 | |
CN106254245A (zh) | 一种管理表项的方法及装置 | |
US11683316B2 (en) | Method and device for communication between microservices | |
CN108536541B (zh) | 流程引擎对象处理方法及装置 | |
US20180227184A1 (en) | Network policy distribution | |
CN110569987A (zh) | 自动化运维方法、运维设备、存储介质及装置 | |
US11431795B2 (en) | Method, apparatus and storage medium for resource configuration | |
CN107621945A (zh) | 一种确定ios设备的标识的方法及装置 | |
CN113542127A (zh) | 无角色vtep节点单vxlan拓扑查找方法及装置 | |
CN104536784B (zh) | 实时系统更新方法及装置 | |
CN110611591A (zh) | 一种网络拓扑建立方法及装置 | |
CN111988446B (zh) | 一种报文处理方法、装置、电子设备及存储介质 | |
CN109104499B (zh) | 一种会话建立方法、装置、设备和存储介质 | |
CN115242641B (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 |