CN107947994B - 网络拓扑自发现方法、装置、网络设备及计算机存储介质 - Google Patents
网络拓扑自发现方法、装置、网络设备及计算机存储介质 Download PDFInfo
- Publication number
- CN107947994B CN107947994B CN201711309405.3A CN201711309405A CN107947994B CN 107947994 B CN107947994 B CN 107947994B CN 201711309405 A CN201711309405 A CN 201711309405A CN 107947994 B CN107947994 B CN 107947994B
- Authority
- CN
- China
- Prior art keywords
- network
- network node
- node
- network nodes
- nodes
- 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.)
- Active
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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种网络拓扑自发现方法,包括:在多个网络节点所在的网络中,将其中一个网络节点设为源网络节点,从其他网络节点中逐一选取网络节点作为目标网络节点;从源网络节点向目标网络节点发送路径探测包,使得路径探测包途径的网络节点以及目标网络节点在接收到路径探测包后分别向源网络节点发送探测应答包;将探测应答包的个数标记为目标网络节点的坐标值;根据网络中所有其他网络节点的坐标值绘制网络对应的互连拓扑图。相应地本发明还公开了一种网络拓扑自发现装置、网络设备以及计算机存储介质。本发明基于MAC帧格式的数据包传播,自动完成拓扑自发现,无需集成生成树协议,适合实时性要求高的网络***使用。
Description
技术领域
本发明实施例涉及网络管理技术,尤其涉及一种网络拓扑自发现方法、装置、网络设备及计算机存储介质。
背景技术
网络拓扑自发现的主要目的是获取和维护网络节点的存在信息和它们之间的连接关系信息,并在此基础上绘制出整个网络拓扑图,网络管理人员在网络拓扑图的基础上能够对故障节点进行快速排查。
现有技术提供了基于网络层和基于数据链路层的网络拓扑自发现方法。其中网络层拓扑自发现方法,通过对网络设备路由信息的分析,仅能够获得路由或主机间的逻辑连接关系,不能发现实际的物理连接情况。而数据链路层的网络拓扑自发现方法,需要网络节点支持生成树STP协议,在一些工控自动化***中,由于实时性要求高,为了保证工控数据处理的高效性,一般不集成较为复杂的STP软件协议,因此,现有技术的网络拓扑方法并不适合实时性要求高的网络***使用。
发明内容
本发明提供一种网络拓扑自发现方法、装置、网络设备及计算机存储介质,以实现基于MAC帧传播的方式自动完成拓扑自发现无需集成生成树协议,适合实时性要求高的网络***使用。
第一方面,本发明实施例提供了一种网络拓扑自发现方法,包括:
在多个网络节点所在的网络中,将其中一个网络节点设为源网络节点,从其他网络节点中逐一选取网络节点作为目标网络节点;
从所述源网络节点向目标网络节点发送路径探测包,所述路径探测包的目的地址为目标网络节点的MAC地址;使得所述路径探测包途径的网络节点以及所述目标网络节点在接收到所述路径探测包后分别向所述源网络节点发送探测应答包,各探测应答包的目的地址为所述源网络节点的MAC地址;
将所述探测应答包的个数标记为所述目标网络节点的坐标值;
根据所述网络中所有其他网络节点的坐标值绘制所述网络对应的互连拓扑图,所述互连拓扑图中相连的两个网络节点的坐标值之间的差值为1。
第二方面,本发明实施例提供了一种网络拓扑自发现装置,包括:
节点选取模块,用于在多个网络节点所在的网络中,将其中一个网络节点设为源网络节点,从其他网络节点中逐一选取网络节点作为目标网络节点;
路径探测模块,用于从所述源网络节点向目标网络节点发送路径探测包,所述路径探测包的目的地址为目标网络节点的MAC地址;使得所述路径探测包途径的网络节点以及所述目标网络节点在接收到所述路径探测包后分别向所述源网络节点发送探测应答包,各探测应答包的目的地址为所述源网络节点的MAC 地址;
坐标记录模块,用于将所述探测应答包的个数标记为所述目标网络节点的坐标值;
节点互连模块,用于根据所述网络中所有其他网络节点的坐标值绘制所述网络对应的互连拓扑图,所述互连拓扑图中相连的两个网络节点的坐标值之间的差值为1。第三方面,本发明实施例还提供了一种网络设备,该网络设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例提供的网络拓扑自发现方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例提供的网络拓扑自发现方法。
本发明实施例通过源网络节点向网络中的其他网络节点发送路径探测包,获得其他网络节点的坐标值,由于网络拓扑中相连的网络节点相对某个特定的网络节点的坐标值差值为1,因此,根据各网络节点到源网络节点的距离,可绘制拓扑图,解决现有技术需要支持生成树STP协议进行拓扑自发现而不能在实时性要求高的网络***中应用的问题,实现基于MAC帧格式数据包传播就能自动完成拓扑自发现的效果,适合实时性要求高的网络***使用。
附图说明
图1是本发明实施例一提供的网络拓扑自发现方法的流程图;
图2是本发明实施例一中示例的互连拓扑图;
图3是本发明实施例一中的网络拓扑自发现方法的应用场景图;
图4是本发明实施例二提供的网络拓扑自发现方法的流程图;
图5是本发明实施例二中示例的互连拓扑图;
图6是本发明实施例三提供的网络拓扑自发现方法的流程图;
图7是本发明实施例四提供的网络拓扑自发现装置的结构示意图;
图8是本发明实施例五提供的网络设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的网络拓扑自发现方法的流程图,具体包括如下步骤:
步骤110、在多个网络节点所在的网络中,将其中一个网络节点设为源网络节点,从其他网络节点中逐一选取网络节点作为目标网络节点。
步骤120、从所述源网络节点向目标网络节点发送路径探测包,所述路径探测包的目的地址为目标网络节点的MAC地址;使得所述路径探测包途径的网络节点以及所述目标网络节点在接收到所述路径探测包后分别向所述源网络节点发送探测应答包,各探测应答包的目的地址为所述源网络节点的MAC地址。
其中,各网络节点一般通过MAC地址学习功能创建和维护MAC地址转发表,使得网络节点在接收到路径探测包时,会先查询路径探测包的目的地址与自身的MAC地址是否相同,若相同则直接发送以路径探测包源地址,即源网络节点 MAC地址为目的地址的探测应答包,若不相同则查询MAC地址转发表,从MAC 地址转发表指示的端口将路径探测包转发出去。
步骤130、将所述探测应答包的个数标记为所述目标网络节点的坐标值。
步骤140、根据所述网络中所有其他网络节点的坐标值绘制所述网络对应的互连拓扑图,所述互连拓扑图中相连的两个网络节点的坐标值之间的差值为 1。
上述方法步骤基于MAC帧格式的数据包传播,自动完成了拓扑自发现。在具体实施时,步骤140可根据网络的拓扑类型,用不同的具体方案实现。
简单地,对于网络拓扑为多个网络节点依次连接的线型网络,如图2所示,图2是本实施例示例的互连拓扑图,该互连拓扑图所示的网关网络为线型网络,若设定的源网络节点为该线型网络中的第一个网关31或最后一个网关,则所有网络节点都连接在源网络节点的一个端口侧,将源网络节点与坐标值为1的网络节点连接,将各网络节点按坐标值的从小到大的次序连接,即得到互连拓扑图。
若网络拓扑为如图2所示的多个网络节点依次连接的线型网络,且设定的源网络节点不是该线型网络中的第一个网络节点或最后一个网络节点,例如图中的网关32,则查询源网络节点的MAC地址转发表,获得源网络节点的两个端口侧对应的两个网络节点分组,其中,网络节点分组中的各网络节点连接在源网络节点的同一个端口侧;将网络节点分组中的网络节点按照坐标值大小顺次连接,并将源网络节点与坐标值为1的两个网络节点分别连接,即获得互连拓扑图。
对于线型网络,通过查询网络节点的MAC地址转发表,还可以确定任意网络节点连接相邻网络节点的端口。
本实施例还提供了进一步方案,可以实现仅绘制指定的多个网络节点之间的连接拓扑。在一些实际的应用场景中,可以绘制网络中实现相同功能的网络节点(例如同为网关或同为路由器的网络节点)之间的互连拓扑图,而排除其他网络节点在绘制过程中的干扰。具体地,步骤110、在多个网络节点所在的网络中,将其中一个网络节点设为源网络节点,从其他网络节点中逐一选取网络节点作为目标网络节点,包括:
加入组播组,接收组播组内多个网络节点发送的其自身的MAC地址,获得组播组内网络节点的MAC地址集合;
获取网络节点的MAC地址转发表;其中,所述MAC地址转发表用于记录网络节点的以太网端口所连接的其他网络节点MAC地址集合;
比对所述组播组内网络节点的MAC地址集合以及网络节点的每一以太网端口所连接的其他网络节点MAC地址集合,判断网络节点的每一以太网端口是否连接有所述组播组内的网络节点;
如果网络节点的以太网端口没有连接所述组播组内的网络节点,则关闭该以太网端口;
将所述组播组内网络节点中的一个网络节点设为源网络节点,从组播组内其他网络节点中逐一选取网络节点作为目标网络节点。
上述进一步方案通过将没有连接组播组内网络节点的端口关闭,实现与非组播组的网络节点断开连接,使得源网络节点只与组播组内的网络节点通信,从而只能发现组播组内网络节点的互连拓扑,排除其他非指定的网络节点的干扰。
为了更好地体现本实施例的有益效果,下面通过具体的应用场景说明本实施例提供的网络拓扑自发现方法的原理。
参见图3,图3是本发明实施例一中网络拓扑自发现方法的应用场景示意图,该应用场景为矿井综采集控***。矿井综采集控***是煤矿生产最前沿、最复杂的环节,也是实现煤矿生产自动化的核心。一般包括设置在工作面现场的综采设备23(如图3所示的移动变电站、喊话器、采煤机监控器、泵站等底层设备),对综采设备实施工况监测、传感采集、远程与自动化控制、可视化监视的中心主机21(包括地面调度平台的集中监测主机或视频监视主机等),以及作为通信分站或数据采集分站的网关22。网关连接于中心主机与综采设备之间,实现中心主机访问综采设备的数据中转站,执行数据协议转换等工作。具体地,网关接入骨干环网的交换机24,骨干环网包括多个交换机节点,分别用于实现综采工作面、顺槽设备列车巷或皮带运输巷等地理分区的网关接入,以及与中心主机的连接。
在上述矿井综采集控***中,中心主机至网关一般为以太网链路,网关与网关之间为以太网链路,而网关到综采设备则大部分采用现场总线链路。具体地,网关包括以太网端口和工业现场总线端口;网关的以太网端口用于连接中心主机、其他网关或具有以太网端口的综采设备,工业现场总线端口用于连接具有工业现场总线端口的综采设备。由于近年来矿井自动化程度的不断提高,综采设备不断增多,位置愈加分散,网关数量随之增多,使得网关的对接配置关系日趋复杂化、网关管理及故障定位也更加困难。且受限于现场环境,无法按照预先布设的拓扑图安置网关,需要在现场根据实际需求以及与综采设备的距离自由确定网关的物理排布和互连,所以网关排布好后要构建网关的互连拓扑图,而人工绘制会耗费大量人力资源,因此,网关之间的拓扑自发现具有重要意义。由于网关的以太网端口不仅用于连接其他网关,还用于连接综采设备和中心主机(即非网关网络设备),因此在拓扑自发现阶段,数据包会进入非网关网络设备,非网关网络设备也可能会向网关随机性发送网络数据,使得在拓扑路径探测时非网关网络设备与网关设备连接的端口也存在数据收发行为,使非网关网络设备会被误判为网关,从而使得拓扑不准确,对实施故障定位和排查造成困扰。
实施本实施例,所有网关启动后,自动加入组播组,通过比对组播组内网络节点MAC地址全集与每一网络节点的MAC地址转发表中端口连接的网络节点 MAC地址集合,自动识别网关互连端口与非网关互连端口。进而在拓扑自发现阶段排除了非网关互连端口的数据收发,使得非网关互连端口所连接的非网关网络设备的随机性数据收发行为不会导致途经网关误判。
具体实施时,网关的工业现场总线端口包括RS458端口、RS422端口、LAN 端口或CAN端口。
具体实施时,可根据预设的规则在网关中选择一个网关作为源网络节点,向其他网关发送路径探测包,例如在各网关获得组播组内所有网络节点的MAC 地址后,选择MAC地址数值最小的网关作为源网络节点。或者,人工在现场排布网关之前就指定其中一个网关为源网络节点。
为了最大限度地利用地址转发表资源,动态反映网络真实连接状态,以太网网络节点利用老化机制更新MAC地址转发表,具体为:在创建MAC地址转发表的表项(即端口与MAC地址的对应关系)时,开启老化定时器,如果在老化时间内没有收到来自该表项中的MAC地址的报文,网络节点就会把该 MAC地址表项删除。
在网络通信过程中,MAC地址转发表及时老化的确会起到资源利用率高和动态反映网络连接状态效果,但是本实施例是基于比对MAC地址转发表和组播组内网络节点MAC地址集合,识别同业务类型的网络节点互连端口,如果出现MAC地址转发表表项缺失,则可能将网关之间互连端口识别为非网关之间的互连端口,从而使得拓扑图绘制不完整。为了避免在识别网关之间的互连端口时,由于处理器处理时间大于老化时间而造成MAC地址表中表项缺失,本实施例在比对所述组播组内网络节点的MAC地址集合以及网络节点的每一以太网端口所连接的其他网络节点MAC地址集合之前,还包括:
将网络节点的MAC地址转发表老化时间调整为预先设置的最大值。
综上所述,本实施例的技术方案,通过源网络节点向网络中的其他网络节点发送路径探测包,获得其他网络节点的坐标值,由于网络拓扑中相连的网络节点相对某个特定的网络节点的坐标值差值为1,因此,根据各网络节点到源网络节点的距离,可绘制拓扑图,解决现有技术需要支持生成树STP协议进行拓扑自发现而不能在实时性要求高的网络***中应用的问题,实现基于MAC 帧格式数据包传播就能自动完成拓扑自发现的效果,适合实时性要求高的网络***使用。
实施例二
图4为本发明实施例二提供的网络拓扑自发现方法的流程图。本实施例在实施例一的基础上,提供一种适用于非线型网络的绘制互连拓扑图的具体方案。具体包括如下步骤:
步骤110、在多个网络节点所在的网络中,将其中一个网络节点设为源网络节点,从其他网络节点中逐一选取网络节点作为目标网络节点。
步骤120、从所述源网络节点向目标网络节点发送路径探测包,所述路径探测包的目的地址为目标网络节点的MAC地址;使得所述路径探测包途径的网络节点以及所述目标网络节点在接收到所述路径探测包后分别向所述源网络节点发送探测应答包,各探测应答包的目的地址为所述源网络节点的MAC地址。
其中,各网络节点一般通过MAC地址学习功能创建和维护MAC地址转发表,使得网络节点在接收到路径探测包时,会先查询路径探测包的目的地址与自身的MAC地址是否相同,若相同则直接发送以路径探测包源地址,即源网络节点 MAC地址为目的地址的探测应答包,若不相同则查询MAC地址转发表,从MAC 地址转发表指示的端口将路径探测包转发出去。
步骤130、将所述探测应答包的个数标记为所述目标网络节点的坐标值。
步骤410、在所述网络对应的互连拓扑图内孤立的网络节点中,读取坐标值最大的网络节点作为最远节点。
步骤420、查找在以最远节点为目标网络节点发送路径探测包时,源网络节点接收到的各探测应答包的源地址,获得各源地址对应的网络节点的坐标值。
步骤430、将获得的各源地址对应的网络节点按坐标值大小顺次连接。
下面对照本实施例示例的互连拓扑图——图5来说明步骤410至430绘制互连拓扑图的方法。
图5中MAC地址为MAC-A的网关为设定的源网络节点,通过步骤110至步骤130,确定网关61为坐标值为1的网络节点(包括MAC地址为MAC-B、MAC-C、 MAC-J、MAC-N的网关),网关62为坐标值为2的网络节点(包括MAC地址为MAC-D、 MAC-G、MAC-H、MAC-K、MAC-M和MAC-O的网关),网关63为坐标值为3的网络节点(包括MAC地址为MAC-E、MAC-F、MAC-I、MAC-L的网关)。
在互连拓扑图还未开始绘制时,所有网络节点孤立,最远节点为网关63。依次以网关63包括的任一网关为最远节点,例如MAC地址为MAC-E的网关,查找该网关为目标网络节点时,源网络节点收到的探测应答包的源地址。由于源网络节点到MAC地址为MAC-E的网络节点的路径为:MAC-A、MAC-C、MAC-D、MAC-E,因此探测应答包的源地址包括MAC-C、MAC-D和MAC-E,而源网络节点不会收到自身发送的探测应答包,因此源网络节点坐标值可设为0,将获得的源地址对应的网络节点以及源网络节点按坐标值大小顺次连接,则可以将MAC-A到MAC-E 的路径在互连拓扑图上绘制体现。依次类推,在网关63作为最远节点,连接好相应路径后,还有MAC地址为MAC-G、MAC-M、MAC-O、MAC-N和MAC-B的网关是孤立的,选择最远网关执行上述步骤,可以逐一把所有路径绘制完成。且通过查询MAC地址转发表,可以确定相邻网关之间的互连端口。
综上所述,本实施例的技术方案,通过源网络节点向网络中的其他网络节点发送路径探测包,获得其他网络节点的坐标值,由于网络拓扑中相连的网络节点相对某个特定的网络节点的坐标值差值为1,因此,根据各网络节点到源网络节点的距离,可绘制拓扑图,解决现有技术需要支持生成树STP协议进行拓扑自发现而不能在实时性要求高的网络***中应用的问题,实现基于MAC 帧格式数据包传播就能自动完成拓扑自发现的效果,适合实时性要求高的网络***使用,且将拓扑自发现适应的网络类型由线型网络扩展至非线型网络。
实施例三
图6为本发明实施例三提供的网络拓扑自发现方法的流程图。本实施例在实施例一的基础上,提供一种与实施例二不同的适用于非线型网络的绘制互连拓扑图的具体方案。具体包括如下步骤:
步骤610、在多个网络节点所在的网络中,将其中一个网络节点设为源网络节点,从其他网络节点中逐一选取网络节点作为目标网络节点。
步骤620、从所述源网络节点向目标网络节点发送路径探测包,所述路径探测包的目的地址为目标网络节点的MAC地址;使得所述路径探测包途径的网络节点以及所述目标网络节点在接收到所述路径探测包后分别向所述源网络节点发送探测应答包,各探测应答包的目的地址为所述源网络节点的MAC地址;
其中,所述路径探测包途径的网络节点发送的探测应答包包括所述途径的网络节点的下行端口号,目标网络节点发送的探测应答包包括所述目标网络节点的上行端口号;所述上行端口号为向源网络节点发送探测应答包的端口的编号,所述下行端口号为所述途径的网络节点向目标网络节点转发路径探测包的端口的编号。如图5所示,以MAC地址为MAC-A的网关为源网络节点,以MAC 地址为MAC-G的网关为目标网络节点时,将MAC-G网关的端口1、MAC-C的端口 1标记为上行端口,即该网关靠近源网络节点的方向的端口,将MAC-C的端口3 标记为下行端口,即该网关向远离源网络节点的方向拓扑生长的端口。
步骤630、将所述探测应答包的个数标记为所述目标网络节点的坐标值;
步骤640、若目标网络节点的坐标值为n,且n≠1,则获取坐标值为n-1 的各网络节点的MAC地址集合与目标网络节点所对应的途径的网络节点的MAC 地址集合之间的交集,连接所述交集对应的网络节点与所述目标网络节点,并标记所述目标网络节点的上行端口与所述交集对应的网络节点的下行端口为连接端口。
步骤650、若目标网络节点的坐标值为1,则连接所述目标网络节点与源网络节点,并标记所述目标网络节点的上行端口与源网络节点向目标网络节点发送路径探测包的端口为连接端口。
本实施例的技术方案,将拓扑自发现适应的网络类型由线型网络扩展至非线型网络,还通过在探测应答包中增加网络节点应答的分类端口号,使得可以直接查询探测应答包的内容获得互连拓扑图中网络节点的连接端口,而无需获取每一个网络节点的MAC地址转发表,减小网络中的传输数据量,减轻数据分析量。
实施例四
图7是本发明实施例四提供的网络拓扑自发现装置的结构示意图。
本实施例网络拓扑自发现装置,包括:
节点选取模块710,用于在多个网络节点所在的网络中,将其中一个网络节点设为源网络节点,从其他网络节点中逐一选取网络节点作为目标网络节点;
路径探测模块720,用于从所述源网络节点向目标网络节点发送路径探测包,所述路径探测包的目的地址为目标网络节点的MAC地址;使得所述路径探测包途径的网络节点以及所述目标网络节点在接收到所述路径探测包后分别向所述源网络节点发送探测应答包,各探测应答包的目的地址为所述源网络节点的MAC地址;
坐标记录模块730,用于将所述探测应答包的个数标记为所述目标网络节点的坐标值;
节点互连模块740,用于根据所述网络中所有其他网络节点的坐标值绘制所述网络对应的互连拓扑图,所述互连拓扑图中相连的两个网络节点的坐标值之间的差值为1。
作为其中一种实施方式,所述节点互连模块740包括:
孤立节点读取单元,用于在所述网络对应的互连拓扑图内孤立的网络节点中,读取坐标值最大的网络节点作为最远节点;
途径坐标获取单元,用于查找在以最远节点为目标网络节点发送路径探测包时,源网络节点接收到的各探测应答包的源地址,获得各源地址对应的网络节点的坐标值;
连接单元,用于将获得的各源地址对应的网络节点按坐标值大小顺次连接。
进一步地,所述目标选取模块710包括:
第一集合获取单元,用于加入组播组,接收组播组内多个网络节点发送的其自身的MAC地址,获得组播组内网络节点的MAC地址集合;
第二集合获取单元,用于获取网络节点的MAC地址转发表;其中,所述MAC 地址转发表用于记录网络节点的以太网端口所连接的其他网络节点MAC地址集合;
比对单元,用于比对所述组播组内网络节点的MAC地址集合以及网络节点的每一以太网端口所连接的其他网络节点MAC地址集合,判断网络节点的每一以太网端口是否连接有所述组播组内的网络节点;
端口管理单元,用于如果网络节点的以太网端口没有连接所述组播组内的网络节点,则关闭该以太网端口;
节点确认单元,用于将所述组播组内网络节点中的一个网络节点设为源网络节点,从组播组内其他网络节点中逐一选取网络节点作为目标网络节点。
进一步地,所述组播组内的网络节点为矿井集控***中连接于上位机与综采设备之间的网关;
所述网关包括以太网端口和工业现场总线端口;所述网关的以太网端口用于连接所述上位机、其他网关或具有以太网端口的综采设备,所述工业现场总线端口用于连接具有工业现场总线端口的综采设备。
进一步地,所述节点选取模块710还包括:
老化调整单元,用于在比对所述组播组内网络节点的MAC地址集合以及网络节点的每一以太网端口所连接的其他网络节点MAC地址集合之前,将网络节点的MAC地址转发表老化时间调整为预先设置的最大值。
作为另一种实施方式,所述路径探测包途径的网络节点发送的探测应答包包括所述途径的网络节点的下行端口号,所述目标网络节点发送的探测应答包包括所述目标网络节点的上行端口号;所述上行端口号为向源网络节点发送探测应答包的端口的编号,所述下行端口号为所述途径的网络节点向目标网络节点转发路径探测包的端口的编号。
所述节点互连模块740包括:
第一互连单元,用于若目标网络节点的坐标值为n,且n≠1,则获取坐标值为n-1的各网络节点的MAC地址集合与目标网络节点所对应的途径的网络节点的MAC地址集合之间的交集,在互连拓扑图中连接所述交集对应的网络节点与所述目标网络节点,并标记所述目标网络节点的上行端口与所述交集对应的网络节点的下行端口为连接端口;
第二互连单元,用于若目标网络节点的坐标值为1,则在互连拓扑图中连接所述目标网络节点与源网络节点,并标记所述目标网络节点的上行端口与源网络节点向目标网络节点发送路径探测包的端口为连接端口。
本发明实施例所提供的网络拓扑自发现装置可执行本发明任意实施例所提供的网络拓扑自发现方法,具备执行方法相应的功能模块和有益效果。
实施例五
图8为本发明实施例五提供的一种网络设备的结构示意图,如图8所示,该网络设备包括处理器820、存储器810、输入装置830和输出装置840;网络节点中处理器820的数量可以是一个或多个,图8中以一个处理器820为例;网络设备中的处理器820、存储器810、输入装置830和输出装置840可以通过总线或其他方式连接,图8中以通过总线连接为例。
存储器810作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的网络拓扑自发现方法对应的程序指令/模块(例如,网络拓扑自发现装置中的节点选取模块、路径探测模块、坐标记录模块和节点互连模块)。处理器820通过运行存储在存储器810中的软件程序、指令以及模块,从而执行网络设备的各种功能应用以及数据处理,即实现上述的网络拓扑自发现方法。
存储器810可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器810可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器810可进一步包括相对于处理器820 远程设置的存储器,这些远程存储器可以通过网络连接至网络节点。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置830可用于接收输入的数字或字符信息,以及产生与网络设备的用户设置以及功能控制有关的键信号输入。输出装置840可包括显示屏等显示设备。
实施例六
本发明实施例六还提供一种存储有计算机程序的计算机可读存储介质,所述计算机程序在由计算机处理器执行时用于执行一种网络拓扑自发现方法,该方法包括:
在多个网络节点所在的网络中,将其中一个网络节点设为源网络节点,从其他网络节点中逐一选取网络节点作为目标网络节点;
从所述源网络节点向目标网络节点发送路径探测包,所述路径探测包的目的地址为目标网络节点的MAC地址;使得所述路径探测包途径的网络节点以及所述目标网络节点在接收到所述路径探测包后分别向所述源网络节点发送探测应答包,各探测应答包的目的地址为所述源网络节点的MAC地址;
将所述探测应答包的个数标记为所述目标网络节点的坐标值;
根据所述网络中所有其他网络节点的坐标值绘制所述网络对应的互连拓扑图,所述互连拓扑图中相连的两个网络节点的坐标值之间的差值为1。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的搜索方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器 (Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述网络拓扑自发现装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (8)
1.一种网络拓扑自发现方法,其特征在于,包括:
在多个网络节点所在的网络中,将其中一个网络节点设为源网络节点,从其他网络节点中逐一选取网络节点作为目标网络节点;
从所述源网络节点向目标网络节点发送路径探测包,所述路径探测包的目的地址为目标网络节点的MAC地址;使得所述路径探测包途径的网络节点以及所述目标网络节点在接收到所述路径探测包后分别向所述源网络节点发送探测应答包,各探测应答包的目的地址为所述源网络节点的MAC地址;
将所述探测应答包的个数标记为所述目标网络节点的坐标值;
根据所述网络中所有其他网络节点的坐标值绘制所述网络对应的互连拓扑图,所述互连拓扑图中相连的两个网络节点的坐标值之间的差值为1;
所述根据所述网络中所有其他网络节点的坐标值绘制所述网络对应的互连拓扑图,具体包括:
在所述网络对应的互连拓扑图内孤立的网络节点中,读取坐标值最大的网络节点作为最远节点;
查找在以最远节点为目标网络节点发送路径探测包时,源网络节点接收到的各探测应答包的源地址,获得各源地址对应的网络节点的坐标值;
将获得的各源地址对应的网络节点按坐标值大小顺次连接;
其中,在所述网络对应的互连拓扑图未绘制之前,所有所述网络节点都属于孤立的网络节点。
2.如权利要求1所述的网络拓扑自发现方法,其特征在于,所述在多个网络节点所在的网络中,将其中一个网络节点设为源网络节点,从其他网络节点中逐一选取网络节点作为目标网络节点,具体包括:
加入组播组,接收组播组内多个网络节点发送的其自身的MAC地址,获得组播组内网络节点的MAC地址集合;
获取网络节点的MAC地址转发表;其中,所述MAC地址转发表用于记录网络节点的以太网端口所连接的其他网络节点MAC地址集合;
比对所述组播组内网络节点的MAC地址集合以及网络节点的每一以太网端口所连接的其他网络节点MAC地址集合,判断网络节点的每一以太网端口是否连接有所述组播组内的网络节点;
如果网络节点的以太网端口没有连接所述组播组内的网络节点,则关闭该以太网端口;
将所述组播组内网络节点中的一个网络节点设为源网络节点,从组播组内其他网络节点中逐一选取网络节点作为目标网络节点。
3.如权利要求2所述的网络拓扑自发现方法,其特征在于,所述组播组内的网络节点为矿井集控***中连接于上位机与综采设备之间的网关;
所述网关包括以太网端口和工业现场总线端口;所述网关的以太网端口用于连接所述上位机、其他网关或具有以太网端口的综采设备,所述工业现场总线端口用于连接具有工业现场总线端口的综采设备。
4.如权利要求2所述的网络拓扑自发现方法,其特征在于,在所述比对所述组播组内网络节点的MAC地址集合以及网络节点的每一以太网端口所连接的其他网络节点MAC地址集合之前,还包括:
将网络节点的MAC地址转发表老化时间调整为预先设置的最大值。
5.如权利要求1所述的网络拓扑自发现方法,其特征在于,所述路径探测包途径的网络节点发送的探测应答包包括所述途径的网络节点的下行端口号,所述目标网络节点发送的探测应答包包括所述目标网络节点的上行端口号;所述上行端口号为向源网络节点发送探测应答包的端口的编号,所述下行端口号为所述途径的网络节点向目标网络节点转发路径探测包的端口的编号;
所述根据所述网络中所有其他网络节点的坐标值绘制所述网络对应的互连拓扑图,具体包括:
若目标网络节点的坐标值为n,且n≠1,则获取坐标值为n-1的各网络节点的MAC地址集合与目标网络节点所对应的途径的网络节点的MAC地址集合之间的交集,在互连拓扑图中连接所述交集对应的网络节点与所述目标网络节点,并标记所述目标网络节点的上行端口与所述交集对应的网络节点的下行端口为连接端口;
若目标网络节点的坐标值为1,则在互连拓扑图中连接所述目标网络节点与源网络节点,并标记所述目标网络节点的上行端口与源网络节点向目标网络节点发送路径探测包的端口为连接端口。
6.一种网络拓扑自发现装置,其特征在于,包括:
节点选取模块,用于在多个网络节点所在的网络中,将其中一个网络节点设为源网络节点,从其他网络节点中逐一选取网络节点作为目标网络节点;
路径探测模块,用于从所述源网络节点向目标网络节点发送路径探测包,所述路径探测包的目的地址为目标网络节点的MAC地址;使得所述路径探测包途径的网络节点以及所述目标网络节点在接收到所述路径探测包后分别向所述源网络节点发送探测应答包,各探测应答包的目的地址为所述源网络节点的MAC地址;
坐标记录模块,用于将所述探测应答包的个数标记为所述目标网络节点的坐标值;
节点互连模块,用于根据所述网络中所有其他网络节点的坐标值绘制所述网络对应的互连拓扑图,所述互连拓扑图中相连的两个网络节点的坐标值之间的差值为1;
所述节点互连模块包括:
孤立节点读取单元,用于在所述网络对应的互连拓扑图内孤立的网络节点中,读取坐标值最大的网络节点作为最远节点;
途径坐标获取单元,用于查找在以最远节点为目标网络节点发送路径探测包时,源网络节点接收到的各探测应答包的源地址,获得各源地址对应的网络节点的坐标值;
连接单元,用于将获得的各源地址对应的网络节点按坐标值大小顺次连接;
其中,在所述网络对应的互连拓扑图未绘制之前,所有所述网络节点都属于孤立的网络节点。
7.一种网络设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的网络拓扑自发现方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的网络拓扑自发现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711309405.3A CN107947994B (zh) | 2017-12-11 | 2017-12-11 | 网络拓扑自发现方法、装置、网络设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711309405.3A CN107947994B (zh) | 2017-12-11 | 2017-12-11 | 网络拓扑自发现方法、装置、网络设备及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107947994A CN107947994A (zh) | 2018-04-20 |
CN107947994B true CN107947994B (zh) | 2020-11-10 |
Family
ID=61946499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711309405.3A Active CN107947994B (zh) | 2017-12-11 | 2017-12-11 | 网络拓扑自发现方法、装置、网络设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107947994B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109672557A (zh) * | 2018-11-20 | 2019-04-23 | 广东联迪信息科技有限公司 | 一种网络设备管理方法及*** |
CN110022219B (zh) * | 2019-04-12 | 2021-09-24 | 深圳市网心科技有限公司 | 一种网络集群探测方法、***及电子设备和存储介质 |
CN113055238B (zh) * | 2019-12-26 | 2023-02-03 | 深信服科技股份有限公司 | 一种网络探测方法、平台和计算机可读存储介质 |
CN115150913A (zh) * | 2021-03-30 | 2022-10-04 | 青岛海信宽带多媒体技术有限公司 | 一种路由器及路由器自组网方法 |
CN115225510B (zh) * | 2022-07-19 | 2024-01-23 | 北京天融信网络安全技术有限公司 | 一种区块链公链网络结构的获取方法、装置、电子设备 |
CN115550193B (zh) * | 2022-12-01 | 2023-03-17 | 北京广通优云科技股份有限公司 | 一种静态结构图与动态流量分析数据相结合的网络拓扑计算方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6973023B1 (en) * | 2000-12-30 | 2005-12-06 | Cisco Technology, Inc. | Method for routing information over a network employing centralized control |
CN101771604B (zh) * | 2008-12-31 | 2013-01-09 | 华为技术有限公司 | 路由探测方法、***以及中间路由装置 |
CN103368856A (zh) * | 2013-07-10 | 2013-10-23 | 杭州华三通信技术有限公司 | 一种拓扑管理方法和设备 |
CN103905276A (zh) * | 2014-03-27 | 2014-07-02 | 国家电网公司 | 一种快速的网络拓扑探测方法 |
CN105656790B (zh) * | 2016-01-28 | 2019-03-05 | 东智安通(北京)科技有限公司 | 多路径数据传输方法及装置 |
CN105721318B (zh) * | 2016-02-29 | 2018-12-25 | 华为技术有限公司 | 一种软件定义网络sdn中发现网络拓扑的方法和装置 |
CN106067862A (zh) * | 2016-06-14 | 2016-11-02 | 乐视控股(北京)有限公司 | 网络拓扑的构建方法及装置 |
-
2017
- 2017-12-11 CN CN201711309405.3A patent/CN107947994B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107947994A (zh) | 2018-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107947994B (zh) | 网络拓扑自发现方法、装置、网络设备及计算机存储介质 | |
US10484206B2 (en) | Path detection method in VxLAN, controller, and network device | |
CN106656801B (zh) | 业务流的转发路径的重定向方法、装置和业务流转发*** | |
CN102647355B (zh) | Lacp协商处理方法、中继节点及*** | |
CN108737272B (zh) | 一种云计算中高性能路由转发方法 | |
CN113411260B (zh) | 一种IPv6网络中数据报文的发送方法及装置 | |
CN107959620B (zh) | 综采设备识别方法、装置、***、网关及存储介质 | |
CN102938794A (zh) | 地址解析协议arp消息转发方法、交换机和控制器 | |
CN105227466B (zh) | 通信处理方法和装置 | |
CN103354509B (zh) | 一种链路连接信息的获取方法和设备 | |
CN101873230A (zh) | 物理网络拓扑的发现方法及装置 | |
CN104320278A (zh) | 基于软件定义网络sdn的广域网络实现方法及设备 | |
WO2020007372A1 (zh) | 基于工业以太网的控制方法及装置 | |
CN104601394A (zh) | 一种业务链连通性检测的方法、装置及*** | |
CN104852840A (zh) | 一种控制虚拟机之间互访的方法及装置 | |
CN104168209A (zh) | 多接入sdn网络报文转发方法和控制器 | |
CN102326370B (zh) | 一种报文处理方法、设备和*** | |
CN105187311A (zh) | 一种报文转发方法及装置 | |
CN105516025A (zh) | 端到端的路径控制和数据传输方法、OpenFlow控制器和交换机 | |
CN105471747A (zh) | 一种智能路由器选路方法和装置 | |
CN104135548A (zh) | 基于fpga的静态nat实现方法及装置 | |
CN107517130B (zh) | 基于opnet的无缝冗余协议网络性能等效仿真方法 | |
CN105162703A (zh) | 基于混合协议的多级网络拓扑智能发现及生成方法和*** | |
CN108055151B (zh) | 网络节点的端口管理方法、装置、网络节点及存储介质 | |
CN105207909A (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 |