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

网络拓扑的确定方法、装置和电子设备与流程

2022-02-25 22:52:42 来源:中国专利 TAG:


1.本发明涉及网络拓扑技术领域,尤其是涉及一种网络拓扑的确定方法、装置和电子设备。


背景技术:

2.为了提高以太网环境中组网的可靠性,保证网络有效运行,通常需要对组网的整个网络拓扑进行维护,由于以太网环境中设备的种类较多,比如典型组网中通常包括:交换机、路由器、服务器、防火墙、入侵防御系统等,难以直接确定组网的整个网络拓扑。相关技术中,通常需要利用管理人员,在搭建组网时根据物理拓扑连线记录,以及各个设备和接口信息,画出组网的网络拓扑并进行维护;或者登录组网中的每个设备,通过链路层发现协议查看与该设备连接的设备的信息,进而确定组网的网络拓扑。这种方式需要人工确定组网的网络拓扑,不易进行网络维护,且当组网发生变化或网络规模较大时,确定网络拓扑的效率较低,影响维护网络的效率。另外,还可以利用控制器,通过网络管理协议集中纳管设备,获取设备信息和网络拓扑,这种方式增加了配置工作和维护成本。


技术实现要素:

3.有鉴于此,本发明的目的在于提供一种网络拓扑的确定方法、装置和电子设备,以提高网络拓扑的确定效率和维护效率,同时降低维护成本。
4.第一方面,本发明实施例提供了一种网络拓扑的确定方法,方法应用于目标组网的第一设备,第一设备为目标组网中的任一设备;目标组网包括多台设备;方法包括:将第一报文发送至目标组网对应的组网地址,以将第一报文发送至第二设备,其中,第二设备与第一设备处于同一目标组网中,且与第一设备具有邻居关系的任一设备;其中,第一报文包括第一设备的设备信息;接收来自第二设备的第二报文,第二报文是第二设备在第一报文中添加第二设备的设备信息、第一连接关系信息和第二连接关系信息得到的,其中,第一连接关系信息包括第一设备和第二设备的邻居关系信息,第二连接关系信息包括第三设备与第二设备的邻居关系信息,第三设备与第一设备、第二设备处于同一目标组网中,且与第二设备具有邻居关系;基于第一连接关系信息和第二连接关系信息,生成目标组网的网络拓扑结构信息,其中,目标组网的网络拓扑结构信息包括目标组网中所有设备的连接关系。
5.进一步的,在将第一报文发送至目标组网对应的组网地址之前,方法还包括:在第一设备启动时,通过type-length-value形式将第一设备的设备信息封装链路层的以太网帧报文,以得到第一报文。
6.进一步的,将第一报文发送至目标组网对应的组网地址的步骤,包括:通过指定的链路层发现协议确定与第一设备具有邻居关系的所有第二设备,以及确定每个第二设备对应的接口的配置状态,以确定接口的配置状态是否为活动状态;将第一报文通过处于活动状态的接口发送至目标组网对应的组网地址,以将第一报文发送至第二设备。
7.进一步的,将第一报文通过处于活动状态的接口发送至目标组网对应的组网地
址,以将第一报文发送至第二设备的步骤,包括:根据指定的链路层发现协议预设的组网地址,从目标组网对应的组网地址中确定目标组网地址;根据目标组网地址,将第一报文通过处于活动状态的接口发送至第二设备。
8.进一步的,基于第一连接关系信息和第二连接关系信息,生成目标组网的网络拓扑结构信息的步骤,包括:根据第一连接关系信息,确定出与第一设备具有邻居关系的所有第二设备的接口信息;根据第二连接关系信息,确定出与第二设备具有邻居关系的所有第三设备的接口信息;根据第一连接关系信息、第二连接关系信息、所有第二设备的接口信息、所有第三设备的接口信息以及第一设备的设备信息,建立目标组网中第一设备、第二设备和第三设备的连接关系,得到目标组网的网络拓扑结构信息。
9.进一步的,在接收来自第二设备的第二报文的步骤之后,方法还包括:基于第二报文中的第一连接关系信息、第二连接关系信息,生成第三报文;通过网络泛洪方式将第三报文发送至与第一设备具有邻居关系的所有第二设备。
10.进一步的,在基于第一连接关系信息和第二连接关系信息,生成目标组网的网络拓扑结构信息的步骤之后,方法还包括:确定目标组网中所有设备中存储的网络拓扑结构信息是否一致,以确定是否继续发送第三报文。
11.进一步的,确定目标组网中所有设备中存储的网络拓扑结构信息是否一致,以确定是否继续发送第三报文的步骤,包括:如果当前接收到的报文与前一次接收到的报文相同,则确定目标组网中所有设备中存储的网络拓扑结构信息一致,停止发送第三报文;如果当前接收到的报文与前一次接收到的报文不相同,则确定目标组网中所有设备中存储的网络拓扑结构信息不一致,继续发送第三报文。
12.进一步的,方法还包括:当停止发送第三报文后,实时监测第一设备中存储的网络拓扑结构信息;如果网络拓扑结构信息发生变化,基于变化后的网络拓扑结构信息,生成第四报文;将第四报文发送至与第一设备具有邻居关系的所有第二设备。
13.第二方面,本发明实施例提供了一种网络拓扑的确定装置,装置设置于目标组网的第一设备,第一设备为目标组网中的任一设备目标组网包括多台设备;装置包括:第一报文发送模块,用于将第一报文发送至目标组网对应的组网地址,以将第一报文发送至第二设备,其中,第二设备与第一设备处于同一目标组网中,且与第一设备具有邻居关系的任一设备;其中,第一报文包括第一设备的设备信息;第二报文接收模块,用于接收来自第二设备的第二报文,第二报文是第二设备在第一报文中添加第二设备的设备信息、第一连接关系信息和第二连接关系信息得到的,其中,第一连接关系信息包括第一设备和第二设备的邻居关系信息,第二连接关系信息包括第三设备与第二设备的邻居关系信息,第三设备与第一设备、第二设备处于同一目标组网中,且与第二设备具有邻居关系;网络拓扑生成模块,用于基于第一连接关系信息和第二连接关系信息,生成目标组网的网络拓扑结构信息,其中,目标组网的网络拓扑结构信息包括目标组网中所有设备的连接关系。
14.第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现第一方面任一项的网络拓扑的确定方法。
15.第四方面,本发明实施例提供了一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理
器实现第一方面任一项的网络拓扑的确定方法。
16.本发明实施例带来了以下有益效果:
17.本发明提供了一种网络拓扑的确定方法、装置和电子设备,将根据第一设备的设备信息生成的第一报文发送至目标组网对应的组网地址;其中的第一报文包括第一设备的设备信息;接收来自第二设备的第二报文,第二报文包括第二设备的设备信息、第一连接关系信息和第二连接关系信息;基于第一连接关系信息和第二连接关系信息,生成目标组网的网络拓扑结构信息。该种方式中,通过本地设备设置的拓扑发现通用协议,在设备启动后会自动向所有活动接口发送本地设备的信息,可以使目标组网的所有设备都能够接收到其他所有设备的连接关系,以使每个设备中都保存有目标组网的网络拓扑,提高了网络拓扑的确定效率和维护效率,同时降低了维护成本。
18.本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
19.为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
20.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1为本发明实施例提供的一种网络拓扑的确定方法的流程图;
22.图2为本发明实施例提供的一种网络拓扑的示意图;
23.图3为本发明实施例提供的另一种网络拓扑的示意图;
24.图4为本发明实施例提供的一种网络拓扑的确定装置的结构示意图;
25.图5为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
26.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
27.以太网环境中组网的设备种类较多,典型组网中通常包括:交换机、路由器、服务器、防火墙、入侵防御系统等,管理员难以维护整个组网的网络拓扑,因此需要在搭建组网的时候根据物理拓扑连线,记录各个设备和接口信息,然后再画出组网的网络拓扑并进行维护;或者可以逐个登录组网中的每个设备,通过链路层发现协议(link layer discovery protocol,lldp)查看与该设备连接的其他设备的信息,进而确定组网的网络拓扑。
28.上述通过搭建环境时记录物理连线的方法,在组网发生变化时需要重新修改,不易维护组网和网络拓扑,且网络规模较大的时候这种方法效率较低。另外,通过链路层发现
协议的方式,需要依次登录所有设备,然后分别记录所有设备的连接关系,最后还需要手动记录相关设备、接口等信息,同样比较费时而且可能需要提前配置好所有设备的telnet(远程终端协议)或者ssh(secure shell,安全外壳协议)服务。另外一种方法可以利用专门的控制器,通过snmp(simple network management protocol,简单网络管理协议)集中纳管设备获取设备信息,这种方式增加了配置工作和维护成本。
29.基于上述问题,本发明实施例提供的一种网络拓扑的确定方法、装置和电子设备,该技术可以应用到组网中的各种设备,比如交换机、路由器、服务器、防火墙、入侵防御系统等。
30.为便于对本实施例进行理解,首先对本发明实施例所公开的一种网络拓扑的确定方法进行详细介绍,该方法应用于目标组网的第一设备;目标组网包括多台设备;如图1所示,该方法包括如下步骤:
31.步骤s102,将第一报文发送至目标组网对应的组网地址;以将第一报文发送至第二设备,其中,第二设备与第一设备处于同一目标组网中,且与第一设备具有邻居关系的任一设备;其中,第一报文包括第一设备的设备信息;
32.上述设备信息通常包括:设备的主机名称(hostname)、版本信息(version)、设备接口的身份标识号(port id)、设备接口的局域网地址(即接口最小mac地址)。上述目标组网对应的组网地址通常是指组播mac地址(media access control address,用于定义网络设备的位置),组播mac是一种特定的mac地址,第48比特为1,不同于单播mac,组播mac用于点到多点传输。具体的第一设备从该设备的所有接口将第一报文发送出去,目的mac地址即为上述目标组网对应的组网地址,也就是拓扑发现通用协议特定的组播mac地址。由于第一报文中包括有第一设备的设备信息,第一报文发送至上述组网地址对应的设备后,可以使目标组网中的第二设备了解到第一设备的设备信息,因此可以向第一设备返回第二设备的设备信息。上述第二设备是与第一设备具有邻居关系的任意设备,可以理解第一设备与第二设备具有直连关系;上述第二设备至少包括一个,也就是说与第一设备具有邻居关系的设备包括一个或多个。
33.具体实现时,当目标组网的第一设备启动后,首先会记录第一设备也就是本地设备的设备信息,然后可以将第一设备的设备信息封装到链路层报文中,得到上述第一报文。然后将第一报文发送至目标组网对应的组网地址,也就是与第一设备具有邻居关系的第二设备。目标组网中的所有设备,可以每隔预设时间发送本地设备的设备信息。
34.经过上述步骤,可以使目标组网的所有设备都接收到与该设备具有邻居关系的设备的设备信息。
35.另外,需要说明的是,由于多个设备中可能包括主机名称相同的设备,因此每个设备需要记录设备的最小mac地址,用于区分主机名称相同的设备,以使记录的设备信息的显示包括主机名称 mac。
36.步骤s104,接收来自第二设备的第二报文,第二报文是第二设备在第一报文中添加第二设备的设备信息、第一连接关系信息和第二连接关系信息得到的,其中,第一连接关系信息包括第一设备和第二设备的邻居关系信息,第二连接关系信息包括第三设备与第二设备的邻居关系信息,第三设备与第一设备、第二设备处于同一目标组网中,且与第二设备具有邻居关系;
37.将第一报文发送至目标组网对应的组网地址的同时,第一设备也会收到第二设备发送的第二设备的设备信息;第一设备可以基于第二设备的设备信息,生成第一设备与第二设备的连接关系信息;具体的,第二设备在启动时也会将第二设备的设备信息发送至与第二设备具有邻居关系的设备。由于第一设备与第二设备具有邻居关系,因此第一设备还会接收到来自目标组网中第二设备的设备信息,其中包括第二设备的主机名称(hostname)、版本信息(version)、设备接口的身份标识号(port id)、设备接口的局域网地址等信息。
38.同样的,目标组网中的其他设备,比如第二设备也会进行同样的操作,即,上述第二设备在收到第一设备的第一报文后,在第一报文中添加第二设备的设备信息、第一设备和第二设备的邻居关系信息,第三设备与第二设备的邻居关系信息;其中,第三设备与第一设备、第二设备处于同一目标组网中,且第三设备是目标组网中与第二设备具有邻居关系的设备。可以理解,目标组网中的每个设备都会生成本地设备以及与本地设备具有邻居关系的设备之间的连接关系信息。
39.具体的,当第一设备接收到第二设备的设备信息后,说明第二设备与第一设备具有连接关系,因此,可以根据第二设备的设备信息以及第一设备的设备信息,生成第一设备与第二设备的连接关系信息。比如,第一设备为设备a,第二设备包括设备b、设备c以及设备d,其中的a、b、c、d为主机名称,在设备a接收到设备b、设备c以及设备d的设备信息后,可以直接生成连接信息:a:port1《
‑‑‑‑
》b:port2,a:port1《
‑‑‑‑
》c:port3,a:port1《
‑‑‑‑
》d:port4形式的连接关系,其中的port1、port2、port3、port4为设备接口的身份标识号。
40.另外,上述第二设备的第二连接关系信息与上述第一连接关系信息的生成方式相同,也是接收来自目标组网中与第二设备具有邻居关系的第三设备的设备信息,基于第三设备的设备信息,生成第二设备与第三设备的第二连接关系信息。另外,上述第二连接关系信息中还可以包含目标组网中与第二设备间接连接的边缘设备和第二设备之间所有中间设备的连接关系,可以是第三设备与第四设备的连接关系信息,第三设备与第四设备具有邻居关系,当然,如果第四设备还与其他设备具有邻居关系,还可能包括其他设备的连接关系。比如,第二设备为设备b,与第二设备间接连接的边缘设备为设备c,中间设备包括设备d、设备e等设备,则目标组网中与第二设备间接连接的边缘设备和第二设备之间所有中间设备的连接关系可以包括所设备b与设备d的邻居关系,设备d与设备e的邻居关系,然后设备e与设备c的邻居关系。
41.由于设备之前需要时间相互发送和接收信息才可以获取到,其他设备的连接关系,因此,实际实现时可以接收多次来自第二设备的设备连接信息,通常第一次接收到的来自第二设备的设备连接信息包括较少的设备信息,以及连接信息,经过各个设备之间的多次交互后,可以结合接收到上述第二报文。
42.步骤s106,基于第一连接关系信息和第二连接关系信息,生成目标组网的网络拓扑结构信息,其中,目标组网的网络拓扑结构信息包括目标组网中所有设备的连接关系。
43.具体实现时,在第一设备接收到来自第二设备的第二报文后,可以根据第一连接关系信息和第二连接关系信息生成目标组网的网络拓扑结构信息。举例说明,如果第二设备包括设备b、设备c以及设备d,第三设备包括与设备b具有邻居关系的设备e和设备f,与设备c具有邻居关系的设备g,其中设备d没有其他直连的设备,第二连接关系包括b:port2

‑‑‑‑
》e:port5,b:port2《
‑‑‑‑
》f:port6,c:port3《
‑‑‑‑
》g:port7;第一连接关系为上述例子描述的:a:port1《
‑‑‑‑
》b:port2,a:port1《
‑‑‑‑
》c:port3,a:port1《
‑‑‑‑
》d:port4。因此基于上述第一连接关系和第二连接关系,生成的目标组网的网络拓扑结构信息可以参见如图2所示。
44.本发明提供了一种网络拓扑的确定方法,将根据第一设备的设备信息生成的第一报文发送至目标组网对应的组网地址;其中的第一报文包括第一设备的设备信息;接收来自第二设备的第二报文,第二报文包括第二设备的设备信息、第一连接关系信息和第二连接关系信息;基于第一连接关系信息和第二连接关系信息,生成目标组网的网络拓扑结构信息。该种方式中,通过本地设备设置的拓扑发现通用协议,在设备启动后会自动向所有活动接口发送本地设备的信息,可以使目标组网的所有设备都能够接收到其他所有设备的连接关系,以使每个设备中都保存有目标组网的网络拓扑,提高了网络拓扑的确定效率和维护效率,同时降低了维护成本。
45.本发明实施例提供了另一种网络拓扑的确定方法,本实施例重点描述在将第一报文发送至目标组网对应的组网地址之前的步骤的具体实现方式(通过步骤201实现),以及将第一报文发送至目标组网对应的组网地址的步骤的具体实现方式(通过步骤202-203实现),具体包括:
46.步骤201,在第一设备启动时,通过type-length-value形式将第一设备的设备信息封装链路层的以太网帧报文,以得到第一报文;
47.具体实现时,当目标组网的第一设备启动时,首先会记录第一设备也就是本地设备的设备信息,然后可以将第一设备的设备信息以type-length-value形式(指的是数字类型为type,数据的长度为length,数据的值value)形式封装到链路层报文中,得到上述第一报文,该第一报文为以太网帧报文。另外,tlv表示在以太报文中使用tlv来记录各种信息,如接口名、系统名、机架名等。
48.步骤202,通过指定的链路层发现协议确定与第一设备具有邻居关系的所有第二设备,以及确定每个第二设备对应的接口的配置状态,以确定接口的配置状态是否为活动状态;
49.上述指定的链路层发现协议与前述的lldp不同,该协议不仅可以在目标组网中发现邻居设备,还可以设置预设的组网地址,也可以根据需要包含更多的系统信息。实际实现时,第一设备通过链路层发现协议可以发现与第一设备具有邻居关系的所有设备,即上述第二设备,以及每个第二设备的接口配置等信息。实际实现时,在发送第一报文之前先通过链路层发现协议在目标组网中确定与第一设备具有邻居关系的所有第二设备,以及确定每个第二设备对应的接口的配置状态,最终目的是确定接口的配置状态是否为活动状态,即可确定接口对应的设备是否启动或者正常服务。
50.步骤s203,将第一报文通过处于活动状态的接口发送至目标组网对应的组网地址,以将第一报文发送至第二设备;
51.确定了处于活动状态的接口后,将第一报文通过处于活动状态的接口发送至目标组网对应的组网地址,也就是与第一设备具有邻居关系的第二设备。目标组网中的所有设备,可以每隔预设时间发送本地设备的设备信息,或生成的报文。
52.一种可能的实施的方式:根据指定的链路层发现协议预设的组网地址,从目标组
网对应的组网地址中确定目标组网地址;根据目标组网地址,将第一报文通过处于活动状态的接口发送至第二设备。
53.在发送第一报文时需要确定目的mac,上述指定链路层发现协议设置有预设的组网地址,即目标组网地址,该目标组网地址为上述指定的链路层发现协议特定的组播mac;其中组播mac是一种特定的mac地址,第48比特为1,不同于单播mac,组播mac用于点到多点传输。确定目标组网地址后,即可直接将第一报文根据目标组网地址发送至第二设备。
54.步骤204,接收来自第二设备的第二报文,第二报文是第二设备在第一报文中添加第二设备的设备信息、第一连接关系信息和第二连接关系信息得到的,其中,第一连接关系信息包括第一设备和第二设备的邻居关系信息,第二连接关系信息包括第三设备与第二设备的邻居关系信息,第三设备与第一设备、第二设备处于同一目标组网中,且与第二设备具有邻居关系;
55.步骤205,基于第一连接关系信息和第二连接关系信息,生成目标组网的网络拓扑结构信息,其中,目标组网的网络拓扑结构信息包括目标组网中所有设备的连接关系。
56.上述实施例中是每个设备设置了拓扑发现通用协议,通过链路层进行数据传输,设备之间的通常需要通过报文的形式进行信息的传输,因此需要将设备信息以及连接关系生成报文,以便进行信息的发送和接收。
57.上述方式中,第一设备启会自动向目标组网对应的目标组网地址发送第一报文,且整个目标组网所有设备都可以接收到与自身设备具有邻居关系的设备生成的报文,其中包括与自身设备具有邻居关系的设备的设备信息;且第一设备还会接收来自第二设备的第二报文,其中包括第二设备和第三设备的连接关系,可以使目标组网的所有设备都能够接收到其他所有设备的连接关系,以使每个设备中都保存有目标组网的网络拓扑,提高了网络拓扑的确定效率和维护效率,同时降低了维护成本。
58.另外,上述方式构造一个轻量级的链路层发现协议实现组网拓扑发现和自动保存的功能,开销比较小,无需安装第三方工具单独计算拓扑。极大的提升了管理员维护网络的效率,网络设备启动并且连线后即可自动发现并进行拓扑绘制保存,无需管理员物理上去确认连线关系或者通过链路层发现协议逐个设备进行查看和记录。
59.本发明实施例提供了另一种网络拓扑的确定方法,本实施例主要描述在接收来自第二设备的第二报文的步骤之后的步骤的具体实现方式(通过步骤303-304实现),以及基于第一连接关系信息和第二连接关系信息,生成目标组网的网络拓扑结构信息的步骤的具体实现方式(通过步骤305-307实现),具体包括:
60.步骤301,将第一报文发送至目标组网对应的组网地址,以将第一报文发送至第二设备,其中,第二设备与第一设备处于同一目标组网中,且与第一设备具有邻居关系的任一设备;其中,第一报文包括第一设备的设备信息;
61.步骤302,接收来自第二设备的第二报文,第二报文是第二设备在第一报文中添加第二设备的设备信息、第一连接关系信息和第二连接关系信息得到的,其中,第一连接关系信息包括第一设备和第二设备的邻居关系信息,第二连接关系信息包括第三设备与第二设备的邻居关系信息,第三设备与第一设备、第二设备处于同一目标组网中,且与第二设备具有邻居关系;
62.在接收来自第二设备的第二报文的步骤之后,上述方法还包括:
63.步骤303,基于第二报文中的第一连接关系信息、第二连接关系信息,生成第三报文;
64.步骤304,通过网络泛洪方式将第三报文发送至与第一设备具有邻居关系的所有第二设备。
65.为了使每个设备都能够了解到目标组网中各个设备之间的连接关系和设备信息,每次在第一设备接收到来自第二设备的第二报文之后,都会基于第二报文中的连接关系信息和设备信息生成第三报文,将第三报文发送至与第一设备具有邻居关系的所有第二设备。其中包括第一设备与第二设备的连接关系,以及当前时间接收到的第二报文包括的设备连接关系和设备信息,能够使每个设备实时了解到当前设备之间的连接情况。其中经过目标时间后,第三报文通常会包括所有设备的连接关系和设备信息。
66.需要说明的是,目标组网中的所有设备均会重复上述步骤,先发送自身设备信息给邻居设备,即与第一设备具有邻居关系的设备,收到邻居设备的设备信息,再将本地设备生成的第三报文后再泛洪到其他活动接口,即将第三报文发送至与第一设备具有邻居关系的所有第二设备。
67.其中,接收来自目标组网中第二设备的第二报文的步骤之后,上述方法还包括:将第二设备的设备信息保存至第一设备的数据库中。
68.由于目标组网中包括多个设备,设备之间报文的接收和发送通常需要经过多次交互后,每个设备才会接收到所有设备的连接关系和设备信息。因此,在实际实现时,第一设备会每隔预设时间接受到来自第二设备的第二报文。一般来说,第一次接收到第二设备的第二报文通常只包含第二设备和第三设备的连接关系,如果第三设备也具有直接连接的其他设备,在隔预设时间后,接收到的来自第二设备的第二报文,可能会包含第三设备与第四设备的连接关系。另外,如果第四设备也具有直接连接的其他设备,在隔预设时间后,接收到的来自第二设备的第二报文,可能还会包含第四设备与第五设备的连接关系。因此,在经过目标时间后,可以是1分钟或者更长时间后,上述第二报文中的设备连接信息和设备信息会包括第二设备和第三设备的连接关系、目标组网中与第二设备间接连接的边缘设备和第二设备之间所有中间设备的连接关系、以及中间设备的设备信息;其中的中间设备可以前述描述的第四设备、第五设备等。边缘设备是指只与一个设备具有邻居关系的设备。
69.步骤305,根据第一连接关系信息,确定出与第一设备具有邻居关系的所有第二设备的接口信息;
70.步骤306,根据第二连接关系信息,确定出与第二设备具有邻居关系的所有第三设备的接口信息;
71.步骤307,根据第一连接关系信息、第二连接关系信息、所有第二设备的接口信息、所有第三设备的接口信息以及第一设备的设备信息,建立目标组网中第一设备、第二设备和第三设备的连接关系,得到目标组网的网络拓扑结构信息。
72.首先,在接收到第二设备的第二报文后,先根据连接关系信息中确定连接关系中涉及到的设备的接口信息,比如:port1,port2等。然后,可以从第一连接关系信息,第二连接关系信息的连接关系中,确定具有直连关系的目标设备,将目标设备进行连接处理,得到目标组网中所有设备的连接图。根据目标组网中所有设备的设备信息,在连接图中添加每个设备的设备信息或接口信息,得到目标组网的网络拓扑结构信息。
73.举例说明,如果第一连接关系信息包括:a:port1《
‑‑‑‑
》b:port2,a:port1《
‑‑‑‑
》c:port3,a:port1《
‑‑‑‑
》d:port4。第二连接关系信息包括:b:port2《
‑‑‑‑
》e:port5,b:port2《
‑‑‑‑
》f:port6,c:port3《
‑‑‑‑
》g:port7;当然还可以包括中间设备的连接关系信息,具体包括:e:port5《
‑‑‑‑
》h:port8,g:port7《
‑‑‑‑
》i:port9,g:port7《
‑‑‑‑
》j:port10,g:port7《
‑‑‑‑
》k:port11,h:port8《
‑‑‑‑
》l:port12,i:port9《
‑‑‑‑
》m:port13,i:port9《
‑‑‑‑
》n:port14,k:port11《
‑‑‑‑
》o:port15。其中,中间设备为设备h、设备i、设备k,边缘设备为设备j、设备l、设备m、设备n、设备o。如图3所示的目标组网的网络拓扑结构信息。
74.另外,图2和图3中每个方框中还包含有该设备的其他设备信息,管理员或用户可以点击该方框获取该设备的设备信息。
75.上述确定目标组网的网络拓扑结构信息的步骤之后,上述方法还包括一种可能的实施方式:将网络拓扑以图表文件形式自动保存至第一设备的数据库中。
76.具体可以参见图2和图3所示的网络拓扑,将其以图表文件形式自动保存至第一设备的数据库中,以使管理员或用户登录到任意一台设备上都可以查看到相同的网络拓扑图,而且也可以在本地设备上根据数据库信息查看其他设备的信息如hostname、version、port、chassis(机架)等信息。另外,如果需要隐藏单个设备,可以在本地禁用dtdp协议(dynamic topology discovery protocol,动态拓扑发现协议),但依然可以转发dtdp报文,所以对于其他设备来说是透明的。其中的动态拓扑发现协议是本实施例提出的一种拓扑自动发现的方法,用于动态发现邻居设备并绘制出拓扑图。
77.上述确定目标组网的网络拓扑的步骤之后,上述方法还包括另一种可能的实施方式:确定目标组网中所有设备中存储的网络拓扑结构信息是否一致,以确定是否继续发送第三报文。
78.具体的,可以通过第一设备接收到的第二报文进行判断,如果每次接收到的第二报文相同,则可以确定目标组网中所有设备中存储的网络拓扑结构信息一致,停止发送第三报文。如果每次接收到的第二报文不同,则可以确定目标组网中所有设备中存储的网络拓扑结构信息不一致,继续发送第三报文。
79.一种可能的方式:
80.(1)如果当前接收到的报文与前一次接收到的报文相同,则确定目标组网中所有设备中存储的网络拓扑结构信息一致,停止发送第三报文;
81.由于设备之间的报文是周期性发送的,如果当前接收到的第二报文与前一次接收到的第二报文一致,则说明目标组网的所有设备的数据库中的数据保持一致。此时各个设备可以停止发送和接收第三报文。
82.另外一种方式中,经过目标时间后,目标组网中每个设备都会接收到来自邻居设备的报文,通常为了防止设备之间的连接关系变化过快,每个设备通常会等待目标时间15秒,以使得全网所有设备的数据库的内容达到统一,此时每个设备都包含了整个目标组网中所有设备的连接关系,即可以根据数据库中保存的设备的连接关系和设备信息,确定标组网的网络拓扑。
83.当停止发送第三报文后,实时监测第一设备中存储的网络拓扑结构信息;如果网络拓扑结构信息发生变化,基于变化后的网络拓扑结构信息,生成第四报文;将第四报文发送至与第一设备具有邻居关系的所有第二设备。
84.可以根据指定的链路层发现协议实时监测第一设备的接口信息,如果第一设备的设备信息或网路拓扑的连接关系发生变化,基于变化后网络拓扑结构信息,生成第四报文;将第四报文发送至第二设备。相当于重复前述步骤。为了保证网络拓扑的实时性,如果目标组网中有设备发生了改变,比如邻居设备中的网络拓扑结构信息发生变化,或本地设备的网络拓扑结构信息发生改变,会立即向邻居设备发送改变后的网络拓扑结构信息,直到所有设备的数据库中的数据一致。
85.另外,如果是不是连接关系发生变化,如物理连线改变、设备系统名改变等,都会泛洪给其他设备并是其他设备自动更新拓扑,可以极大提升网络维护的效率。
86.(2)如果当前接收到的报文与前一次接收到的报文不相同,则确定目标组网中所有设备中存储的网络拓扑结构信息不一致,继续发送第三报文。
87.由于设备之间的报文是周期性发送的,如果当前接收到的第二报文与前一次接收到的第二报文不一致,则说明目标组网的所有设备的数据库中的数据没有达成一致。此时各个设备中的网络拓扑结构信息不一致,各个设备之间还需要继续发送报文,以使各个设备之间的发送的报文一致。
88.上述确定的网络拓扑的方法,可以自动发现邻居设备的设备信息以及设备的连接关系仅依赖于通用的链路层协议,无需其他工具,而当前方案如果要达到这个目的需要额外安装控制器,控制器通过snmp协议获取每个设备的lldp邻居关系,然后在控制器上绘制拓扑图。所以上述方式提高了网络拓扑的确定效率和维护效率,同时降低了维护成本。
89.另外,本发明实施例引入了一种全新的拓扑发现通用协议,在网络设备启动后,会自动向所有活动接口发送本地设备的信息,包括各接口id、mac地址、hostname等,整个组网所有设备都会学习到其他设备的邻居关系并各自开始计算和维护拓扑图,然后自动保存到本地,这样管理员登录到任意一台设备上都可以方便地查看整网拓扑。如果拓扑发生改变,如物理连线改变、设备系统名称改变都会泛洪给其他设备并自动更新拓扑,极大提升了网络维护的效率。
90.本发明实施例还提供了一种网络拓扑的确定装置,该装置设置于目标组网的第一设备,第一设备为目标组网中的任一设备;目标组网包括多台设备;如图4所示,该装置包括:
91.第一报文发送模块41,用于将第一报文发送至目标组网对应的组网地址,以将第一报文发送至第二设备,其中,第二设备与第一设备处于同一目标组网中,且与第一设备具有邻居关系的任一设备;其中,第一报文包括第一设备的设备信息;
92.第二报文接收模块42,用于接收来自第二设备的第二报文,第二报文是第二设备在第一报文中添加第二设备的设备信息、第一连接关系信息和第二连接关系信息得到的,其中,第一连接关系信息包括第一设备和第二设备的邻居关系信息,第二连接关系信息包括第三设备与第二设备的邻居关系信息,第三设备与第一设备、第二设备处于同一目标组网中,且与第二设备具有邻居关系;
93.网络拓扑生成模块43,用于基于第一连接关系信息和第二连接关系信息,生成目标组网的网络拓扑结构信息,其中,目标组网的网络拓扑结构信息包括目标组网中所有设备的连接关系。
94.本发明提供了一种网络拓扑的确定装置,将根据第一设备的设备信息生成的第一
报文发送至目标组网对应的组网地址;其中的第一报文包括第一设备的设备信息;接收来自第二设备的第二报文,第二报文包括第二设备的设备信息、第一连接关系信息和第二连接关系信息;基于第一连接关系信息和第二连接关系信息,生成目标组网的网络拓扑结构信息。该种方式中,通过本地设备设置的拓扑发现通用协议,在设备启动后会自动向所有活动接口发送本地设备的信息,可以使目标组网的所有设备都能够接收到其他所有设备的连接关系,以使每个设备中都保存有目标组网的网络拓扑,提高了网络拓扑的确定效率和维护效率,同时降低了维护成本。
95.进一步的,上述装置还包括封装模块,用于:在第一设备启动时,通过type-length-value形式将第一设备的设备信息封装链路层的以太网帧报文,以得到第一报文。
96.进一步的,上述第一报文发送模块,还用于:通过指定的链路层发现协议确定与第一设备具有邻居关系的所有第二设备,以及确定每个第二设备对应的接口的配置状态,以确定接口的配置状态是否为活动状态;将第一报文通过处于活动状态的接口发送至目标组网对应的组网地址,以将第一报文发送至第二设备。
97.进一步的,上述第一报文发送模块,还用于:根据指定的链路层发现协议预设的组网地址,从目标组网对应的组网地址中确定目标组网地址;根据目标组网地址,将第一报文通过处于活动状态的接口发送至第二设备。
98.进一步的,上述网络拓扑生成模块还用于:据第一连接关系信息,确定出与第一设备具有邻居关系的所有第二设备的接口信息;根据第二连接关系信息,确定出与第二设备具有邻居关系的所有第三设备的接口信息;根据第一连接关系信息、第二连接关系信息、所有第二设备的接口信息、所有第三设备的接口信息以及第一设备的设备信息,建立目标组网中第一设备、第二设备和第三设备的连接关系,得到目标组网的网络拓扑结构信息。
99.进一步的,上述装置还包括第三报文生成模块,用于:基于第二报文中的第一连接关系信息、第二连接关系信息,生成第三报文;通过网络泛洪方式将第三报文发送至与第一设备具有邻居关系的所有第二设备。
100.进一步的,上述装置还包括第三报文发送模块,用于:确定目标组网中所有设备中存储的网络拓扑结构信息是否一致,以确定是否继续发送第三报文。
101.进一步的,上述第三报文发送模块还用于:如果当前接收到的报文与前一次接收到的报文相同,则确定目标组网中所有设备中存储的网络拓扑结构信息一致,停止发送第三报文;如果当前接收到的报文与前一次接收到的报文不相同,则确定目标组网中所有设备中存储的网络拓扑结构信息不一致,继续发送第三报文。
102.进一步的,上述装置还包括第四报发送模块,用于:当停止发送第三报文后,实时监测第一设备中存储的网络拓扑结构信息;如果网络拓扑结构信息发生变化,基于变化后的网络拓扑结构信息,生成第四报文;将第四报文发送至与第一设备具有邻居关系的所有第二设备。
103.本发明实施例提供的网络拓扑的确定装置,与上述实施例提供的网络拓扑的确定方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
104.本实施例还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述网络拓扑的确定方法。
105.参见图5所示,该电子设备包括处理器100和存储器101,该存储器101存储有能够
被处理器100执行的机器可执行指令,该处理器100执行机器可执行指令以实现上述网络拓扑的确定方法。
106.进一步地,图5所示的电子设备还包括总线102和通信接口103,处理器100、通信接口103和存储器101通过总线102连接。
107.其中,存储器101可能包含高速随机存取存储器(ram,random access memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是isa总线、pci总线或eisa总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
108.处理器100可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器100中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器100可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器101,处理器100读取存储器101中的信息,结合其硬件完成前述实施例的方法的步骤。
109.本发明实施例还提供了一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述网络拓扑的确定方法。
110.本发明实施例所提供的网络拓扑的确定方法、装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中的方法,具体实现可参见方法实施例,在此不再赘述。
111.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
112.另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
113.功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机
软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
114.在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
115.最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
再多了解一些

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

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

相关文献