一种网络拓扑发现方法和设备技术

技术编号:5204182 阅读:212 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种网络拓扑发现方法和设备,其中,该方法包括以下步骤:A,在三层网络拓扑结构收集过程中,获取当前路由设备的IP路由表;B,遍历所述IP路由表中的路由,判断当前遍历到的路由的类型是否为直接路由,所述直接路由表示当前路由设备与当前路由的下一跳IP地址和子网掩码对应的二层网络直接相连,如果是,则执行步骤C;C,查询所述当前路由设备是否存在邻居信息,如果存在,则确定所述当前路由设备还处于二层网络,且该当前路由设备其下连接了至少一个二层网络设备;获取由所述当前路由设备收集的所述二层网络的拓扑结构。采用本发明专利技术,实现了采用一种统一的网络拓扑发现方式来获取整个网络的拓扑结构的目的。

【技术实现步骤摘要】

本专利技术涉及网络管理技术,特别涉及一种网络拓扑发现方法和设备
技术介绍
在网络管理技术中,网络拓扑是一种表达网络逻辑连接关系和物理连接关系的方 法。通过网络拓扑,管理员可以直观地了解网络当前的运行状况,准确定位网络中的故障以 进行隔离,并对整个网络中可能存在的瓶颈进行准确分析,从而有针对性地改造网络,提高 网络的整体性能。因此,随着网络规模的越来越大,对网络拓扑发现的准确性和实时性提出 了更高的要求。目前的网络拓扑发现主要为网络层(L3 三层)网络拓扑发现和数据链路层(L2 二层)网络拓扑发现。其中,三层网络拓扑发现主要是用于获取三层网络拓扑结构,具体为 获取三层网络中路由设备(比如路由器或者具有三层路由功能的交换机)之间、以及路由 设备和二层网络(数据链路层网络)之间的连接关系;而二层网络拓扑发现主要是用于获 取二层网络拓扑结构,具体为获取二层网络设备比如交换机(二层交换机)或者具有交换 机功能的设备之间、以及二层网络设备与网桥之间等的连接关系。在现有技术中,三层网络拓扑发现和二层网络拓扑发现是两个相互独立的过程, 如果要想获得整个网络的拓扑结构,则首先在外界比如用户的触发下启动三层网络拓扑发 现来收集三层网络拓扑结构;之后,再在用户的触发下启动二层网络拓扑发现来收集二层 网络拓扑结构;最后,采用一定的算法绘制收集的三层网络拓扑结构和二层网络拓扑结构, 得到整个网络的拓扑结构。根据以上描述可以看出,现有技术并非通过一种统一的网络拓扑发现方式来获取 整个网络的拓扑结构,而是分别采用两种相互分离、且不同的网络拓扑发现方式来获取整 个网络的拓扑结构,这样,就会加大网络管理的复杂度,并且,现有技术在获取整个网络的 拓扑结构时,都需要借助外界比如用户的触发才能执行,这也增加了用户的工作量。因此, 一种用于统一收集网络拓扑结构的网络拓扑发现方法是当前亟待解决的技术问题。
技术实现思路
本专利技术提供了一种网络拓扑发现方法和设备,以实现采用一种统一的网络拓扑发 现方式来获取整个网络的拓扑结构。本专利技术提供的技术方案是这样实现的一种网络拓扑发现方法,包括以下步骤A,在三层网络拓扑结构收集过程中,获取当前路由设备的IP路由表,所述IP路由 表中的每一路由包括下一跳IP地址、子网掩码和路由类型;B,遍历所述IP路由表中的路由,判断当前遍历到的路由的类型是否为直接路由, 所述直接路由表示当前路由设备与当前路由的下一跳IP地址和子网掩码对应的二层网络 直接相连,如果是,则执行步骤C ;C,查询所述当前路由设备是否存在邻居信息,如果存在,确定所述当前路由设备 还处于二层网络,且该当前路由设备其下连接了至少一个二层网络设备;获取由所述当前 路由设备收集的所述二层网络的拓扑结构。一种网络拓扑发现设备,包括获取单元、判断单元和拓扑收集单元;其中,所述获取单元用于在三层网络拓扑结构收集过程中,获取当前路由设备的IP路 由表,所述IP路由表中的每一路由包括下一跳IP地址、子网掩码和路由类型;所述判断单元用于遍历所述IP路由表中的路由,判断当前遍历到的路由的类型 是否为直接路由,所述直接路由用于表示当前路由设备与该路由的下一跳IP地址和子网 掩码对应的二层网络直接相连;所述拓扑收集单元在所述判断单元的判断结果为是时,查询所述当前路由设备是 否存在邻居信息,如果存在,确定所述当前路由设备还处于二层网络,且该当前路由设备其 下连接了至少一个二层网络设备;获取由所述当前路由设备收集的所述二层网络的拓扑结 构。由以上技术方案可以看出,本专利技术提供的一种网络拓扑发现方法和设备中,可以 通过一种方法来自动收集整个网络的拓扑结构,避免了现有技术采用两套相互分离、且都 依赖于用户触发的网络拓扑发现方式来收集整个网络的拓扑结构,实现了采用一种统一的 网络拓扑发现方式来获取整个网络的拓扑结构的目的。附图说明图1为本专利技术实施例提供的基本流程图;图2为本专利技术实施例提供的详细流程图;图3为本专利技术实施例提供的设备结构图。具体实施例方式由于整个网络中的节点都是相互联系的,因此,整个网络的拓扑结构并非像现有 技术那样需要两套相互分离、且都依赖于用户触发的网络拓扑发现方式来收集。基于此,本 专利技术实施例提供了一种统一的用于获取整个网络拓扑结构的方法,具体参见图1所示的流程。参见图1,图1为本专利技术实施例提供的基本流程图。如图1所示,该流程可包括以 下步骤步骤101,在三层网络拓扑结构收集过程中,获取当前路由设备的IP路由表。这里,当前路由设备的IP路由表一般存放在由简单网络管理协议(SNMP)定义的 标准信息库(MIB)中,因此,本步骤101中,可通过SNMP定义的Get操作来获取存放在MIB 中的当前路由设备的IP路由表。其中,获取的IP路由表中记录了经由当前路由设备的所有路由信息,比如当前路 由设备与子网、以及当前路由设备与下一跳路由设备之间的连接关系。IP路由表中的每一 行标识了一条路由,每一条路由至少可包括该路由的下一跳IP地址(IpRouteNextHop)、路 由的子网掩码(IpRouteMask)和路由的类型(IpRouteType),这里,路由的类型可包括直接 路由(direct)和间接路由(indirect)两种类型,其中,当路由的类型为直接路由时,表示通过当前路由设备可以直接到达目的网段,该目的网段具体为路由的下一跳IP地址和路 由的子网掩码对应的二层网络,即当路由的类型为直接路由时,当前路由设备与二层网络 直接相连;当路由的类型为间接路由时,表示从当前路由设备起通往二层网络的路径上还 需要经过其他路由设备,该其他路由设备具体为该路由的下一跳IP地址对应的路由设备, 即当路由的类型为间接路由时,当前路由设备与该路由的下一跳IP地址所对应的路由设 备直接相连。步骤102,遍历IP路由表中的路由,判断当前遍历到的路由的类型是否为直接路 由,如果是直接路由,执行步骤103 ;如果是间接路由,确定出当前路由设备与该路由的下 一跳IP地址对应的路由设备直连。步骤103,查询所述当前路由设备是否存在邻居信息,如果存在,执行步骤104 ;否 则,针对当前遍历到的路由的下一个路由,按照步骤102中的操作执行。这里,当前路由设备存在的邻居信息具体为与当前路由设备直连的二层网络设备 (比如交换机或者具有交换功能的其他设备等)的信息,具体为该二层网络设备的ID、该二 层网络设备上的与当前路由设备连接的端口的标识和MAC地址等。通常,如果当前路由设 备处于二层网络,且连接了至少一个二层网络设备,其该当前路由设备一定会存在对应的 邻居信息,而如果当前路由设备不处于二层网络;或者没有连接二层网络设备比如连接了 二层网络中的PC终端,则该当前路由设备不会存在邻居信息,因此,本步骤103通过查询当 前路由设备是否存在邻居信息可以很容易确定该当前路由设备是否处于二层网络,以及当 前是连接了 二层网络设备还是PC终端。根据步骤101至步骤102中的描述,可以看出,当前路由设备处于三层网络中,而 根据步骤103中的描述,如果当前路由设备存在邻居信息,则表示该当前路由设备还处于 二层网络中。也就是说,如果当前路由设备存在邻居信息,则表示该当前路由设备可同时处 于两个网络中,即同时处于三本文档来自技高网
...

【技术保护点】
一种网络拓扑发现方法,其特征在于,该方法包括以下步骤:A,在三层网络拓扑结构收集过程中,获取当前路由设备的IP路由表,所述IP路由表中的每一路由包括下一跳IP地址、子网掩码和路由类型;B,遍历所述IP路由表中的路由,判断当前遍历到的路由的类型是否为直接路由,所述直接路由表示当前路由设备与当前路由的下一跳IP地址和子网掩码对应的二层网络直接相连,如果是,则执行步骤C;C,查询所述当前路由设备是否存在邻居信息,如果存在,则确定所述当前路由设备还处于二层网络,且该当前路由设备其下连接了至少一个二层网络设备;获取由所述当前路由设备收集的所述二层网络的拓扑结构。

【技术特征摘要】
1.一种网络拓扑发现方法,其特征在于,该方法包括以下步骤A,在三层网络拓扑结构收集过程中,获取当前路由设备的IP路由表,所述IP路由表中 的每一路由包括下一跳IP地址、子网掩码和路由类型;B,遍历所述IP路由表中的路由,判断当前遍历到的路由的类型是否为直接路由,所述 直接路由表示当前路由设备与当前路由的下一跳IP地址和子网掩码对应的二层网络直接 相连,如果是,则执行步骤C;C,查询所述当前路由设备是否存在邻居信息,如果存在,则确定所述当前路由设备还 处于二层网络,且该当前路由设备其下连接了至少一个二层网络设备;获取由所述当前路 由设备收集的所述二层网络的拓扑结构。2.根据权利要求1所述的方法,其特征在于,预先定义待访问路由设备标识信息集合 U1,所述Ul预先放入了网络中作为默认网关的路由设备的标识信息或者预先指定的路由 设备的标识信息;所述步骤A中获取当前路由设备的IP路由表包括Al,判断Ul是否为空集,如果否,将Ul中第一个标识信息确定为当前标识信息;A2,判断所述当前标识信息是否存在预先定义的已访问路由设备标识信息集合U2中, 是则从Ul中删除所述当前标识信息,返回执行步骤Al ;否则将所述当前标识信息放在U2 中,执行步骤A3;A3,通过简单网络管理协议SNMP读取所述当前标识信息对应的当前路由设备的IP路由表。3.根据权利要求2所述的方法,其特征在于,所述步骤B中,在判断出当前路由的类型 为直接路由后,且在执行步骤C之前,进一步包括B00,获取该当前路由的下一跳IP地址和子网掩码,判断获取的下一跳IP地址和子网 掩码是否存在预先定义的子网集合U3中,如果不存在,则执行步骤BOl ;如果存在,则执行 步骤B02 ;B01,将获取的下一跳IP地址和子网掩码放入U3中,之后,执行步骤B02 ;B02,遍历当前路由的下一个路由,返回步骤B中的判断当前遍历到的路由的类型是否 为直接路由的操作,直至遍历完IP路由表中的所有路由;所述步骤C中的查询包括如果遍历完IP路由表中的所有路由,则判断U3是否为空 集,如果否,执行所述查询;所述步骤C中获取由当前路由设备收集的二层网络拓扑结构后,进一步包括删除U3 中的下一跳IP地址和子网掩码。4.根据权利要求2所述的方法,其特征在于,所述步骤C中,如果查询到当前路由设备 上不存在邻居信息,则确定所述当前路由设备其下连接了二层网络中的PC终端,则返回执 行步骤Al。5.根据权利要求2所述的方法,其特征在于,所述步骤B中,如果判断出当前路由的类 型为间接路由,所述间接路由用于表示当前路由设备与路由的下一跳IP地址对应的路由 设备直接相连;则进一步包括B11,判断当前路由的下一跳IP地址对应的路由设备的标识信息是否存在Ul中,如果 否,执行步骤B12 ;否则,执行步骤B13 ;B12,将该标识信息放入Ul中,之后,执行步骤B13 ;B13,遍历当前路由的下一个路由,返回步骤B中的判断当前遍历到的路由的类型是否 为直接路由的操作,直至遍历完IP路由表中的所有路由。6.根据权利要求1至5任一所述的方法,其特征在于,所述步骤B中,当前路由设备上 存在的邻居信息由与所述当前路由设备相连的二层网络设备按照邻居发现协议发送的,所 述邻居信息包含二层网络设备的ID、该二层网络设备发送邻居信息的端口地址和该端口的 标识。7.根据权利要求1至5任一所述的方法,其特征在于,所述步骤C中的获取包括判断所述当前路由设备是否已收集了二层网络拓扑结构,如果是,获取所述当前路由 设备已收集的二层网络拓扑结构,否则,使所述当前路由设备收集二层网络拓扑结构,并获 取所述当前路由设备收集到的二层网络拓扑结构。8.根据权利要求7所述的方法,其特征在于,所述判断当前路由设备是否已收集了二 层网络拓扑结构包括通过SNMP读取当前路由设备上预先定义的标志位的值,所述标志位的值为表示当前 路由设备作为用于收集二层网络拓扑结构的管理设备的第一值或者为表示当前路由设备 不作为用于收集二层网络拓扑结构的管理设备的第二值;判断读取的标志位的值为第一值还是第二值,如果是第一值,则确定当前路由设备已 收集了二层网络拓扑结构;如果是第二值,则确定当前路由设备还未收集...

【专利技术属性】
技术研发人员:刘浩
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:86[中国|杭州]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1