CN112019367A - 网络拓扑生成方法、装置、设备及存储介质 - Google Patents
网络拓扑生成方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112019367A CN112019367A CN201910471592.8A CN201910471592A CN112019367A CN 112019367 A CN112019367 A CN 112019367A CN 201910471592 A CN201910471592 A CN 201910471592A CN 112019367 A CN112019367 A CN 112019367A
- Authority
- CN
- China
- Prior art keywords
- mac address
- address information
- network
- equipment
- switch
- 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
- 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
-
- 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/04—Network management architectures or arrangements
- H04L41/044—Network management architectures or arrangements comprising hierarchical management structures
-
- 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/02—Topology update or discovery
-
- 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
Abstract
本发明实施例公开了一种网络拓扑生成方法、装置、设备及存储介质。所述方法包括:通过获取数据链路层网络中交换机设备和非交换机设备的MAC地址信息,然后依次获取数据链路层网络中与交换机设备相邻的直连设备的MAC地址信息表,即可获知数据链路层网络的网络拓扑结构。采用本发明实施例的方案,不需要获取交换机设备和非交换机设备的IP地址信息,避免数据链路层网络中很多设备由于没有IP地址,导致无法依据IP地址生成网络拓扑的问题;同时,只需要采用自定义的通信协议获取交换机设备的直连设备的MAC地址信息表即可生成准确的拓扑结构,避免通过获取交换机设备的地址转发表会导致出现大量计算操作,从而提高了网络拓扑结构的生成效率。
Description
技术领域
本发明实施例涉及计算机网络技术领域,尤其涉及一种网络拓扑生成方法、装置、设备及存储介质。
背景技术
随着计算机网络规模的不断扩大,网络结构日趋复杂,网络的管理变得日益重要。在网络管理技术中,网络拓扑是一种表达网络逻辑连接关系和物理连接关系的方法,通过网络拓扑可以直观地了解网络当前的运行状况。
目前的网络拓扑发现主要为网络层的网络拓扑发现和数据链路层的网络拓扑发现。网络层的网络拓扑发现主要是用于获取三层网络拓扑结构,具体为获取三层网络中路由设备之间、以及路由设备和二层网络之间的连接关系;数据链路层的网络拓扑发现主要是用于获取二层网络拓扑结构,具体为获取二层网络设备之间、以及二层网络设备与网桥之间等的连接关系。
然而,大多数网络拓扑发现均是针对网络层进行网络拓扑发现,而针对数据链路层进行网络拓扑发现的研究很少,如何快速地针对数据链路层进行网络拓扑发现成为迫切需要解决的问题。
发明内容
本发明实施例中提供了一种网络拓扑生成方法、装置、设备及存储介质,以实现快速简单地在数据链路层网络中生成网络拓扑结构。
第一方面,本发明实施例中提供了一种网络拓扑生成方法,应用于网络监管设备,所述方法包括:
获取数据链路层网络中非交换机设备和交换机设备的媒体访问控制MAC地址信息;
获取数据链路层网络中交换机设备的直连设备的MAC地址信息表;
根据获取的非交换机设备的MAC地址信息和交换机设备的MAC地址信息,以及交换机设备的直连设备的MAC地址信息表,生成数据链路层网络的拓扑结构。
第二方面,本发明实施例中还提供了一种网络拓扑生成方法,应用于交换机设备,所述方法包括:
向网络监管设备发送交换机设备自身的MAC地址信息;
向网络监管设备发送交换机设备自身的直连设备的MAC地址信息表,以使所述网络监管设备依据非交换机设备的MAC地址信息、交换机设备的MAC地址信息,以及交换机设备的直连设备的MAC地址信息表,生成数据链路层网络的拓扑结构;其中所述交换机设备和所述非交换设备均位于所述数据链路层网络。
第三方面,本发明实施例中还提供了一种网络拓扑生成装置,配置于网络监管设备,所述装置包括:
第一获取模块,用于获取数据链路层网络中非交换机设备和交换机设备的媒体访问控制MAC地址信息;
第二获取模块,用于获取数据链路层网络中交换机设备的直连设备的MAC地址信息表;
拓扑生成模块,用于根据获取的非交换机设备的MAC地址信息和交换机设备的MAC地址信息,以及交换机设备的直连设备的MAC地址信息表,生成数据链路层网络的拓扑结构。
第四方面,本发明实施例中还提供了一种网络拓扑生成装置,配置于交换机设备,所述装置包括:
第一发送模块,用于向网络监管设备发送交换机设备自身的MAC地址信息;
第二发送模块,用于向网络监管设备发送交换机设备自身的直连设备的MAC地址信息表,以使所述网络监管设备依据非交换机设备的MAC地址信息、交换机设备的MAC地址信息,以及交换机设备的直连设备的MAC地址信息表,生成数据链路层网络的拓扑结构;其中所述交换机设备和所述非交换设备均位于所述数据链路层网络。
第五方面,本发明实施例中还提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例中所提供的网络拓扑生成方法。
第六方面,本发明实施例中还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例中所提供的网络拓扑生成方法。
本发明实施例中提供了一种网络拓扑生成方案,通过获取数据链路层网络中交换机设备和非交换机设备的MAC地址信息,然后依据获取的与交换机设备相邻的直连设备的MAC地址信息表,即可获知数据链路层网络中交换机设备与交换机设备之间,以及交换机设备与非交换机设备之间的连接关系,从而生成数据链路层网络的网络拓扑结构。采用本发明实施例的方案,在生成数据链路网络的拓扑结构时不需要获取交换机设备和非交换机设备的IP地址信息,避免数据链路层网络中很多设备由于没有IP地址,导致无法依据IP地址生成网络拓扑;同时,在生成网络拓扑结构的过程中只需要采用预定义的通信协议获取交换机设备的直连设备的MAC地址信息表即可生成准确地拓扑结构,避免由于获取交换机设备的地址转发表所需要进行的大量计算操作,提高了生成网络拓扑结构的效率。
上述发明内容仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明实施例中提供的一种网络拓扑生成方法的流程图;
图2是本发明实施例中提供的一种数据链路层网络的组网示意图;
图3是本发明实施例中提供的一种视频监控领域的数据链路层网络的组网示意图;
图4是本发明实施例中提供的一种自定义通信协议的数据帧格式的格式示意图;
图5是本发明实施例中提供的另一种网络拓扑生成方法的流程示意图;
图6是本发明实施例中提供的一种通过网络监管设备获取交换机设备的MAC地址信息的交互流程图;
图7是本发明实施例中提供的又一种网络拓扑生成方法的流程示意图;
图8是本发明实施例中提供的一种通过网络监管设备获取数据链路层网络中交换机设备的直连设备的MAC地址信息表的交互流程图;
图9是本发明实施例中提供的又一种网络拓扑生成方法的流程图;
图10是本发明实施例中提供的一种网络拓扑生成装置的结构示意图;
图11是本发明实施例中提供的另一种网络拓扑生成装置的结构示意图;
图12是本发明实施例中提供的一种网络监管设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前,应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作(或步骤)可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
图1是本发明实施例中提供的一种网络拓扑生成方法的流程图。本发明实施例可适用于发现数据链路层网络中交换机设备和非交换机设备之间各设备的网络拓扑结构的场景。本发明实施例中的网络拓扑生成方法可以由网络拓扑生成装置执行,该网络拓扑生成装置可以采用软件和/或硬件的方式来实现,并集成在任一具有网络通信功能的网络监管设备上。如图1所示,本发明实施例中提供的网络拓扑生成方法具体包括以下步骤S110~S130:
S110、获取数据链路层网络中非交换机设备和交换机设备的媒体访问控制MAC地址信息。
在本实施例中,图2是本发明实施例中提供的一种数据链路层网络的组网示意图。参见图2,数据链路层网络中至少包含一个非交换机设备和至少一个交换机设备,且在数据链路层网络中交换机设备与非交换机设备的各个设备之间的网络互通正常。当用户需要了解数据链路层网络中的网络情况时,可以在用于网络拓扑生成的网络监管设备上可以安装网络监管客户端,网络监管客户端可以获取数据链路层网络中各个非交换机设备的媒体访问控制MAC地址信息和各个交换机设备的媒体访问控制MAC地址信息,以便依据获取的MAC地址信息生成各个设备之间的网络拓扑结构。其中,网络监管设备可以作为非交换机设备位于数据链路层网络中。
示例性地,图3是本发明实施例中提供的一种视频监控领域的数据链路层网络的组网示意图。参见图3,以视频监控领域中的二层监控网络为例,二层监控网络(即数据链路层网络)中包含二层交换机A、二层交换机B、NVR监控设备、用户电脑、IPC监控设备A、IPC监控设备B、IPC监控设备C。图3中的NVR监控设备、用户电脑、IPC监控设备A、IPC监控设备B、IPC监控设备C可以作为数据链路层网络中的非交换机设备。IPC监控设备在监控系统中指的是网络摄像机,且具有固定的MAC地址。网络监管设备可以获取二层监控网络中二层交换机A和二层交换机B等交换机设备的MAC地址,以及获取二层监控网络中NVR监控设备、用户电脑、IPC监控设备A、IPC监控设备B以及IPC监控设备C等非交换机设备的MAC地址。
在本实施例的一种可选方式中,当通过网络监管设备上的网络监管客户端添加数据链路层网络中的一个或多个非交换机设备后,针对添加的每一个非交换机设备,网络监管设备可以通过数据链路层网络中非交换机设备提供的对外接口,获取非交换机设备的MAC地址信息。可选地,在获取非交换设备的MAC地址信息时,同时还可以获取非交换设备的IP地址信息、设备名称信息以及设备端口数量信息。
在本实施例的一种可选方式中,获取数据链路层网络中交换机设备的MAC地址信息,包括:采用预定义的MAC数据帧格式的通信报文,与数据链路层网络中的交换机设备进行网络通信,获取交换机设备的MAC地址信息。
在本实施方式中,图4是本发明实施例中提供的一种自定义通信协议的数据帧格式的格式示意图。参见图4,本实施例的自定义通信协议的通信报文格式采用MAC数据帧格式,具体包括:目的MAC地址、源MAC地址、类型以及数据。其中,目的MAC地址用于指示通信报文需要发送的目的地;源MAC地址用于指示发送通信报文时的起始地;类型用于指示通信报文采用的通信协议的具体类型,比如为代表自定义通信协议类型的具体参数值;数据用于指示通信报文所要传输的具体内容。考虑到这里需要使用自定义的通信协议,现对自定义通信协议的通信报文格式进行以列表的形式进行详细阐述。其中表1是针对自定义通信协议的数据帧格式的描述表;表2是针对数据帧中关于数据字段的描述表;表3是针对数据帧的数据中关于消息类型字段的描述表。
表1数据帧格式
字段描述 | 长度 | 说明 |
目的地址 | 6 | mac地址 |
源地址 | 6 | mac地址 |
类型 | 2 | 自定义取值:0x9300 |
数据 | 46~1400 | 超过该长度,丢弃。 |
表2数据帧中针对数据字段的格式
字段描述 | 长度 | 说明 |
消息类型 | 2 | |
预留key | 2 | 预留,暂未使用。 |
数据长度 | 2 | 仅指数据内容的长度。 |
数据内容 | 40~1394 | 超过该长度,丢弃。 |
表3数据字段中针对通信报文的消息类型的定义
消息类型 | 消息类型 |
获取交换机设备的MAC地址信息请求 | 0x0000 |
获取交换机设备的MAC地址信息响应 | 0x0001 |
获取直连设备的MAC信息表请求 | 0x0002 |
获取直连设备的MAC信息表响应 | 0x0003 |
获取直连设备的MAC地址信息请求 | 0x0004 |
获取直连设备的MAC地址信息响应 | 0x0005 |
获取指定端口的MAC地址转发表请求 | 0x0006 |
获取指定端口的MAC地址转发表响应 | 0x0007 |
在本实施方式中,在获取交换机设备的MAC地址信息时,网络监管设备可以采用自定义的通信协议与数据链路层网络中的交换机设备交互通信,获取数据链路层网络中的交换机设备的MAC地址信息。可选地,网络监管设备可以采用具备预定义的MAC数据帧格式的通信报文,与数据链路层网络中的交换机设备进行网络通信,获取交换机设备的MAC地址信息。可选地,网络监管设备还可以依据MAC地址信息获取数据链路层中各个交换机设备的IP地址信息、设备名称信息以及设备端口数量信息。
S120、获取数据链路层网络中交换机设备的直连设备的MAC地址信息表。
在本实施例中,参见图2,虽然前述已经获取了数据链路层中的各个非交换机设备的MAC地址和各个交换机设备的MAC地址,但是当前根据上述两部分MAC地址信息还不能够生成数据链路层网络的网络拓扑图,还需要各交换机设备与各非交换机设备之间的连接关系,才能最终生成网络拓扑图。对于数据链路层网络中包含的每一交换机设备而言,网络监管设备还需要获取每一个交换机设备的直连设备的MAC地址信息表,通过获取的直连设备的MAC地址信息表即可获知与当前交换机设备相邻的直连设备的各个MAC地址信息与当前交换机设备的MAC地址信息之间的关联绑定关系。其中,直连设备包括与当前交换机设备相邻且连接的非交换机设备或者交换机设备。
在本实施例中,可选地,在获取数据链路层网络中各个交换机设备的MAC地址信息后,可以针对数据链路层网络中的每一交换机设备,网络监管设备可以依据已获取的交换机设备的MAC地址信息,与数据链路层网络中的该交换机设备建立点对点的预设MAC数据帧通信,以获取交换机设备的直连设备的MAC地址信息表。可选地,通过交换机设备的直连设备的MAC地址信息表可以确定数据链路层网络中任一交换机设备的MAC地址与各个直连设备的MAC地址之间的绑定关系。其中,通过该绑定关系可以反映交换机设备的MAC地址与直连设备的MAC地址之间的通信连接关系。
示例性地,以视频监控领域中的二层监控网络为例,对数据链路层网络中的交换机设备的直连设备的MAC地址信息表进行示例性说明。参见图3,在二层监控网络(即可以为视频监控领域的数据链路层网络)中,二层交换机A的直连设备包括:用户电脑、NVR监控设备、三层交换机以及二层交换机B;相应地,二层交换机A的直连设备的MAC地址信息表中包括:用户电脑的MAC地址、NVR监控设备的MAC地址、三层交换机的MAC地址以及二层交换机B的MAC地址。三层交换机B的直连设备具体包括:二层交换机A、IPC监控设备A、IPC监控设备B以及IPC监控设备C;相应地,三层交换机B的直连设备的MAC地址信息表中包括:二层交换机A的MAC地址、IPC监控设备A的MAC地址、IPC监控设备B的MAC地址以及IPC监控设备C的MAC地址。
在本实施例的一种可选方式中,数据链路层网络中的任一交换机设备的直连设备的MAC地址信息表中不仅包括直连设备的MAC地址信息,而且还可以包括直连设备的MAC地址信息所对应的交换机设备的端口信息以及在该交换机设备的端口上是否有多个MAC地址。下面详细介绍二层交换机A的直连设备的MAC地址信息表,具体参见表4所示内容。
表4二层交换机A的直连设备的MAC地址信息表
MAC地址 | 端口号 | 该端口上是否有多个MAC地址 |
三层交换机的MAC地址 | 1 | 否 |
NVR监控设备的MAC地址 | 2 | 否 |
二层交换机B的MAC地址 | 3 | 是 |
用户电脑的MAC地址 | 4 | 否 |
其中,对于二层交换机A而言,二层交换机A有四个端口,其端口号依次为端口1、端口2、端口3以及端口4;二层交换机A的端口1对应三层交换机的MAC地址,二层交换机A的端口2对应NVR监控设备的MAC地址,二层交换机A的端口3对应二层交换机B的MAC地址,二层交换机A的端口4对应用户电脑的MAC地址。
下面再详细介绍二层交换机B的直连设备的MAC地址信息表,具体参见表5所示内容。
表5二层交换机B的直连设备的MAC地址信息表
MAC地址 | 端口号 | 该端口上是否有多个MAC地址 |
二层交换机A的MAC地址 | 1 | 是 |
IPC监控设备A的MAC地址 | 2 | 否 |
IPC监控设备B的MAC地址 | 3 | 否 |
IPC监控设备C的MAC地址 | 4 | 否 |
其中,对于二层交换机B而言,二层交换机B有四个端口,其端口号依次为端口1、端口2、端口3以及端口4;二层交换机B的端口1对应二层交换机A的MAC地址,二层交换机B的端口2对应IPC监控设备A的MAC地址,二层交换机B的端口3对应IPC监控设备B的MAC地址,二层交换机B的端口4对应IPC监控设备C的MAC地址。
S130、根据获取的非交换机设备的MAC地址信息和交换机设备的MAC地址信息,以及交换机设备的直连设备的MAC地址信息表,生成数据链路层网络的拓扑结构。
在本实施例中,当获取数据链路层网络中各个交换机设备的直连设备的MAC地址信息后,结合前述得到的非交换机设备的MAC地址信息和交换机设备的地址信息,就可以得到数据链路层网络中交换机设备与交换机设备之间,以及交换机设备与非交换机设备之间的连接关系。可选地,在获取的非交换机设备的MAC地址信息和交换机设备的MAC地址信息,以及交换机设备的直连设备的MAC地址信息表之后,不难看出各设备的MAC地址之间存在一定的关联关系,根据MAC地址匹配的原则,即可知道MAC地址对应哪个设备,从而可以到的各设备之间的连接关系,进而获知数据链路层网络的网络拓扑结构。
在本实施例中,可选地,若存在未知MAC地址,无法匹配对应的设备,进一步可以根据国际MAC地址分配的原则,即不同厂家分配的MAC地址段是可知的,因此据此大概推算出未知MAC地址对应的生产厂家是谁,从而知道所属设备可能的类别。
根据本发明实施例中提供的网络拓扑生成方案,在需要生成数据链路网络的拓扑结构时,不需要获取交换机设备和非交换机设备的IP地址信息,避免数据链路层网络中很多设备由于没有IP地址,导致无法依据IP地址生成网络拓扑;同时,鉴于MAC地址转发表上的条目可能很庞大,一个完整的MAC地址转发表包含整个二层网络中所有设备的MAC地址信息,若直接获取设备的MAC地址转发表不仅需要浪费较大的网络带宽,而且也需要对这些交换机设备的MAC地址转发表进行大量的整合与计算,会占用网络监管设备的性能,因此本方案在生成网络拓扑结构的过程中只需要采用自定义的通信协议获取交换机设备的直连设备的MAC地址信息表即可生成准确地拓扑结构,避免通过获取交换机设备的地址转发表所需要进行的大量计算操作,从而提高了生成网络拓扑结构时的效率。
图5是本发明实施例中提供的另一种网络拓扑生成方法的流程示意图,本发明实施例在上述实施例的基础上进行进一步优化,具体对前述实施例中获取数据链路层网络交换机设备的MAC地址信息的过程进行优化,本发明实施例可以与上述一个或者多个实施例中各个可选方案结合。如图5所示,本发明实施例中提供的网络拓扑生成方法具体包括以下步骤S510~S550:
S510、获取数据链路层网络中非交换机设备的MAC地址信息。
S520、向包含有交换机设备的数据链路层网络发送用于获取交换机设备信息的第一请求报文,以便该第一请求报文到达该交换机设备。
在本实施例中,该第一请求报文具备本案自定义通信协议所规定的预定义的MAC数据帧格式,并且在第一请求报文中包含有用于发送该第一请求报文的网络监管设备的MAC地址信息。当需要获取数据链路层网络中各个交换机设备的MAC地址信息时,通过网络监管设备对外发送具备预定义的MAC数据帧格式的第一请求报文。同时,为了保证该第一请求报文在数据链路层网络中会到达该数据链路层网络中的任一设备,在第一请求报文中的MAC数据帧中的目的MAC地址为全F,即广播地址,从而使得该第一请求报文可以到达数据链路层的各个交换机设备上。可选地,网络监管设备可以采用广播形式将第一请求报文进行对外发送,使用广播而不使用组播好处在于:可以保证使用低成本的交换机设备仍然可以正常的发送第一请求报文,进而后续可以实现生成网络拓扑的功能。
S530、接收交换机设备发送的第一响应报文,并从该第一响应报文中得到交换机设备的MAC地址信息;其中第一响应报文具备预定义的MAC数据帧格式且包含有该交换机设备的MAC地址信息。
在本实施例中,数据链路层网络的交换机设备可以接收网络监管设备发送至数据链路层网络中的第一请求报文。数据链路层网络的交换机设备在接收到第一请求报文后,可以确定是否能够处理该第一请求报文。其中,如果交换机设备支持本案定义的通信协议,则该交换机设备能处理该第一请求报文。
在本实施例中,该第一请求报文可以用于指示获取能够处理该第一请求报文的交换机设备的MAC地址信息。数据链路层网络的交换机设备可以对接收到的第一请求报文进行报文处理,例如,对第一请求报文中包含的用于请求获取交换机设备的MAC地址的请求信息进行解析处理,然后依据处理结果将交换机设备自身的MAC地址信息以第一响应报文的形式反馈发送至网络监管设备上。第一响应报文同样也是采用自定义的通信协议,具备预定义的MAC数据帧格式。可选地,交换机设备对第一请求报文处理后,可以采用单播形式将自身生成的第一响应报文反馈到网络监管设备。可选地,第一响应报文中可以包含有交换机设备自身的MAC地址信息,同时还可以包含有交换机设备自身的IP地址信息、设备名称信息以及设备端口数量信息。
为了更新详细的阐述步骤S520到S530的过程,下面采用一种可选方式通过详细描述网络监管设备与数据链路层网络中交换机设备之间的交互过程,以获取数据链路层网络中交换机设备的MAC地址信息。
在本实施例的一种可选方式中,图6是本发明实施例中提供的一种通过网络监管设备获取交换机设备的MAC地址信息的交互流程图。如图6所示,本实施方式中获取数据链路层网络中交换机设备的MAC地址信息,具体可以包括以下步骤S610~S660:
S610、网络监管设备向包含有交换机设备的数据链路层网络中发送第一请求报文;其中第一请求报文为MAC地址数据帧格式的请求报文。
S620、数据链路层网络中的交换机设备是否接收到网络监管设备发送的MAC地址数据帧格式的请求报文。
其中,若数据链路层网络中的交换机设备在预设时间间隔内接收到MAC地址数据帧格式的请求报文,则执行步骤S630;若数据链路层网络中的交换机设备在预设时间间隔内接收到MAC地址数据帧格式的请求报文,结束获取交换机设备的MAC地址信息的操作。
S630、数据链路层网络中的交换机设备能否处理该MAC地址数据帧格式的请求报文。
其中,若数据链路层网络中的交换机设备能处理该MAC地址数据帧格式的请求报文,则继续执行步骤S640;若数据链路层网络中的交换机设备不能处理该MAC地址数据帧格式的请求报文,则继续执行步骤S650。
S640、数据链路层网络中的交换机设备对MAC地址数据帧格式的请求报文进行处理,并依据处理结果将交换机设备自身的MAC地址信息以第一响应报文的形式发送至网络监管设备。
其中,在执行完步骤S640后,继续执行步骤S650。
S650、判断数据链路层网络中交换机设备确定自身是否还存在其他端口。
其中,若确定数据链路层网络中交换机设备还存在其他端口,则继续执行步骤S660;若确定数据链路层网络中的交换机设备不存在其他端口,则结束获取交换机设备的MAC地址信息的操作。
S660、从数据链路层网络中交换机设备自身的其他端口,转发该MAC地址数据帧格式的请求报文,并返回继续执行S620:数据链路层网络中的交换机设备是否接收到网络监管设备发送的MAC地址数据帧格式的请求报文的操作。
其中,通过转发MAC地址数据帧格式的请求报文,可以使得该MAC地址数据帧格式的请求报文尽可能到达数据链路层网络的各个交换机设备上。
S540、获取数据链路层网络中交换机设备的直连设备的MAC地址信息表。
S550、根据获取的非交换机设备的MAC地址信息和交换机设备的MAC地址信息,以及交换机设备的直连设备的MAC地址信息表,生成数据链路层网络的拓扑结构。
本发明实施例中提供了一种网络拓扑生成方案,采用本发明实施例中提供的获取交换机设备的MAC地址信息的方式,在数据链路层使用MAC数据帧通信,而不使用三层的IP报文,其好处在于因为在数据链路层网络中大部分交换机设备可能没有配置IP地址,使用MAC数据帧通信能够避免由于没有IP地址的交换机设备无法处理该第一请求报文,导致数据链路层网络的交换机设备发现不完整,进而遗漏部分交换机设备的MAC地址信息。同时,使用广播而不使用组播是因为大部分数据链路层网络的交换机设备使用是低端交换芯片,不支持组播功能,因此采用广播报文,从而可以保证使用低成本的交换机设备即可实现生成网络拓扑的功能。
图7是本发明实施例中提供的又一种网络拓扑生成方法的流程示意图,本发明实施例在上述实施例的基础上进行进一步优化,具体针对前述实施例中获取数据链路层网络中交换机设备的直连设备的MAC地址信息表的过程进行优化。本发明实施例可以与上述一个或者多个实施例中各个可选方案结合。如图7所示,本发明实施例中提供的网络拓扑生成方法具体包括:
S710、获取数据链路层网络中非交换机设备和交换机设备的媒体访问控制MAC地址信息。
S720、依据交换机设备的MAC地址信息,向数据链路层网络中的交换机设备发送第二请求报文;其中第二请求报文具备预定义的MAC数据帧格式且包含用于指示获取交换机设备的直连设备的MAC地址信息表的请求信息。
在本实施例中,参见前述表1,在获知交换机设备的MAC地址信息后,网络监管设备可以点对点的向该交换机设备发送具备预定义的MAC数据帧格式的第二请求报文。参见前述表2和表3,第二请求报文的预设MAC数据帧中定义了该数据帧的数据为用于指示获取交换机设备的直连设备的MAC地址信息表的请求信息,换言之,该第二请求报文的消息类型为获取直连设备的MAC信息表请求。
S730、接收交换机设备发送的第二响应报文,并从第二响应报文中获取交换机设备的直连设备的MAC地址信息表;其中第二响应报文具有预定义的MAC数据帧格式且包含用于指示获取交换机设备的直连设备的MAC地址信息表的响应信息,第二响应报文为交换机设备对第二请求报文进行处理后反馈的响应报文。
在本实施例中,在网络监管设备将第二请求报文发送给数据链路层网络的交换机设备后,数据链路层网络的交换机设备可以对第二请求报文进行处理并生成第二响应报文。其中,第二响应报文中包含有交换机设备自身的直连设备的MAC地址信息表。可选地,交换机设备的直连设备的MAC地址信息表中包括:直连设备的MAC地址信息、直连设备的MAC地址信息所对应的交换机设备的端口信息以及交换机设备的端口上是否有多个MAC地址。
在本实施例中,数据链路层网络中的交换机设备生成第二响应报文后,可以将生成的第二响应报文发送给网络监管设备,网络监管设备可以接收交换机设备发送的第二响应报文,并从第二响应报文中获取交换机设备的直连设备的MAC地址信息表。
为了更新详细的阐述步骤S720到S730的过程,下面采用一种可选方式详细描述如何通过网络监管设备与数据链路层网络中交换机设备之间的交互,来获取数据链路层网络中交换机设备的直连设备的MAC地址信息表。
在本实施例的一种可选方式中,图8是本发明实施例中提供的一种通过网络监管设备获取数据链路层网络中交换机设备的直连设备的MAC地址信息表的交互流程图。如图8所示,本实施方式中获取数据链路层网络中交换机设备的MAC地址信息,具体可以包括以下步骤S810~S8100:
S810、网络监管设备依据交换机设备的MAC地址信息,向数据链路层网络中的交换机设备发送第二请求报文;其中,第二请求报文为用于指示获取交换机设备的直连设备的MAC地址信息表的请求报文。
S820、数据链路层网络中的交换机设备确定是否接收到网络监管设备发送的第二请求报文。
其中,若数据链路层网络中的交换机设备确定接收到网络监管设备发送的第二请求报文,则继续执行步骤S830的操作;否则,结束获取数据链路层网络中交换机设备的MAC地址信息的操作。
S830、数据链路层网络中的交换机设备确定是否能处理第二请求报文。
其中,若数据链路层网络中的交换机设备确定能处理第二请求报文,则继续执行步骤S840的操作;否则,结束获取数据链路层网络中交换机设备的MAC地址信息的操作。
S840、数据链路层网络中的交换机设备响应处理第二请求报文,以广播形式向交换机设备自身的直连设备发送第三请求报文。
其中,如果交换机设备自身的直连设备能接收到第三请求报文,且能处理该接收的第三请求报文,则可以将直连设备自身的MAC地址信息以第三响应报文的方式发送至交换机设备,不再将第二请求报文进行转发。如果交换机设备自身的直连设备能接收到第三请求报文,但不能处理该接收的该第三请求报文,则可以将第三请求报文转发出去,相应地后续可以将能够处理该第三请求报文的设备作为交换机设备的直连设备,并将能够处理第三请求报文的设备的MAC地址信息以第三响应报文的方式发送到交换机设备。其中,第三响应报文以单播报文形式发送给交换机设备。可选地,直连设备可以为接收并首次处理交换机设备发送的第三请求报文的设备。
S850、确定在预设时间间隔内是否能接收到直连设备发送的第三响应报文。
其中,若在预设时间间隔接收到第三响应报文,则执行步骤S860~S870的操作;若在预设时间间隔未接收到第三响应报文,则执行步骤S880的操作。
S860、数据链路层网络中的交换机设备从第三响应报文中提取发送该第三响应报文的直连设备的MAC地址信息,并将直连设备的MAC地址信息与交换机设备中接收第三响应报文的端口进行绑定。
S870、数据链路层网络中的交换机设备将直连设备的MAC地址信息、直连设备的MAC地址信息所对应的交换机设备的端口信息以及交换机设备的端口上是否有多个MAC地址,记录到直连设备的MAC地址信息表中,并以第二响应报文的形式将直连设备的MAC地址信息表发送给网络监管设备。
S880、数据链路层网络中的交换机设备确定自身接收第三响应报文的端口上是否仅有一个MAC地址。
其中,若通过查询交换机设备自身接收第三响应报文的端口的MAC地址转发表,确定在该接收第三响应报文的端口只有一个MAC地址,则执行步骤S890的操作;若通过查询交换机设备自身接收第三响应报文的端口的MAC地址转发表,确定在该接收第三响应报文的端口有多个MAC地址,则执行步骤S8100的操作;
S890、将该接收第三响应报文的端口上唯一的MAC地址与接收第三响应报文的端口绑定,并标记为该接收第三响应报文的端口有多个MAC地址,记录到直连设备的MAC地址信息表中,并以第二响应报文的形式将直连设备的MAC地址信息表发送给网络监管设备。
S8100、将直连设备的MAC地址信息表中的MAC地址置为空,且该端口是否有多个MAC地址为是,然后与接收端口号绑定,并以第二响应报文的形式将直连设备的MAC地址信息表发送给网络监管设备。
其中,如果交换机设备从某端口上没有收到第三响应报文,且该端口的MAC地址转发表中有多个MAC地址,则说明该端口下接的直连设备为不支持该自定义通信协议的设备,此时交换机设备可以将直连设备的MAC地址信息表中的MAC地址置为空,且该端口是否有多个MAC地址为是,然后与接收端口号绑定。
S740、根据获取的非交换机设备的MAC地址信息和交换机设备的MAC地址信息,以及交换机设备的直连设备的MAC地址信息表,生成数据链路层网络的拓扑结构。
本发明实施例中提供了一种网络拓扑生成方案,采用本发明实施例的方案,在生成数据链路网络的拓扑结构时不需要获取交换机设备和非交换机设备的IP地址信息,避免数据链路层网络中很多设备由于没有IP地址,导致无法依据IP地址生成网络拓扑;同时,在生成网络拓扑结构的过程中只需要采用自定义的通信协议获取交换机设备的直连设备的MAC地址信息表即可生成准确地拓扑结构,避免由于获取交换机设备的地址转发表所需要进行的大量计算操作,提高了生成网络拓扑结构的效率。
图9是本发明实施例中提供的又一种网络拓扑生成方法的流程图。本发明实施例可适用于发现数据链路层网络中的网络拓扑结构的场景。本发明实施例中的网络拓扑生成方法可以由网络拓扑生成装置执行,该网络拓扑生成装置可以采用软件和/或硬件的方式来实现,并集成在任一具有网络通信功能的交换机设备上。如图9所示,本发明实施例中提供的网络拓扑生成方法具体包括:
S910、向网络监管设备发送交换机设备自身的MAC地址信息。
在本实施例的一种可选方式中,向网络监管设备发送交换机设备自身的MAC地址信息,具体包括:采用预定义的MAC数据帧格式的通信报文,与网络监管设备进行网络通信,并向网络监管设备发送交换机设备自身的MAC地址信息。
在本实施例的一种具体可选方式中,采用预定义的MAC数据帧格式的通信报文,与网络监管设备进行广播通信,并向网络监管设备发送交换机设备自身的MAC地址信息,具体包括以下步骤S9101~S9102(为了主体流程步骤表达清晰,这里仅仅对S9101~S9102做出文字说明,图9中暂未示出):
S9101、接收网络监管设备发送到数据链路层网络的第一请求报文,并确定自身能否处理第一请求报文;其中第一请求报文具备预定义的MAC数据帧格式且包含发送该第一请求报文的网络监管设备的MAC地址信息,第一请求报文为网络监管设备采用广播形式进行发送的请求报文;
S9102、若确定能处理第一请求报文,则对第一请求报文进行处理,并向网络监管设备发送第一响应报文,以使网络监管设备从第一响应报文中获取交换机设备的MAC地址信息;其中第一响应报文具备预定义的MAC数据帧格式且包含有交换机设备自身的MAC地址信息,第一响应报文为交换机设备对第一请求报文处理后采用单播形式进行反馈的响应报文第一响应报文。
可以理解的是,鉴于上述可选方式是一种交互过程,针对上述可选方式的具体解释说明可以参见前述交互实施例中关于获取数据链路层网络中交换机设备的媒体访问控制MAC地址信息的解释说明,这里不再加以赘述。
S920、向网络监管设备发送交换机设备自身的直连设备的MAC地址信息表,以使网络监管设备依据非交换机设备的MAC地址信息、交换机设备的MAC地址信息,以及交换机设备的直连设备的MAC地址信息表,生成数据链路层网络的拓扑结构;其中交换机设备和所述非交换设备均位于数据链路层网络。
在本实施例中,可选地,数据链路层网络中的交换机设备可以定时获取自身的直连设备的MAC地址信息表,当网络监管设备需要时,可以立即响应并将定时获取的直连设备的MAC地址信息表发送给网络监管设备,从而减少网络拓扑图的生成时间,提高用户体验。
在本实施例的一种可选方式中,向网络监管设备发送交换机设备自身的直连设备的MAC地址信息表,具体可以包括以下步骤S9201~S9202(为了主体流程步骤表达清晰,这里仅仅对S9101~S9102做出文字说明,图9中暂未示出):
S9201、接收网络监管发送的第二请求报文;其中第二请求报文具备预定义的MAC数据帧格式且包含用于指示获取交换机设备的直连设备的MAC地址信息表的请求信息;第二请求报文为网络监管设备依据所述交换机设备的MAC地址信息发送至向数据链路层网络中的交换机设备的报文;
S9202、若确定接收到第二请求报文,且确定能处理第二请求报文,则对第二请求报文进行处理,并向网络监管设备发送第二响应报文,以使网络监管设备从第二响应报文获取交换机设备自身的直连设备的MAC地址信息表;其中第二响应报文具有预定义的MAC数据帧格式且包含用于指示获取交换机设备的直连设备的MAC地址信息表的响应信息。
在本实施例的一种具体可选方式中,当数据链路网络层的交换机设备支持本案的自定义通信协议,而其他非交换机设备不支持本案的自定义通信协议时,交换机设备可以响应网络监管设备发送的第二请求报文,直接查询各个端口的MAC地址转发表,以确定每一个端口连接的直连设备的MAC地址信息,从而可以将各个直连设备的MAC地址信息整合为直连设备的MAC地址信息表后,将整合后的直连设备的MAC地址信息表发送至网络监管设备。当然,数据链路网络层的交换机设备和非交换机设备均支持本案的自定义通信协议时,可以采用下述发送第三请求报文的方式来获取直连设备的MAC地址信息表。
在本实施例的一种具体可选方式中,对第二请求报文进行处理,并向网络监管设备发送第二响应报文,具体可以包括:响应第二请求报文,向交换机设备自身的直连设备发送第三请求报文;第三请求报文具备预定义的MAC数据帧格式且包含用于指示获取各直连设备的MAC地址信息的请求信息,第三请求报文为交换机设备采用广播形式进行发送的请求报文;接收交换机设备自身的直连设备发送的第三响应报文,并提取第三响应报文中包含直连设备的MAC地址信息;第三响应报文具备预定义的MAC数据帧格式且包含用于指示获取各直连设备的MAC地址信息的响应信息,第三响应报文为该交换机设备的直连设备对第三请求报文处理后采用单播形式进行反馈的响应报文;将直连设备的MAC地址信息所对应的交换机设备的端口信息以及交换机设备的端口上是否有多个MAC地址,记录到直连设备的MAC地址信息表;将包含直连设备的MAC地址信息表的第二响应报文发送给网络监管设备。
需要注意的是,如果数据链路层网络中所有设备都能支持本案的自定义通信协议处理第三请求报文,则生成的网络拓扑图将更加精确。
可以理解的是,鉴于上述可选方式是一种交互过程,针对上述可选方式的具体解释说明可以参见前述交互实施例中关于获取数据链路层网络中交换机设备的直连设备的MAC地址信息表的解释说明,这里不再加以赘述。
本发明实施例中提供了一种网络拓扑生成方案,采用本发明实施例的方案,在生成数据链路网络的拓扑结构时不需要获取交换机设备和非交换机设备的IP地址信息,避免数据链路层网络中很多设备由于没有IP地址,导致无法依据IP地址生成网络拓扑;同时,在生成网络拓扑结构的过程中只需要采用自定义的通信协议获取交换机设备的直连设备的MAC地址信息表即可生成准确地拓扑结构,避免由于获取交换机设备的地址转发表所需要进行的大量计算操作,提高了生成网络拓扑结构的效率。
在上述实施例的基础上,可选地,在生成数据链路层网络的拓扑结构之后具体还包括:检测网络监管设备自身所关注的全部非交换机设备是否全都在数据链路层网络的拓扑结构,以根据检测结果对数据链路层网络的拓扑结构进行标注修正。
在本实施例中,虽然网络监管设备可以依据获取的非交换机设备的MAC地址信息和交换机设备的MAC地址信息,以及交换机设备的直连设备的MAC地址信息表,生成数据链路层网络的拓扑结构,但是生成的数据链路层网络的拓扑结构会有一定的不完善之处,因此需要对数据链路层网络的拓扑结构进行检测以根据检测结果对不完善之处进行标注修正。
在本实施例中,若检测到网络监管设备所关注的非交换机设备全都在数据链路层网络的拓扑结构,则将直连设备的MAC地址信息表中的MAC地址为空的端口所对应的直连设备设置为一个未知网络,表示该区域还包含多个未知设备或者未知网络。例如,在视频监控领域中网管监管设备中添加的需要关注的监控设备可以作为网络监管设备所关注的非交换机设备。
在本实施例中,若检测到网络监管设备所关注的非交换机设备中存在一个或多个设备未在数据链路层网络的拓扑结构,无法网络拓扑结构中找到对应的网络位置,则提取直连设备的MAC地址信息表中MAC地址为空,且端口下有多个MAC地址交换机设备,并单独获取该交换机设备的该端口的MAC地址转发表。然后,网络监管设备在这些MAC地址转发表中,查找网络监管设备在已生成的网络拓扑结构中无法找到对应网络位置的直连设备。如果在这些MAC地址转发表中还是找不到对应的这些直连设备,则表示这些直连设备为孤立设备或不在当前的数据链路层网络;如果在这些MAC地址转发表中找到对应的这些直连设备,则在该交换机设备与无法找到的设备中增加一个云图案,表示这两者之间还存在其他类交换机设备,即其中还有其他网络,但无法识别。
在上述实施例的基础上,可选地,当数据链路层网络中两个交换机设备之间还存在其他不支持本案的自定义通信协议的其他交换机设备时,为了保证生成的网络拓扑图更准确,在获取数据链路层网络中交换机设备的直连设备的MAC地址信息表之后,网络监管设备可以对获取的直连设备的MAC地址信息表进行额外的修正操作。可选地,如果交换机设备某一端口有直连设备的MAC地址信息,且该端口下有多个MAC地址,则网络监管设备需要额外获取该交换机设备的该端口下的MAC地址转发表,同时获取与该交换机设备的该端口连接的邻居交换机设备某一端口的MAC地址转发表,如果两个MAC地址转发表的交集为空,则表示两个交换机设备直接连接,否则表示两者之间还存在其他网络设备。因此,在生成的网络拓扑结构中需要在这两个交换机设备之间增加一个云图案,表示这两者之间还存在其他类交换机设备,即其中还有其他网络,但无法识别。
图10是本发明实施例中提供的一种网络拓扑生成装置的结构示意图。本发明实施例可适用于发现数据链路层网络中交换机设备和非交换机设备之间各设备的网络拓扑结构的场景。本发明实施例中的网络拓扑生成装置可以采用软件和/或硬件的方式来实现,并集成在任一具有网络通信功能的网络监管设备上。
如图10所示,本发明实施例中提供的网络拓扑生成装置具体包括:第一获取模块1001、第二获取模块1002和拓扑生成模块1003。其中:
第一获取模块1001,用于获取数据链路层网络中非交换机设备和交换机设备的媒体访问控制MAC地址信息;
第二获取模块1002,用于获取数据链路层网络中交换机设备的直连设备的MAC地址信息表;
拓扑生成模块1003,用于根据获取的非交换机设备的MAC地址信息和交换机设备的MAC地址信息,以及交换机设备的直连设备的MAC地址信息表,生成数据链路层网络的拓扑结构。
在上述实施例的可选方案的基础上,可选地,所述第一获取模块1001具体用于:采用预定义的MAC数据帧格式的通信报文,与所述数据链路层网络中的交换机设备进行广播通信,获取所述交换机设备的MAC地址信息。
在上述实施例的可选方案的基础上,可选地,所述第一获取模块1001包括:
第一请求报文发送单元,用于向包含有交换机设备的数据链路层网络发送第一请求报文,以便所述第一请求报文到达所述交换机设备;其中所述第一请求报文具备预定义的MAC数据帧格式且包含用于广播请求MAC地址的请求信息;
第一响应报文接收单元,用于接收所述交换机设备发送的第一响应报文,并从所述第一响应报文中得到所述交换机设备的MAC地址信息;其中所述第一响应报文具备预定义的MAC数据帧格式且包含用于广播响应MAC地址的响应信息,所述第一响应报文为所述交换机设备对所述第一请求报文进行处理后反馈的响应报文。
在上述实施例的可选方案的基础上,可选地,所述第二获取模块1002包括:
第二请求报文发送单元,用于依据所述交换机设备的MAC地址信息,向数据链路层网络中的交换机设备发送第二请求报文;其中所述第二请求报文具备预定义的MAC数据帧格式且包含用于指示获取交换机设备的直连设备的MAC地址信息表的请求信息;
第二响应报文接收单元,用于接收所述交换机设备发送的第二响应报文,并从所述第二响应报文中获取所述交换机设备的直连设备的MAC地址信息表;其中所述第二响应报文具有预定义的MAC数据帧格式且包含用于指示获取交换机设备的直连设备的MAC地址信息表的响应信息,所述第二响应报文为所述交换机设备对所述第二请求报文进行处理后反馈的响应报文。
在上述实施例的可选方案的基础上,可选地,所述交换机设备的直连设备的MAC地址信息表中包括:所述直连设备的MAC地址信息、所述直连设备的MAC地址信息所对应的交换机设备的端口信息以及所述交换机设备的端口上是否有多个MAC地址。
本发明实施例中所提供的网络拓扑生成装置可执行上述本发明任意实施例中所提供的应用于网络监管设备的网络拓扑生成方法,具备执行该网络拓扑生成方法相应的功能和有益效果,未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例中所提供的网络拓扑生成方法。
图11是本发明实施例中提供的另一种网络拓扑生成装置的结构示意图。本发明实施例可适用于发现数据链路层网络中的网络拓扑结构的场景。本发明实施例中网络拓扑生成装置可以采用软件和/或硬件的方式来实现,并集成在任一具有网络通信功能的交换机设备上。如图11所示,本发明实施例中提供的网络拓扑生成装置具体包括:第一发送模块1101和第二发送模块1102。其中:
第一发送模块1101,用于向网络监管设备发送交换机设备自身的MAC地址信息;
第二发送模块1102,用于向网络监管设备发送交换机设备自身的直连设备的MAC地址信息表,以使所述网络监管设备依据非交换机设备的MAC地址信息、交换机设备的MAC地址信息,以及交换机设备的直连设备的MAC地址信息表,生成数据链路层网络的拓扑结构;其中所述交换机设备和所述非交换设备均位于所述数据链路层网络。
在上述实施例的可选方案的基础上,可选地,其特征在于,所述第一发送模块1101具体用于:采用预定义的MAC数据帧格式的通信报文,与所述网络监管设备进行广播通信,并向所述网络监管设备发送交换机设备自身的MAC地址信息。
在上述实施例的可选方案的基础上,可选地,所述第一发送模块1101包括:
第一请求报文接收单元,用于接收所述网络监管设备发送到数据链路层网络的第一请求报文,并确定自身能否处理所述第一请求报文;其中所述第一请求报文具备预定义的MAC数据帧格式且包含用于广播请求MAC地址的请求信息;
第一响应报文发送单元,用于若确定能处理所述第一请求报文,则对所述第一请求报文进行处理,并向所述网络监管设备发送第一响应报文,以使所述网络监管设备获取所述交换机设备的MAC地址信息;其中所述第一响应报文具备预定义的MAC数据帧格式且包含用于广播响应MAC地址的响应信息。
在上述实施例的可选方案的基础上,可选地,所述第二发送模块1102包括:
第二请求报文接收单元,用于接收所述网络监管发送的第二请求报文;其中所述第二请求报文具备预定义的MAC数据帧格式且包含用于指示获取交换机设备的直连设备的MAC地址信息表的请求信息;所述第二请求报文为所述网络监管设备依据所述交换机设备的MAC地址信息发送至向数据链路层网络中的交换机设备的报文;
第二响应报文发送单元,用于若确定接收到所述第二请求报文,且确定能处理所述第二请求报文,则对所述第二请求报文进行处理,并向所述网络监管设备发送第二响应报文,以使所述网络监管设备从所述第二响应报文获取交换机设备自身的直连设备的MAC地址信息表;其中所述第二响应报文具有预定义的MAC数据帧格式且包含用于指示获取交换机设备的直连设备的MAC地址信息表的响应信息。
在上述实施例的可选方案的基础上,可选地,所述第二响应报文发送单元具体包括:
第三请求报文发送子单元,用于响应所述第二请求报文,向所述交换机设备自身的直连设备发送第三请求报文;所述第三请求报文具备预定义的MAC数据帧格式且包含用于指示获取各直连设备的MAC地址信息的请求信息;
第三响应报文接收子单元,用于接收交换机设备自身的直连设备发送的第三响应报文,并提取所述第三响应报文中包含直连设备的MAC地址信息;所述第三响应报文具备预定义的MAC数据帧格式且包含用于指示获取各直连设备的MAC地址信息的响应信息;
地址信息表处理子单元,用于将所述直连设备的MAC地址信息所对应的交换机设备的端口信息以及所述交换机设备的端口上是否有多个MAC地址,记录到直连设备的MAC地址信息表;
第二响应报文发送子单元,用于将包含所述直连设备的MAC地址信息表的第二响应报文发送给所述网络监管设备。
本发明实施例中所提供的网络拓扑生成装置可执行上述本发明任意实施例中所提供的应用于交换机设备的网络拓扑生成方法,具备执行该网络拓扑生成方法相应的功能和有益效果,未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例中所提供的网络拓扑生成方法。
图12是本发明实施例中提供的一种网络监管设备的结构示意图。如图12所示结构,本发明实施例中提供的网络监管设备包括:一个或多个处理器1210和存储装置1220;该网络监管设备中的处理器1210可以是一个或多个,图12中以一个处理器1210为例;存储装置1220用于存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器1210执行,使得所述一个或多个处理器1210实现如本发明实施例中任一项所述的网络拓扑生成方法。
该网络监管设备还可以包括:输入装置1230和输出装置1240。
该网络监管设备中的处理器1210、存储装置1220、输入装置1230和输出装置1240可以通过总线或其他方式连接,图12中以通过总线连接为例。
该网络监管设备中的存储装置1220作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本发明实施例中所提供的网络拓扑生成方法对应的程序指令/模块。处理器1210通过运行存储在存储装置1220中的软件程序、指令以及模块,从而执行网络监管设备的各种功能应用以及数据处理,即实现上述方法实施例中集网络拓扑生成方法。
存储装置1220可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据网络监管设备的使用所创建的数据等。此外,存储装置1220可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置1220可进一步包括相对于处理器1210远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置1230可用于接收输入的数字或字符信息,以及产生与网络监管设备的用户设置以及功能控制有关的键信号输入。输出装置1240可包括显示屏等显示设备。
并且,当上述网络监管设备所包括一个或者多个程序被所述一个或者多个处理器1210执行时,程序进行如下操作:
获取数据链路层网络中非交换机设备和交换机设备的媒体访问控制MAC地址信息;
获取数据链路层网络中交换机设备的直连设备的MAC地址信息表;
根据获取的非交换机设备的MAC地址信息和交换机设备的MAC地址信息,以及交换机设备的直连设备的MAC地址信息表,生成数据链路层网络的拓扑结构。
当然,本领域技术人员可以理解,当上述网络监管设备所包括一个或者多个程序被所述一个或者多个处理器1210执行时,程序还可以进行本发明任意实施例中所提供的应用于网络监管设备的网络拓扑生成中的相关操作。
此外,本发明实施例中还提供了一种交换机设备,其包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例中所提供的应用于交换机设备的网络拓扑生成方法,包括:
向网络监管设备发送交换机设备自身的MAC地址信息;
向网络监管设备发送交换机设备自身的直连设备的MAC地址信息表,以使所述网络监管设备依据非交换机设备的MAC地址信息、交换机设备的MAC地址信息,以及交换机设备的直连设备的MAC地址信息表,生成数据链路层网络的拓扑结构;其中所述交换机设备和所述非交换设备均位于所述数据链路层网络。
当然,本领域技术人员可以理解,处理器还可以实现本发明任意实施例中所提供的应用于交换机设备的网络拓扑方法中的相关操作。考虑到网络监管设备与交换机设备是具有一定差异性的但是总体主要硬件结构是相似的,因此该交换机设备的硬件结构以及功能可参见前述实施例中图12所示的网络监管设备的内容解释。
本发明实施例中提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行应用于网络监管设备的网络拓扑生成方法,该方法包括:
获取数据链路层网络中非交换机设备和交换机设备的媒体访问控制MAC地址信息;
获取数据链路层网络中交换机设备的直连设备的MAC地址信息表;
根据获取的非交换机设备的MAC地址信息和交换机设备的MAC地址信息,以及交换机设备的直连设备的MAC地址信息表,生成数据链路层网络的拓扑结构。
可选的,该程序被处理器执行时还可以用于执行本发明任意实施例中所提供的应用于网络监管设备的网络拓扑生成方法。
此外,本发明实施例中提供了另一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行应用于交换机设备的网络拓扑方法,该网络拓扑方法包括:
向网络监管设备发送交换机设备自身的MAC地址信息;
向网络监管设备发送交换机设备自身的直连设备的MAC地址信息表,以使所述网络监管设备依据非交换机设备的MAC地址信息、交换机设备的MAC地址信息,以及交换机设备的直连设备的MAC地址信息表,生成数据链路层网络的拓扑结构;其中所述交换机设备和所述非交换设备均位于所述数据链路层网络。
可选的,该程序被处理器执行时还可以用于执行本发明任意实施例中所提供的应用于交换机设备的网络拓扑方法。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read Only Memory,ROM)、可擦式可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、闪存、光纤、便携式CD-ROM、光存储器件、磁存储器件、或者上述的任意合适的组合。计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于:电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、无线电频率(RadioFrequency,RF)等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (12)
1.一种网络拓扑生成方法,其特征在于,应用于网络监管设备,包括:
获取数据链路层网络中非交换机设备和交换机设备的媒体访问控制MAC地址信息;
获取数据链路层网络中交换机设备的直连设备的MAC地址信息表;
根据获取的非交换机设备的MAC地址信息和交换机设备的MAC地址信息,以及交换机设备的直连设备的MAC地址信息表,生成数据链路层网络的拓扑结构。
2.根据权利要求1所述的方法,其特征在于,获取数据链路层网络中交换机设备的MAC地址信息,包括:
采用预定义的MAC数据帧格式的通信报文,与所述数据链路层网络中的交换机设备进行网络通信,获取所述交换机设备的MAC地址信息。
3.根据权利要求2所述的方法,其特征在于,采用预定义的MAC数据帧格式的通信报文,与所述数据链路层网络中的交换机设备进行网络通信,获取所述交换机设备的MAC地址信息,包括:
向包含有所述交换机设备的数据链路层网络发送用于获取交换机设备信息的第一请求报文,以便所述第一请求报文到达所述交换机设备;其中所述第一请求报文具备预定义的MAC数据帧格式且包含有发送该第一请求报文的网络监管设备的MAC地址信息,所述第一请求报文所述网络监管设备采用广播形式进行发送的请求报文;
接收所述交换机设备发送的第一响应报文,并从所述第一响应报文中得到所述交换机设备的MAC地址信息;其中所述第一响应报文具备预定义的MAC数据帧格式且包含有所述交换机设备的MAC地址信息,所述第一响应报文为所述交换机设备对所述第一请求报文处理后采用单播形式进行反馈的响应报文。
4.根据权利要求1所述的方法,其特征在于,获取数据链路层网络中交换机设备的直连设备的MAC地址信息表,包括:
依据所述交换机设备的MAC地址信息,向数据链路层网络中的交换机设备发送第二请求报文;其中所述第二请求报文具备预定义的MAC数据帧格式且包含用于指示获取交换机设备的直连设备的MAC地址信息表的请求信息;
接收所述交换机设备发送的第二响应报文,并从所述第二响应报文中获取所述交换机设备的直连设备的MAC地址信息表;其中所述第二响应报文具有预定义的MAC数据帧格式且包含用于指示获取交换机设备的直连设备的MAC地址信息表的响应信息,所述第二响应报文为所述交换机设备对所述第二请求报文进行处理后反馈的响应报文。
5.一种网络拓扑生成方法,其特征在于,应用于交换机设备,包括:
向网络监管设备发送交换机设备自身的MAC地址信息;
向网络监管设备发送交换机设备自身的直连设备的MAC地址信息表,以使所述网络监管设备依据非交换机设备的MAC地址信息、交换机设备的MAC地址信息,以及交换机设备的直连设备的MAC地址信息表,生成数据链路层网络的拓扑结构;其中所述交换机设备和所述非交换设备均位于所述数据链路层网络。
6.根据权利要求5所述的方法,其特征在于,向网络监管设备发送交换机设备自身的MAC地址信息,包括:
采用预定义的MAC数据帧格式的通信报文,与所述网络监管设备进行网络通信,并向所述网络监管设备发送交换机设备自身的MAC地址信息。
7.根据权利要求6所述的方法,其特征在于,采用预定义的MAC数据帧格式的通信报文,与所述网络监管设备进行网络通信,并向所述网络监管设备发送交换机设备自身的MAC地址信息,包括:
接收所述网络监管设备发送到数据链路层网络的第一请求报文,并确定自身能否处理所述第一请求报文;其中所述第一请求报文具备预定义的MAC数据帧格式且包含发送该第一请求报文的网络监管设备的MAC地址信息,所述第一请求报文为所述网络监管设备采用广播形式进行发送的请求报文;
若确定能处理所述第一请求报文,则对所述第一请求报文进行处理,并向所述网络监管设备发送第一响应报文,以使所述网络监管设备从第一响应报文中获取所述交换机设备的MAC地址信息;其中所述第一响应报文具备预定义的MAC数据帧格式且包含有所述交换机设备自身的MAC地址信息,所述第一响应报文为所述交换机设备对所述第一请求报文处理后采用单播形式进行反馈的响应报文。
8.根据权利要求5所述的方法,其特征在于,向网络监管设备发送交换机设备自身的直连设备的MAC地址信息表,包括:
接收所述网络监管发送的第二请求报文;其中所述第二请求报文具备预定义的MAC数据帧格式且包含用于指示获取交换机设备的直连设备的MAC地址信息表的请求信息;所述第二请求报文为所述网络监管设备依据所述交换机设备的MAC地址信息发送至向数据链路层网络中的交换机设备的报文;
若确定接收到所述第二请求报文,且确定能处理所述第二请求报文,则对所述第二请求报文进行处理,并向所述网络监管设备发送第二响应报文,以使所述网络监管设备从所述第二响应报文获取交换机设备自身的直连设备的MAC地址信息表;其中所述第二响应报文具有预定义的MAC数据帧格式且包含用于指示获取交换机设备的直连设备的MAC地址信息表的响应信息。
9.一种网络拓扑生成装置,其特征在于,配置于网络监管设备,包括:
第一获取模块,用于获取数据链路层网络中非交换机设备和交换机设备的媒体访问控制MAC地址信息;
第二获取模块,用于获取数据链路层网络中交换机设备的直连设备的MAC地址信息表;
拓扑生成模块,用于根据获取的非交换机设备的MAC地址信息和交换机设备的MAC地址信息,以及交换机设备的直连设备的MAC地址信息表,生成数据链路层网络的拓扑结构。
10.一种网络拓扑生成装置,其特征在于,配置于交换机设备,包括:
第一发送模块,用于向网络监管设备发送交换机设备自身的MAC地址信息;
第二发送模块,用于向网络监管设备发送交换机设备自身的直连设备的MAC地址信息表,以使所述网络监管设备依据非交换机设备的MAC地址信息、交换机设备的MAC地址信息,以及交换机设备的直连设备的MAC地址信息表,生成数据链路层网络的拓扑结构;其中所述交换机设备和所述非交换设备均位于所述数据链路层网络。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现权利要求1-8中任一所述的网络拓扑生成方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-8中任一所述的网络拓扑生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910471592.8A CN112019367B (zh) | 2019-05-31 | 2019-05-31 | 网络拓扑生成方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910471592.8A CN112019367B (zh) | 2019-05-31 | 2019-05-31 | 网络拓扑生成方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112019367A true CN112019367A (zh) | 2020-12-01 |
CN112019367B CN112019367B (zh) | 2023-08-18 |
Family
ID=73506163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910471592.8A Active CN112019367B (zh) | 2019-05-31 | 2019-05-31 | 网络拓扑生成方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112019367B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112751714A (zh) * | 2020-12-31 | 2021-05-04 | 杭州海康威视系统技术有限公司 | 确定网络拓扑的方法、装置及计算机存储介质 |
WO2023011047A1 (zh) * | 2021-08-03 | 2023-02-09 | 华为技术有限公司 | 一种处理方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1756189A (zh) * | 2004-09-30 | 2006-04-05 | 北京航空航天大学 | 基于snmp的ip网络拓扑发现方法 |
US20070201385A1 (en) * | 2006-02-24 | 2007-08-30 | Fujitsu Limited | Apparatus, method, and computer product for topology-information collection |
US20090285128A1 (en) * | 2008-05-15 | 2009-11-19 | Solarwinds.Net, Inc. | Using spanning tree protocol (STP) to enhance layer-2 network topology maps |
US7756027B1 (en) * | 2007-06-13 | 2010-07-13 | Juniper Networks, Inc. | Automatic configuration of virtual network switches |
CN102694689A (zh) * | 2012-06-06 | 2012-09-26 | 杭州华三通信技术有限公司 | 一种网络拓扑发现方法和装置 |
CN104184624A (zh) * | 2014-09-19 | 2014-12-03 | 上海斐讯数据通信技术有限公司 | 一种网络拓扑搜索系统及其搜索方法 |
-
2019
- 2019-05-31 CN CN201910471592.8A patent/CN112019367B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1756189A (zh) * | 2004-09-30 | 2006-04-05 | 北京航空航天大学 | 基于snmp的ip网络拓扑发现方法 |
US20070201385A1 (en) * | 2006-02-24 | 2007-08-30 | Fujitsu Limited | Apparatus, method, and computer product for topology-information collection |
US7756027B1 (en) * | 2007-06-13 | 2010-07-13 | Juniper Networks, Inc. | Automatic configuration of virtual network switches |
US20090285128A1 (en) * | 2008-05-15 | 2009-11-19 | Solarwinds.Net, Inc. | Using spanning tree protocol (STP) to enhance layer-2 network topology maps |
CN102694689A (zh) * | 2012-06-06 | 2012-09-26 | 杭州华三通信技术有限公司 | 一种网络拓扑发现方法和装置 |
CN104184624A (zh) * | 2014-09-19 | 2014-12-03 | 上海斐讯数据通信技术有限公司 | 一种网络拓扑搜索系统及其搜索方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112751714A (zh) * | 2020-12-31 | 2021-05-04 | 杭州海康威视系统技术有限公司 | 确定网络拓扑的方法、装置及计算机存储介质 |
WO2023011047A1 (zh) * | 2021-08-03 | 2023-02-09 | 华为技术有限公司 | 一种处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112019367B (zh) | 2023-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019233179A1 (zh) | 一种数据报文的检测方法、设备及系统 | |
CN102710811B (zh) | 实现dhcp地址安全分配的方法和交换机 | |
CN110659109B (zh) | 一种openstack集群虚拟机监控系统及方法 | |
CN114389946B (zh) | 一种面向tsn交换机的网络配置管理方法 | |
US8644820B2 (en) | Apparatus and method for acquiring service information in wireless network | |
CN110740460A (zh) | 一种设备的入网方法、装置、网络设备及存储介质 | |
CN106470155B (zh) | 一种虚拟机数据的转发方法、sdn控制器和sdn系统 | |
CN107820262B (zh) | 参数配置方法、装置及系统 | |
CN107147580B (zh) | 一种隧道建立的方法及通信系统 | |
JP2004048649A (ja) | ネットワークデバイス管理方法、ネットワークデバイス管理プログラム及びネットワーク制御装置 | |
CN105141449A (zh) | 监控配置的添加方法及装置 | |
CN112019367B (zh) | 网络拓扑生成方法、装置、设备及存储介质 | |
EP4092974A1 (en) | Method and device for segment routing service processing, routing equipment, and storage medium | |
US20090198806A1 (en) | Data structure for managing sensor network using id of sensor node and method using the same | |
WO2011140838A1 (zh) | 一种m2m平台通信系统和方法 | |
CN108039968B (zh) | 网络优化方法、设备及计算机可读存储介质 | |
CN101795238A (zh) | 网络负载平衡的组网方法、设备及系统 | |
JP2024504466A (ja) | パケット転送方法、パケット処理方法、およびデバイス | |
CN108966281A (zh) | Mesh网络处理方法、装置、设备和存储介质 | |
JP2008148243A (ja) | 通信装置、通信システム、通信方法及び通信プログラム | |
US11523443B2 (en) | Extraction, conversion, and transmission of user packet from encapsulated packet | |
CN117118886A (zh) | 报文转发方法、头端设备、控制器、设备及存储介质 | |
CN116827801A (zh) | 网络拓扑构建方法、装置、计算机设备及可读存储介质 | |
US20130250962A1 (en) | Method and apparatus for label distribution | |
CN116566897A (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 |