CN101534215A - 一种网络拓扑发现方法和装置 - Google Patents
一种网络拓扑发现方法和装置 Download PDFInfo
- Publication number
- CN101534215A CN101534215A CN200910082425A CN200910082425A CN101534215A CN 101534215 A CN101534215 A CN 101534215A CN 200910082425 A CN200910082425 A CN 200910082425A CN 200910082425 A CN200910082425 A CN 200910082425A CN 101534215 A CN101534215 A CN 101534215A
- Authority
- CN
- China
- Prior art keywords
- interface
- mac address
- neighbor
- switch
- neighbor information
- 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
Images
Classifications
-
- 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
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种网络拓扑发现方法和装置。方法包括:获取指定设备的指定接口上的邻居信息;根据所述获取的邻居信息查找出邻居设备接口;判断所述指定接口所学习的MAC地址和所述邻居设备接口所学习的MAC地址是否存在交集,是则确定所述指定接口和所述邻居设备接口之间不存在直连链路,否则确定所述指定接口和所述邻居设备接口之间存在直连链路。本发明的技术方案能够避免在存在透传情况时计算出错误的拓扑。
Description
技术领域
本发明涉及网络管理技术领域,尤指一种网络拓扑发现方法和装置。
背景技术
网络拓扑是一种表达网络逻辑连接关系和物理连接关系的方法。通过网络拓扑管理员可以直观地了解网络当前的运行状况,准确定位网络中的故障以进行隔离,并对整个网络中可能存在的瓶颈进行准确分析,从而有针对性地改造网络,提高网络的整体性能。因此,随着网络规模的越来越大,对网络拓扑发现的准确性和实时性提出了更高的要求。
目前比较常见的网络拓扑发现方法有:根据媒体访问控制(MAC)地址学习表进行拓扑发现的方法和根据邻居信息进行拓扑发现的方法。
首先以图1为例简要介绍根据MAC地址学习表进行拓扑发现的过程。
图1是现有技术中的一个简单的网络拓扑示意图。如图1所示,交换机1的接口11同交换机2的接口21直连;交换机2的接口22同交换机3的接口31直连;交换机1的MAC地址为0a,交换机2的MAC地址为0b,交换机3的MAC地址为0c。交换机1的接口11可以学习到交换机2和交换机3的MAC地址,交换机2的接口21可以学习到交换机1的MAC地址,交换机2的接口22可以学习到交换机3的MAC地址,交换机3的接口31可以学习到交换机1和交换机2的MAC地址,则上述四个接口所学习的MAC地址如表1所示:
表1
下面以交换机3的接口31为例来说明网络拓扑的发现过程,包括以下步骤:
步骤1,取出交换机3的接口31学习到第一个MAC地址0a,根据该MAC地址0a查找到设备为交换机1;
步骤2,获取交换机1上所有存在MAC地址学习信息的接口,本例中交换机1上只有接口11存在MAC地址学习信息;
步骤3,判断交换机1的接口11所学习的MAC地址中是否存在交换机3的MAC地址;如果不存在,则继续处理交换机3的接口31学习到的下一个MAC地址0b;如果存在,继续判断交换机1的接口11所学习的MAC地址(0b,0c)和交换机3的接口31所学习的MAC地址(0a,0b)是否存在交集,如果存在交集,则说明交换机3的接口31和交换机1的接口11之间存在其它设备,则继续处理交换机3的接口31学习到的下一个MAC地址0b,如果不存在交集,则说明交换机3的接口31和交换机1的接口11之间存在直连链路,本例中存在交集,因此接口31和接口11之间不存在直连链路;
步骤4,继续处理交换机3的接口31学习到的下一个MAC地址0b,根据该MAC地址0b查找到设备为交换机2;
步骤5,获取交换机2上所有存在MAC地址学习信息的接口,本例中交换机2上有接口21和接口22存在MAC地址学习信息;
步骤6,同样,根据步骤3中的策略对交换机2中的接口21和接口22进行判断:交换机2的接口21所学习的MAC地址(0a)中不存在交换机3的MAC地址0c,因此接口21和接口31之间不存在直连链路;交换机2的接口22所学习的MAC地址(0c)中存在交换机3的MAC地址0c,且接口22所学习的MAC地址(0c)和交换机3的接口31所学习的MAC地址(0a,0b)不存在交集,因此接口22和接口31之间存在直连链路。
其它接口的拓扑发现过程与上述过程相同,不再一一详述。
但是随着网络规模的扩大,设备的MAC地址学习表也会变得越来越庞大,这种根据MAC地址学习表进行拓扑发现的算法的性能也会变差,另外因为MAC地址老化等原因,这种算法也存在很大的局限性。
而根据邻居信息进行拓扑发现的算法,因为其效率高,正在被越来越多地应用。
目前,比较常见的根据邻居信息进行拓扑发现的算法有链路层发现协议(LLDP,Link Layer Discovery Protocol)和生成树协议(STP,Spanning TreeProtocol)两种。LLDP是端口到端口的二层协议,用于学习网络中的相邻设备间的邻居信息。STP是一种二层管理协议,它通过有选择性地阻塞网络冗余链路来达到消除网络二层环路的目的,同时又具备链路备份功能,STP的指定桥及接口就是反映设备间的邻居信息。
对于LLDP和STP来说,设备接口上只会记录同自己相连的邻居信息,所以根据邻居信息进行拓扑发现,不会随着网络规模的扩大而受到影响。
但是,根据LLDP或STP邻居信息进行网络拓扑发现时,对于存在LLDP/STP协议报文透传的情况会导致链路计算的结果出错,下面仍以图1为例进行说明。
在图1中,交换机1和交换机3支持LLDP,而交换机2不支持LLDP。交换机2收到交换1和交换机3的LLDP报文时会进行透传,导致交换机1的接口11和交换机3的接口31互相学习到对方为自己的邻居,进而计算出交换机1的接口11和交换机3的接口31直连的错误拓扑。STP的情况与LLDP相同。
发明内容
本发明提供了一种网络拓扑发现方法,该方法能够避免在存在透传情况时计算出错误的拓扑。
本发明还提供了一种网络拓扑发现装置,该装置能够避免在存在透传情况时计算出错误的拓扑。
为达到上述目的,本发明的技术方案具体是这样实现的:
本发明公开了一种网络拓扑发现方法,该方法包括:
获取指定设备的指定接口上的邻居信息;
根据所述获取的邻居信息查找出邻居设备接口;
判断所述指定接口所学习的MAC地址和所述邻居设备接口所学习的MAC地址是否存在交集,是则确定所述指定接口和所述邻居设备接口之间不存在直连链路,否则确定所述指定接口和所述邻居设备接口之间存在直连链路。
本发明还公开了一种网络拓扑发现装置,该装置包括:邻居信息处理模块和确定模块,其中,
邻居信息处理模块,用于获取指定设备的指定接口上的邻居信息,根据所述获取的邻居信息查找出邻居设备接口并通知确定模块;
确定模块,用于判断所述指定接口所学习的MAC地址和所述邻居设备接口所学习的MAC地址是否存在交集,是则确定所述指定接口和所述邻居设备接口之间不存在直连链路,否则确定所述指定接口和所述邻居设备接口之间存在直连链路。
由上述技术方案可见,本发明这种获取指定设备的指定接口上的邻居信息,根据所述获取的邻居信息查找出邻居设备接口,判断所述指定接口所学习的MAC地址和所述邻居设备接口所学习的MAC地址是否存在交集,是则确定所述指定接口和所述邻居设备接口之间不存在直连链路,否则确定所述指定接口和所述邻居设备接口之间存在直连链路的技术方案,该方法能够避免在存在透传情况时计算出错误的拓扑。
附图说明
图1是现有技术中的一个简单的网络拓扑示意图;
图2是本发明实施例一种网络拓扑发现方法的流程图;
图3是本发明实施例一种网络拓扑发现装置的组成结构框图。
具体实施方式
本发明的核心思想是:先根据邻居信息发现两台设备的接口之间存在邻居关系,然后根据存在邻居关系的接口所学习的MAC地址之间无交集的方案验证所发现的邻居关系是否为由于中间设备的透传而导致的错误计算结果。
图2是本发明实施例一种网络拓扑发现方法的流程图。如图2所示,包括以下步骤:
步骤201,获取指定设备的指定接口上的邻居信息。
本步骤中,所获取的邻居信息为链路层发现协议LLDP邻居信息或生成树协议STP邻居信息。
步骤202,根据所述获取的邻居信息查找出邻居设备接口。
步骤203,判断所述指定接口所学习的MAC地址和所述邻居设备接口所学习的MAC地址是否存在交集,是则执行步骤204,否则执行步骤205。
步骤204,确定所述指定接口和所述邻居设备接口之间不存在直连链路。
本步骤中,由于指定接口所学习的MAC地址和邻居设备接口所学习的MAC地址之间存在交集,因此指定接口和邻居设备接口之间存在一台或多台设备,这些设备透明转发LLDP/STP报文。
步骤205,确定所述指定接口和所述邻居设备接口之间存在直连链路。
本步骤中,由于指定接口所学习的MAC地址和邻居设备接口所学习的MAC地址之间不存在交集,因此指定接口和邻居设备接口之间存在直连链路。
通过图2所示的方案可以避免在存在透传情况时计算出错误的拓扑。
例如,在图1所示的交换机2对LLDP报文进行透传的场景,预先依据LLDP邻居信息计算出交换机1的接口11和交换机3的接口31直连,然后依据两个接口所学习的MAC地址是否有交集的原则,发现接口11所学习的MAC地址(0b,0c)和接口31所学习的MAC地址(0a,0b)存在交集0b,因此判断出接口11和接口31之间存在透传LLDP报文的设备,该设备的MAC地址为0b,因此接口11和接口31之间没有直连链路。
图3是本发明实施例一种网络拓扑发现装置的组成结构框图。如图3所示,该装置包括:邻居信息处理模块301和确定模块302,其中:
邻居信息处理模块301,用于获取指定设备的指定接口上的邻居信息,根据所述获取的邻居信息查找出邻居设备接口并通知确定模块302;
确定模块302,用于判断所述指定接口所学习的MAC地址和所述邻居设备接口所学习的MAC地址是否存在交集,是则确定所述指定接口和所述邻居设备接口之间不存在直连链路,否则确定所述指定接口和所述邻居设备接口之间存在直连链路。
在图3中,邻居信息处理模块301所获取的邻居信息为链路层发现协议LLDP邻居信息或生成树协议STP邻居信息。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1、一种网络拓扑发现方法,其特征在于,该方法包括:
获取指定设备的指定接口上的邻居信息;
根据所述获取的邻居信息查找出邻居设备接口;
判断所述指定接口所学习的MAC地址和所述邻居设备接口所学习的MAC地址是否存在交集,是则确定所述指定接口和所述邻居设备接口之间不存在直连链路,否则确定所述指定接口和所述邻居设备接口之间存在直连链路。
2、如权利要求1所述的方法,其特征在于,所述邻居信息为链路层发现协议邻居信息或生成树协议邻居信息。
3、一种网络拓扑发现装置,其特征在于,该装置包括:邻居信息处理模块和确定模块,其中,
邻居信息处理模块,用于获取指定设备的指定接口上的邻居信息,根据所述获取的邻居信息查找出邻居设备接口,并将所述指定接口和邻居设备接口通知确定模块;
确定模块,用于判断所述指定接口所学习的MAC地址和所述邻居设备接口所学习的MAC地址是否存在交集,是则确定所述指定接口和所述邻居设备接口之间不存在直连链路,否则确定所述指定接口和所述邻居设备接口之间存在直连链路。
4、如权利要求3所述的装置,其特征在于,所述邻居信息为链路层发现协议邻居信息或生成树协议邻居信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910082425A CN101534215A (zh) | 2009-04-16 | 2009-04-16 | 一种网络拓扑发现方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910082425A CN101534215A (zh) | 2009-04-16 | 2009-04-16 | 一种网络拓扑发现方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101534215A true CN101534215A (zh) | 2009-09-16 |
Family
ID=41104618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910082425A Pending CN101534215A (zh) | 2009-04-16 | 2009-04-16 | 一种网络拓扑发现方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101534215A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102075364A (zh) * | 2011-01-31 | 2011-05-25 | 杭州华三通信技术有限公司 | 一种直连链路的确定方法和设备 |
CN102694689A (zh) * | 2012-06-06 | 2012-09-26 | 杭州华三通信技术有限公司 | 一种网络拓扑发现方法和装置 |
CN106027321A (zh) * | 2016-07-26 | 2016-10-12 | 上海携程商务有限公司 | 网络拓扑结构的自动生成方法和系统 |
CN107040423A (zh) * | 2017-05-16 | 2017-08-11 | 上海上讯信息技术股份有限公司 | 一种网络拓扑发现的方法及系统 |
CN111464450A (zh) * | 2020-03-27 | 2020-07-28 | 杭州海康威视数字技术股份有限公司 | 网络拓扑结构的生成方法及装置 |
CN115277190A (zh) * | 2022-07-27 | 2022-11-01 | 北京国领科技有限公司 | 一种链路层透明加密系统在网络上实现邻居发现的方法 |
-
2009
- 2009-04-16 CN CN200910082425A patent/CN101534215A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102075364A (zh) * | 2011-01-31 | 2011-05-25 | 杭州华三通信技术有限公司 | 一种直连链路的确定方法和设备 |
CN102075364B (zh) * | 2011-01-31 | 2013-12-11 | 杭州华三通信技术有限公司 | 一种直连链路的确定方法和设备 |
CN102694689A (zh) * | 2012-06-06 | 2012-09-26 | 杭州华三通信技术有限公司 | 一种网络拓扑发现方法和装置 |
CN102694689B (zh) * | 2012-06-06 | 2016-02-10 | 杭州华三通信技术有限公司 | 一种网络拓扑发现方法和装置 |
CN106027321A (zh) * | 2016-07-26 | 2016-10-12 | 上海携程商务有限公司 | 网络拓扑结构的自动生成方法和系统 |
CN107040423A (zh) * | 2017-05-16 | 2017-08-11 | 上海上讯信息技术股份有限公司 | 一种网络拓扑发现的方法及系统 |
CN107040423B (zh) * | 2017-05-16 | 2020-06-16 | 上海上讯信息技术股份有限公司 | 一种网络拓扑发现的方法及系统 |
CN111464450A (zh) * | 2020-03-27 | 2020-07-28 | 杭州海康威视数字技术股份有限公司 | 网络拓扑结构的生成方法及装置 |
CN115277190A (zh) * | 2022-07-27 | 2022-11-01 | 北京国领科技有限公司 | 一种链路层透明加密系统在网络上实现邻居发现的方法 |
CN115277190B (zh) * | 2022-07-27 | 2023-08-15 | 北京国领科技有限公司 | 一种链路层透明加密系统在网络上实现邻居发现的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102694689B (zh) | 一种网络拓扑发现方法和装置 | |
CN101371474B (zh) | 用于检测虚拟交换机链路故障并从中恢复的系统和方法 | |
US8139510B2 (en) | Optimizations and enhancements to the IEEE RSTP 802.1w implementation | |
CN101534215A (zh) | 一种网络拓扑发现方法和装置 | |
US10764119B2 (en) | Link handover method for service in storage system, and storage device | |
CN103001799B (zh) | 基于链状网络的冗余实现方法及节点 | |
CN112564964B (zh) | 一种基于软件定义网络的故障链路检测与恢复方法 | |
US8804491B2 (en) | Recovery method for ring-based network | |
CN105340230A (zh) | 虚拟机架拓扑管理 | |
CN102082710A (zh) | 网络中节点实现网络拓扑故障检测的方法和系统 | |
EP2685678A1 (en) | Method, system, and switch for adding bridge in mstp to domain | |
CN103179178A (zh) | 扩展集群间聚合组成员端口的方法和设备 | |
CN107615710A (zh) | Sdn交换机中的直接回复动作 | |
TWI379547B (en) | Redundancy method of ring network | |
US8184527B2 (en) | Method for conducting redundancy checks in a chain network | |
CN103780419B (zh) | 一种分布式链路聚合组业务切换方法和装置 | |
CN102571795A (zh) | 基于BACnet和EIB协议的楼宇自控系统 | |
CN105871737B (zh) | 一种用于冗余网络间通信的通信流量控制装置 | |
CN103685079A (zh) | 自适应的以太网单环网算法 | |
US20230142790A1 (en) | Loop detection method and loop break method for mesh network | |
CN102271049B (zh) | 通信设备状态设置方法、装置和系统 | |
WO2023011047A1 (zh) | 一种处理方法及装置 | |
CN103840965A (zh) | 一种增强rstp中故障快速收敛的方法 | |
Wang et al. | Reaching agreement among virtual subnets in hybrid failure mode | |
CN104486223B (zh) | 一种基于ospf协议的gr方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20090916 |