一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

网络拓扑发现方法、装置及电子设备与流程

2022-06-01 11:13:32 来源:中国专利 TAG:


1.本技术涉及通信技术领域,尤其涉及一种网络拓扑发现方法、装置及电子设备。


背景技术:

2.网络拓扑(network topology)是指用传输介质互连各种设备的物理布局,其反映了网络中各个网络设备之间的连接关系。网络拓扑发现则是为了获取和维护各个网络设备的存在信息及它们之间的连接关系信息,以便网络管理人员能够在此基础上进行网络故障定位等。
3.目前常见的网络拓扑发现方式是,利用链路层发现协议(link layer discovery protocol,lldp)获取对端设备的名称和端口信息,基于此完成拓扑信息的记录和关联,最终获得网络拓扑;或者,利用各个网络设备的路由信息、端口的互联网协议(internet protocol,ip)地址等信息确定端口所属的网段,建立同一网段的端口之间的连接关系,由此获得网络拓扑。
4.然而,前一种方式需要对网络设备配置lldp相关参数以开启lldp功能,这不仅会增加网络管理人员的工作量,还会增加网络设备的配置复杂度和运行负荷。后一种方式只适用于三层互联的网络,对于诸如二层互联的网络等,则不能准确发现网络设备之间的连接关系,从而影响网络拓扑的准确率。


技术实现要素:

5.本技术实施例提供一种网络拓扑发现方法、装置及电子设备,以至少解决现有的网络拓扑发现方法存在的准确率低、增加网络设备的配置复杂度和运行负荷的问题。
6.为了解决上述技术问题,本技术实施例采用下述技术方案:
7.第一方面,本技术实施例提供一种网络拓扑发现方法,包括:。
8.获取目标网络中的多个网络设备的公网端口信息以及开启链路汇聚控制协议lacp的目标网络设备的lacp信息,其中,所述lacp信息包括端口聚合组的本端系统参数及对端系统参数、端口聚合组中成员端口的端口号及对端端口信息;
9.基于所述多个网络设备的公网端口信息进行网络拓扑发现,以获得第一网络拓扑信息,所述第一网络拓扑信息用于指示所述目标网络中的网络设备间的连接关系;
10.基于所述目标网络中的所述目标网络设备的lacp信息进行网络拓扑发现,以获得第二网络拓扑信息,所述第二网络拓扑信息用于指示所述目标网络中的目标网络设备间的连接关系;
11.基于所述第一网络拓扑信息和所述第二网络拓扑信息,确定所述目标网络的网络拓扑。
12.可选地,基于所述目标网络中的所述目标网络设备的lacp信息进行网络拓扑发现,以获得第二网络拓扑信息,包括:
13.基于所述目标网络中的所述目标网络设备的端口聚合组的本端系统参数及对端
系统参数,确定所述目标网络中的关联目标网络设备组,其中,所述关联目标网络设备组中任一目标网络设备的端口聚合组的本端系统参数与另一个目标网络设备的端口聚合组的对端系统参数相同;
14.对于每一目标网络设备,基于所述对端端口信息,确定所述成员端口的对端端口的端口号;
15.基于所述关联目标网络设备组中各目标网络设备的端口聚合组中成员端口的端口号及所述成员端口的对端端口的端口号,建立各目标网络设备的端口聚合中成员端口之间的连接关系,以获得所述第二网络拓扑信息。
16.可选地,所述对端端口信息包括对端端口的端口标识号及优先级;
17.基于所述对端端口信息,确定所述成员端口的对端端口的端口号,包括:
18.对于所述对端端口的端口标识号及优先级,确定所述对端端口对应的候选号码;
19.将所述候选号码转化成二进制数;
20.基于与所述候选号码匹配的分割策略将所述二进制数进行分段;
21.基于所述二进制数的分段结果,确定所述对端端口的端口号。
22.可选地,对于所述对端端口的端口标识号与优先级之间的差值,确定所述对端端口对应的候选号码,包括:
23.在所述对端端口的端口标识号大于或等于所述对端端口的优先级时,将所述端口标识号与所述优先级之间的差值确定为所述对端端口对应的候选号码;
24.在所述对端端口的端口标识号小于所述对端端口的优先级时,将所述端口标识号确定为所述对端端口对应的候选号码。
25.可选地,所述公网端口信息包括公网端口的网际协议ip地址及掩码信息;
26.基于所述多个网络设备的公网端口信息进行网络拓扑发现,以获得第一网络拓扑信息,包括:
27.对于所述目标网络中的每一网络设备,基于所述网络设备的公网端口的ip地址及掩码信息,确定所述网络设备的公网端口归属的ip子网;
28.基于所述目标网络中各网络设备的公网端口归属的ip子网,建立各网络设备的公网端口之间的连接关系,以获得所述第一网络拓扑信息,其中,具有连接关系的网络设备的公网端口归属的ip子网相同。
29.可选地,在基于所述第一网络拓扑信息和所述第二网络拓扑信息,确定所述目标网络的网络拓扑之后,所述方法还包括:
30.基于所述目标网络的网络拓扑,输出拓扑关系记录表并存储,其中,所述拓扑关系记录包括以下记录表中的一者或多者的组合:用于指示所述目标网络的接入层与汇聚层中的网络设备的连接关系的第一记录表、用于指示所述汇聚层与所述目标网络的业务控制层中的网络设备的连接关系的第二记录表以及用于指示所述业务控制层与所述目标网络的核心层中的网络设备的连接关系的第三记录表。
31.第二方面,本技术实施例提供一种网络拓扑发现装置,包括:
32.获取模块,用于获取目标网络中的多个网络设备的公网端口信息以及开启链路汇聚控制协议lacp的目标网络设备的lacp信息,其中,所述lacp信息包括端口聚合组的本端系统参数及对端系统参数、端口聚合组中成员端口的端口号及对端端口信息;
33.第一拓扑发现模块,用于基于所述多个网络设备的公网端口信息进行网络拓扑发现,以获得第一网络拓扑信息,所述第一网络拓扑信息用于指示所述目标网络中的网络设备间的连接关系;
34.第二拓扑发现模块,用于基于所述目标网络中的所述目标网络设备的lacp信息进行网络拓扑发现,以获得第二网络拓扑信息,所述第二网络拓扑信息用于指示所述目标网络中的目标网络设备间的连接关系;
35.网络拓扑确定模块,用于基于所述第一网络拓扑信息和所述第二网络拓扑信息,确定所述目标网络的网络拓扑。
36.可选地,所述第二拓扑发现模块具体用于:
37.基于所述目标网络中的所述目标网络设备的端口聚合组的本端系统参数及对端系统参数,确定所述目标网络中的关联目标网络设备组,其中,所述关联目标网络设备组中任一目标网络设备的端口聚合组的本端系统参数与另一个目标网络设备的端口聚合组的对端系统参数相同;
38.对于每一目标网络设备,基于所述对端端口信息,确定所述成员端口的对端端口的端口号;
39.基于所述关联目标网络设备组中各目标网络设备的端口聚合组中成员端口的端口号及所述成员端口的对端端口的端口号,建立各目标网络设备的端口聚合中成员端口之间的连接关系,以获得所述第二网络拓扑信息。
40.可选地,所述对端端口信息包括对端端口的端口标识号及优先级;
41.所述第二拓扑发现模块基于以下方式确定所述成员端口的对端端口的端口号:
42.对于所述对端端口的端口标识号及优先级,确定所述对端端口对应的候选号码;
43.将所述候选号码转化成二进制数;
44.基于与所述候选号码匹配的分割策略将所述二进制数进行分段;
45.基于所述二进制数的分段结果,确定所述对端端口的端口号。
46.可选地,所述第二拓扑发现模块基于以下方式确定所述对端端口对应的候选号码:
47.在所述对端端口的端口标识号大于或等于所述对端端口的优先级时,将所述端口标识号与所述优先级之间的差值确定为所述对端端口对应的候选号码;
48.在所述对端端口的端口标识号小于所述对端端口的优先级时,将所述端口标识号确定为所述对端端口对应的候选号码。
49.可选地,所述公网端口信息包括公网端口的网际协议ip地址及掩码信息;
50.所述第一拓扑发现模块具体用于:
51.对于所述目标网络中的每一网络设备,基于所述网络设备的公网端口的ip地址及掩码信息,确定所述网络设备的公网端口归属的ip子网;
52.基于所述目标网络中各网络设备的公网端口归属的ip子网,建立各网络设备的公网端口之间的连接关系,以获得所述第一网络拓扑信息,其中,具有连接关系的网络设备的公网端口归属的ip子网相同。
53.可选地,所述装置还包括:
54.存储模块,用于基于所述目标网络的网络拓扑,输出拓扑关系记录表并存储,其
中,所述拓扑关系记录包括以下记录表中的一者或多者的组合:用于指示所述目标网络的接入层与汇聚层中的网络设备的连接关系的第一记录表、用于指示所述汇聚层与所述目标网络的业务控制层中的网络设备的连接关系的第二记录表以及用于指示所述业务控制层与所述目标网络的核心层中的网络设备的连接关系的第三记录表;
55.所述网络拓扑确定模块,还用于在基于所述第一网络拓扑信息和所述第二网络拓扑信息,确定所述目标网络的网络拓扑之后,触发所述存储模块。
56.第三方面,本技术实施例提供一种电子设备,其特征在于,包括:
57.处理器;
58.用于存储所述处理器可执行指令的存储器;
59.其中,所述处理器被配置为执行所述指令,以实现如第一方面所述的方法。
60.第四方面,本技术实施例提供一种计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面所述的方法。
61.本技术实施例采用的上述至少一个技术方案能够达到以下有益效果:
62.将基于ip地址信息的三层网络发现方式和基于lacp的二层网络发现方式相结合,基于两种方式各自发现的、用于反映网络设备间的连接关系的网络拓扑信息,由于第一网络拓扑信息和第二网络拓扑信息分别反映了网络中不同网络设备之间的连接关系,通过这两种网络拓扑信息进行整合和分析,利用两种网络拓扑信息相互补充,可以准确、全面获得网络的网络拓扑。并且,相较于现有的基于lldp的网络拓扑发现方式,无需对网络设备进行lldp相关参数的配置,因而不会增加网络设备的配置复杂度和运行负荷,也不会增加网络管理人员的工作量。
附图说明
63.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
64.图1为本技术实施例提供的一种目标网络的组网结构示意图;
65.图2为本技术实施例提供的一种网络拓扑发现方法的流程图;
66.图3为本技术实施例提供的另一种网络拓扑发现方法的流程图;
67.图4为本技术实施例提供的又一种网络拓扑发现方法的流程图;
68.图5为本技术实施例提供的一种电子设备的结构示意图;
69.图6为本技术实施例提供的一种网络拓扑发现装置的结构示意图。
具体实施方式
70.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
71.目前常见的一种网络拓扑发现方式是,利用lldp获取对端设备的名称和端口信息,基于此完成拓扑信息的记录和关联,最终获得网络拓扑。在基于lldp的网络拓扑发现过程中,需要网络设备开启lldp功能,但在实际网络环境中,往往有些网络设备并不支持
lldp,这就需要网络管理人员手动对网络设备配置相关参数,这样,不仅会增加网络管理人员的工作量,还会增加网络设备的配置复杂度和运行负荷。
72.常见的另一种网络拓扑发现方式则是,利用三层ip信息进行网络拓扑发现,即利用各个网络设备的路由信息、端口ip地址等确定端口所属的网段,建立同一网段的端口之间的连接关系,由此获得网络拓扑。由于三层ip信息仅适用于三层互联的网络,而对于二层互联的网络,由于二层互联网络的网络设备不配置ip地址,因而无法准确发现网络设备之间的连接关系,从而影响网络拓扑的准确率。
73.例如,图1示出了一种目标网络的组网结构,该目标网络包括汇聚层、业务控制层以及核心层。其中,汇聚层与接入网中的光线路终端(optical line terminal,olt)连接,汇聚层中的网络设备包括交换机(switch,sw);业务控制层中的网络设备包括宽带网络网关(broadband network gateway,bng)、全业务路由器(service router,sr)以及宽带远程接入服务器(broadband remote access server,bras);核心层接入公网,核心层中的网络设备包括核心(core router,cr)。对于该目标网络而言,由于目标网络的汇聚层与业务控制层之间,甚至接入层的部分olt与目标网络的网段之间属于二层网络互联,因而这些网络层的网络设备之间并未配置ip地址,因而基于三层ip信息无法准确发现网络设备之间的连接关系,从而影响网络拓扑的准确率。
74.针对上述问题,本技术实施例提供一种网络拓扑发现方法、装置及电子设备,将基于ip地址信息的三层网络发现方式和基于链路汇聚控制协议(link aggregation control protocol,lacp)的二层网络发现方式相结合,基于两种方式各自发现的、用于反映网络设备间的连接关系的网络拓扑信息,确定网络的网络拓扑,以在不增加网络设备的配置复杂度和运行负荷的情况下,获得准确、全面的网络拓扑信息,克服单独采用基于ip地址信息的三层网络发现方法的准确率低的问题。
75.以下结合附图,详细说明本技术各实施例提供的技术方案。
76.请参考图2,图2为本技术实施例提供的一种网络拓扑发现方法的流程图。如图2所示,该方法包括:
77.s202,获取目标网络中的多个网络设备的公网端口信息以及开启lacp的目标网络设备的lacp信息,所述lacp信息包括端口聚合组的本端系统参数及对端系统参数、成员端口的端口号及对端端口信息。
78.其中,网络设备的公网端口信息是指用于标识网络设备的公网端口的信息,网络设备的公网端口信息具体可以包括但不限于网络设备的公网端口号、ip地址等、掩码信息等。
79.lacp是一种基于ieee802.3ad标准的协议,该协议通过链路聚合控制协议数据单元(link aggregation control protocol data unit,lacpdu)与对端交互信息。利用lacp聚合的双方(称为本端actor和对端partner)通过lacpdu的协议报文来交互聚合信息,以对整个链路聚合的认识达成一致。针对该协议,目标网络设备的lacp信息即为目标网络设备向对端传输的lacp报文数据,其中包含有本端(即自身)的端口聚合组的相关参数(如系统参数systemid、端口聚合组中各成员端口的优先级portpri、标识号portno及端口号等)以及对端端口的相关参数(如对端端口的优先级、标识号等)。其中,端口聚合组是指由一组物理端口捆绑在一起而形成的有一个逻辑端口,其可以增加带宽,又可称为多端口负载均衡
组(load sharing group)或者链路聚合组(link aggregation group),组成端口聚合组的物理接口则称为成员接口,与成员端口对应的端口即为对端端口。
80.进一步地,考虑到同一类网络设备可能由不同的生产商生产,因而获取到的同一类网络设备的公网端口信息及lacp信息的格式可能存在差异,基于此,在获取到上述网络中的网络设备的公网端口信息后,可对这些公网端口信息进行格式转换,以统一成一种格式的公网端口信息,以便后续基于统一格式的公网端口信息进行网络拓扑发现。同样地,在获取到上述网络中的目标网络设备的lacp信息后,可对这些lacp信息进行格式转换,以统一成一种格式的lacp信息,以便后续基于统一格式的lacp信息进行网络拓扑发现。
81.进一步地,为了方便网络管理人员随时查看上述信息,在通过上述步骤s202获取到上述信息后,还可以对上述信息进行存储。具体来说,可以采用数据库、excel文件等形式对上述信息进行存储。
82.更为具体地,可以采用不同的表格对上述信息分类存储。例如,以图1所示的目标网络为例,可采用不同的表格分别对该目标网络中不同的网络设备进行存储并按照网络设备所属的不同生产商进行分类。
83.s204,基于目标网络中的多个网络设备的公网端口信息进行拓扑发现,以获得第一网络拓扑信息。
84.其中,第一网络拓扑信息用于指示目标网络中的网络设备间的连接关系。
85.由于网络设备的公网端口信息反映了网络设备的公网端口所属的网段,而目标网络中的网络设备的公网端口所属的网段在一定程度上能够反映出一部分网络设备之间的连接关系,并且考虑到网络中的大部分网络设备之间是基于三层网络互联的,例如图1所示的目标网络的汇聚层中的网络设备与核心层中的网络设备,这些网络设备通常都配置有公网端口号、ip地址等公网端口信息,因此,可通过网络设备的公网端口信息进行网络拓扑发现,得到能够反映该目标网络中一部分网络设备间的连接关系的第一网络拓扑信息。
86.s206,基于目标网络中的目标网络设备的lacp信息进行网络拓扑发现,以获得第二网络拓扑信息。
87.其中,第二网络拓扑信息用于指示目标网络中的目标网络设备间的连接关系。
88.考虑到网络中,尤其如图1所示的目标网络中,汇聚层中的网络设备与业务控制层中的网络设备,以及接入网中的网络设备与汇聚层中的网络设备之间,通常是属于二层网络互联,而网络设备的lacp信息在一定程度上可以反映这种二层网络互联关系,因此,可以通过开启lacp的目标网络设备的lacp信息进行网络拓扑发现,以获得能够反映网络中的目标网络设备间的连接关系的第二网络拓扑信息。
89.s208,基于第一网络拓扑信息和第二网络拓扑信息,确定目标网络的网络拓扑。
90.由于第一网络拓扑信息和第二网络拓扑信息分别反映了目标网络中不同网络设备之间的连接关系,通过这两种网络拓扑信息进行整合和分析,利用两种网络拓扑信息相互补充,可以准确、全面获得目标网络的网络拓扑。并且,相较于现有的基于lldp的网络拓扑发现方式,无需对网络设备进行lldp相关参数的配置,因而不会增加网络设备的配置复杂度和运行负荷,也不会增加网络管理人员的工作量。
91.为了使本领域技术人员更加理解本技术实施例提供的技术方案,下面对本技术实施例提供的网络拓扑发现方法进行详细的说明。
92.首先,针对上述步骤s204,在一种可选的实施方式中,可针对目标网络中的每一网络设备,基于网络设备的公网端口的ip地址及掩码信息,确定网络设备的公网端口归属的ip子网,进一步基于目标网络中各网络设备的公网端口归属的ip子网,建立各网络设备的公网端口之间的连接关系,由此得到第一网络拓扑信息,其中,具有连接关系的网络设备的公网端口归属的ip子网相同。
93.需要说明的是,对于网络设备的公网端口归属的ip子网的计算,可采用现有的任意适当的计算方式,本技术实施例在此不再赘述。
94.可以理解,通过本方案,基于目标网络中各网络设备的公网端口的ip地址及掩码信息进行网络拓扑发现,可以准确建立目标网络中基于三层网络互联的网络设备之间的连接关系,进而得到的网络拓扑的准确率和一致性较高。
95.针对上述步骤s206,在一种可选的实施方式中,可以基于目标网络设备的端口聚合组的本端系统参数及对端系统参数进行网络拓扑发现,以得到第二网络拓扑信息。更为具体地,由于在lacp中,目标网络设备的端口聚合组的系统systemid是用于唯一标识该网络设备的,其包括了设备的lacp协议优先级与mac地址,本端和对端通过协商系统参数来进行lacp报文交互,基于此,针对目标网络中每一个开启lacp的目标网络设备,可以以该目标网络设备的端口聚合组的本端系统参数和对端系统参数作为索引,查找与目标网络设备关联的其他目标网络设备并建立两者之间的连接关系,其中,若另一目标网络设备的端口聚合组的对端系统参数与该网络设备的端口聚合组的本端系统参数相同、且该另一每个网络设备的端口聚合组的本端系统参数与该目标网络设备的端口聚合组的对端系统参数相同,则可确定这两个目标网络设备相关联。
96.由于两个目标网络设备的端口聚合组的本端系统参数和对端系统参数仅能反应这两个目标网络设备之间的连接关系,而不能反应这两个目标网络设备的物理接口之间的连接关系,对此,在另一种可选的方案中,在端口聚合组的本端系统参数和对端系统参数的基础上,可结合目标网络设备的端口聚合组的成员端口的端口号及对端端口信息来进行网络拓扑发现,使得获得的网络拓扑能够具体精确到网络设备的物理端口之间的连接关系。具体来说,如图3所示,上述步骤s206可以包括:
97.s261,基于目标网络中的目标网络设备的端口聚合组的本端系统参数及对端系统参数,确定目标网络中的关联目标网络设备组。
98.其中,关联目标网络设备组包括具有关联关系的目标网络设备。目标网络设备组中任一目标网络设备的端口聚合组的本端系统参数与另一个目标网络设备的端口聚合组得到对端系统参数相同。
99.s262,对于每一目标网络设备,基于该目标网络设备的lacp信息包含的对端端口信息,确定成员端口的对端端口的端口号。
100.其中,成员端口的对端端口信息包括对端端口的端口标识号及优先级。由于网络设备的lacp信息中包含的对端端口的端口标识号并不是直接可读的物理端口号,而是对物理端口号进行编码后得到的一串数字,而不同生产商对物理端口号进行编码的方式不同,因此,需要对成员对端端口信息进行解码,以获得成员端口的对端端口号。
101.申请人经过大量研究发现,对端端口的端口号通常是基于对端端口的优先级及端口标识号进行计算得到的,基于此,可以按照如下方式确定对端端口的标识号:
102.首先,对于目标网络设备的lacp信息中包含的每一对端端口而言,可基于该对端端口的端口标识号和优先级,确定该对端端口对应的候选号码。
103.具体来说,在对端端口的端口标识号portno大于或等于该对端端口的优先级portpri时,可将两者之间的差值确定为该对端端口对应的候选号码。例如,若portno-portpri≥0,则确定该对端端口对应的候选号码=portno-portpri;若portno-portpri<0,则确定该对端端口对应的候选号码=portno。
104.接着,将该对端端口对应的候选号码转化成二进制数。
105.进一步地,基于与该候选号码匹配的分割策略,将该二进制数进行分段。
106.具体来说,分割策略是通过对大量对端端口对应的候选号码转化后的二进制数及对端端口实际的端口号进行分析确定的策略。例如,若对端端口对应的候选号码=portno-portpri,则分段策略为将该二进制数按照6位、4位、6位划分为3段;若对端端口对应的候选号码=portno,则分段策略为将该二进制数按照5位、4位、7位划分为3段。
107.最后,基于该二进制数的分段结果,确定该对端端口的端口号。
108.在得到二进制数的分段结果后,可将得到的每一段二进制数转化成十进制数,由此得到各段的数值分别为a、b、c,进一步可将各段的数值进行组合,即可得到该对端端口的端口号。例如,各段的数值可按照如下形式进行组合:a/b/c。
109.s263,基于关联目标设备组中各目标网络设备的端口聚合组中成员端口的端口号及成员端口的对端端口的端口号,建立各目标网络设备的端口聚合组中成员端口之间的连接关系,以获得第二网络拓扑信息。
110.具体来说,可将关联目标网络设备组中任一目标网络设备作为基准目标网络设备,对于该基准目标网络设备的端口聚合组中每一成员端口,从该关联目标网络设备组中其他目标网络设备中,查找端口号与该成员端口对应的对端端口的端口号相同、且对应的对端端口的端口号与该成员端口的端口号相同的成员端口,并在该基准目标网络的该成员端口与查找出的成员端口之间建立连接关系。
111.例如,以其中一个关联目标网络设备组为例,该关联目标网络设备组包括目标网络设备a和目标网络设备b,其中,目标网络设备1的端口聚合组包括成员端口port1、port2,目标网络设备2的端口聚合组包括成员端口port3、port4,经过上述步骤计算得到,成员端口port1的端口号与成员端口port3对应的对端端口的端口号相同、且成员端口port1对应的对端端口的端口号与成员端口port3的端口号相同,则可在成员端口port1与成员端口port3之间建立连接关系。
112.同样地,经过上述计算还得到,成员端口port2的端口号与成员端口port4的对应的对端端口的端口号相同、且成员端口port2对应的对端端口的端口号与成员端口port4的端口号相同,则可在成员端口port2与成员端口port4之间建立连接关系。
113.可以理解,通过上述实施方式,在基于目标网络设备的lacp信息进行网络拓扑发现的过程中,基于lacp信息中包含的成员端口的对端端口的端口标识号及优先级进行解码计算,以获得成员端口的对端端口的端口号,进一步基于目标网络设备的lacp信息中包含的端口聚合组的本端系统参数、对端系统参数、成员端口的端口号以及对应的对端端口的端口号进行网络拓扑发现,由此得到的第二网络拓扑信息能够具体精确到目标网络设备的成员端口(也即物理端口)之间的连接关系,因而最终获得的目标网络的网络拓扑更准确、
更全面。
114.进一步地,在本技术的另一个实施例中,为了便于网络管理人员能够清楚明了地获知网络的网络拓扑,如图4所示,在上述步骤s208之后,本技术实施例提供的网络拓扑发现方法还可以包括:
115.s210,基于目标网络的网络拓扑,输出拓扑关系记录表并存储。
116.其中,所述拓扑关系记录包括以下记录表中的一者或多者的组合:用于指示所述网络的接入层与汇聚层中的网络设备的连接关系的第一记录表、用于指示所述汇聚层与所述网络的业务控制层中的网络设备的连接关系的第二记录表以及用于指示所述业务控制层与所述网络的核心层中的网络设备的连接关系的第三记录表。
117.可以理解,通过本方案,采用拓扑关系记录表记获得的网络拓扑并对拓扑关系记录表进行存储,使得网络管理人员基于网络拓扑关系记录表可以清楚方便地获知网络的网络拓扑,以便基于该网络拓扑对网络进行故障定位。
118.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
119.图5是本技术的一个实施例电子设备的结构示意图。请参考图5,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(random-access memory,ram),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
120.处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是isa(industry standard architecture,工业标准体系结构)总线、pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
121.存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
122.处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成网络拓扑发现装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
123.获取目标网络中的多个网络设备的公网端口信息以及开启链路汇聚控制协议lacp的目标网络设备的lacp信息,其中,所述lacp信息包括端口聚合组的本端系统参数及对端系统参数、端口聚合组中成员端口的端口号及对端端口信息;
124.基于所述多个网络设备的公网端口信息进行网络拓扑发现,以获得第一网络拓扑信息,所述第一网络拓扑信息用于指示所述目标网络中的网络设备间的连接关系;
125.基于所述目标网络中的所述目标网络设备的lacp信息进行网络拓扑发现,以获得
第二网络拓扑信息,所述第二网络拓扑信息用于指示所述目标网络中的目标网络设备间的连接关系;
126.基于所述第一网络拓扑信息和所述第二网络拓扑信息,确定所述目标网络的网络拓扑。
127.上述如本技术图2所示实施例揭示的网络拓扑发现装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
128.该电子设备还可执行图2的方法,并实现网络拓扑发现装置在图2至图4所示实施例的功能,本技术实施例在此不再赘述。
129.当然,除了软件实现方式之外,本技术的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
130.本技术实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图2所示实施例的方法,并具体用于执行以下操作:
131.获取目标网络中的多个网络设备的公网端口信息以及开启链路汇聚控制协议lacp的目标网络设备的lacp信息,其中,所述lacp信息包括端口聚合组的本端系统参数及对端系统参数、端口聚合组中成员端口的端口号及对端端口信息;
132.基于所述多个网络设备的公网端口信息进行网络拓扑发现,以获得第一网络拓扑信息,所述第一网络拓扑信息用于指示所述目标网络中的网络设备间的连接关系;
133.基于所述目标网络中的所述目标网络设备的lacp信息进行网络拓扑发现,以获得第二网络拓扑信息,所述第二网络拓扑信息用于指示所述目标网络中的目标网络设备间的连接关系;
134.基于所述第一网络拓扑信息和所述第二网络拓扑信息,确定所述目标网络的网络拓扑。
135.图6是本技术的一个实施例网络拓扑发现装置的结构示意图。请参考图6,在一种软件实施方式中,网络拓扑发现装置600可包括:
136.获取模块610,用于获取目标网络中的多个网络设备的公网端口信息以及开启链路汇聚控制协议lacp的目标网络设备的lacp信息,其中,所述lacp信息包括端口聚合组的本端系统参数及对端系统参数、端口聚合组中成员端口的端口号及对端端口信息;
137.第一拓扑发现模块620,用于基于所述多个网络设备的公网端口信息进行网络拓扑发现,以获得第一网络拓扑信息,所述第一网络拓扑信息用于指示所述目标网络中的网络设备间的连接关系;
138.第二拓扑发现模块630,用于基于所述目标网络中的所述目标网络设备的lacp信息进行网络拓扑发现,以获得第二网络拓扑信息,所述第二网络拓扑信息用于指示所述目标网络中的目标网络设备间的连接关系;
139.网络拓扑确定模块,用于基于所述第一网络拓扑信息和所述第二网络拓扑信息,确定所述目标网络的网络拓扑。
140.可选地,所述第二拓扑发现模块具体用于:
141.基于所述目标网络中的所述目标网络设备的端口聚合组的本端系统参数及对端系统参数,确定所述目标网络中的关联目标网络设备组,其中,所述关联目标网络设备组中任一目标网络设备的端口聚合组的本端系统参数与另一个目标网络设备的端口聚合组的对端系统参数相同;
142.对于每一目标网络设备,基于所述对端端口信息,确定所述成员端口的对端端口的端口号;
143.基于所述关联目标网络设备组中各目标网络设备的端口聚合组中成员端口的端口号及所述成员端口的对端端口的端口号,建立各目标网络设备的端口聚合中成员端口之间的连接关系,以获得所述第二网络拓扑信息。
144.可选地,所述对端端口信息包括对端端口的端口标识号及优先级;
145.所述第二拓扑发现模块基于以下方式确定所述成员端口的对端端口的端口号:
146.对于所述对端端口的端口标识号及优先级,确定所述对端端口对应的候选号码;
147.将所述候选号码转化成二进制数;
148.基于与所述候选号码匹配的分割策略将所述二进制数进行分段;
149.基于所述二进制数的分段结果,确定所述对端端口的端口号。
150.可选地,所述第二拓扑发现模块基于以下方式确定所述对端端口对应的候选号码:
151.在所述对端端口的端口标识号大于或等于所述对端端口的优先级时,将所述端口标识号与所述优先级之间的差值确定为所述对端端口对应的候选号码;
152.在所述对端端口的端口标识号小于所述对端端口的优先级时,将所述端口标识号确定为所述对端端口对应的候选号码。
153.可选地,所述公网端口信息包括公网端口的网际协议ip地址及掩码信息;
154.所述第一拓扑发现模块具体用于:
155.对于所述目标网络中的每一网络设备,基于所述网络设备的公网端口的ip地址及掩码信息,确定所述网络设备的公网端口归属的ip子网;
156.基于所述目标网络中各网络设备的公网端口归属的ip子网,建立各网络设备的公网端口之间的连接关系,以获得所述第一网络拓扑信息,其中,具有连接关系的网络设备的
公网端口归属的ip子网相同。
157.可选地,所述网络拓扑发现装置600还包括:
158.存储模块,用于基于所述目标网络的网络拓扑,输出拓扑关系记录表并存储,其中,所述拓扑关系记录包括以下记录表中的一者或多者的组合:用于指示所述目标网络的接入层与汇聚层中的网络设备的连接关系的第一记录表、用于指示所述汇聚层与所述目标网络的业务控制层中的网络设备的连接关系的第二记录表以及用于指示所述业务控制层与所述目标网络的核心层中的网络设备的连接关系的第三记录表;
159.所述网络拓扑确定模块,还用于在基于所述第一网络拓扑信息和所述第二网络拓扑信息,确定所述目标网络的网络拓扑之后,触发所述存储模块。
160.通过本技术实施例提供的网络拓扑发现装置,将基于ip地址信息的三层网络发现方式和基于lacp的二层网络发现方式相结合,基于两种方式各自发现的、用于反映网络设备间的连接关系的网络拓扑信息,由于第一网络拓扑信息和第二网络拓扑信息分别反映了网络中不同网络设备之间的连接关系,通过这两种网络拓扑信息进行整合和分析,利用两种网络拓扑信息相互补充,可以准确、全面获得网络的网络拓扑。并且,相较于现有的基于lldp的网络拓扑发现方式,无需对网络设备进行lldp相关参数的配置,因而不会增加网络设备的配置复杂度和运行负荷,也不会增加网络管理人员的工作量。
161.总之,以上所述仅为本技术的较佳实施例而已,并非用于限定本技术的保护范围。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
162.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
163.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
164.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
165.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实
施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献