CN114257537A - 基于多维度优先的网络拓扑自发现方法 - Google Patents
基于多维度优先的网络拓扑自发现方法 Download PDFInfo
- Publication number
- CN114257537A CN114257537A CN202111479434.0A CN202111479434A CN114257537A CN 114257537 A CN114257537 A CN 114257537A CN 202111479434 A CN202111479434 A CN 202111479434A CN 114257537 A CN114257537 A CN 114257537A
- Authority
- CN
- China
- Prior art keywords
- network
- interface
- layer
- mac address
- relation
- 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
- 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
- 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]
-
- 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/14—Routing performance; Theoretical aspects
-
- 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
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
本发明公开了一种基于多维度优先的网络拓扑自发现方法,包括如下步骤:通过SNMP协议以及SSH/TELNET协议收集所有网络设备的数据;根据收集的数据,从多维度进行网络拓扑分析得到多组网络拓扑;对多组网络拓扑的网络拓扑关系设置优先级;根据优先级将多组网络拓扑合并得到最终的网络拓扑。本发明通过各协议间优势互补,从多维度生成多组网络拓扑,更准确发现三层及二层网络设备连接情况,以及各网络设备连接所使用的端口;对多组网络拓扑的连接关系确认优先级,通过不同维度优先级来解决不同方式获取的拓扑关系冲突情况,最终的确定网络拓扑;网络拓扑准确性更高,更全面。
Description
技术领域
本发明涉及一种网络拓扑自发现方法,尤其涉及一种基于多维度优先的网络拓扑自发现方法。
背景技术
随着企业的IT架构日益庞大,对IT环境中所有实体元素(包括硬件信息、软件信息、文档、业务服务、人员等)的管理已日趋重要。
配置管理数据库(CMDB)是一个存储仓库,用于集中存储和管理IT环境中的所有实体元素。列表管理是CMDB数据的基本管理方式,通过增、删、改、查等基础功能进行数据操作,通过列表展示数据,这种方式易于对数据的管理,但不能对数据之间的关系进行直观、形象的表达,所以有必要结合使用拓扑图形来进行直观表达。
目前网络拓扑自动发现的方法很多,但归结起来主要有以下三种:基于SNMP的网络拓扑发现方法,基于通用协议的网络拓扑发现方法和基于路由协议的网络拓扑发现方法;由于采集协议单一,拓扑准确率不高,因此,现有技术还有待改进和提高。
发明内容
本发明要解决的技术问题是提供一种基于多维度优先的网络拓扑自发现方法,通过各协议间优势互补,提高自发现网络拓扑的准确性。
本发明为解决上述技术问题而采用的技术方案是提供一种基于多维度优先的网络拓扑自发现方法,包括如下步骤:S1:通过SNMP协议以及SSH/TELNET协议收集所有网络设备的数据;S2:根据步骤S1中收集的数据,从多维度进行网络拓扑分析得到多组网络拓扑,包括二层网络之间的网络拓扑、三层网络之间的网络拓扑以及二层网络与三层网络之间的网络拓扑;对多组网络拓扑的网络拓扑关系设置优先级;S3:根据优先级将多组网络拓扑合并得到最终的网络拓扑。
进一步地,所述步骤S1包括:
S11:收集所有网络设备的三层接口数据形成三层接口数据表,包括设备名称、设备管理IP、接口名称、接口索引、接口IP和接口MAC地址;
S12:收集所有网络设备的二层接口数据形成二层接口数据表,包括设备名称、设备管理IP、接口名称、接口索引、接口MAC地址和接口类型;
S13:收集所有网络设备的二层转发地址形成二层地址转发表,包括设备名称、设备管理IP、接口索引和目的MAC地址;
S14:收集所有网络设备的ARP缓存信息形成ARP缓存表,包括设备名称、设备管理IP、IP地址、MAC地址和本地接口名称;
S15:收集直连网络数据形成直连网络表,包括设备名称、设备管理IP、网络号、子网掩码和本地接口索引;
S16:收集所有网络设备的LLDP邻居本端与对端数据形成LLDP邻居关系表,包括本端设备名称、本端设备管理IP、对端端口MAC地址和对端端口名称。
进一步地,所述步骤S2中网络拓扑关系优先级由高到低依次为0级、1级、2级和3级,从多维度进行网络拓扑分析得到多组网络拓扑包括:
S21:通过二层接口数据表和LLDP邻居关系表进行网络拓扑分析得到二层网络之间的网络拓扑,并确定网络拓扑连接关系优先级;
S22:通过直连网络表、二层地址转发表和三层接口数据表进行网络拓扑分析得到三层网络之间的网络拓扑,并确定网络拓扑连接关系优先级;
S23:通过二层接口数据表、三层接口数据表、二层地址转发表和APR缓存表进行网络拓扑分析得到二层网络与三层网络之间的网络拓扑,并确定网络拓扑连接关系优先级;二层网络与三层网络之间的网络拓扑包括主机与网络设备之间的网络拓扑以及二层网络设备与三层网络设备之间的网络拓扑。
进一步地,所述步骤S21包括将LLDP邻居关系表中每一个对端端口MAC地址作为接口MAC地址在二层接口数据表中进行查询,获取该对端端口所在的设备,则该设备与本端设备存在直连关系,根据直连关系形成二层网络设备的网络拓扑,并将该直连关系优先级设置为0级。
进一步地,所述步骤S22包括如下步骤:
S221:在直连网络表中查询具有相同网络号的多个设备,则多个设备的三层接口之间具有相邻关系;
S222:若具有相邻关系的设备总数为两个,则两设备直接连接,设定此连接关系的优先级为2级;
S223:若具有相邻关系的设备总数大于两个,则根据设备名称查询二层地址转发表,若具有相邻关系的设备均不在二层地址转发表中,则所有具有相邻关系的设备均有相连关系,设定此相连关系的优先级为3级;若具有相邻关系的设备在二层地址转发表中,则获取对应的目的MAC地址;
S224:若具有相邻关系的某一设备在二层地址转发表中,则根据其对应的目的MAC地址查询三层接口数据表;查看其目的MAC地址与具有相邻关系的其他设备的接口MAC地址是否存在对应关系;
S225:若某一设备的目的MAC地址与其他设备的接口MAC地址均不存在对应关系,则排除该设备;若被排除的设备数量为两个,则被排除的两个设备相连,设定此连接关系优先级为2级;若被排除的设备数量大于两个,则被排除的多个设备相连,设定此连接关系的优先级为3级;
S226:若某一设备的目的MAC地址与其他设备中的一个设备的接口MAC地址存在对应关系,则两设备相连,设定此连接关系的优先级为2级;
S227:若某一设备的目的MAC地址与其他设备中的多个设备的接口MAC地址存在对应关系,则该设备与多个设备相连,设定此连接关系的优先级为3级。
进一步地,所述步骤S23中通过二层地址转发表、APR缓存表对比CMDB数据中主机与MAC地址对应关系表,获取主机与网络设备之间的网络拓扑,包括如下步骤:查询二层地址转发表或者APR缓存表对比CMDB数据中主机与MAC地址对应关系表,根据MAC地址对应关系获取网络设备与主机的对应关系;
若有且只有一个网络设备与某一主机存在对应关系,且该网络设备接口下的MAC地址记录均来自同一设备,则认为该网络设备与该主机存在连接关系,设定此连接关系的优先级为1级;
若有且只有一个网络设备与某一主机存在对应关系,但该网络设备接口下的MAC地址记录来自不同设备,则认为该网络设备与该主机存在连接关系,设定此连接关系的优先级为3级;
若有多个网络设备与某一主机存在对应关系,找出接口下的MAC地址来自同一设备的接口,则该接口与该主机存在连接关系,设定此连接关系的优先级为3级;对于接口下的MAC地址来自不同设备的接口,找出其中未发现连接关系的接口,则该接口与该主机存在连接关系,设定此连接关系的优先级为3级。
进一步地,所述步骤S23中通过二层地址转发表、APR缓存表对比二层接口数据表结合三层接口数据表,获取二层网络设备与三层网络设备之间的网络拓扑,包括如下步骤:查询二层地址转发表或者APR缓存表对比二层接口数据表,根据MAC地址对应关系获取二层网络设备与三层网络设备的对应关系;
若二层地址转发表或者APR缓存表有且只有一个网络设备N1的MAC地址与某网络设备N2的二层接口参数表中MAC地址存在对应关系,且二层接口参数表中该MAC地址记录的接口名称不为Vlanif接口,同时该接口下的MAC地址记录均来自同一设备,则网络设备N1与N2存在连接关系,连接的接口为对应记录的接口,设定此连接关系的优先级为1级;
若二层地址转发表或者APR缓存表有且只有一个网络设备N1的MAC地址与某网络设备N2的二层接口参数表中MAC地址存在对应关系,且二层接口参数表中该MAC地址记录的接口名称不为Vlanif接口,同时该接口下的MAC地址记录来自不同设备,则网络设备N1与N2存在连接关系,连接的接口为对应记录的接口,设定此连接关系的优先级为3级;
若二层地址转发表或者APR缓存表有且只有一个网络设备N1的MAC地址与某网络设备N2的二层接口参数表中MAC地址存在对应关系,且二层接口参数表中该MAC地址记录的接口名称为Vlanif接口,同时该接口下的MAC地址记录均来自同一设备,则通过查询二层地址转发表获取网络设备N2的目的MAC地址,根据网络设备N2的目的MAC地址查询三层接口参数表,获取网络设备N1的管理IP所在接口即为网络设备N2的物理出口,则网络设备N1与N2存在连接关系,连接的接口为MAC地址的出口,设定此连接关系的优先级为1级;
若二层地址转发表或者APR缓存表有且只有一个网络设备N1的MAC地址与某网络设备N2的二层接口参数表中MAC地址存在对应关系,且二层接口参数表中该MAC地址记录的接口名称为Vlanif接口,同时该接口下的MAC地址记录均来自不同设备,则通过查询二层地址转发表获取网络设备N2的目的MAC地址,根据网络设备N2的目的MAC地址查询三层接口参数表,获取网络设备N1的管理IP所在接口即为网络设备N2的物理出口,则网络设备N1与N2存在连接关系,连接的接口为MAC地址的出口,设定此连接关系的优先级为3级;
若二层地址转发表或者APR缓存表有至少两个网络设备N1、N2的MAC地址与网络设备M的二层接口参数表中MAC地址存在对应关系,且二层接口参数表中该MAC地址记录的接口名称不为Vlanif接口或者子接口;若多个网络设备N1、N2的所有接口中存在接口的MAC地址记录均来自同一台设备,则认为该接口与M设备直接连接,设定此连接关系的优先级为1级;若多个网络设备N1、N2的所有接口中不存在接口的MAC地址记录均来自同一台设备,则通过网络设备N1、N2之间已发现的关系,确定网络设备N1、N2与M设备是否存在连接关系,设定存在的连接关系的优先级为3级;
若二层地址转发表或者APR缓存表有至少两个网络设备N1、N2的MAC地址与网络设备M的二层接口参数表中MAC地址存在对应关系,且二层接口参数表中该MAC地址记录的接口名称为Vlanif接口或者子接口;若多个网络设备N1、N2的所有接口中存在接口的MAC地址记录均来自同一台设备,则认为该接口所在的网络设备与M设备直接连接,然后通过查询二层地址转发表获取网络设备M的目的MAC地址,根据网络设备M的目的MAC地址查询三层接口参数表,获取网络设备N1、N2的管理IP所在接口即为网络设备M的直连物理出口,则网络设备N1、N2与网络设备M存在连接关系,设定此连接关系的优先级为1级;
若二层地址转发表或者APR缓存表有至少两个网络设备N1、N2的MAC地址与网络设备M的二层接口参数表中MAC地址存在对应关系,且二层接口参数表中该MAC地址记录的接口名称为Vlanif接口或者子接口;若多个网络设备N1、N2的所有接口中不存在接口的MAC地址记录均来自同一台设备,找出其中未发现连接关系的接口,则该接口与网络设备M存在连接关系;通过查询二层地址转发表获取网络设备M的目的MAC地址,根据网络设备M的目的MAC地址查询三层接口参数表,获取未发现连接关系接口设备的管理IP所在接口即为网络设备M的直连物理出口,则存在未知设备的未发现连接关系接口与网络设备M存在连接关系,设定此连接关系的优先级为1级。
进一步地,所述步骤S3中根据优先级将多组网络拓扑合并包括:相同优先级的相同关系,去除重复关系;在网络拓扑关系遇到冲突时选择最高优先级的关系,同时将相冲突的关系删除;相同优先级的关系若存在冲突,则将所有冲突关系清除;优先级为3级的连接关系,增加一个未知设备连接多个网络设备。
本发明对比现有技术有如下的有益效果:本发明提供的基于多维度优先的网络拓扑自发现方法,通过各协议间优势互补,从多维度生成多组网络拓扑,更准确发现三层及二层网络设备连接情况,以及各网络设备连接所使用的端口;对多组网络拓扑的连接关系确认优先级,通过不同维度优先级来解决不同方式获取的拓扑关系冲突情况,最终的确定网络拓扑;网络拓扑准确性更高,更全面。
附图说明
图1为本发明实施例中基于多维度优先的网络拓扑自发现方法流程图;
图2为本发明实施例中三层网络设备之间的连接关系图一;
图3为本发明实施例中三层网络设备之间的连接关系图二;
图4为本发明实施例中主机与网络设备之间的连接关系图一;
图5为本发明实施例中主机与网络设备之间的连接关系图二;
图6为本发明实施例中主机与网络设备之间的连接关系图三;
图7为本发明实施例中二层网络设备与三层网络设备之间的连接关系图一;
图8为本发明实施例中二层网络设备与三层网络设备之间的连接关系图二;
图9为本发明实施例中二层网络设备与三层网络设备之间的连接关系图三;
图10为本发明实施例中二层网络设备与三层网络设备之间的连接关系图四
图11为本发明实施例中二层网络设备与三层网络设备之间的连接关系图五
图12为本发明实施例中二层网络设备与三层网络设备之间的连接关系图六;
图13为本发明实施例中二层网络设备与三层网络设备之间的连接关系图七;
具体实施方式
下面结合附图和实施例对本发明作进一步的描述。
图1为本发明实施例中基于多维度优先的网络拓扑自发现方法结构示意图。
请参见图1,本发明实施例的基于多维度优先的网络拓扑自发现方法流程图,包括如下步骤:
步骤一:通过SNMP协议以及SSH/TELNET协议收集所有网络设备的数据;
S11:收集所有网络设备的三层接口数据形成三层接口数据表,包括设备名称、设备管理IP、接口名称、接口索引、接口IP和接口MAC地址;如下表1所示:
表1三层接口数据表:
设备名称 | 设备管理IP | 接口名称 | 接口索引 | 接口IP | 接口MAC地址 |
HEXIN_S9300 | 10.11.199.3 | Vlanif6 | 32 | 10.11.199.3 | 78:1d:ba:d8:9e:3f |
具体方式:通过ipAdEntAddr(1.3.6.1.2.1.4.20.1)获取本设备的所有IP地址;根据IP地址查询MAC地址和接口,查询ipNetToMediaTable(1.3.6.1.2.1.4.22.1)节点;根据接口索引通过ifDescr查询具体接口。
S12:收集所有网络设备的二层接口数据形成二层接口数据表,包括设备名称、设备管理IP、接口名称、接口索引、接口MAC地址和接口类型;如下表2所示:
表2二层接口数据表:
具体方式:通过ifTable收集所有网络设备的二层接口数据。
S13:收集所有网络设备的二层转发地址形成二层地址转发表,包括设备名称、设备管理IP、接口索引和目的MAC地址;如下表3所示:
表3二层地址转发表:
设备名称 | 设备管理IP | 接口索引 | 目的MAC地址 |
HEXIN_S9300 | 10.11.199.3 | 29 | 78:1d:ba:d8:9e:3f |
具体方式有以下两种:
1、通过dot1dTpFdbTable(.1.3.6.1.2.1.17.4.3)获取所有接口的mac地址转发表;
2、通过dot1qTpFdbEntry(1.3.6.1.2.1.17.7.1.2.2.1.2)查询。
S14:收集所有网络设备的ARP(Address Resolution Protocol地址解析协议)缓存信息形成ARP缓存表,包括设备名称、设备管理IP、IP地址、MAC地址和本地接口名称;如下表4所示:
表4ARP缓存表
设备名称 | 设备管理IP | IP地址 | MAC地址 | 本地接口名称 |
HEXIN_S9300 | 10.11.199.3 | 10.11.199.0 | 255.255.255.128 | GE0/0/1 |
具体通过以下两个OID采集ARP信息:
1、通过ipNetToPhysicalTable(1.3.6.1.2.1.4.35.1.4)。
2、通过ipNetToMediaTable(1.3.6.1.2.1.4.22.1.2)。
S15:收集直连网络数据形成直连网络表,包括设备名称、设备管理IP、网络号、子网掩码和本地接口索引;如下表5所示:
表5直连网络表
设备名称 | 设备管理IP | 网络号 | 子网掩码 | 本地接口索引 |
HEXIN_S9300 | 10.11.199.3 | 10.11.199.0 | 255.255.255.128 | 32 |
具体方式:通过ipRouteDest(1.3.6.1.2.1.4.21.1)收集直连网络数据。
S16:收集所有网络设备的LLDP(Link Layer Discovery Protocol,链路层发现协议)邻居本端与对端数据形成LLDP邻居关系表,包括本端设备名称、本端设备管理IP、对端端口MAC地址和对端端口名称;如下表6所示:
表6LLDP邻居关系表
具体方式:1、在lldpRemTable(1.0.8802.1.1.2.1.4.1.1)节点获取对端信息;2、根据获取的本地端口索引值,查询lldpLocPortNum(1.0.8802.1.1.2.1.3.7.1),获得本地端口的端口名称。
步骤二:根据收集的数据,从多维度进行网络拓扑分析得到多组网络拓扑;对多组网络拓扑的网络拓扑关系设置优先级;多组网络拓扑包括二层网络之间的网络拓扑、三层网络之间的网络拓扑和二层网络与三层网络之间的网络拓扑(二层网络指的是ISO七层模型中的链路层,三层网络指的是ISO七层模型中的网络层);网络拓扑关系优先级由高到低依次为0级、1级、2级和3级,
S21:通过二层接口数据表和LLDP邻居关系表进行网络拓扑分析得到二层网络之间的网络拓扑,并确定网络拓扑连接关系优先级;将LLDP邻居关系表中每一个对端端口MAC地址作为接口MAC地址在二层接口数据表中进行查询,获取该对端端口所在的设备,则该设备与本端设备存在直连关系,根据直连关系形成二层网络设备的网络拓扑,并将该直连关系优先级设置为0级。
S22:通过直连网络表、二层地址转发表和三层接口数据表进行网络拓扑分析得到三层网络之间的网络拓扑,并确定网络拓扑连接关系优先级;
在直连网络表中查询具有相同网络号的多个设备,则多个设备的三层接口之间具有相邻关系;
若具有相邻关系的设备总数为两个设备A和设备B,则两设备直接连接,设定此连接关系的优先级为2级;连接关系如图2所示。
若具有相邻关系的设备总数大于两个设备A、设备B和设备C,如图3所示,则根据设备名称查询二层地址转发表,若具有相邻关系的设备均不在二层地址转发表中,则所有具有相邻关系的设备均有相连关系,设定此相连关系的优先级为3级;若具有相邻关系的设备在二层地址转发表中,则获取对应的目的MAC地址;
若具有相邻关系的某一设备在二层地址转发表中,则根据其对应的目的MAC地址查询三层接口数据表;查看其目的MAC地址与具有相邻关系的其他设备的接口MAC地址是否存在对应关系;
若某一设备的目的MAC地址与其他设备的接口MAC地址均不存在对应关系,则排除该设备;若被排除的设备数量为两个,则被排除的两个设备相连,设定此连接关系优先级为2级;若被排除的设备数量大于两个,则被排除的多个设备相连,设定此连接关系的优先级为3级;
若某一设备的目的MAC地址与其他设备中的一个设备的接口MAC地址存在对应关系,则两设备相连,设定此连接关系的优先级为2级;
若某一设备的目的MAC地址与其他设备中的多个设备的接口MAC地址存在对应关系,则该设备与多个设备相连,设定此连接关系的优先级为3级。
S23:通过二层接口数据表、三层接口数据表、二层地址转发表和APR缓存表进行网络拓扑分析得到二层网络与三层网络之间的网络拓扑,并确定网络拓扑连接关系优先级;二层网络与三层网络之间的网络拓扑包括主机与网络设备之间的网络拓扑以及二层网络设备与三层网络设备之间的网络拓扑。
步骤S23中通过二层地址转发表、APR缓存表对比CMDB数据中主机与MAC地址对应关系表,获取主机与网络设备之间的网络拓扑,包括如下步骤:
查询二层地址转发表或者APR缓存表对比CMDB数据中主机与MAC地址对应关系表,根据MAC地址对应关系获取网络设备与主机的对应关系;
若有且只有一个网络设备N与某一主机A存在对应关系,且该网络设备N接口下的MAC地址记录均来自同一设备,则认为该网络设备N与该主机A存在连接关系,设定此连接关系的优先级为1级;连接关系如图4所示。
若有且只有一个网络设备N与某一主机A存在对应关系,但该网络设备N接口下的MAC地址记录来自不同设备,则认为该网络设备N与该主机A存在连接关系,设定此连接关系的优先级为3级;连接关系如图5所示。
若有多个网络设备N1、N2…与某一主机A存在对应关系,找出接口下的MAC地址来自同一设备的接口,则该接口与该主机存在连接关系,设定此连接关系的优先级为3级;对于接口下的MAC地址来自不同设备的接口,需结合二层网络之间已发现的关系和转发接口进行判断,找出其中未发现连接关系的接口,则该接口与该主机存在连接关系,设定此连接关系的优先级为3级。连接关系如图6所示。
步骤S23中通过二层地址转发表、APR缓存表对比二层接口数据表结合三层接口数据表,获取二层网络设备与三层网络设备之间的网络拓扑,包括如下步骤:
查询二层地址转发表或者APR缓存表对比二层接口数据表,根据MAC地址对应关系获取二层网络设备与三层网络设备的对应关系;
若二层地址转发表或者APR缓存表有且只有一个网络设备N1的MAC地址与某网络设备N2的二层接口参数表中MAC地址存在对应关系,且二层接口参数表中该MAC地址记录的接口名称不为Vlanif接口,Vlanif接口是Vlan虚拟局域网的虚拟接口,同时该接口下的MAC地址记录均来自同一设备,则网络设备N1与N2存在连接关系,连接的接口为对应记录的接口,设定此连接关系的优先级为1级;连接关系如图7所示。
若二层地址转发表或者APR缓存表有且只有一个网络设备N1的MAC地址与某网络设备N2的二层接口参数表中MAC地址存在对应关系,且二层接口参数表中该MAC地址记录的接口名称不为Vlanif接口,同时该接口下的MAC地址记录来自不同设备,则网络设备N1与N2存在连接关系,连接的接口为对应记录的接口,设定此连接关系的优先级为3级;连接关系如图8所示。
若二层地址转发表或者APR缓存表有且只有一个网络设备N1的MAC地址与某网络设备N2的二层接口参数表中MAC地址存在对应关系,且二层接口参数表中该MAC地址记录的接口名称为Vlanif接口,同时该接口下的MAC地址记录均来自同一设备,则通过查询二层地址转发表获取网络设备N2的目的MAC地址,根据网络设备N2的目的MAC地址查询三层接口参数表,获取网络设备N1的管理IP所在接口即为网络设备N2的物理出口,则网络设备N1与N2存在连接关系,连接的接口为MAC地址的出口,设定此连接关系的优先级为1级;连接关系如图7所示。
若二层地址转发表或者APR缓存表有且只有一个网络设备N1的MAC地址与某网络设备N2的二层接口参数表中MAC地址存在对应关系,且二层接口参数表中该MAC地址记录的接口名称为Vlanif接口,同时该接口下的MAC地址记录均来自不同设备,则通过查询二层地址转发表获取网络设备N2的目的MAC地址,根据网络设备N2的目的MAC地址查询三层接口参数表,获取网络设备N1的管理IP所在接口即为网络设备N2的物理出口,则网络设备N1与N2存在连接关系,连接的接口为MAC地址的出口,设定此连接关系的优先级为3级;连接关系如图8所示。
若二层地址转发表或者APR缓存表有至少两个网络设备N1、N2的MAC地址与网络设备M的二层接口参数表中MAC地址存在对应关系,且二层接口参数表中该MAC地址记录的接口名称不为Vlanif接口或者子接口;若多个网络设备N1、N2的所有接口中存在接口的MAC地址记录均来自同一台设备,则认为该接口与M设备直接连接,设定此连接关系的优先级为1级;若多个网络设备N1、N2的所有接口中不存在接口的MAC地址记录均来自同一台设备,则通过二层网络拓扑连接关系来确网络设备N1、N2之间已发现的关系,从而确定网络设备N1、N2与M设备是否存在连接关系,设定存在的连接关系的优先级为3级;连接关系如图9所示。
若二层地址转发表或者APR缓存表有至少两个网络设备N1、N2的MAC地址与网络设备M的二层接口参数表中MAC地址存在对应关系,且二层接口参数表中该MAC地址记录的接口名称为Vlanif接口或者子接口;若多个网络设备N1、N2的所有接口中存在接口的MAC地址记录均来自同一台设备,则认为该接口所在的网络设备与M设备直接连接,然后通过查询二层地址转发表获取网络设备M的目的MAC地址,根据网络设备M的目的MAC地址查询三层接口参数表,获取网络设备N1、N2的管理IP所在接口即为网络设备M的直连物理出口,则网络设备N1、N2与网络设备M存在连接关系,设定此连接关系的优先级为1级;连接关系如图10所示。
若二层地址转发表或者APR缓存表有至少两个网络设备N1、N2的MAC地址与网络设备M的二层接口参数表中MAC地址存在对应关系,且二层接口参数表中该MAC地址记录的接口名称为Vlanif接口或者子接口;若多个网络设备N1、N2的所有接口中不存在接口的MAC地址记录均来自同一台设备,找出其中未发现连接关系的接口,则该接口与网络设备M存在连接关系;若网络设备M的二层地址转发表不为空且网络设备N1、N2…的设备二层接口参数不为空,通过查询二层地址转发表获取网络设备M的目的MAC地址,根据网络设备M的目的MAC地址查询三层接口参数表,获取未发现连接关系接口设备的管理IP所在接口即为网络设备M的直连物理出口,则存在未知设备的未发现连接关系接口与网络设备M存在连接关系,设定此连接关系的优先级为1级,连接关系如图11或图12所示;若网络设备M的二层地址转发表为空或者网络设备N1、N2…的设备二层接口参数为空,则网络设备M的连接接口为空,设定网络设备M的连接关系的优先级为3级,连接关系如图13所示。
步骤三:根据优先级将多组网络拓扑合并得到最终的网络拓扑包括:相同优先级的相同关系,去除重复关系;在网络拓扑关系遇到冲突时选择最高优先级的关系,同时将相冲突的关系删除;相同优先级的关系若存在冲突,则将所有冲突关系清除;优先级为3级的连接关系,增加一个未知设备连接多个网络设备。
综上所述,本发明实施例的基于多维度优先的网络拓扑自发现方法,通过各协议间优势互补,从多维度生成多组网络拓扑,更准确发现三层及二层网络设备连接情况,以及各网络设备连接所使用的端口;对多组网络拓扑的连接关系确认优先级,通过不同维度优先级来解决不同方式获取的拓扑关系冲突情况,最终的确定网络拓扑;网络拓扑准确性更高,更全面。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。
Claims (8)
1.一种基于多维度优先的网络拓扑自发现方法,其特征在于,包括如下步骤:
S1:通过SNMP协议以及SSH/TELNET协议收集所有网络设备的数据;
S2:根据步骤S1中收集的数据,从多维度进行网络拓扑分析得到多组网络拓扑,包括二层网络之间的网络拓扑、三层网络之间的网络拓扑以及二层网络与三层网络之间的网络拓扑;对多组网络拓扑的网络拓扑关系设置优先级;
S3:根据优先级将多组网络拓扑合并得到最终的网络拓扑。
2.如权利要求1所述的基于多维度优先的网络拓扑自发现方法,其特征在于,所述步骤S1包括:
S11:收集所有网络设备的三层接口数据形成三层接口数据表,包括设备名称、设备管理IP、接口名称、接口索引、接口IP和接口MAC地址;
S12:收集所有网络设备的二层接口数据形成二层接口数据表,包括设备名称、设备管理IP、接口名称、接口索引、接口MAC地址和接口类型;
S13:收集所有网络设备的二层转发地址形成二层地址转发表,包括设备名称、设备管理IP、接口索引和目的MAC地址;
S14:收集所有网络设备的ARP缓存信息形成ARP缓存表,包括设备名称、设备管理IP、IP地址、MAC地址和本地接口名称;
S15:收集直连网络数据形成直连网络表,包括设备名称、设备管理IP、网络号、子网掩码和本地接口索引;
S16:收集所有网络设备的LLDP邻居本端与对端数据形成LLDP邻居关系表,包括本端设备名称、本端设备管理IP、对端端口MAC地址和对端端口名称。
3.如权利要求2所述的基于多维度优先的网络拓扑自发现方法,其特征在于,所述步骤S2中网络拓扑关系优先级由高到低依次为0级、1级、2级和3级,从多维度进行网络拓扑分析得到多组网络拓扑包括:
S21:通过二层接口数据表和LLDP邻居关系表进行网络拓扑分析得到二层网络之间的网络拓扑,并确定网络拓扑连接关系优先级;
S22:通过直连网络表、二层地址转发表和三层接口数据表进行网络拓扑分析得到三层网络之间的网络拓扑,并确定网络拓扑连接关系优先级;
S23:通过二层接口数据表、三层接口数据表、二层地址转发表和APR缓存表进行网络拓扑分析得到二层网络与三层网络之间的网络拓扑,并确定网络拓扑连接关系优先级;二层网络与三层网络之间的网络拓扑包括主机与网络设备之间的网络拓扑以及二层网络设备与三层网络设备之间的网络拓扑。
4.如权利要求3所述的基于多维度优先的网络拓扑自发现方法,其特征在于,所述步骤S21包括将LLDP邻居关系表中每一个对端端口MAC地址作为接口MAC地址在二层接口数据表中进行查询,获取该对端端口所在的设备,则该设备与本端设备存在直连关系,根据直连关系形成二层网络设备的网络拓扑,并将该直连关系优先级设置为0级。
5.如权利要求3所述的基于多维度优先的网络拓扑自发现方法,其特征在于,所述步骤S22包括如下步骤:
S221:在直连网络表中查询具有相同网络号的多个设备,则多个设备的三层接口之间具有相邻关系;
S222:若具有相邻关系的设备总数为两个,则两设备直接连接,设定此连接关系的优先级为2级;
S223:若具有相邻关系的设备总数大于两个,则根据设备名称查询二层地址转发表,若具有相邻关系的设备均不在二层地址转发表中,则所有具有相邻关系的设备均有相连关系,设定此相连关系的优先级为3级;若具有相邻关系的设备在二层地址转发表中,则获取对应的目的MAC地址;
S224:若具有相邻关系的某一设备在二层地址转发表中,则根据其对应的目的MAC地址查询三层接口数据表;查看其目的MAC地址与具有相邻关系的其他设备的接口MAC地址是否存在对应关系;
S225:若某一设备的目的MAC地址与其他设备的接口MAC地址均不存在对应关系,则排除该设备;若被排除的设备数量为两个,则被排除的两个设备相连,设定此连接关系优先级为2级;若被排除的设备数量大于两个,则被排除的多个设备相连,设定此连接关系的优先级为3级;
S226:若某一设备的目的MAC地址与其他设备中的一个设备的接口MAC地址存在对应关系,则两设备相连,设定此连接关系的优先级为2级;
S227:若某一设备的目的MAC地址与其他设备中的多个设备的接口MAC地址存在对应关系,则该设备与多个设备相连,设定此连接关系的优先级为3级。
6.如权利要求3所述的基于多维度优先的网络拓扑自发现方法,其特征在于,所述步骤S23中通过二层地址转发表、APR缓存表对比CMDB数据中主机与MAC地址对应关系表,获取主机与网络设备之间的网络拓扑,包括如下步骤:
查询二层地址转发表或者APR缓存表对比CMDB数据中主机与MAC地址对应关系表,根据MAC地址对应关系获取网络设备与主机的对应关系;
若有且只有一个网络设备与某一主机存在对应关系,且该网络设备接口下的MAC地址记录均来自同一设备,则认为该网络设备与该主机存在连接关系,设定此连接关系的优先级为1级;
若有且只有一个网络设备与某一主机存在对应关系,但该网络设备接口下的MAC地址记录来自不同设备,则认为该网络设备与该主机存在连接关系,设定此连接关系的优先级为3级;
若有多个网络设备与某一主机存在对应关系,找出接口下的MAC地址来自同一设备的接口,则该接口与该主机存在连接关系,设定此连接关系的优先级为3级;对于接口下的MAC地址来自不同设备的接口,找出其中未发现连接关系的接口,则该接口与该主机存在连接关系,设定此连接关系的优先级为3级。
7.如权利要求3所述的基于多维度优先的网络拓扑自发现方法,其特征在于,所述步骤S23中通过二层地址转发表、APR缓存表对比二层接口数据表结合三层接口数据表,获取二层网络设备与三层网络设备之间的网络拓扑,包括如下步骤:
查询二层地址转发表或者APR缓存表对比二层接口数据表,根据MAC地址对应关系获取二层网络设备与三层网络设备的对应关系;
若二层地址转发表或者APR缓存表有且只有一个网络设备N1的MAC地址与某网络设备N2的二层接口参数表中MAC地址存在对应关系,且二层接口参数表中该MAC地址记录的接口名称不为Vlanif接口,同时该接口下的MAC地址记录均来自同一设备,则网络设备N1与N2存在连接关系,连接的接口为对应记录的接口,设定此连接关系的优先级为1级;
若二层地址转发表或者APR缓存表有且只有一个网络设备N1的MAC地址与某网络设备N2的二层接口参数表中MAC地址存在对应关系,且二层接口参数表中该MAC地址记录的接口名称不为Vlanif接口,同时该接口下的MAC地址记录来自不同设备,则网络设备N1与N2存在连接关系,连接的接口为对应记录的接口,设定此连接关系的优先级为3级;
若二层地址转发表或者APR缓存表有且只有一个网络设备N1的MAC地址与某网络设备N2的二层接口参数表中MAC地址存在对应关系,且二层接口参数表中该MAC地址记录的接口名称为Vlanif接口,同时该接口下的MAC地址记录均来自同一设备,则通过查询二层地址转发表获取网络设备N2的目的MAC地址,根据网络设备N2的目的MAC地址查询三层接口参数表,获取网络设备N1的管理IP所在接口即为网络设备N2的物理出口,则网络设备N1与N2存在连接关系,连接的接口为MAC地址的出口,设定此连接关系的优先级为1级;
若二层地址转发表或者APR缓存表有且只有一个网络设备N1的MAC地址与某网络设备N2的二层接口参数表中MAC地址存在对应关系,且二层接口参数表中该MAC地址记录的接口名称为Vlanif接口,同时该接口下的MAC地址记录均来自不同设备,则通过查询二层地址转发表获取网络设备N2的目的MAC地址,根据网络设备N2的目的MAC地址查询三层接口参数表,获取网络设备N1的管理IP所在接口即为网络设备N2的物理出口,则网络设备N1与N2存在连接关系,连接的接口为MAC地址的出口,设定此连接关系的优先级为3级;
若二层地址转发表或者APR缓存表有至少两个网络设备N1、N2的MAC地址与网络设备M的二层接口参数表中MAC地址存在对应关系,且二层接口参数表中该MAC地址记录的接口名称不为Vlanif接口或者子接口;若多个网络设备N1、N2的所有接口中存在接口的MAC地址记录均来自同一台设备,则认为该接口与M设备直接连接,设定此连接关系的优先级为1级;若多个网络设备N1、N2的所有接口中不存在接口的MAC地址记录均来自同一台设备,则通过网络设备N1、N2之间已发现的关系,确定网络设备N1、N2与M设备是否存在连接关系,设定存在的连接关系的优先级为3级;
若二层地址转发表或者APR缓存表有至少两个网络设备N1、N2的MAC地址与网络设备M的二层接口参数表中MAC地址存在对应关系,且二层接口参数表中该MAC地址记录的接口名称为Vlanif接口或者子接口;若多个网络设备N1、N2的所有接口中存在接口的MAC地址记录均来自同一台设备,则认为该接口所在的网络设备与M设备直接连接,然后通过查询二层地址转发表获取网络设备M的目的MAC地址,根据网络设备M的目的MAC地址查询三层接口参数表,获取网络设备N1、N2的管理IP所在接口即为网络设备M的直连物理出口,则网络设备N1、N2与网络设备M存在连接关系,设定此连接关系的优先级为1级;
若二层地址转发表或者APR缓存表有至少两个网络设备N1、N2的MAC地址与网络设备M的二层接口参数表中MAC地址存在对应关系,且二层接口参数表中该MAC地址记录的接口名称为Vlanif接口或者子接口;若多个网络设备N1、N2的所有接口中不存在接口的MAC地址记录均来自同一台设备,找出其中未发现连接关系的接口,则该接口与网络设备M存在连接关系;通过查询二层地址转发表获取网络设备M的目的MAC地址,根据网络设备M的目的MAC地址查询三层接口参数表,获取未发现连接关系接口设备的管理IP所在接口即为网络设备M的直连物理出口,则存在未知设备的未发现连接关系接口与网络设备M存在连接关系,设定此连接关系的优先级为1级。
8.如权利要求1所述的基于多维度优先的网络拓扑自发现方法,其特征在于,所述步骤S3中根据优先级将多组网络拓扑合并包括:相同优先级的相同关系,去除重复关系;在网络拓扑关系遇到冲突时选择最高优先级的关系,同时将相冲突的关系删除;相同优先级的关系若存在冲突,则将所有冲突关系清除;优先级为3级的连接关系,增加一个未知设备连接多个网络设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111479434.0A CN114257537B (zh) | 2021-12-06 | 2021-12-06 | 基于多维度优先的网络拓扑自发现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111479434.0A CN114257537B (zh) | 2021-12-06 | 2021-12-06 | 基于多维度优先的网络拓扑自发现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114257537A true CN114257537A (zh) | 2022-03-29 |
CN114257537B CN114257537B (zh) | 2023-06-27 |
Family
ID=80794025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111479434.0A Active CN114257537B (zh) | 2021-12-06 | 2021-12-06 | 基于多维度优先的网络拓扑自发现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114257537B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114915561A (zh) * | 2022-04-19 | 2022-08-16 | 北京宝兰德软件股份有限公司 | 网络拓扑图生成方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030097438A1 (en) * | 2001-10-15 | 2003-05-22 | Bearden Mark J. | Network topology discovery systems and methods and their use in testing frameworks for determining suitability of a network for target applications |
CN102801567A (zh) * | 2012-08-28 | 2012-11-28 | 北京傲天动联技术有限公司 | 分层网络拓扑自动发现的方法和分层网络拓扑组建的方法 |
US20180052945A1 (en) * | 2016-08-18 | 2018-02-22 | Cerner Innovation, Inc. | Generation of data model mapping a data center |
US20180139104A1 (en) * | 2016-11-12 | 2018-05-17 | Solana Networks Inc. | Method and System for Discovery and Mapping of a Network Topology |
CN110932906A (zh) * | 2019-12-02 | 2020-03-27 | 合肥城市云数据中心股份有限公司 | 基于snmp技术的数据中心网络拓朴结构发现方法及其拓朴结构发现系统 |
CN111343021A (zh) * | 2020-02-27 | 2020-06-26 | 中国移动通信集团江苏有限公司 | 网络拓扑结构的生成方法、装置、设备及介质 |
CN113542015A (zh) * | 2021-06-29 | 2021-10-22 | 武汉思普崚技术有限公司 | 一种自动绘制网络物理链路方法 |
-
2021
- 2021-12-06 CN CN202111479434.0A patent/CN114257537B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030097438A1 (en) * | 2001-10-15 | 2003-05-22 | Bearden Mark J. | Network topology discovery systems and methods and their use in testing frameworks for determining suitability of a network for target applications |
CN102801567A (zh) * | 2012-08-28 | 2012-11-28 | 北京傲天动联技术有限公司 | 分层网络拓扑自动发现的方法和分层网络拓扑组建的方法 |
US20180052945A1 (en) * | 2016-08-18 | 2018-02-22 | Cerner Innovation, Inc. | Generation of data model mapping a data center |
US20180139104A1 (en) * | 2016-11-12 | 2018-05-17 | Solana Networks Inc. | Method and System for Discovery and Mapping of a Network Topology |
CN110932906A (zh) * | 2019-12-02 | 2020-03-27 | 合肥城市云数据中心股份有限公司 | 基于snmp技术的数据中心网络拓朴结构发现方法及其拓朴结构发现系统 |
CN111343021A (zh) * | 2020-02-27 | 2020-06-26 | 中国移动通信集团江苏有限公司 | 网络拓扑结构的生成方法、装置、设备及介质 |
CN113542015A (zh) * | 2021-06-29 | 2021-10-22 | 武汉思普崚技术有限公司 | 一种自动绘制网络物理链路方法 |
Non-Patent Citations (3)
Title |
---|
徐燕;彭军;邵闻珠;何万里;毛启民;: "通用网络的拓扑发现算法", no. 01 * |
王张超;张彦;张德栋;王红伟;: "一种改进的网络拓扑发现算法及实现", no. 05 * |
董宏亮;杨英杰;姜增良;: "网络拓扑自动发现系统的设计与实现", no. 07 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114915561A (zh) * | 2022-04-19 | 2022-08-16 | 北京宝兰德软件股份有限公司 | 网络拓扑图生成方法和装置 |
CN114915561B (zh) * | 2022-04-19 | 2024-02-20 | 北京宝兰德软件股份有限公司 | 网络拓扑图生成方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114257537B (zh) | 2023-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4008432B2 (ja) | ネットワーク機器のトポロジを探索する装置および方法 | |
CN101330405B (zh) | 网络拓扑发现方法及相关设备 | |
US7742426B2 (en) | System, method, and computer-readable medium for determining a layer 2 path trace in a heterogeneous network system | |
CN108206792B (zh) | 交换机的拓扑结构发现方法及装置 | |
US20030005092A1 (en) | Method for locating and recovering devices which are connected to the internet or to an internet-connected network | |
AU2016262640B2 (en) | Node de-duplication in a network monitoring system | |
CN108566296B (zh) | 网络设备分层方法、网络管理设备及计算机可读存储介质 | |
US20110270966A1 (en) | Dynamic performance monitoring | |
CN1552139A (zh) | 利用链路状态信息发现ip网络拓扑结构 | |
CN1833404A (zh) | 确定网络节点监控组的优先组成员 | |
JPWO2006118203A1 (ja) | ネットワークマップ生成方法 | |
CN113542015B (zh) | 一种自动绘制网络物理链路方法 | |
CN110932906A (zh) | 基于snmp技术的数据中心网络拓朴结构发现方法及其拓朴结构发现系统 | |
US8914503B2 (en) | Detected IP link and connectivity inference | |
CN113452561A (zh) | 一种拓扑生成方法、装置、设备及可读存储介质 | |
CN114257537B (zh) | 基于多维度优先的网络拓扑自发现方法 | |
US7369513B1 (en) | Method and apparatus for determining a network topology based on Spanning-tree-Algorithm-designated ports | |
CN104579979A (zh) | 一种基于mac信息的网络拓扑发现方法 | |
US7733800B2 (en) | Method and mechanism for identifying an unmanaged switch in a network | |
CN102970173B (zh) | 非法设备发现方法及其网管系统 | |
CN116827801B (zh) | 网络拓扑构建方法、装置、计算机设备及可读存储介质 | |
CN116719868A (zh) | 网络资产的识别方法、装置及设备 | |
CN114244763B (zh) | 基于规则引擎的动态网络拓扑管理方法及其系统 | |
CN103986600A (zh) | 一种基于多协议企业级网络自动发现和过滤方法、系统 | |
CN105634789A (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 |