一种网络拓扑发现方法和装置的制作方法

文档序号:7699776阅读:315来源:国知局

专利名称::一种网络拓扑发现方法和装置的制作方法
技术领域
:本发明涉及网络管理
技术领域
,尤指一种网络拓朴发现方法和装置。
背景技术
:网络拓朴是一种表达网络逻辑连接关系和物理连接关系的方法。通过网络拓朴管理员可以直观地了解网络当前的运行状况,准确定位网络中的故障以进行隔离,并对整个网络中可能存在的瓶颈进行准确分析,从而有针对性地改造网络,提高网络的整体性能。因此,随着网络规模的越来越大,对网络拓朴发现的准确性和实时性提出了更高的要求。目前比较常见的网络拓朴发现方法有根据媒体访问控制(MAC)地址学习表进行拓朴发现的方法和根据邻居信息进行拓朴发现的方法。首先以图1为例简要介绍根据MAC地址学习表进行拓朴发现的过程。图1是现有技术中的一个简单的网络拓朴示意图。如图l所示,交换机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所示<table>tableseeoriginaldocumentpage3</column></row><table>下面以交换机3的接口31为例来说明网络拓朴的发现过程,包括以下步骤步骤1,取出交换机3的接口31学习到第一个MAC地址0a,根据该MAC地址0a查找到设备为交换机1;步骤2,获取交换机1上所有存在MAC地址学习信息的接口,本例中交换机l上只有接口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和接口ll之间不存在直连链路;步骤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,LinkLayerDiscoveryProtocol)和生成才对协i义(STP,SpanningTreeProtocol)两种。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的情况与1XDP相同。
发明内容本发明提供了一种网络拓朴发现方法,该方法能够避免在存在透传情况时计算出错误的拓朴。本发明还提供了一种网络拓朴发现装置,该装置能够避免在存在透传情况时计算出错误的拓朴。为达到上述目的,本发明的技术方案具体是这样实现的本发明公开了一种网络拓朴发现方法,该方法包括获取指定设备的指定接口上的邻居信息;根据所迷获取的邻居信息查找出邻居设备接口;判断所述指定接口所学习的MAC地址和所述邻居设备接口所学习的MAC地址是否存在交集,是则确定所述指定接口和所述邻居设备接口之间不存在直连链路,否则确定所述指定接口和所述邻居设备接口之间存在直连链路。本发明还公开了一种网络拓朴发现装置,该装置包括邻居信息处理模块和确定模块,其中,邻居信息处理模块,用于获取指定设备的指定接口上的邻居信息,根据所述获取的邻居信息查找出邻居设备接口并通知确定模块;确定模块,用于判断所述指定接口所学习的MAC地址和所述邻居设备接口所学习的MAC地址是否存在交集,是则确定所述指定接口和所述邻居设备接口之间不存在直连链路,否则确定所述指定接口和所述邻居设备接口之间存在直连链路。由上述技术方案可见,本发明这种获取指定设备的指定接口上的邻居信息,根据所述获取的邻居信息查找出邻居设备接口,判断所述指定接口所学习的MAC地址和所述邻居设备接口所学习的MAC地址是否存在交集,是则确定所述指定接口和所述邻居设备接口之间不存在直连链路,否则确定所述指定接口和所述邻居i殳备接口之间存在直连链路的技术方案,该方法能够避免在存在透传情况时计算出错误的拓朴。图1是现有技术中的一个简单的网络拓朴示意图2是本发明实施例一种网络拓朴发现方法的流程图3是本发明实施例一种网络拓朴发现装置的组成结构框图u具体实施例方式本发明的核心思想是先根据邻居信息发现两台设备的接口之间存在邻居关系,然后根据存在邻居关系的接口所学习的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邻居信息计算出交换机l的接口11和交换机3的接口31直连,然后依据两个接口所学习的MAC地址是否有交集的原则,发现接口11所学习的MAC地址(Ob,Oc)和接口31所学习的MAC地址(Oa,Ob)存在交集Ob,因此判7断出接口11和接口31之间存在透传LLDP报文的设备,该设备的MAC地址为0b,因此接口11和接口3l之间没有直连链路。图3是本发明实施例一种网络拓朴发现装置的组成结构框图。如图3所示,该装置包括邻居信息处理模块301和确定模块302,其中邻居信息处理模块301,用于获取指定设备的指定接口上的邻居信息,根据所述获取的邻居信息查找出邻居设备接口并通知确定模块302;确定模块302,用于判断所述指定接口所学习的MAC地址和所述邻居设备接口所学习的MAC地址是否存在交集,是则确定所述指定接口和所述邻居设备接口之间不存在直连链路,否则确定所述指定接口和所述邻居设备4妄口之间存在直连链^各。在图3中,邻居信息处理模块301所获取的邻居信息为链路层发现协议LLDP邻居信息或生成树协议STP邻居信息。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。权利要求1、一种网络拓扑发现方法,其特征在于,该方法包括获取指定设备的指定接口上的邻居信息;根据所述获取的邻居信息查找出邻居设备接口;判断所述指定接口所学习的MAC地址和所述邻居设备接口所学习的MAC地址是否存在交集,是则确定所述指定接口和所述邻居设备接口之间不存在直连链路,否则确定所述指定接口和所述邻居设备接口之间存在直连链路。2、如权利要求1所述的方法,其特征在于,所述邻居信息为链路层发现协议邻居信息或生成树协议邻居信息。3、一种网络拓朴发现装置,其特征在于,该装置包括邻居信息处理模块和确定模块,其中,邻居信息处理模块,用于获取指定设备的指定接口上的邻居信息,根据所述获取的邻居信息查找出邻居设备接口,并将所述指定接口和邻居设备接口通知确定模块;确定模块,用于判断所述指定接口所学习的MAC地址和所述邻居设备接口所学习的MAC地址是否存在交集,是则确定所述指定接口和所述邻居设备接口之间不存在直连链路,否则确定所述指定接口和所述邻居设备接口之间存在直连链;洛。4、如权利要求3所述的装置,其特征在于,所述邻居信息为链路层发现协议邻居信息或生成树协议邻居信息。全文摘要本发明公开了一种网络拓扑发现方法和装置。方法包括获取指定设备的指定接口上的邻居信息;根据所述获取的邻居信息查找出邻居设备接口;判断所述指定接口所学习的MAC地址和所述邻居设备接口所学习的MAC地址是否存在交集,是则确定所述指定接口和所述邻居设备接口之间不存在直连链路,否则确定所述指定接口和所述邻居设备接口之间存在直连链路。本发明的技术方案能够避免在存在透传情况时计算出错误的拓扑。文档编号H04L12/24GK101534215SQ20091008242公开日2009年9月16日申请日期2009年4月16日优先权日2009年4月16日发明者曾勇刚,潘宗辉,勇郭申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1