CN105072039A - 一种链路层网络拓扑发现方法 - Google Patents
一种链路层网络拓扑发现方法 Download PDFInfo
- Publication number
- CN105072039A CN105072039A CN201510460994.XA CN201510460994A CN105072039A CN 105072039 A CN105072039 A CN 105072039A CN 201510460994 A CN201510460994 A CN 201510460994A CN 105072039 A CN105072039 A CN 105072039A
- Authority
- CN
- China
- Prior art keywords
- equipment
- port
- network equipment
- network
- main frame
- 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.)
- Pending
Links
Landscapes
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种链路层网络拓扑发现方法,步骤为:扩展设备类型扫描组件的***指纹库;对管理域内的所有设备进行***识别的扫描,分析出每台被扫设备的类型信息;利用SNMP协议取出各网络设备地址转发表dot1dTpFdbTable数据并初始化各网络设备数据结构,区分出上行端口和下行端口,分别找出各端口学习到的MAC地址,然后基于非完整地址转发表的网络设备的直连判定方法分析其连接关系;主机与网络设备直连判定。本发明能识别出所有设备类型,不需被探测的设备支持SNMP协议。使用TCP/IP协议栈指纹来识别不同的操作***和设备,可对组件可以识别的设备类型进行扩展。本发明基于非完整地址转发表的网络设备的直连发现算法分析出子网的拓扑结构,更接近设备的物理拓扑结构。
Description
技术领域
本申请涉及网络管理领域,尤其涉及一种链路层网络拓扑发现方法。
背景技术
网络拓扑发现多分为两个部分。一是网络设备(主要是指路由器和交换机)的发现和识别;二是网络拓扑结构的分析。
传统的网络设备的识别常用的方法是向子网中所有存活设备发送SNMP请求报文,取出MIB库ip组中的ipForwarding(.1.3.6.1.2.1.4.1)变量和system组中的sysService(.1.3.6.1.2.1.1.7)变量进行判断,ipForwarding=1并且提供第3层服务的网络设备很可能是路由器,然后,再从这些待定设备中进一步确定路由器。这种发现方法无法识别网络中不支持SNMP协议的设备的类型。
传统的网络拓扑结构分析多基于路由器的路由表信息,这种实现方法只能识别网络之间的连接关系,对一个完整的拓扑发现***来说,这还不够,因为缺乏子网的拓扑结构。
发明内容
为解决二层设备由于自身的透明性导致传统的基于IP管理域的网络拓扑发现方法难以详尽的描述网络拓扑情况,本发明基于某种设备类型侦测扫描组件和交换机地址转发表实现了链路层网络拓扑结构的发现,是一种能够较为细致的发现网络拓扑结构的方法。
为了实现上述目的,本发明采用如下技术方案。
一种链路层网络拓扑发现方法,包括如下步骤:
步骤1.扩展设备类型扫描组件的***指纹库,使其能够识别出几乎所有的管理域内的设备类型。
步骤2.利用扩展后的设备类型扫描组件对管理域内的所有设备进行***识别的扫描,分析出每台被扫设备的类型信息。
步骤3.首先分析处理管理域内所有的网络设备(主要是路由器和交换机),利用SNMP协议取出各网络设备地址转发表dot1dTpFdbTable数据并初始化各网络设备数据结构,区分出上行端口和下行端口,分别找出各端口学习到的MAC地址,然后基于非完整地址转发表的网络设备的直连判定方法分析其连接关系。
步骤4.主机与网络设备直连判定。
所述步骤4的具体步骤为:根据标志节点(即拓扑发现算法执行节点)到管理域内主机的traceroute信息找出主机所在的网关,根据步骤3中判断出的网络设备的邻居关系遍历与网关相连的所有网络设备的端口转发表,寻找包含主机MAC地址的端口并且转发表条目最少的端口,即为主机和此端口所在网络设备之间相连。主机的MAC地址可以基于SNMP协议获取网关的IP地址转发表ipNetToMediaTable,根据IP地址找到其对应的MAC地址。
本发明的有益效果是,本发明中网络设备的识别部分基于某种设备侦测扫描组件,利用此组件识别出管理域内设备的类型。能够识细致地识别出几乎所有的设备的类型,不需要被探测的设备支持SNMP协议。此组件使用TCP/IP协议栈指纹来识别不同的操作***和设备,并且可以自行收集设备特殊指纹对组件可以识别的设备类型进行扩展。
在网络拓扑结构分析部分,本发明基于非完整地址转发表的网络设备的直连发现算法分析出子网的拓扑结构,更真实细致的接近设备的物理拓扑结构。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
图1是交换机地址转发表生成流程图。
图2是端口连接以及端口转发表示意图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一种链路层网络拓扑发现方法,包括如下步骤:
步骤1.扩展设备类型扫描组件的***指纹库,使其能够识别出几乎所有的管理域内的设备类型。
设备类型扫描组件使用TCP/IP协议栈指纹来识别不同的操作***和设备。在RFC规范中,有些地方对TCP/IP的实现并没有强制规定,由此不同的TCP/IP方案中可能都有自己的特殊的处理方式。设备类型扫描组件主要是根据这些细节上的差异来判断操作***的类型的。
对于原生设备类型扫描组件无法识别的设备进行扫描并提取其TCP/IP协议栈指纹,将指纹信息加入到***指纹库中,从而增加扫描组件能够识别的设备种类。
步骤2.利用扩展后的设备类型扫描组件对管理域内的所有设备进行***识别的扫描,分析出每台被扫设备的类型信息。
步骤3.首先分析处理管理域内所有的网络设备(主要是路由器和交换机),利用SNMP协议取出各网络设备地址转发表dot1dTpFdbTable数据并初始化各网络设备数据结构,区分出上行端口和下行端口,分别找出各端口学习到的MAC地址,然后基于非完整地址转发表的网络设备的直连判定方法分析其连接关系。
(1)地址转发表
地址转发表(AddressForwardingTable简称AFT)是二层设备为了达到即插即用而普遍采用的一种动态学习机制。它在所有以太网交换机里面得到了实现。其大致原理如图1所示。
交换机对每一个经过它的数据帧都要进行自动学习执行图1的过程。通过这个过程交换机里将生成一张路由数据帧的表。称之为地址转发表。它的每一条记录也就是一个地址转发表项。一个地址转发表项由物理地址(MAC),接收端口号和一个超时标识组成。物理地址代表发送数据帧的设备,接收端口号是数据帧的进入端口,一条地址转发表项的超时期限一般默认为300秒,一旦超时,该表项将从地址转发表中被删除,这样保证地址转发表能够及时更新网络通信状态。因此每一个表项都包含了数据帧进入交换机的时间。
(2)网络设备直连判定
为方便描述定义如下标记:
Si代表第i台交换机,i=1…N,N为自然数。N(Si)表示第i个交换机上的端口总数。Sij表示第i台交换机上的第j个端口,j=1…N,N为自然数。
Aij表示交换机i的第j个端口可达的设备的MAC地址集合,这些MAC地址不包括主机的MAC地址。
定义1.标志结点
将执行算法所在主机定为标志结点。如图2中的M节点。
定义2.上行端口
指地址转发表中出现标志结点MAC地址的端口。如图2中的S11,S21,S31,S41,S51,S61均为上行端口。
定义3.下行端口
指端口对应的地址转发表中没有出现标志结点MAC地址的端口。
判定定理:
在下行端口地址转发表完整的情况下,若交换机Si与Sk满足:Sij是下行端口,Skl是上行端口。交换机Si通过j端口学习到的地址转发表中包括Sk交换机所有下行端口学习到的MAC地址和Sk交换机本身的MAC地址。
A11={M}
A12={S2,S3,S4,S5,S6}
A21={M}A22={S3,S5,S6}
A23={S4}A31={M}
A32={S5}A33={S6}
A51={M}A61={M}
如图2中的S22和S31即满足A22={MAC(S3),MAC(S5),MAC(S6))}
A32∪A33∪MAC(S3)={MAC(S3),MAC(S5),MAC(S6))}。满足A22=A32∪A33∪MAC(S3),所以S22与S31直接相连。
步骤4.主机与网络设备直连判定。
根据标志节点到管理域内主机的traceroute信息找出主机所在的网关,根据步骤3中判断出的网络设备的邻居关系遍历与网关相连的所有网络设备的端口转发表,寻找包含主机MAC地址的端口并且转发表条目最少的端口,即为主机和此端口所在网络设备之间相连。主机的MAC地址可以基于SNMP协议获取网关的IP地址转发表ipNetToMediaTable,根据IP地址找到其对应的MAC地址。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (2)
1.一种链路层网络拓扑发现方法,其特征是,包括如下步骤:
步骤1.扩展设备类型扫描组件的***指纹库,使其能够识别出所有的管理域内的设备类型;
步骤2.利用扩展后的设备类型扫描组件对管理域内的所有设备进行***识别的扫描,分析出每台被扫设备的类型信息;
步骤3.首先分析处理管理域内所有的网络设备,利用SNMP协议取出各网络设备地址转发表dot1dTpFdbTable数据并初始化各网络设备数据结构,区分出上行端口和下行端口,分别找出各端口学习到的MAC地址,然后基于非完整地址转发表的网络设备的直连判定方法分析其连接关系;
步骤4.主机与网络设备直连判定。
2.如权利要求1所述的链路层网络拓扑发现方法,其特征是,所述步骤4的具体步骤为:根据标志节点到管理域内主机的traceroute信息找出主机所在的网关,根据步骤3中判断出的网络设备的邻居关系遍历与网关相连的所有网络设备的端口转发表,寻找包含主机MAC地址的端口并且转发表条目最少的端口,即为主机和此端口所在网络设备之间相连。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510460994.XA CN105072039A (zh) | 2015-07-31 | 2015-07-31 | 一种链路层网络拓扑发现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510460994.XA CN105072039A (zh) | 2015-07-31 | 2015-07-31 | 一种链路层网络拓扑发现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105072039A true CN105072039A (zh) | 2015-11-18 |
Family
ID=54501325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510460994.XA Pending CN105072039A (zh) | 2015-07-31 | 2015-07-31 | 一种链路层网络拓扑发现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105072039A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106161103A (zh) * | 2016-08-18 | 2016-11-23 | 上海帝联信息科技股份有限公司 | 交换机拓扑构建方法及装置 |
CN107786366A (zh) * | 2016-08-31 | 2018-03-09 | 北京北信源软件股份有限公司 | 一种局域网内部网络拓扑结构扫描方法 |
CN108134856A (zh) * | 2017-12-25 | 2018-06-08 | 杭州叙简科技股份有限公司 | 一种基于网络树的虚拟化mac地址防冲突方法和装置 |
CN109936480A (zh) * | 2019-03-19 | 2019-06-25 | 鹏城实验室 | 网络拓扑发现方法及装置、存储介质及电子设备 |
CN110100214A (zh) * | 2017-01-27 | 2019-08-06 | 三菱电机株式会社 | 管理装置及管理方法 |
CN112737883A (zh) * | 2020-12-28 | 2021-04-30 | 咪咕音乐有限公司 | 一种二层网络数据包传输方法、装置和网络设备 |
CN112822053A (zh) * | 2021-01-13 | 2021-05-18 | 科大国创云网科技有限公司 | 一种基于snmp的链路层网络拓扑结构发现方法及*** |
CN114915561A (zh) * | 2022-04-19 | 2022-08-16 | 北京宝兰德软件股份有限公司 | 网络拓扑图生成方法和装置 |
CN115297027A (zh) * | 2022-08-02 | 2022-11-04 | 上海海得控制***股份有限公司 | 孤岛网络设备间链路识别方法、***、存储介质、网管服务器 |
CN116827801A (zh) * | 2023-08-25 | 2023-09-29 | 武汉吧哒科技股份有限公司 | 网络拓扑构建方法、装置、计算机设备及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001076194A1 (en) * | 2000-03-31 | 2001-10-11 | British Telecommunications Public Limited Company | Apparatus and method of determining network address usage and allocation |
CN101330405A (zh) * | 2008-07-02 | 2008-12-24 | 北京亿阳信通软件研究院有限公司 | 网络拓扑发现方法及相关设备 |
CN101610178A (zh) * | 2009-07-20 | 2009-12-23 | 南京联创科技股份有限公司 | 基于地址转发机制的物理层链路网络拓扑获得方法 |
CN103281248A (zh) * | 2013-06-09 | 2013-09-04 | 北京星网锐捷网络技术有限公司 | 网络拓扑的发现方法、装置和*** |
CN104125154A (zh) * | 2014-08-12 | 2014-10-29 | 华为技术有限公司 | 网络拓扑发现方法和设备 |
-
2015
- 2015-07-31 CN CN201510460994.XA patent/CN105072039A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001076194A1 (en) * | 2000-03-31 | 2001-10-11 | British Telecommunications Public Limited Company | Apparatus and method of determining network address usage and allocation |
CN101330405A (zh) * | 2008-07-02 | 2008-12-24 | 北京亿阳信通软件研究院有限公司 | 网络拓扑发现方法及相关设备 |
CN101610178A (zh) * | 2009-07-20 | 2009-12-23 | 南京联创科技股份有限公司 | 基于地址转发机制的物理层链路网络拓扑获得方法 |
CN103281248A (zh) * | 2013-06-09 | 2013-09-04 | 北京星网锐捷网络技术有限公司 | 网络拓扑的发现方法、装置和*** |
CN104125154A (zh) * | 2014-08-12 | 2014-10-29 | 华为技术有限公司 | 网络拓扑发现方法和设备 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106161103B (zh) * | 2016-08-18 | 2019-07-16 | 上海帝联信息科技股份有限公司 | 交换机拓扑构建方法及装置 |
CN106161103A (zh) * | 2016-08-18 | 2016-11-23 | 上海帝联信息科技股份有限公司 | 交换机拓扑构建方法及装置 |
CN107786366A (zh) * | 2016-08-31 | 2018-03-09 | 北京北信源软件股份有限公司 | 一种局域网内部网络拓扑结构扫描方法 |
CN110100214A (zh) * | 2017-01-27 | 2019-08-06 | 三菱电机株式会社 | 管理装置及管理方法 |
CN108134856A (zh) * | 2017-12-25 | 2018-06-08 | 杭州叙简科技股份有限公司 | 一种基于网络树的虚拟化mac地址防冲突方法和装置 |
CN108134856B (zh) * | 2017-12-25 | 2020-10-23 | 杭州叙简科技股份有限公司 | 一种基于网络树的虚拟化mac地址防冲突方法和装置 |
CN109936480A (zh) * | 2019-03-19 | 2019-06-25 | 鹏城实验室 | 网络拓扑发现方法及装置、存储介质及电子设备 |
CN112737883B (zh) * | 2020-12-28 | 2022-07-29 | 咪咕音乐有限公司 | 一种二层网络数据包传输方法、装置和网络设备 |
CN112737883A (zh) * | 2020-12-28 | 2021-04-30 | 咪咕音乐有限公司 | 一种二层网络数据包传输方法、装置和网络设备 |
CN112822053A (zh) * | 2021-01-13 | 2021-05-18 | 科大国创云网科技有限公司 | 一种基于snmp的链路层网络拓扑结构发现方法及*** |
CN112822053B (zh) * | 2021-01-13 | 2023-04-07 | 科大国创云网科技有限公司 | 一种基于snmp的链路层网络拓扑结构发现方法及*** |
CN114915561A (zh) * | 2022-04-19 | 2022-08-16 | 北京宝兰德软件股份有限公司 | 网络拓扑图生成方法和装置 |
CN114915561B (zh) * | 2022-04-19 | 2024-02-20 | 北京宝兰德软件股份有限公司 | 网络拓扑图生成方法和装置 |
CN115297027A (zh) * | 2022-08-02 | 2022-11-04 | 上海海得控制***股份有限公司 | 孤岛网络设备间链路识别方法、***、存储介质、网管服务器 |
CN115297027B (zh) * | 2022-08-02 | 2023-08-25 | 上海海得控制***股份有限公司 | 孤岛网络设备间链路识别方法、***、存储介质、网管服务器 |
CN116827801A (zh) * | 2023-08-25 | 2023-09-29 | 武汉吧哒科技股份有限公司 | 网络拓扑构建方法、装置、计算机设备及可读存储介质 |
CN116827801B (zh) * | 2023-08-25 | 2023-12-15 | 武汉吧哒科技股份有限公司 | 网络拓扑构建方法、装置、计算机设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105072039A (zh) | 一种链路层网络拓扑发现方法 | |
CN110113345B (zh) | 一种基于物联网流量的资产自动发现的方法 | |
US20060256733A1 (en) | Methods and devices for discovering the topology of large multi-subnet LANs | |
Sivanathan et al. | Can we classify an iot device using tcp port scan? | |
JP3996577B2 (ja) | 様々な発見技術の分割によるトポロジ発見 | |
US8578034B2 (en) | Optimized network device discovery | |
KR101574167B1 (ko) | 네트워크 시스템 및 경로 제어 방법 | |
US9621431B1 (en) | Classification techniques to identify network entity types and determine network topologies | |
CN108206792B (zh) | 交换机的拓扑结构发现方法及装置 | |
CN102143007A (zh) | 基于分布式的多级网络拓扑发现方法 | |
CN101345655A (zh) | 一种利用链路层发现协议获取网络连接信息的方法 | |
CN107733713B (zh) | 混合网络中网络拓扑的获取方法、***、设备及存储介质 | |
JPWO2006118203A1 (ja) | ネットワークマップ生成方法 | |
CN104579978B (zh) | 一种动态网络链路层拓扑发现方法 | |
US7870246B1 (en) | System, method, and computer program product for platform-independent port discovery | |
CN107124297B (zh) | 基于zabbix的SNMP网络拓扑发现方法及装置 | |
CN113014602B (zh) | 一种基于最优通信路径的工业网络防御方法和*** | |
US20040215781A1 (en) | Techniques for determining device connectivity in a network using protocol-specific connectivity information | |
US20100315975A1 (en) | Method and system for determining physical connectivity in a dynamic network | |
US20130246603A1 (en) | System, method, and computer program product for automatic router discovery | |
CN100407635C (zh) | 在网络中高效查找网络设备地址的方法 | |
CN112383647A (zh) | 一种基于space6和双栈技术的网络*** | |
US20090316599A1 (en) | Information processing apparatus | |
CN109842692A (zh) | 用于获得物理网络中主机信息的VxLAN交换机、***和方法 | |
CN102075364B (zh) | 一种直连链路的确定方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151118 |
|
RJ01 | Rejection of invention patent application after publication |