CN111327504A - 虚拟局域网环路检测方法、装置、设备及可读存储介质 - Google Patents
虚拟局域网环路检测方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN111327504A CN111327504A CN202010122045.1A CN202010122045A CN111327504A CN 111327504 A CN111327504 A CN 111327504A CN 202010122045 A CN202010122045 A CN 202010122045A CN 111327504 A CN111327504 A CN 111327504A
- Authority
- CN
- China
- Prior art keywords
- local area
- virtual local
- area network
- loop
- network
- 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
Links
Images
Classifications
-
- 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/42—Loop networks
- H04L12/437—Ring fault isolation or reconfiguration
-
- 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
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
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
本发明公开了一种虚拟局域网环路检测的方法、装置、设备及可读存储介质,该方法包括步骤:获取用于虚拟局域网环路检测的数据信息;根据数据信息,将虚拟局域网的当前网络拓扑结构转化成数据结构;通过预设算法分析数据结构,确定虚拟局域网中是否存在环路,在不需要借助硬件设备的情况下借助算法确定虚拟局域网中是否存在环路的检测方法,省去了用户对硬件设备的部署成本以及重启网口带来的网络恢复时间,进一步地本实施例可在发送报文之前对虚拟局域网是否存在环路进行检测,防止虚拟局域网中若存在环路,减少了网络传输资源的浪费。
Description
技术领域
本发明涉及云计算技术领域,尤其涉及一种虚拟局域网环路检测方法、装置、设备及可读存储介质。
背景技术
目前,随着云计算的快速发展虚拟网络已经成为承载业务的一个重要部分,但是网络环路问题也日益突出。当交换机在接收到报文时,会向其他设备广播该报文,若虚拟网络出现环路,则报文将会在各交换机上依次进行广播和转发,最终回到源交换机,而源交换机收到该报文后继续按照广播报文的转发方式进行转发,使得报文无限循环,造成网络资源的严重浪费,进一步地使得网络拥堵甚至中断。
现有技术中网络环路的检测方案一部分基于事后检测,即设备接收到自身发出的报文后才发现虚拟网络中存在环路,这种方案易造成网络传输资源的浪费;一部分基于交换机的STP(Spanning Tree Protocol,生成树协议)功能,可以做到事前检测,但是需要特定的检测设备,增加了用户对检测设备的部署成本,且在检测完成后需重启网口,网络恢复时间较久,导致报文传递的时延增加。
发明内容
本发明的主要目的在于提出一种虚拟局域网环路检测方法、装置、设备及计算机可读存储介质,旨在解决在无硬件支持的情况下,如何对虚拟网络的环路进行预检测的问题。
获取用于虚拟局域网环路检测的数据信息;
根据所述数据信息,将所述虚拟局域网的当前网络拓扑结构转化成数据结构;
通过预设算法分析所述数据结构,确定所述虚拟局域网中是否存在所述环路。
可选地,所述数据信息包括操作类型,所述根据所述数据信息,将所述虚拟局域网的当前网络拓扑结构转化成数据结构的步骤包括:
根据所述数据信息中的操作类型,更新预存网络拓扑结构,得到所述虚拟局域网的当前网络拓扑结构;
将所述当前网络拓扑结构转化成数据结构。
可选地,所述根据所述数据信息中的操作类型,更新预存网络拓扑结构,得到所述虚拟局域网的当前网络拓扑结构的步骤包括:
根据所述数据信息中的操作类型,获取所述虚拟局域网中新增的或缺失的网络设备的设备信息,所述设备信息包括所述网络设备的名称信息、位置信息和在所述虚拟局域网中的连接关系;
获取所述网络设备的名称信息对应的单元标识,将所述单元标识依据所述位置信息和所述连接关系补入预存网络拓扑结构或从所述预存网络拓扑结构中删除,以更新所述预存网络拓扑结构,得到所述虚拟局域网的当前网络结构。
可选地,所述将所述当前网络拓扑结构转化成数据结构的步骤包括:
将所述当前网络拓扑结构中的单元标识转化成单元节点,将各个所述单元标识之间的连接关系转化成各个所述单元节点之间的连线关系,以将所述当前网络拓扑结构转化成图形为无向图的数据结构。
可选地,所述通过预设算法分析所述数据结构,确定所述虚拟局域网中是否存在所述环路的步骤包括:
选取图形为无向图的数据结构中的一个所述单元节点作为起始点,按照所述单元节点的相邻关系从所述起始点依次对相邻每个所述单元节点遍历;
若存在重复遍历的所述单元节点,则确定所述虚拟局域网存在环路;
若不存在重复遍历的所述单元节点,则确定所述虚拟局域网不存在环路。
可选地,所述将所述当前网络拓扑结构转化成数据结构的步骤包括:
将所述当前网络拓扑结构中的单元标识转化成一个根节点、多个子节点;
按照各个所述单元标识的连接关系,在所述根节点与所述子节点之间、所述子节点与所述子节点之间连线,以将所述当前网络拓扑结构转化成图形为树状的数据结构。
可选地,所述通过预设算法分析所述数据结构,确定所述虚拟局域网中是否存在所述环路的步骤包括:
计算图形为树状的数据结构中每两条支路的交叉节点个数,所述交叉节点为子节点和/或根节点;
若存在两条支路的交叉节点个数为两个或两个以上,且至少两个所述交叉节点不相邻,则确定所述虚拟局域网存在所述环路;
若不存在两条支路的交叉节点个数为两个及两个以上,则确定所述虚拟局域网不存在所述环路。
此外,为实现上述目的,本发明还提供一种虚拟局域网环路检测装置,所述虚拟局域网环路检测装置包括:
获取模块,用于获取用于虚拟局域网环路检测的数据信息;
转化模块,用于根据所述数据信息,将所述虚拟局域网的当前网络拓扑结构转化成数据结构;
分析模块,用于通过预设算法分析所述数据结构;
确定模块,用于确定所述虚拟局域网中是否存在所述环路。
此外,为实现上述目的,本发明还提供一种虚拟局域网环路检测设备,所述虚拟局域网环路检测设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的虚拟局域网环路检测程序,所述虚拟局域网环路检测程序被所述处理器执行时实现如上所述的虚拟局域网环路检测方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有所述虚拟局域网环路检测程序,所述虚拟局域网环路检测程序被处理器执行时实现如上所述的虚拟局域网环路检测方法的步骤。
本发明通过获取用于虚拟局域网环路检测的数据信息,根据数据信息,将虚拟局域网的当前网络拓扑结构转化成数据结构,利用预设算法分析数据结构,以确定虚拟局域网中是否存在环路,在不需要借助硬件设备的情况下借助算法确定虚拟局域网中是否存在环路的检测方法,省去了用户对硬件设备的部署成本以及重启网口带来的网络恢复时间,最新的当前网络一旦形成,会同步生成可快速分析的数据结构,及时进行环路预检测,进一步地本实施例可在发送报文之前对虚拟局域网是否存在环路进行检测,防止虚拟局域网中若存在环路,减少了网络传输资源的浪费。
附图说明
图1为实现本发明各个实施例一种设备的硬件结构示意图;
图2为本发明虚拟局域网环路检测方法实施例的一流程示意图;
图3为本发明虚拟局域网环路检测方法实施例的另一流程示意图;
图4为本发明虚拟局域网环路检测方法中的预存网络拓扑图;
图5为本发明虚拟局域网环路检测方法中的当前网络拓扑图;
图6为本发明中具有子网VLAN10和子网VLAN20的虚拟局域网对应的当前网络拓扑图;
图7为本发明中与图5和图6中子网VLAN10对应的无向图数据结构;
图8为本发明中图7中子网VLAN20对应的无向图数据结构;
图9为本发明中图5对应的树形数据结构。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供了一种虚拟局域网环路检测设备,参照图1,图1是本发明实施例方案涉及的硬件运行环境的结构示意图。
需要说明的是,图1即可为虚拟局域网环路检测设备的硬件运行环境的结构示意图。本发明实施例虚拟局域网环路检测设备可以是PC,便携计算机,服务器等设备。
如图1所示,该虚拟局域网环路检测设备可以包括:处理器1001,例如CPU,存储器1005,用户接口1003,网络接口1004,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,虚拟局域网环路检测设备还可以包括RF(Radio Frequency,射频)电路,传感器、WiFi模块等等。
本领域技术人员可以理解,图1中示出的虚拟局域网环路检测设备结构并不构成虚拟局域网环路检测设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及虚拟局域网环路检测程序。其中,操作系统是管理和控制虚拟局域网环路检测设备硬件和软件资源的程序,支持虚拟局域网环路检测程序以及其它软件或程序的运行。
图1所示的虚拟局域网环路检测设备,可用于实现虚拟局域网环路的预检测,用户接口1003主要用于侦测或者输出各种信息,如侦测报文和输出存在环路的信息等;网络接口1004主要用于与后台服务器交互,进行通信;处理器1001可以用于调用存储器1005中存储的虚拟局域网环路检测程序,并执行以下操作:
获取用于虚拟局域网环路检测的数据信息;
根据所述数据信息,将所述虚拟局域网的当前网络拓扑结构转化成数据结构;
通过预设算法分析所述数据结构,确定所述虚拟局域网中是否存在所述环路。
进一步地,所述数据信息包括操作类型,所述根据所述数据信息,将所述虚拟局域网的当前网络拓扑结构转化成数据结构的步骤包括:
根据所述数据信息中的操作类型,更新预存网络拓扑结构,得到所述虚拟局域网的当前网络拓扑结构;
将所述当前网络拓扑结构转化成数据结构。
进一步地,所述根据所述数据信息中的操作类型,更新预存网络拓扑结构,得到所述虚拟局域网的当前网络拓扑结构的步骤包括:
根据所述数据信息中的操作类型,获取所述虚拟局域网中新增的和/或缺失的网络设备的设备信息,所述设备信息包括所述网络设备的名称信息、位置信息和在所述虚拟局域网中的连接关系;
获取所述网络设备的名称信息对应的单元标识,将所述单元标识依据所述位置信息和所述连接关系补入预存网络拓扑结构或从所述预存网络拓扑结构中删除,以更新所述预存网络拓扑结构,得到所述虚拟局域网的当前网络结构。
进一步地,所述将所述当前网络拓扑结构转化成数据结构的步骤包括:
将所述当前网络拓扑结构中的单元标识转化成单元节点,将各个所述单元标识之间的连接关系转化成各个所述单元节点之间的连线关系,以将所述当前网络拓扑结构转化成图形为无向图的数据结构。
进一步地,所述通过预设算法分析所述数据结构,确定所述虚拟局域网中是否存在所述环路的步骤包括:
选取图形为无向图的数据结构中的一个所述单元节点作为起始点,按照所述单元节点的相邻关系从所述起始点依次对相邻每个所述单元节点遍历;
若存在重复遍历的所述单元节点,则确定所述虚拟局域网存在环路;
若不存在重复遍历的所述单元节点,则确定所述虚拟局域网不存在环路。
进一步地,所述将所述当前网络拓扑结构转化成数据结构的步骤包括:
将所述当前网络拓扑结构中的单元标识转化成一个根节点、多个子节点;
按照各个所述单元标识的连接关系,在所述根节点与所述子节点之间、所述子节点与所述子节点之间连线,以将所述当前网络拓扑结构转化成图形为树状的数据结构。
进一步地,所述通过预设算法分析所述数据结构,确定所述虚拟局域网中是否存在所述环路的步骤包括:
计算图形为树状的数据结构中每两条支路的交叉节点个数,所述交叉节点为子节点和/或根节点;
若存在两条支路的交叉节点个数为两个或两个以上,且至少两个所述交叉节点不相邻,则确定所述虚拟局域网存在所述环路;
若不存在两条支路的交叉节点个数为两个及两个以上,则确定所述虚拟局域网不存在所述环路。
本发明通过获取用于虚拟局域网环路检测的数据信息,根据数据信息,将虚拟局域网的当前网络拓扑结构转化成数据结构,通过预设算法分析数据结构,以确定虚拟局域网中是否存在环路,在不需要借助硬件设备的情况下借助算法确定虚拟局域网中是否存在环路的检测方法,省去了用户对硬件设备的部署成本以及重启网口带来的网络恢复时间,最新的当前网络一旦形成,会同步生成可快速分析的数据结构,及时进行环路预检测,进一步地本实施例可在发送报文之前对虚拟局域网是否存在环路进行检测,防止虚拟局域网中若存在环路,减少了网络传输资源的浪费。
本发明移动终端具体实施方式与下述虚拟局域网环路检测方法各实施例基本相同,在此不再赘述。
基于上述结构,提出本发明虚拟局域网环路检测方法的各个实施例。
本发明提供一种虚拟局域网环路检测方法。
参照图2,图2为本发明虚拟局域网环路检测方法实施例的一流程示意图。
在本实施例中,提供了虚拟局域网环路检测方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中,虚拟局域网环路检测方法包括:
步骤S10,获取用于虚拟局域网环路检测的数据信息。
通过数据接入模块接收用户输入的数据或者由其他的服务器发送的数据,对该数据进行处理,得到数据信息,数据信息用于虚拟局域网是否存在环路的检测,数据信息可以包括操作类型、设备类型、设备位置信息、目的设备ID、设备端口VLAN信息。
操作类型为是否更新预存网络拓扑结构。预存网络拓扑结构为上一次检测虚拟局域网是否存在环路时用到的网络拓扑结构。
设备类型为当前获取到用于虚拟局域网环路检测的数据信息的设备的类型,设备类型可以是交换机、路由器或PC(Personal Computer,个人计算机)。
设备位置信息是获取到用于虚拟局域网环路检测的数据信息的设备在虚拟局域网中的位置。
目的设备ID为接收用于虚拟局域网环路检测的数据信息的网络设备的地址。
设备端口VLAN信息是虚拟局域网的标识信息,可以根据设备端口VLAN信息是否相同确定哪些网络设备属于同一虚拟局域网。本实施例提供的虚拟局域网环路检测方法在同一个虚拟局域网中使用。
步骤S20,根据所述数据信息,将所述虚拟局域网的当前网络拓扑结构转化成数据结构。
从数据信息中可以获知是否更新预存网络拓扑结构,若是不更新预存网络拓扑结构,则说明从上次检测虚拟局域网中是否存在回路到接收到数据信息之间,虚拟局域网中没有发生设备和设备之间连接关系的改变,将预存网络拓扑图作为虚拟局域网的当前网络拓扑结构;若是更新预存网络拓扑结构,则说明从上次检测虚拟局域网中是否存在回路到接收到数据信息之间,虚拟局域网中发生了设备的增减,或设备和设备之间连接关系的改变,更新预存网络拓扑结构,得到虚拟局域网的当前网络拓扑结构。将获得的当前网络拓扑结构转化成数据结构,数据结构是较当前网络拓扑结构更加简洁的结构,是将每个设备统一化的简单图形。
步骤S30,通过预设算法分析所述数据结构,确定所述虚拟局域网中是否存在所述环路。
预设算法即是按照一定规则,对数据结构进行分析的方法,利用预设算法对数据结构进行分析,确定虚拟局域网中是否存在环路。可以理解的是,当数据结构中出现了封闭的环形结构,可确定虚拟局域网中存在环路。对预设算法的实现由程序执行即可,不需设备的支持。
需要说明的是,若确定虚拟局域网中存在环路,则输出存在环路的虚拟局域网ID(Identification,名称),以通知工作人员采取相应措施消除环路;若确定虚拟局域网中不存在环路,则提示工作人员可以发送报文。
本实施例通过获取用于虚拟局域网环路检测的数据信息,根据数据信息,将虚拟局域网的当前网络拓扑结构转化成数据结构,可以理解虚拟局域网的网络拓扑结构会随着虚拟局域网中的设备的改变和设备之间连接关系的改变而改变,将虚拟局域网的当前网络拓扑结构转化成数据结构,体现了本实施例提供的虚拟局域网环路检测方法的准确性,利用预设算法分析数据结构,以确定虚拟局域网中是否存在环路,在不需要借助硬件设备的情况下借助算法确定虚拟局域网中是否存在环路的检测方法,省去了用户对硬件设备的部署成本以及重启网口带来的网络恢复时间,最新的当前网络一旦形成,会同步生成可快速分析的数据结构,及时进行环路预检测,进一步地本实施例可在发送报文之前对虚拟局域网是否存在环路进行检测,防止虚拟局域网中若存在环路,减少了网络传输资源的浪费。
进一步地,提出本发明虚拟局域网环路检测方法的第二实施例,参照图3。虚拟局域网环路检测方法的第二实施例与虚拟局域网环路检测方法的第一实施例的区别在于,所述数据信息包括操作类型,步骤S20包括:
步骤S21,根据所述数据信息中的操作类型,更新预存网络拓扑结构,得到所述虚拟局域网的当前网络拓扑结构。
操作类型为是否更新预存网络拓扑结构,在实施例一中已有说明。预存网络拓扑结构为上一次检测虚拟局域网是否存在环路时用到的网络拓扑结构,但在当前检测之前,也就是在获取到数据信息之前,虚拟局域网中可能会发生设备的增减,或者设备之间的连接关系发生改变,当虚拟局域网中的设备发生增减,或者设备之间的连接关系发生改变时,虚拟局域网对应的网络拓扑结构也相应的发生变化,此时操作类型应是更新预存网络拓扑结构;当虚拟局域网中的设备未发生增减,且设备之间的连接关系为发生改变时,虚拟局域网对应的网络拓扑结构不需改变,此时操作类型应为不更新预存网络拓扑结构,将预存网路拓扑结构作为当前网络拓扑结构。
进一步地,步骤S21包括:
步骤a,根据所述数据信息中的操作类型,获取所述虚拟局域网中新增的或缺失的网络设备的设备信息,所述设备信息包括所述网络设备的名称信息、位置信息和在所述虚拟局域网中的连接关系。
当数据信息中的操作类型为更新预存网络拓扑结构时,检测虚拟局域网中在获取数据信息之前及在上次检测虚拟局域网是否存在环路之后新增的或缺失的网络设备,并获取这些网络设备的名称信息,位置信息和这些网络设备在虚拟局域网中的连接关系。
网络设备的名称信息可以是交换机、路由器或PC等,位置信息是新增的或缺失的网络设备在虚拟局域网中的位置,连接关系指的是新增的或缺失的网络设备与虚拟局域网中其他的网络设备之间的连接关系。
步骤b,获取所述网络设备的名称信息对应的单元标识,将所述单元标识依据所述位置信息和所述连接关系补入预存网络拓扑结构或从所述预存网络拓扑结构中删除,以更新所述预存网络拓扑结构,得到所述虚拟局域网的当前网络结构。
单元标识是表示网络设备的符号,同一种网络设备的单元标识相同,不同网络设备的单元标识不同。单元标识与网络设备的名称信息为一一对应存储的关系,当获取到网络设备的名称信息时,按照一一对应存储的关系即可获取名称信息对应的单元标识,以表示网络设备。
依据新增的或缺失的网络设备在虚拟局域网中的位置信息以及与其他网络设备的连接关系,将新增的网络设备的单元标识整合到预存网络拓扑结构中,并建立与预存网络拓扑结构中原有的单元标识的连接,或将缺失的网络设备的单元标识从预存网络拓扑结构中删除,重新建立其他单元标识的连接,以更新预存网络拓扑结构,得到当前虚拟局域网的当前网络拓扑结构。图4可视作预存网络拓扑结构,图5可视作通过更新图4得到的当前网络拓扑结构。
步骤S22,将所述当前网络拓扑结构转化成数据结构。
当获取到当前网络拓扑结构后,按照预设的转化方法,将当前网络拓扑结构转化成数据结构,数据结构可以是图形为无向图的数据结构,也可以是图形为树状的数据结构。可以理解的是,当前网络拓扑结构随着虚拟局域网中设备的改变和设备之间连接关系的改变而改变,那么由当前网络拓扑结构转化,用于检测虚拟局域网中是否存在环路的数据结构也应随着虚拟局域网中设备的改变和设备之间连接关系的改变而改变。
本实施例通过根据数据信息中的操作类型,更新预存网络拓扑结构,得到虚拟局域网的当前网络拓扑结构,再将当前网络拓扑结构转化成数据结构,得到当前网络拓扑结构的数据结构,基于该数据结构确定虚拟局域网是否存在环路,体现了本实施例提供的虚拟局域网环路检测方法的灵活性,适用于设备可随时发生改变、设备与设备之间连接关系可随时发生改变的虚拟局域网。
进一步地,提出本发明虚拟局域网环路检测方法的第三实施例,虚拟局域网环路检测方法的第三实施例与虚拟局域网环路检测方法的第一或第二实施例的区别在于,所述将所述当前网络拓扑结构转化成数据结构的步骤包括:
步骤c,将所述当前网络拓扑结构中的单元标识转化成单元节点,将各个所述单元标识之间的连接关系转化成各个所述单元节点之间的连线关系,以将所述当前网络拓扑结构转化成图形为无向图的数据结构。
当前网络拓扑结构中含有多个单元标识,以及各个单元标识间的连接关系,将所有单元标识转化成统一的单元节点,并为每个单元节点编上序号,按照单元标识间的连接关系,建立单元节点之间的连接,以将当前网络拓扑结构转化成图形为无向图的数据结构。例如图5的无向图数据结构图7。当无向图中存在环形结构,说明该无向图对应的虚拟局域网存在环路,图7中的单元节点1、单元节点2、单元节点3、单元节点4和单元节点5构成了一个环形结构,说明图7对应的虚拟局域网VLAN10存在环路。
需要说明的是,在当前网络拓扑图中,当同一个网络设备属于不同的子网时,将当前网络拓扑结构转化成各个子网的无向图,例如参照图6,图6中的路由器既属于子网VLAN10,又属于子网VLAN20,将图6转化成图形为无向图的数据结构,参见图7和图8,图7为子网VLAN10对应的无向图,图8为子网VLAN20对应的无向图,图7和图8中的单元节点1表示图6中的路由器。
进一步地,步骤S30包括:
步骤d,选取图形为无向图的数据结构中的一个所述单元节点作为起始点,按照所述单元节点的相邻关系从所述起始点依次对相邻每个所述单元节点遍历。
本实施例提供的预设算法为通过遍历无向图判断虚拟局域网是否存在环路的方法,当无向图存在环形结构,那么该无向图对应的虚拟局域网存在环路。从图形为无向图的数据结构中选取一个单元节点作为起始点,按照单元节点的相邻关系从起始点依次对相邻的每个单元节点遍历,例如,对无向图图7进行遍历,选取单元节点1作为起始点,从单元节点1开始遍历,按照相邻关系,可遍历到单元节点2和单元节点5;再按照相邻关系,由单元节点2可遍历到单元节点3,由单元节点5可遍历到单元节点4和单元节点6;继续按照相邻关系,由单元节点3可遍历到单元节点4,由单元节点4可遍历到单元节点3,与单元节点6有相邻关系的只有单元节点5,且已被遍历,所以不需再按照相邻关系对单元节点6的下一个节点继续遍历。
需要说明的是,当虚拟局域网中存在多个子网时,对所有子网的无向图分别遍历,若至少有一幅无向图具有环形结构,则虚拟局域网存在环形结构。
步骤e,若存在重复遍历的所述单元节点,则确定所述虚拟局域网存在环路。
当一幅无向图中的同一个单元节点被重复遍历时,则说明该无向图具有环形结构,确定该无向图对应的虚拟局域网存在环路,例如对图7遍历时,由单元节点3可遍历到单元节点4,由单元节点4可遍历到单元节点3,单元节点3和单元节点4被重复遍历,图7存在环形结构,环形结构为单元节点1—单元节点5—单元节点4—单元节点3—单元节点2—单元节点1,图5对应的虚拟局域网存在环路。
步骤f,若不存在重复遍历的所述单元节点,则确定所述虚拟局域网不存在环路。
当对一幅无向图遍历结束时,每个单元节点未被重复遍历,说明该无向图不具有环形结构,确定该无向图对应的虚拟局域网不存在环路。需要说明的是,若该无向图为虚拟局域网的子网对应数据结构时,还需综合考虑虚拟局域网的其他子网对应的无向图,若其他子网对应的无向图均不具有环形结构,则说明虚拟局域网不存在环路;若其他子网对应的无向图至少有一幅具有环形结构,则说明虚拟局域网存在环路。
本实施例通过将当前网络拓扑结构中的单元标识转化成单元节点,将各个单元标识之间的连接关系转化成各个单元节点之间的连线关系,按照预设算法,对无向图中的每个单元节点遍历,判断无向图中是否存在环形结构,进一步地确定虚拟局域网是否存在环路,这种采取单元标识统一化的方法,使得数据结构有较少的元素,易于快速处理。
进一步地,提出本发明虚拟局域网环路检测方法的第四实施例,虚拟局域网环路检测方法的第四实施例与虚拟局域网环路检测方法的第一、第二或第三实施例的区别在于,所述将所述当前网络拓扑结构转化成数据结构的步骤包括:
步骤g,将所述当前网络拓扑结构中的单元标识转化成一个根节点、多个子节点;
步骤h,按照各个所述单元标识的连接关系,在所述根节点与所述子节点之间、所述子节点与所述子节点之间连线,以将所述当前网络拓扑结构转化成图形为树状的数据结构。
选取当前网络拓扑结构中的一个单元标识作为根节点,其他的单元标识作为子节点,将单元标识对应的根节点和子节点按照当前网络拓扑结构中单元标识的连接关系进行连线,保持根节点与子节点之间,子节点与子节点之间的连线关系不变,将根节点与子节点排列成树状,以将当前网络拓扑结构转化成图形为树状的数据结构,参照图9,图9为图5的树状数据结构,字母A对应的节点为根节点,其他字母对应的节点为子节点。
进一步地,步骤S30包括:
步骤i,计算图形为树状的数据结构中每两条支路的交叉节点个数,所述交叉节点为子节点和/或根节点。
本实施例提供的预设算法为通过判断数据结构中每两条支路的交叉节点的个数,确定虚拟局域网是否存在环路的方法。交叉节点可以是根节点,也可以是子节点。图形为树状的数据结构中支路指的是处在第一层根节点与处在最后一层子节点之间的通路,参照图9,A-B-C为一条支路,A-E-D-C为一条支路。
步骤j,若存在两条支路的交叉节点个数为两个或两个以上,且至少两个所述交叉节点不相邻,则确定所述虚拟局域网存在所述环路;
步骤k,若不存在两条支路的交叉节点个数为两个及两个以上,则确定所述虚拟局域网不存在所述环路。
若树形的数据结构中存在两条支路的交叉节点个数是两个及两个以上,并且至少有两个交叉节点不相邻,可确定该数据结构对应的虚拟局域网存在环路;若树形的数据结构中不存在任意两条支路的交叉节点的个数为两个或者两个以上,可确定该数据结构对应的虚拟局域网不存在环路。
本实施例提供的虚拟局域网环路检测方案可以是实施例三的替换方法,本实施例通过将当前网络拓扑结构转化成树形的数据结构,根据树形的数据结构中是否存在两条支路的交叉节点个数为两个或两个以上,且至少两个所述交叉节点不相邻,确定虚拟局域网是否存在环路,与实施例三提供的虚拟局域网环路检测方法类似的,树形结构中所含元素较少,易于处理。
此外,本发明实施例还提出一种虚拟局域网环路检测装置,所述虚拟局域网环路检测装置包括:
获取模块,用于获取用于虚拟局域网环路检测的数据信息;
转化模块,用于根据所述数据信息,将所述虚拟局域网的当前网络拓扑结构转化成数据结构;
分析模块,用于通过预设算法分析所述数据结构;
确定模块,用于确定所述虚拟局域网中是否存在所述环路。
进一步地,所述转化模块还包括:
更新单元,用于根据所述数据信息中的操作类型,更新预存网络拓扑结构,得到所述虚拟局域网的当前网络拓扑结构;
转化单元,用于将所述当前网络拓扑结构转化成数据结构。
进一步地,所述获取模块还用于根据所述数据信息中的操作类型,获取所述虚拟局域网中新增的和/或缺失的网络设备的设备信息,所述设备信息包括所述网络设备的名称信息、位置信息和在所述虚拟局域网中的连接关系;
所述获取模块还用于获取所述网络设备的名称信息对应的单元标识;
所述更新单元还包括:
补入子单元,用于将所述单元标识依据所述位置信息和所述连接关系补入预存网络拓扑结构;
删除子单元,用于从所述预存网络拓扑结构中删除,以更新所述预存网络拓扑结构,得到所述虚拟局域网的当前网络结构。
进一步地,所述转化单元还用于将所述当前网络拓扑结构中的单元标识转化成单元节点,将各个所述单元标识之间的连接关系转化成各个所述单元节点之间的连线关系,以将所述当前网络拓扑结构转化成图形为无向图的数据结构。
进一步地,所述确定模块还包括;
选取单元,用于选取图形为无向图的数据结构中的一个所述单元节点作为起始点;
遍历单元,用于按照所述单元节点的相邻关系从所述起始点依次对相邻每个所述单元节点遍历;
确定单元,用于若存在重复遍历的所述单元节点,则确定所述虚拟局域网存在环路;若不存在重复遍历的所述单元节点,则确定所述虚拟局域网不存在环路。
进一步地,所述转化单元还用于将所述当前网络拓扑结构中的单元标识转化成一个根节点、多个子节点;
所述转化单元还包括连线子单元,用于按照各个所述单元标识的连接关系,在所述根节点与所述子节点之间、所述子节点与所述子节点之间连线,以将所述当前网络拓扑结构转化成图形为树状的数据结构。
进一步地,所述确定模块还包括:
计算单元,用于计算图形为树状的数据结构中每两条支路的交叉节点个数,所述交叉节点为子节点和/或根节点;
所述确定单元还用于若存在两条支路的交叉节点个数为两个或两个以上,且至少两个所述交叉节点不相邻,则确定所述虚拟局域网存在所述环路;若不存在两条支路的交叉节点个数为两个及两个以上,则确定所述虚拟局域网不存在所述环路。
本发明所述虚拟局域网环路检测装置实施方式与上述虚拟局域网环路检测方法各实施例基本相同,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有虚拟局域网环路检测程序,所述虚拟局域网环路检测程序被处理器执行时实现如上所述的虚拟局域网环路检测方法的各个步骤。
需要说明的是,计算机可读存储介质可设置在虚拟局域网环路检测设备中。
本发明计算机可读存储介质具体实施方式与上述虚拟局域网环路检测方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种虚拟局域网环路检测方法,其特征在于,所述虚拟局域网环路检测方法包括以下步骤:
获取用于虚拟局域网环路检测的数据信息;
根据所述数据信息,将所述虚拟局域网的当前网络拓扑结构转化成数据结构;
通过预设算法分析所述数据结构,确定所述虚拟局域网中是否存在所述环路。
2.如权利要求1所述的虚拟局域网环路检测方法,其特征在于,所述数据信息包括操作类型,所述根据所述数据信息,将所述虚拟局域网的当前网络拓扑结构转化成数据结构的步骤包括:
根据所述数据信息中的操作类型,更新预存网络拓扑结构,得到所述虚拟局域网的当前网络拓扑结构;
将所述当前网络拓扑结构转化成数据结构。
3.如权利要求2所述的虚拟局域网环路检测方法,其特征在于,所述根据所述数据信息中的操作类型,更新预存网络拓扑结构,得到所述虚拟局域网的当前网络拓扑结构的步骤包括:
根据所述数据信息中的操作类型,获取所述虚拟局域网中新增的或缺失的网络设备的设备信息,所述设备信息包括所述网络设备的名称信息、位置信息和在所述虚拟局域网中的连接关系;
获取所述网络设备的名称信息对应的单元标识,将所述单元标识依据所述位置信息和所述连接关系补入预存网络拓扑结构或从所述预存网络拓扑结构中删除,以更新所述预存网络拓扑结构,得到所述虚拟局域网的当前网络结构。
4.如权利要求3所述的虚拟局域网环路检测方法,其特征在于,所述将所述当前网络拓扑结构转化成数据结构的步骤包括:
将所述当前网络拓扑结构中的单元标识转化成单元节点,将各个所述单元标识之间的连接关系转化成各个所述单元节点之间的连线关系,以将所述当前网络拓扑结构转化成图形为无向图的数据结构。
5.如权利要求4所述的虚拟局域网环路检测方法,其特征在于,所述通过预设算法分析所述数据结构,确定所述虚拟局域网中是否存在所述环路的步骤包括:
选取图形为无向图的数据结构中的一个所述单元节点作为起始点,按照所述单元节点的相邻关系从所述起始点依次对相邻每个所述单元节点遍历;
若存在重复遍历的所述单元节点,则确定所述虚拟局域网存在环路;
若不存在重复遍历的所述单元节点,则确定所述虚拟局域网不存在环路。
6.如权利要求3所述的虚拟局域网环路检测方法,其特征在于,所述将所述当前网络拓扑结构转化成数据结构的步骤包括:
将所述当前网络拓扑结构中的单元标识转化成一个根节点、多个子节点;
按照各个所述单元标识的连接关系,在所述根节点与所述子节点之间、所述子节点与所述子节点之间连线,以将所述当前网络拓扑结构转化成图形为树状的数据结构。
7.如权利要求6所述的虚拟局域网环路检测方法,其特征在于,所述通过预设算法分析所述数据结构,确定所述虚拟局域网中是否存在所述环路的步骤包括:
计算图形为树状的数据结构中每两条支路的交叉节点个数,所述交叉节点为子节点和/或根节点;
若存在两条支路的交叉节点个数为两个或两个以上,且至少两个所述交叉节点不相邻,则确定所述虚拟局域网存在所述环路;
若不存在两条支路的交叉节点个数为两个及两个以上,则确定所述虚拟局域网不存在所述环路。
8.一种虚拟局域网环路检测装置,其特征在于,所述虚拟局域网环路检测装置包括:
获取模块,用于获取用于虚拟局域网环路检测的数据信息;
转化模块,用于根据所述数据信息,将所述虚拟局域网的当前网络拓扑结构转化成数据结构;
分析模块,用于通过预设算法分析所述数据结构;
确定模块,用于确定所述虚拟局域网中是否存在所述环路。
9.一种虚拟局域网环路检测设备,其特征在于,所述虚拟局域网环路检测设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的虚拟局域网环路检测程序,所述虚拟局域网环路检测程序被所述处理器执行时实现如权利要求1至7中任一项所述的虚拟局域网环路检测方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有虚拟局域网环路检测程序,所述虚拟局域网环路检测程序被处理器执行时实现如权利要求1至7中任一项所述的虚拟局域网环路检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010122045.1A CN111327504A (zh) | 2020-02-26 | 2020-02-26 | 虚拟局域网环路检测方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010122045.1A CN111327504A (zh) | 2020-02-26 | 2020-02-26 | 虚拟局域网环路检测方法、装置、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111327504A true CN111327504A (zh) | 2020-06-23 |
Family
ID=71168249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010122045.1A Pending CN111327504A (zh) | 2020-02-26 | 2020-02-26 | 虚拟局域网环路检测方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111327504A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112235878A (zh) * | 2020-09-28 | 2021-01-15 | 北京和峰科技有限公司 | 混合自组网管理方法、装置、可读存储介质及电子设备 |
CN115378816A (zh) * | 2022-08-02 | 2022-11-22 | 深信服科技股份有限公司 | 网络配置检测方法、装置及存储介质 |
CN115913705A (zh) * | 2022-11-14 | 2023-04-04 | 百润红科技有限公司 | 一种多维数据驱动的网络数据安全分析方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7463597B1 (en) * | 2004-08-27 | 2008-12-09 | Juniper Networks, Inc. | Spanning tree protocol synchronization within virtual private networks |
CN101432721A (zh) * | 2006-05-01 | 2009-05-13 | 思科技术公司 | 桥接网络中的潜在转发环路的检测 |
CN102204188A (zh) * | 2011-05-25 | 2011-09-28 | 华为技术有限公司 | 虚拟网络单元中的路由计算方法和主节点设备 |
CN105721297A (zh) * | 2016-01-28 | 2016-06-29 | 北京国电通网络技术有限公司 | 基于sdn网络中路由环路的检测方法及系统 |
CN107689628A (zh) * | 2017-09-06 | 2018-02-13 | 全球能源互联网研究院有限公司 | 一种电网环路检测方法 |
CN108599970A (zh) * | 2017-03-17 | 2018-09-28 | 中国移动通信集团贵州有限公司 | 无向环网的识别方法、装置和系统 |
CN109495309A (zh) * | 2018-11-27 | 2019-03-19 | 广东电网有限责任公司信息中心 | 云平台虚拟网络状态的智能检测方法和装置 |
-
2020
- 2020-02-26 CN CN202010122045.1A patent/CN111327504A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7463597B1 (en) * | 2004-08-27 | 2008-12-09 | Juniper Networks, Inc. | Spanning tree protocol synchronization within virtual private networks |
CN101432721A (zh) * | 2006-05-01 | 2009-05-13 | 思科技术公司 | 桥接网络中的潜在转发环路的检测 |
CN102204188A (zh) * | 2011-05-25 | 2011-09-28 | 华为技术有限公司 | 虚拟网络单元中的路由计算方法和主节点设备 |
CN105721297A (zh) * | 2016-01-28 | 2016-06-29 | 北京国电通网络技术有限公司 | 基于sdn网络中路由环路的检测方法及系统 |
CN108599970A (zh) * | 2017-03-17 | 2018-09-28 | 中国移动通信集团贵州有限公司 | 无向环网的识别方法、装置和系统 |
CN107689628A (zh) * | 2017-09-06 | 2018-02-13 | 全球能源互联网研究院有限公司 | 一种电网环路检测方法 |
CN109495309A (zh) * | 2018-11-27 | 2019-03-19 | 广东电网有限责任公司信息中心 | 云平台虚拟网络状态的智能检测方法和装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112235878A (zh) * | 2020-09-28 | 2021-01-15 | 北京和峰科技有限公司 | 混合自组网管理方法、装置、可读存储介质及电子设备 |
CN112235878B (zh) * | 2020-09-28 | 2023-11-07 | 北京和峰科技有限公司 | 混合自组网管理方法、装置、可读存储介质及电子设备 |
CN115378816A (zh) * | 2022-08-02 | 2022-11-22 | 深信服科技股份有限公司 | 网络配置检测方法、装置及存储介质 |
CN115378816B (zh) * | 2022-08-02 | 2024-02-23 | 深信服科技股份有限公司 | 网络配置检测方法、装置及存储介质 |
CN115913705A (zh) * | 2022-11-14 | 2023-04-04 | 百润红科技有限公司 | 一种多维数据驱动的网络数据安全分析方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111327504A (zh) | 虚拟局域网环路检测方法、装置、设备及可读存储介质 | |
CN107204867B (zh) | 一种信息传输方法、装置和系统 | |
CN110635933B (zh) | 用于管理sdn的网络的装置、控制方法及记录介质 | |
US20190044755A1 (en) | Network system, control apparatus, method and program for building virtual network function | |
CN110247851B (zh) | 三层交换机中的信息更新方法、装置、三层交换机及介质 | |
CN113542128B (zh) | 一种发送路由信息的方法和装置 | |
CN113765808A (zh) | 一种网络路由方法、系统、装置及电子设备 | |
CN111130902B (zh) | 交换机管理方法、装置及存储介质 | |
CN108039968B (zh) | 网络优化方法、设备及计算机可读存储介质 | |
US20150381446A1 (en) | Detecting and Measuring Network Route Reconvergence Using In-Band Data Probes | |
CN110430116A (zh) | 数据转发方法及装置、边缘设备及可读存储介质 | |
CN108173617B (zh) | 一种全网时钟拓扑及时钟路径获取方法 | |
WO2021238741A1 (zh) | 报文转发方法、系统、设备、节点设备和存储介质 | |
US10069715B2 (en) | Method for deploying resource in cloud computing environment | |
US20160294465A1 (en) | Information collection system, relay terminal, control method for relay terminal to connect to center system, sensor terminal, and control method for sensor terminal to connect to center system | |
CN105262686B (zh) | 一种网络连通性验证方法和装置 | |
US10397095B2 (en) | Detecting and mitigating loops | |
CN113595900B (zh) | 路由控制方法、装置、系统以及边界网关协议对等体 | |
CN109831378B (zh) | 一种报文超时回应方法及装置 | |
CN109951871B (zh) | 节点冲突的检测方法、装置、终端及存储介质 | |
CN107241236B (zh) | 转发信息库表项检测方法、检测设备及网络设备 | |
CN111193805B (zh) | 一种资源发现的方法及装置 | |
US10277468B2 (en) | Method and system for determining reachability between one or more nodes in a graph | |
WO2020119824A1 (zh) | 设备控制方法、装置、控制节点、网络设备、数据中心 | |
CN111866845A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200623 |