一种网络拓扑图生成方法与流程

文档序号:34599247发布日期:2023-06-28 22:32阅读:108来源:国知局
一种网络拓扑图生成方法与流程

本公开实施例涉及通信,尤其涉及一种网络拓扑图生成方法。


背景技术:

1、网络设备管理软件是较多是基于snmp、tr069等标准网管协议实现,用于在后端远程维护工作在二层或三层的网络通信设备,其中通过标准链路层发现协议lldp可完成相邻交换机之间连接关系的获取,形成一个较直观的网络拓扑图方便查看和快速定位设备,但是对工作在三层的设备需要增强其设备发现的能力,一个优秀的网管软件需要准确并完整地体现出网络中所有被管设备的拓扑图和节点信息。

2、可见,亟需一种自动化且精准度高的网络拓扑图生成方法。


技术实现思路

1、有鉴于此,本公开实施例提供一种网络拓扑图生成方法,至少部分解决现有技术中存在生成自动化和精准度较差的问题。

2、本公开实施例提供了一种网络拓扑图生成方法,包括:

3、步骤1,定义网络拓扑的边界范围;

4、步骤2,设定网络拓扑边界内的设备的基本配置需求;

5、步骤3,当目标网络满足边界范围和基本配置需求时,获取目标网络中各设备间的连接关系信息并存储;

6、步骤4,设定设备相邻关系的发现能力规则;

7、步骤5,根据连接关系信息、发现能力规则和预设的上下联判断规则确定各设备在拓扑中的上下联关系;

8、步骤6,结合上下联关系计算设备在拓扑中的顶层节点,生成网络拓扑图;

9、所述步骤6具体包括:

10、步骤6.1,监听或主动获取设备网管报文中的预设协议数据,然后从内存数据库中将设备上一次报文数据取出与当前的数据报文进行比较,如果相同则不触发所在网络的拓扑图变更,否则将当前报文存储在内存数据库中准备后续流程的执行;

11、步骤6.2,使用当前触发拓扑变更的设备作为发现拓扑的入口,根据连接关系递归遍历入口的链路上所有可探测到的设备的节点,然后计算该节点与相邻节点之间的上下级关系;

12、步骤6.3,通过节点的设备型号信息获知对应的设备类型,计算拓扑图的终端,或者,通过后台服务器中的型号对照信息表匹配拓扑图的终端;

13、步骤6.4,通过节点的设备mac信息获知对应的设备序列号,要求可探测的链路的所有设备的mac地址都是唯一的;

14、步骤6.5,通过上述步骤计算相邻设备间的上下级关系,计算过程中自动将设备被选举为某个相邻设备的下级的次数增加一次,初始值是0,以上步骤还会给各个设备记录自身与相邻上级的对照关系表,同时,记录各个设备的基本信息与预设协议信息;

15、步骤6.6,在网络拓扑边界范围内所有被发现的设备中,相互对比计算出最少的出被选举为下级的次数,该次数对应的设备会被判定为顶层设备,网络拓扑中允许发现多个顶层设备;

16、步骤6.7,依次从各个顶层设备开始,根据前面记录的与相邻上级的对照关系表,递归查找自身所有下联的设备并形成一个拓扑链路图;

17、步骤6.8,从某个顶层设备开始计算拓扑链路图的过程中,顶层设备的层次是1,递归发现下一级设备时层次加一,当某台设备存在了多个上级时,只取本次计算过程中大的层次结果值;

18、步骤6.9,从不同的顶层设备开始计算的拓扑链路图中,将设备所在各个拓扑链路结果中的层次值进行对比,只取小的层次结果值作为设备在当前网络拓扑中的实际层次结果;

19、步骤6.10,当设备相邻关系为极个别不能准确计算出顶层设备的网络拓扑时,临时选举一个顶层节点用来生成拓扑链路图,同时在拓扑链路图中记录一个特殊的标记,使用此拓扑链路图的应用可根据有无此标记对用户进行提醒或警告,要求手动确认至少一个顶层设备;

20、步骤6.11,根据计算过程执行完以上步骤,网络拓扑中的链路、节点、层次、顶层设备都已经自动生成完成,形成网络拓扑图。

21、根据本公开实施例的一种具体实现方式,所述边界范围包括上联设备中的起始节点为至少存在一个的可探测到的顶层的出口设备、下联设备中的末端节点为无其它下联设备的网络通信设备。

22、根据本公开实施例的一种具体实现方式,所述基本配置需求包括:

23、网络拓扑边界内的设备为工作在二层或三层的网络通信设备;

24、网络拓扑边界内的网络设备需至少支持一种相邻节点探测结果主动或被动方式上报的接口;

25、网络拓扑边界内没有mac冲突的情况;

26、网络拓扑边界内的设备能够向提供节点汇总和拓扑计算服务的终端发起网络请求;

27、设备支持发现相邻节点信息的功能。

28、根据本公开实施例的一种具体实现方式,所述获取目标网络中各设备间的连接关系信息的步骤,包括:

29、使用tr069网管系统报文交互的方式获取设备的相邻关系连接信息,其中,所述相邻关系连接信息包括本端设备的接口标识、mac地址、型号和接口ip地址,以及,对端一至多个设备的接口标识、mac地址、型号、设备类型、接口ip地址和vlan号。

30、根据本公开实施例的一种具体实现方式,所述发现能力规则包括:

31、设备满足基本配置需求;

32、当拓扑中的设备都支持预设协议时,其在自身所在的某一条链路中只会发现离自己最近的一台设备;

33、当多个支持预设协议的设备之间通过一个或多个不支持预设协议的交换机间接相连时,多个支持预设协议的设备之间可互相发现并交换信息,中间交换机只能被识别成一个未知信息的交换机设备节点;

34、当支持预设协议的设备直连到对端不支持预设协议的路由器的wan口时,对端路由器的lan口下连接的设备与支持预设协议的设备之间不能相互发现和交换信息;

35、当支持预设协议的设备直连到对端不支持预设协议的路由器的lan口时,支持预设协议的设备只能和对端路由器的lan口下各条链路中的离其最近的一层支持预设协议的设备之间互相发现和交换信息,直连的路由器只能被识别成一个未知信息的路由器设备节点;

36、当支持预设协议的设备直连到对端支持预设协议的交换机时,双方能互相发现和交换协议信息,且在当前链路中不会与其它的设备相互发现和交换协议信息;

37、当支持预设协议的设备直连到对端支持预设协议的路由器的wan口时,双方能互相发现和交换协议信息,但与对端路由器的lan口下所有链路中的设备之间不能相互发现和交换协议信息;

38、当支持预设协议的设备直连到对端支持预设协议的路由器的lan口时,双方能互相发现和交换协议信息,支持预设协议的设备也能和lan口下各条链路中离其最近的一层支持预设协议的设备之间互相发现和交换协议信息。

39、根据本公开实施例的一种具体实现方式,所述上下联判断规则包括:

40、当设备双方的协议报文数据中都有对方设备的节点信息时,判定双方有连接关系;

41、连接关系包括直连和间接连接两种方式,其中,直连表示两个设备的链路中间无任何其它设备,间接连接包括通过链路中间不支持预设协议的交换机串联和通过中间任意路由器设备的lan口串联;

42、间接连接的设备都会在自己的接入间接连接的链路的端口下发现一至n个邻居,其中,n为正整数;

43、判定为无连接关系的设备连接情况包括路由器间用lan和lan口直连、ap间使用lan和lan口直连、路由器和ap间使用lan和lan口直连、路由器间用wan和wan口直连、ap间使用wan和wan口直连、路由器和ap间使用wan和wan口直连;

44、当前路由器b的wan口与路由器a的lan口直连,a为b的上级;

45、当前路由器b的wan口与路由器a的lan口通过不支持预设协议的交换机间接相连,a为b的上级;

46、当前路由器b的wan口与ap设备的lan口直连,a为b的上级;

47、当前路由器b的wan口与交换机a直连,a为b的上级;

48、当前路由器b的wan口与交换机a通过不支持预设协议的交换机间接相连,a为b的上级;

49、当前路由器b的wan口与对端路由器a连接,且a的lan口下连接了多台设备的情况判定结果:a为b的上级;a的lan口下直连了交换机c,a为c的上级;a的lan口下通过不支持预设协议的交换机间接连接了路由器d,a为d的上级,则a为b、c、d的上级设备,a、b、c、d互为对方的邻居,e不在处理范围内;

50、当前路由器b、交换机c、路由器d、交换机e通过不支持预设协议的路由器设备间接连接时,b、c、d、e之间不判断上下级关系,但互为对方的邻居;

51、当前路由器b、交换机c、路由器d、交换机e通过不支持预设协议的交换机设备实现间接连接时,b、c、d、e之间不判断下级关系,但互为对方的邻居;

52、当前交换机b与交换机a直连,b未与其它设备连接时,a为b的上级;

53、当前交换机b与交换机a通过路由器设备d的lan口间接连接,交换机c通过中间不支持预设协议的交换机与d的lan口间接连接,则d为a、b、c的上级;

54、当前交换机b与交换机a通过不支持预设协议的路由器d的lan口间接相连,交换机c通过中间不支持预设协议的交换机与d的lan口连接,a、b、c不判断上下级关系且a、b、c互为邻居;

55、当前交换机b与交换机a通过不支持预设协议的交换机d的lan口间接相连,交换机c通过中间不支持预设协议的交换机与d间接连接,a、b、c不判断上下级关系且a、b、c互为邻居;

56、当前交换机b与交换机设备d直连,交换机a通过中间不支持预设协议的交换机与d间接连接,交换机c通过中间不支持预设协议的交换机与d间接连接, a、b、c之间无相邻关系;

57、当a、b、c中至少有一台与路由器相连,则综合路由器部分的规则计算,获取到与其它路由器相邻设备间的上下级关系;

58、当a、b、c都没有连接到其它的路由器时,在a、b、c中根据设备型号找到三层核心交换机,如果是则作为另外两台交换机的上级,如果上一步未完成则继续在a、b、c相邻的其它设备中根据设备型号找到三层核心交换机,如果是则核心交换机为与其相邻设备发某个设备的上级,其它情况下,不计算a、b、c的层次;

59、当前交换机b与交换机a之间有两个端口都是直连时,读取网管系统中该两台交换机的lacp配置,判断是否属于链路聚合,如果是则判定为有效的相邻关系,否则不进行处理。

60、本公开实施例中的网络拓扑图生成方案,包括:步骤1,定义网络拓扑的边界范围;步骤2,设定网络拓扑边界内的设备的基本配置需求;步骤3,当目标网络满足边界范围和基本配置需求时,获取目标网络中各设备间的连接关系信息并存储;步骤4,设定设备相邻关系的发现能力规则;步骤5,根据连接关系信息、发现能力规则和预设的上下联判断规则确定各设备在拓扑中的上下联关系;步骤6,结合上下联关系计算设备在拓扑中的顶层节点,生成网络拓扑图;所述步骤6具体包括:步骤6.1,监听或主动获取设备网管报文中的预设协议数据,然后从内存数据库中将设备上一次报文数据取出与当前的数据报文进行比较,如果相同则不触发所在网络的拓扑图变更,否则将当前报文存储在内存数据库中准备后续流程的执行;步骤6.2,使用当前触发拓扑变更的设备作为发现拓扑的入口,根据连接关系递归遍历入口的链路上所有可探测到的设备的节点,然后计算该节点与相邻节点之间的上下级关系;步骤6.3,通过节点的设备型号信息获知对应的设备类型,计算拓扑图的终端,或者,通过后台服务器中的型号对照信息表匹配拓扑图的终端;步骤6.4,通过节点的设备mac信息获知对应的设备序列号,要求可探测的链路的所有设备的mac地址都是唯一的;步骤6.5,通过上述步骤计算相邻设备间的上下级关系,计算过程中自动将设备被选举为某个相邻设备的下级的次数增加一次,初始值是0,以上步骤还会给各个设备记录自身与相邻上级的对照关系表,同时,记录各个设备的基本信息与预设协议信息;步骤6.6,在网络拓扑边界范围内所有被发现的设备中,相互对比计算出最少的出被选举为下级的次数,该次数对应的设备会被判定为顶层设备,网络拓扑中允许发现多个顶层设备;步骤6.7,依次从各个顶层设备开始,根据前面记录的与相邻上级的对照关系表,递归查找自身所有下联的设备并形成一个拓扑链路图;步骤6.8,从某个顶层设备开始计算拓扑链路图的过程中,顶层设备的层次是1,递归发现下一级设备时层次加一,当某台设备存在了多个上级时,只取本次计算过程中大的层次结果值;步骤6.9,从不同的顶层设备开始计算的拓扑链路图中,将设备所在各个拓扑链路结果中的层次值进行对比,只取小的层次结果值作为设备在当前网络拓扑中的实际层次结果;步骤6.10,当设备相邻关系为极个别不能准确计算出顶层设备的网络拓扑时,临时选举一个顶层节点用来生成拓扑链路图,同时在拓扑链路图中记录一个特殊的标记,使用此拓扑链路图的应用可根据有无此标记对用户进行提醒或警告,要求手动确认至少一个顶层设备;步骤6.11,根据计算过程执行完以上步骤,网络拓扑中的链路、节点、层次、顶层设备都已经自动生成完成,形成网络拓扑图。

61、本公开实施例的有益效果为:通过本公开的方案,利用预设协议实现网络设备间互相发现并生成网络拓扑链路后的层次计算和根节点自选举的算法,根据设备类型、产品型号、连接关系、物理端口特点等条件综合起来计算出拓扑图中的实际出口设备的节点和各个设备在网络中的层级,提高了生成精准度和自动化能力。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1