CN114024859A - 基于设备和链路发现的网路拓扑生成方法、存储介质及终端 - Google Patents
基于设备和链路发现的网路拓扑生成方法、存储介质及终端 Download PDFInfo
- Publication number
- CN114024859A CN114024859A CN202111399901.9A CN202111399901A CN114024859A CN 114024859 A CN114024859 A CN 114024859A CN 202111399901 A CN202111399901 A CN 202111399901A CN 114024859 A CN114024859 A CN 114024859A
- Authority
- CN
- China
- Prior art keywords
- router
- routers
- interface
- address
- link
- 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
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000012360 testing method Methods 0.000 claims abstract description 18
- 238000012216 screening Methods 0.000 claims description 3
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 101150073458 DOT1 gene Proteins 0.000 description 3
- 101100278332 Dictyostelium discoideum dotA gene Proteins 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/02—Standardisation; Integration
- H04L41/0213—Standardised network management protocols, e.g. simple network management protocol [SNMP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
Abstract
本发明提供的基于设备和链路发现的网路拓扑生成方法、存储介质及终端,所述方法包括:识别网络中的路由器,获得所有路由器的IP地址并组成IP数据集;遍历所有IP地址,对每个IP地址进行通断测试,并将测试结果为信息可达的IP地址添加到路由器表;构建路由器之间的链路关系表,以及路由器与子网的链路关系表;建立交换机信息表,并获取交换机的端口地址;根据已建立的路由器与子网的链路关系,通过子网掩码的网段对交换机的信息表中的交换机进行IP匹配,形成子网与连接路由器的交换机之间的关系表;获取交换机的可用端口,并将可用的端口号写入子网与连接路由器的交换机之间的关系表中;具有方便的进行拓扑管理的有益效果,适用于计算机网络领域。
Description
技术领域
本发明涉及计算机网络的技术领域,具体涉及基于设备和链路发现的网路拓扑生成方法、存储介质及终端。
背景技术
网络拓扑能够很好地反映网络中各设备的结构关系,协助管理和性能分析,对整个网络的性能有重大影响。
随着网络技术的发展,局域网中出现了越来越多的网络设备,位于同一局域网内的网络设备通过设备发现,设备和协议之间的异构性,都对网络拓扑发现带来了很大的困难。
发明内容
针对相关技术中存在的不足,本发明所要解决的技术问题在于:提供一种能够方便的进行拓扑管理的基于设备和链路发现的网路拓扑生成方法、存储介质及终端。
为解决上述技术问题,本发明采用的技术方案为:
基于设备和链路发现的网路拓扑生成方法,包括如下步骤:
S10,识别网络中的路由器,获得所有路由器的IP地址并组成IP数据集;
S20,遍历IP数据集中的所有IP地址,对每个IP地址进行通断测试,并将测试结果为信息可达的IP地址添加到路由器表RoutList;
S30,基于路由器表,构建路由器之间的链路关系表RtCnList,以及路由器与子网的链路关系表RSCnList;
S40,建立包含交换机IP地址的交换机信息表SwitchList,并获取交换机的端口地址;
S50,根据步骤S30中已建立的路由器与子网的链路关系,通过子网掩码的网段对交换机的信息表中的交换机进行IP匹配,形成子网与连接路由器的交换机之间的关系表RSList;
其中,所述的子网与连接路由器的交换机之间的关系表RSList包括:当前路由器、与当前路由器连接的交换机;
所述当前路由器包括:路由器IP、路由表的接口索引、接口的物理地址;
所述与当前路由器连接的交换机包括:交换机端口地址、端口号。
优选地,所述步骤S20,具体包括:
S201,读取设备发现薄表中的第一个IP地址;
S202,该IP地址进行通断测试;
S203,判断该IP地址的通断测试结果,如为:信息不可达,则执行步骤S204;如为:信息可达,则执行步骤S205;
S204,更新设备发现薄表并将其标记为不可达,执行步骤S206;
S205,更新设备发现薄表将其标记为可达,并将该IP地址添加到路由器表;
S206,设备发现薄表中的IP地址是否全部读取完毕,如是,则结束,否则执行步骤S207;
S207,读取下一个IP地址后,执行步骤S202。
优选地,所述步骤S30,具体包括:
S301,使用SNMP工具采集网络中所有路由器的Route IP,及与其对应的接口IP,并存入所有路由器的接口表RIfList中;所述所有路由器的接口表RIfList包括:路由器IP,与路由器IP对应的接口的IP地址、接口的子网掩码;
S302,获取区域内边界路由器的IP,并存入边界路由器表BRList中;
S303,将管理站点设置为默认网关,并将该网关所在的路由器IP,加入到路由器表RoutList中;
S304,构建每个路由器的路由表ipRouteTable;
S305,遍历路由器表RoutList中的所有路由器,根据路由器IP地址、每个路由器的路由表ipRouteTable,在所有路由器的接口表RifList中提取出与其相对应的接口的IP地址、接口的子网掩码,将其写入InterfaceList接口表中;并判断路由器之间、以及路由器与子网的链路关系,并将链路关系写入路由器之间的链路关系表RtCnList,以及路由器与子网的链路关系表RSCnList中;
其中,所述路由器之间的链路关系表RtCnList包括:当前路由器的Route IP及其路由表的接口索引、接口的物理地址,以及下一跳路由器的Route IP及其路由表的接口索引;
所述路由器与子网的链路关系表RSCnList包括:当前路由器的Route IP及其路由表的接口索引、接口的物理地址,以及子网的路由表的目的地址及其路由表的子网掩码。
优选地,所述步骤S305具体包括:
S3051,读取路由器表RoutList中的第一个路由器,并将之标记为已读;
S3052,判断当前路由器的路由器IP是否出现在边界路由器表BRList中,若出现,则执行步骤S3056;否则执行步骤S3053;
S3053,根据当前路由器的路由器IP地址,提取所有路由器的接口表RifList中与该路由器IP地址相对应的接口的IP地址、接口的子网掩码,将接口的IP地址、接口的子网掩码读取后写入InterfaceList接口表中,并在路由器的接口表RifList中将该条数据标记为已读;
S3054,查询当前路由器的路由表ipRouteTable;
S3055,判断路由器之间、以及路由器与子网的链路关系,并将链路关系写入路由器之间的链路关系表RtCnList,以及路由器与子网的链路关系表RSCnList中;
S3056,路由器表RoutList中的全部地址是否读取完毕,如是,则结束,否则,执行步骤S3057;
S3057,读取路由器表RoutList中的下一个路由器,并将之标记为已读后,执行步骤S3052。
优选地,所述步骤S3055具体包括:
S3055-1,读取当前路由器的路由表ipRouteTable中的第一组路由信息,并将之标记为已读;
S3055-2,判断该组路由信息中ipRouteType的值,若值为3,则执行步骤S3055-3,若值为4,则执行步骤S3055-9;
S3055-3,判断该组路由信息中ipRouteMask是否是255.255.255.255,若是,则执行步骤S3055-4,否则执行步骤S3055-7;
S3055-4,判断路由表的下一跳地址ipRouteNextHop是否在InterfaceList接口表中出现,如出现,执行步骤S3055-11,否则执行步骤S3055-5;
S3055-5,该路由信息表示的链路为路由器之间的直连链路,并查询路由器的接口表RifList,将路由表的下一跳地址ipRouteNextHop所代表的路由器的路由器IP加入到路由器表RoutList中;
S3055-6,将当前路由器的Route IP及其路由表的接口索引、接口的物理地址,以及下一跳路由器的Route IP及其路由表的接口索引写入到路由器之间的链路关系表RtCnList中后,执行步骤S3055-11;
S3055-7,该路由信息表示的链路为路由器与子网之间的链路,并将路由表的目的IP地址、路由表的子网掩码所代表的子网添加到子网表SubnetList中;
S3055-8,将当前路由器的Route IP及其路由表的接口索引、接口的物理地址,以及子网的路由表的目的地址及其路由表的子网掩码写入到路由器与子网的链路关系表RSCnList中,并执行步骤S3055-11;
S3055-9,判断路由表的下一跳地址ipRouteNextHop是否在InterfaceList接口表中出现,如出现,执行步骤S3055-11,否则执行步骤S3055-10;
S3055-10,该路由信息表示的链路为路由器间的非直接链路,并查询路由器的接口表RifList,将路由表的下一跳地址ipRouteNextHop所代表的路由器的路由器IP加入到路由器表RoutList中,并执行步骤S3055-11;
S3055-11,路由表ipRouteTable中的所有信息是否标记为已读,如是,则执行步骤S3056,否则,执行步骤S3055-12;
S3055-12,读取当前路由器的路由表ipRouteTable中的下一组路由信息,并将之标记为已读后,执行步骤S3055-2。
优选地,所述步骤S50具体包括:
S501,使用路由器与子网的链路关系表RSCnList,对网段中的掩码进行筛选;
S502,将筛选出的网段与交换机信息表SwitchList进行匹配,匹配成功的写入子网与连接路由器的交换机之间的关系表RSList中;
其中,筛选出的网段范围为:24≥掩码<30。
优选地,所述步骤S502中,所述匹配的具体过程包括:
根据选择出的子网掩码,在InterfaceList接口表中查询出接口的IP地址;
将路由器接口的IP地址与步骤S40中已获取的交换机的接口IP地址进行匹配,若是同一网段,则匹配成功。
存储介质,其中存储有多条指令,所述指令适于由处理器加载并执行如上任一所述的基于设备和链路发现的网路拓扑生成方法。
终端,包括:
处理器,适于实现各指令;以及
存储介质,其中存储有多条指令,所述指令适于由处理器加载并执行如上任一所述的基于设备和链路发现的网路拓扑生成方法。
本发明的有益技术效果在于:
本发明在进行网络拓扑的生成过程中,包括设备发现和链路发现两个过程;
设备发现中:首先,通过识别网络中的路由器,将路由器对应的IP地址加入到IP数据集中,其次,通过遍历IP数据集中的所有IP地址,对每个IP地址进行通断测试,并将测试结果为信息可达的IP地址添加到路由器表RoutList;上述过程中,建立了路由器表RoutList;
链路发现中:首先,基于路由器表RoutList,构建每个路由器设备的构建路由器之间的链路关系表RtCnList,以及路由器与子网的链路关系表RSCnList;
其次,建立包含交换机IP地址的交换机信息表SwitchList,并获取交换机的子网地址,并基于路由器与子网的链路关系,通过子网掩码的网段对交换机的信息表中的交换机进行IP匹配,形成子网与连接路由器的交换机之间的关系表RSList;
再次,通过使用SNMP工具获取交换机的可用端口,并将可用的端口号写入子网与连接路由器的交换机之间的关系表RSList中;
通过上述过程,形成了子网与连接路由器的交换机之间的关系表,完成了网路拓扑的生成,本发明中,通过逐级建立数据表的形式,能够有效的对各个路由器的IP地址、接口信息、子网信息进行遍历,能够准确的识别出网路设备的状态和连接关系,能够有效描述组网拓扑,实用性极强。
附图说明
图1是本发明提供的基于设备和链路发现的网路拓扑生成方法的流程示意图;
图2是本发明中步骤S20的流程示意图;
图3是本发明中步骤S30的流程示意图;
图4是本发明中步骤S305的流程示意图;
图5是本发明中步骤S3055的流程示意图;
图6是本发明中步骤S60的流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例;基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
其次,本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。
以下结合附图详细说明所述基于设备和链路发现的网路拓扑生成方法的一个实施例。
实施例一
如图1所示,基于设备和链路发现的网路拓扑生成方法,包括如下步骤:
S10,识别网络中的路由器,获得所有路由器的IP地址并组成IP数据集;
S20,遍历IP数据集中的所有IP地址,对每个IP地址进行通断测试,并将测试结果为信息可达的IP地址添加到路由器表RoutList;
S30,基于路由器表,构建路由器之间的链路关系表RtCnList,以及路由器与子网的链路关系表RSCnList;
S40,建立包含交换机IP地址的交换机信息表SwitchList,并获取交换机的端口地址;
S50,根据步骤S30中已建立的路由器与子网的链路关系,通过子网掩码的网段对交换机的信息表中的交换机进行IP匹配,形成子网与连接路由器的交换机之间的关系表RSList;
其中,所述的子网与连接路由器的交换机之间的关系表RSList包括:当前路由器、与当前路由器连接的交换机;
所述当前路由器包括:路由器IP、路由表的接口索引、接口的物理地址;
所述与当前路由器连接的交换机包括:交换机端口地址、端口号。
本实施例中,路由器表RoutList、路由器之间的链路关系表RtCnList、路由器与子网的链路关系表RSCnList、交换机信息表SwitchList以及子网与连接路由器的交换机之间的关系表RSList的结构如下所示。
表1:路由器表
路由器表:RoutList |
Route IP |
表2:路由器之间的链路关系表
表3:路由器与子网的链路关系表
表4:交换机信息表
交换机表:SwitchList |
Route IP |
表5:子网与连接路由器的交换机之间的关系表
其中:表格中各字符的释义为:
ipAdEntAddr:接口的IP地址
ipAdEntNetMask:接口的子网掩码
ipRouteIfIndex:路由表的接口索引
ifPhysAddress:接口的物理地址
ipRouteDest:路由表的目的IP地址
ipRouteNextHop:路由表的下一跳地址
ipRouteMask:路由表的子网掩码
ipRouteType:路由信息类型(3表示直连,4表示非直连)
本发明在进行网络拓扑的生成过程中,包括设备发现和链路发现两个过程;
设备发现中:首先,通过识别网络中的路由器,将路由器对应的IP地址加入到IP数据集中,其次,通过遍历IP数据集中的所有IP地址,对每个IP地址进行通断测试,并将测试结果为信息可达的IP地址添加到路由器表RoutList;上述过程中,建立了路由器表RoutList;
链路发现中:首先,基于路由器表RoutList,构建每个路由器设备的构建路由器之间的链路关系表RtCnList,以及路由器与子网的链路关系表RSCnList;
其次,建立包含交换机IP地址的交换机信息表SwitchList,并获取交换机的子网地址,并基于路由器与子网的链路关系,通过子网掩码的网段对交换机的信息表中的交换机进行IP匹配,形成子网与连接路由器的交换机之间的关系表RSList;
再次,通过使用SNMP工具获取交换机的可用端口,并将可用的端口号写入子网与连接路由器的交换机之间的关系表RSList中;
通过上述过程,形成了子网与连接路由器的交换机之间的关系表,完成了网路拓扑的生成,本发明中,通过逐级建立数据表的形式,能够有效的对各个路由器的IP地址、接口信息、子网信息进行遍历,能够准确的识别出网路设备的状态和连接关系,能够有效描述组网拓扑,实用性极强。
图2是本发明中步骤S20的流程示意图;如图2所示,所述步骤S20,具体包括:
S201,读取设备发现薄表中的第一个IP地址;
S202,该IP地址进行通断测试;
S203,判断该IP地址的通断测试结果,如为:信息不可达,则执行步骤S204;如为:信息可达,则执行步骤S205;
S204,更新设备发现薄表并将其标记为不可达,执行步骤S206;
S205,更新设备发现薄表将其标记为可达,并将该IP地址添加到路由器表;
S206,设备发现薄表中的IP地址是否全部读取完毕,如是,则结束,否则执行步骤S207;
S207,读取下一个IP地址后,执行步骤S202。
图3是本发明中步骤S30的流程示意图;如图3所示,所述步骤S30,具体包括:
S301,使用SNMP工具采集网络中所有路由器的Route IP,及与其对应的接口IP,并存入所有路由器的接口表RIfList中;所述所有路由器的接口表RIfList包括:路由器IP,与路由器IP对应的接口的IP地址、接口的子网掩码;
S302,获取区域内边界路由器的IP,并存入边界路由器表BRList中;
S303,将管理站点设置为默认网关,并将该网关所在的路由器IP,加入到路由器表RoutList中;
S304,构建每个路由器的路由表ipRouteTable;
S305,遍历路由器表RoutList中的所有路由器,根据路由器IP地址、每个路由器的路由表ipRouteTable,在所有路由器的接口表RifList中提取出与其相对应的接口的IP地址、接口的子网掩码,将其写入InterfaceList接口表中;并判断路由器之间、以及路由器与子网的链路关系,并将链路关系写入路由器之间的链路关系表RtCnList,以及路由器与子网的链路关系表RSCnList中;
其中,所述路由器之间的链路关系表RtCnList包括:当前路由器的Route IP及其路由表的接口索引、接口的物理地址,以及下一跳路由器的Route IP及其路由表的接口索引;
所述路由器与子网的链路关系表RSCnList包括:当前路由器的Route IP及其路由表的接口索引、接口的物理地址,以及子网的路由表的目的地址及其路由表的子网掩码。
图4是本发明中步骤S305的流程示意图;如图4所示,所述步骤S305具体包括:
S3051,读取路由器表RoutList中的第一个路由器,并将之标记为已读;
S3052,判断当前路由器的路由器IP是否出现在边界路由器表BRList中,若出现,则执行步骤S3056;否则执行步骤S3053;
S3053,根据当前路由器的路由器IP地址,提取所有路由器的接口表RifList中与该路由器IP地址相对应的接口的IP地址、接口的子网掩码,将接口的IP地址、接口的子网掩码读取后写入InterfaceList接口表中,并在路由器的接口表RifList中将该条数据标记为已读;
S3054,查询当前路由器的路由表ipRouteTable;
S3055,判断路由器之间、以及路由器与子网的链路关系,并将链路关系写入路由器之间的链路关系表RtCnList,以及路由器与子网的链路关系表RSCnList中;
S3056,路由器表RoutList中的全部地址是否读取完毕,如是,则结束,否则,执行步骤S3057;
S3057,读取路由器表RoutList中的下一个路由器,并将之标记为已读后,执行步骤S3052。
本实施例中,所有路由器的接口表RifList、边界路由器表BRList、InterfaceList接口表的结构如下所示。
表6:所有路由器的接口表
表7:边界路由器表
边界路由器表:BRList |
Route IP |
表8:接口表
表9:子网表
表10:交换机间的链路关系
图5是本发明中步骤S3055的流程示意图;如图5所示,所述步骤S3055具体包括:
S3055-1,读取当前路由器的路由表ipRouteTable中的第一组路由信息,并将之标记为已读;
S3055-2,判断该组路由信息中ipRouteType的值,若值为3,则执行步骤S3055-3,若值为4,则执行步骤S3055-9;
S3055-3,判断该组路由信息中ipRouteMask是否是255.255.255.255,若是,则执行步骤S3055-4,否则执行步骤S3055-7;
S3055-4,判断路由表的下一跳地址ipRouteNextHop是否在InterfaceList接口表中出现,如出现,执行步骤S3055-11,否则执行步骤S3055-5;
S3055-5,该路由信息表示的链路为路由器之间的直连链路,并查询路由器的接口表RifList,将路由表的下一跳地址ipRouteNextHop所代表的路由器的路由器IP加入到路由器表RoutList中;
S3055-6,将当前路由器的Route IP及其路由表的接口索引、接口的物理地址,以及下一跳路由器的Route IP及其路由表的接口索引写入到路由器之间的链路关系表RtCnList中后,执行步骤S3055-11;
S3055-7,该路由信息表示的链路为路由器与子网之间的链路,并将路由表的目的IP地址、路由表的子网掩码所代表的子网添加到子网表SubnetList中;
S3055-8,将当前路由器的Route IP及其路由表的接口索引、接口的物理地址,以及子网的路由表的目的地址及其路由表的子网掩码写入到路由器与子网的链路关系表RSCnList中,并执行步骤S3055-11;
S3055-9,判断路由表的下一跳地址ipRouteNextHop是否在InterfaceList接口表中出现,如出现,执行步骤S3055-11,否则执行步骤S3055-10;
S3055-10,该路由信息表示的链路为路由器间的非直接链路,并查询路由器的接口表RifList,将路由表的下一跳地址ipRouteNextHop所代表的路由器的路由器IP加入到路由器表RoutList中,并执行步骤S3055-11;
S3055-11,路由表ipRouteTable中的所有信息是否标记为已读,如是,则执行步骤S3056,否则,执行步骤S3055-12;
S3055-12,读取当前路由器的路由表ipRouteTable中的下一组路由信息,并将之标记为已读后,执行步骤S3055-2。
图6是本发明中步骤S60的流程示意图,如图6所示,所述步骤S50具体包括:
S501,使用路由器与子网的链路关系表RSCnList,对网段中的掩码进行筛选;
S502,将筛选出的网段与交换机信息表SwitchList进行匹配,匹配成功的写入子网与连接路由器的交换机之间的关系表RSList中;
其中,筛选出的网段范围为:24≥掩码<30。
具体地,所述步骤S502中,所述匹配的具体过程包括:
根据选择出的子网掩码,在InterfaceList接口表中查询出接口的IP地址;
将路由器接口的IP地址与步骤S40中已获取的交换机的接口IP地址进行匹配,若是同一网段,则匹配成功。
如:当路由器的接口的IP地址和交换机的端口地址(Switch IP)的前三位相同,则匹配成功。
本实施例中,使用SNMP工具获取交换机的可用端口,其中的可用端口包括:
dot1dBaseNumPorts:端口的数量节点(1.3.6.1.2.1.17.1.2)
dot1dStpRootCost:当前桥节点到根节点的路径值(1.3.6.1.2.1.17.2.6)
dot1dStpRootPort:当前桥节点到根节点的端口数量(1.3.6.1.2.1.17.2.7)
本发明还提供了存储介质和终端。
存储介质,其中存储有多条指令,所述指令适于由处理器加载并执行如撒花姑娘任一所述的基于设备和链路发现的网路拓扑生成方法。
所述存储介质,可以包括:ROM、RAM、磁盘或光盘等。
终端,包括:
处理器,适于实现各指令;以及
存储介质,其中存储有多条指令,所述指令适于由处理器加载并执行如上任一所述的基于设备和链路发现的网路拓扑生成方法。
所述终端可为任意能够实现基于设备和链路发现的网路拓扑生成方法的装置,该装置可以是各种终端设备,例如:台式电脑、手提电脑等,具体可以通过软件和/或硬件来实现。
在本发明的描述中,需要理解的是,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
可以理解的是,在此提供的算法和显示不与任何特定计算机、虚拟系统或者其他设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定的编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (9)
1.基于设备和链路发现的网路拓扑生成方法,其特征在于:包括如下步骤:
S10,识别网络中的路由器,获得所有路由器的IP地址并组成IP数据集;
S20,遍历IP数据集中的所有IP地址,对每个IP地址进行通断测试,并将测试结果为信息可达的IP地址添加到路由器表RoutList;
S30,基于路由器表,构建路由器之间的链路关系表RtCnList,以及路由器与子网的链路关系表RSCnList;
S40,建立包含交换机IP地址的交换机信息表SwitchList,并获取交换机的端口地址;
S50,根据步骤S30中已建立的路由器与子网的链路关系,通过子网掩码的网段对交换机的信息表中的交换机进行IP匹配,形成子网与连接路由器的交换机之间的关系表RSList;
其中,所述的子网与连接路由器的交换机之间的关系表RSList包括:当前路由器、与当前路由器连接的交换机;
所述当前路由器包括:路由器IP、路由表的接口索引、接口的物理地址;
所述与当前路由器连接的交换机包括:交换机端口地址、端口号。
2.根据权利要求1所述的基于设备和链路发现的网路拓扑生成方法,其特征在于:所述步骤S20,具体包括:
S201,读取设备发现薄表中的第一个IP地址;
S202,该IP地址进行通断测试;
S203,判断该IP地址的通断测试结果,如为:信息不可达,则执行步骤S204;如为:信息可达,则执行步骤S205;
S204,更新设备发现薄表并将其标记为不可达,执行步骤S206;
S205,更新设备发现薄表将其标记为可达,并将该IP地址添加到路由器表;
S206,设备发现薄表中的IP地址是否全部读取完毕,如是,则结束,否则执行步骤S207;
S207,读取下一个IP地址后,执行步骤S202。
3.根据权利要求1所述的基于设备和链路发现的网路拓扑生成方法,其特征在于:所述步骤S30,具体包括:
S301,使用SNMP工具采集网络中所有路由器的RouteIP,及与其对应的接口IP,并存入所有路由器的接口表RIfList中;所述所有路由器的接口表RIfList包括:路由器IP,与路由器IP对应的接口的IP地址、接口的子网掩码;
S302,获取区域内边界路由器的IP,并存入边界路由器表BRList中;
S303,将管理站点设置为默认网关,并将该网关所在的路由器IP,加入到路由器表RoutList中;
S304,构建每个路由器的路由表ipRouteTable;
S305,遍历路由器表RoutList中的所有路由器,根据路由器IP地址、每个路由器的路由表ipRouteTable,在所有路由器的接口表RifList中提取出与其相对应的接口的IP地址、接口的子网掩码,将其写入InterfaceList接口表中;并判断路由器之间、以及路由器与子网的链路关系,并将链路关系写入路由器之间的链路关系表RtCnList,以及路由器与子网的链路关系表RSCnList中;
其中,所述路由器之间的链路关系表RtCnList包括:当前路由器的Route IP及其路由表的接口索引、接口的物理地址,以及下一跳路由器的Route IP及其路由表的接口索引;
所述路由器与子网的链路关系表RSCnList包括:当前路由器的Route IP及其路由表的接口索引、接口的物理地址,以及子网的路由表的目的地址及其路由表的子网掩码。
4.根据权利要求3所述的基于设备和链路发现的网路拓扑生成方法,其特征在于:所述步骤S305具体包括:
S3051,读取路由器表RoutList中的第一个路由器,并将之标记为已读;
S3052,判断当前路由器的路由器IP是否出现在边界路由器表BRList中,若出现,则执行步骤S3056;否则执行步骤S3053;
S3053,根据当前路由器的路由器IP地址,提取所有路由器的接口表RifList中与该路由器IP地址相对应的接口的IP地址、接口的子网掩码,将接口的IP地址、接口的子网掩码读取后写入InterfaceList接口表中,并在路由器的接口表RifList中将该条数据标记为已读;
S3054,查询当前路由器的路由表ipRouteTable;
S3055,判断路由器之间、以及路由器与子网的链路关系,并将链路关系写入路由器之间的链路关系表RtCnList,以及路由器与子网的链路关系表RSCnList中;
S3056,路由器表RoutList中的全部地址是否读取完毕,如是,则结束,否则,执行步骤S3057;
S3057,读取路由器表RoutList中的下一个路由器,并将之标记为已读后,执行步骤S3052。
5.根据权利要求3所述的基于设备和链路发现的网路拓扑生成方法,其特征在于:所述步骤S3055具体包括:
S3055-1,读取当前路由器的路由表ipRouteTable中的第一组路由信息,并将之标记为已读;
S3055-2,判断该组路由信息中ipRouteType的值,若值为3,则执行步骤S3055-3,若值为4,则执行步骤S3055-9;
S3055-3,判断该组路由信息中ipRouteMask是否是255.255.255.255,若是,则执行步骤S3055-4,否则执行步骤S3055-7;
S3055-4,判断路由表的下一跳地址ipRouteNextHop是否在InterfaceList接口表中出现,如出现,执行步骤S3055-11,否则执行步骤S3055-5;
S3055-5,该路由信息表示的链路为路由器之间的直连链路,并查询路由器的接口表RifList,将路由表的下一跳地址ipRouteNextHop所代表的路由器的路由器IP加入到路由器表RoutList中;
S3055-6,将当前路由器的Route IP及其路由表的接口索引、接口的物理地址,以及下一跳路由器的Route IP及其路由表的接口索引写入到路由器之间的链路关系表RtCnList中后,执行步骤S3055-11;
S3055-7,该路由信息表示的链路为路由器与子网之间的链路,并将路由表的目的IP地址、路由表的子网掩码所代表的子网添加到子网表SubnetList中;
S3055-8,将当前路由器的Route IP及其路由表的接口索引、接口的物理地址,以及子网的路由表的目的地址及其路由表的子网掩码写入到路由器与子网的链路关系表RSCnList中,并执行步骤S3055-11;
S3055-9,判断路由表的下一跳地址ipRouteNextHop是否在InterfaceList接口表中出现,如出现,执行步骤S3055-11,否则执行步骤S3055-10;
S3055-10,该路由信息表示的链路为路由器间的非直接链路,并查询路由器的接口表RifList,将路由表的下一跳地址ipRouteNextHop所代表的路由器的路由器IP加入到路由器表RoutList中,并执行步骤S3055-11;
S3055-11,路由表ipRouteTable中的所有信息是否标记为已读,如是,则执行步骤S3056,否则,执行步骤S3055-12;
S3055-12,读取当前路由器的路由表ipRouteTable中的下一组路由信息,并将之标记为已读后,执行步骤S3055-2。
6.根据权利要求3所述的基于设备和链路发现的网路拓扑生成方法,其特征在于:所述步骤S50具体包括:
S501,使用路由器与子网的链路关系表RSCnList,对网段中的掩码进行筛选;
S502,将筛选出的网段与交换机信息表SwitchList进行匹配,匹配成功的写入子网与连接路由器的交换机之间的关系表RSList中;
其中,筛选出的网段范围为:24≥掩码<30。
7.根据权利要求6所述的基于设备和链路发现的网路拓扑生成方法,其特征在于:所述步骤S502中,所述匹配的具体过程包括:
根据选择出的子网掩码,在InterfaceList接口表中查询出接口的IP地址;
将路由器接口的IP地址与步骤S40中已获取的交换机的接口IP地址进行匹配,若是同一网段,则匹配成功。
8.存储介质,其中存储有多条指令,其特征在于:所述指令适于由处理器加载并执行如权利要求1~7中任一所述的基于设备和链路发现的网路拓扑生成方法。
9.终端,其特征在于:包括:
处理器,适于实现各指令;以及
存储介质,其中存储有多条指令,所述指令适于由处理器加载并执行如权利要求1~7中任一所述的基于设备和链路发现的网路拓扑生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111399901.9A CN114024859B (zh) | 2021-11-24 | 2021-11-24 | 基于设备和链路发现的网路拓扑生成方法、存储介质及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111399901.9A CN114024859B (zh) | 2021-11-24 | 2021-11-24 | 基于设备和链路发现的网路拓扑生成方法、存储介质及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114024859A true CN114024859A (zh) | 2022-02-08 |
CN114024859B CN114024859B (zh) | 2024-03-26 |
Family
ID=80065920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111399901.9A Active CN114024859B (zh) | 2021-11-24 | 2021-11-24 | 基于设备和链路发现的网路拓扑生成方法、存储介质及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114024859B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114465907A (zh) * | 2022-03-17 | 2022-05-10 | 中国联合网络通信集团有限公司 | 网络拓扑发现方法、设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040221041A1 (en) * | 2003-04-29 | 2004-11-04 | Bassam Tabbara | Method and apparatus for discovering network devices |
CN1756189A (zh) * | 2004-09-30 | 2006-04-05 | 北京航空航天大学 | 基于snmp的ip网络拓扑发现方法 |
CN101141308A (zh) * | 2007-10-15 | 2008-03-12 | 清华大学 | 一种ip主干网的拓扑发现方法 |
US20090116404A1 (en) * | 2007-11-01 | 2009-05-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Topology discovery in heterogeneous networks |
CN102801567A (zh) * | 2012-08-28 | 2012-11-28 | 北京傲天动联技术有限公司 | 分层网络拓扑自动发现的方法和分层网络拓扑组建的方法 |
CN103905314A (zh) * | 2012-12-28 | 2014-07-02 | 上海斐讯数据通信技术有限公司 | 综合型网络拓扑发现方法 |
CN107124297A (zh) * | 2017-03-31 | 2017-09-01 | 广州九乐维信息科技有限公司 | 基于zabbix的SNMP网络拓扑发现方法及装置 |
US20180139104A1 (en) * | 2016-11-12 | 2018-05-17 | Solana Networks Inc. | Method and System for Discovery and Mapping of a Network Topology |
CN112751697A (zh) * | 2019-10-31 | 2021-05-04 | 华为技术有限公司 | 网络拓扑发现方法及节点设备 |
-
2021
- 2021-11-24 CN CN202111399901.9A patent/CN114024859B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040221041A1 (en) * | 2003-04-29 | 2004-11-04 | Bassam Tabbara | Method and apparatus for discovering network devices |
CN1756189A (zh) * | 2004-09-30 | 2006-04-05 | 北京航空航天大学 | 基于snmp的ip网络拓扑发现方法 |
CN101141308A (zh) * | 2007-10-15 | 2008-03-12 | 清华大学 | 一种ip主干网的拓扑发现方法 |
US20090116404A1 (en) * | 2007-11-01 | 2009-05-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Topology discovery in heterogeneous networks |
CN102801567A (zh) * | 2012-08-28 | 2012-11-28 | 北京傲天动联技术有限公司 | 分层网络拓扑自动发现的方法和分层网络拓扑组建的方法 |
CN103905314A (zh) * | 2012-12-28 | 2014-07-02 | 上海斐讯数据通信技术有限公司 | 综合型网络拓扑发现方法 |
US20180139104A1 (en) * | 2016-11-12 | 2018-05-17 | Solana Networks Inc. | Method and System for Discovery and Mapping of a Network Topology |
CN107124297A (zh) * | 2017-03-31 | 2017-09-01 | 广州九乐维信息科技有限公司 | 基于zabbix的SNMP网络拓扑发现方法及装置 |
CN112751697A (zh) * | 2019-10-31 | 2021-05-04 | 华为技术有限公司 | 网络拓扑发现方法及节点设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114465907A (zh) * | 2022-03-17 | 2022-05-10 | 中国联合网络通信集团有限公司 | 网络拓扑发现方法、设备及存储介质 |
CN114465907B (zh) * | 2022-03-17 | 2023-07-18 | 中国联合网络通信集团有限公司 | 网络拓扑发现方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114024859B (zh) | 2024-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4112492B2 (ja) | Ipネットワーク・トポロジ発見のためのリンク状態情報の使用 | |
CN111934921B (zh) | 一种网络拓扑发现方法及装置、设备、存储介质 | |
EP1238515B1 (en) | Automatically identifying subnetworks in a network | |
CN110661666B (zh) | 一种分组传送网的环网资源建立方法和装置 | |
CN111600762B (zh) | 一种网络拓扑结构生成方法、装置、设备及介质 | |
JP2005503070A5 (zh) | ||
CN113452561B (zh) | 一种拓扑生成方法、装置、设备及可读存储介质 | |
CN104579978B (zh) | 一种动态网络链路层拓扑发现方法 | |
CN107547242A (zh) | Vm配置信息的获取方法及装置 | |
CN112492056B (zh) | 一种ip地址使用分析方法及装置 | |
CN113347059B (zh) | 基于固定探针位置的带内网络遥测最优探测路径规划方法 | |
CN114024859B (zh) | 基于设备和链路发现的网路拓扑生成方法、存储介质及终端 | |
CN114024886B (zh) | 跨资源池的网络互通方法、电子设备及可读存储介质 | |
CN106982164A (zh) | 一种网络拓扑发现方法及设备 | |
CN110730093B (zh) | 城域网网络拓扑测绘方法及装置 | |
CN112866011B (zh) | 网络拓扑结构的确定方法、装置、设备和介质 | |
CN102075364B (zh) | 一种直连链路的确定方法和设备 | |
CN112039696B (zh) | 一种网络拓扑结构的生成方法、装置、设备及介质 | |
CN115361296A (zh) | 一种运维系统中基于人工干预的网络拓扑计算方法 | |
CN112532506B (zh) | 混合组网方法、装置、服务器和计算机可读存储介质 | |
CN112087322B (zh) | 配置网元基础信息的方法、装置、设备及可读存储介质 | |
CN106411748B (zh) | 跨网络的动态拓扑维护方法 | |
CN101616092B (zh) | 一种路由发现的方法和装置 | |
CN104639373B (zh) | 端口标识获取方法以及装置 | |
CN114338378B (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 |