CN105072039A - 一种链路层网络拓扑发现方法 - Google Patents

一种链路层网络拓扑发现方法 Download PDF

Info

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
Application number
CN201510460994.XA
Other languages
English (en)
Inventor
闫明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Yi Xun Network Technology Co Ltd
Original Assignee
Shandong Yi Xun Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shandong Yi Xun Network Technology Co Ltd filed Critical Shandong Yi Xun Network Technology Co Ltd
Priority to CN201510460994.XA priority Critical patent/CN105072039A/zh
Publication of CN105072039A publication Critical patent/CN105072039A/zh
Pending legal-status Critical Current

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地址的端口并且转发表条目最少的端口,即为主机和此端口所在网络设备之间相连。
CN201510460994.XA 2015-07-31 2015-07-31 一种链路层网络拓扑发现方法 Pending CN105072039A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 华为技术有限公司 网络拓扑发现方法和设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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