一种网络拓扑计算方法和装置制造方法

文档序号:7810395阅读:144来源:国知局
一种网络拓扑计算方法和装置制造方法
【专利摘要】本发明提供一种网络拓扑计算方法及装置,该方法包括:从所述第一设备的地址表中,获取所述第一接口的IP地址;从所述第一设备的ARP表中,获取所述第一接口学习到的第二接口的IP地址和MAC地址;从所述第一设备的接口表中,获取所述第一接口的三层接口名称;从所述第二设备的接口表中,获取所述第二接口的MAC地址对应的三层接口名称;根据所述第二接口的IP地址和三层接口名称与所述第一接口的IP地址和三层接口名称,生成三层链路。本发明实现了二三层链路对应关系的建立,支持动态更新和调整,快速生成网络拓扑结构。
【专利说明】一种网络拓扑计算方法和装置

【技术领域】
[0001] 本发明涉及计算机网络【技术领域】,尤其涉及一种网络拓扑计算方法和装置。

【背景技术】
[0002] 网络拓扑是网络管理软件提供的一项重要功能,其优点在于可以可视化的方式全 局查看网络内设备的组网及运行状态,非常方便网络管理人员的进行日常网络维护工作。 简单的网络拓扑管理软件是静态的,需要网管人员自行根据设备的实际组网情况手动创建 好设备节点和链路,后续设备组网变更后,也需要手动完成拓扑的修改操作。
[0003] 显然对于复杂的网络来说,这种手动操作方式加大了维护人员的工作,不易于使 用,需要有一种动态计算网络拓扑的方法,能自动从网络设备的相关运行参数中,提取信息 来生成正确的网络拓扑。
[0004] 一种方式,使用邻居发现协议LLDP(Link Layer Discovery Protocol,链路层发 现协议)可以发现设备间的连接关系,支持邻居发现协议的交换机或者设备间通过协议获 取本端接口连接的对端设备的类型、厂商、端口以及地址等信息,并可以通过特定的节点查 到这些邻居信息,如果网络上所有的设备都支持LLDP,就可以通过每个节点的邻居信息组 成一张完整的网络拓扑图。
[0005] 虽然设备实现LLDP协议不麻烦,但目前来说,支持的设备还是不多,不同厂家的 实现方式也不统一,比如华三交换机实现了 LLDP协议,而思科的交换机就不支持,它有自 己的私有协议⑶P(Cisco Discovery Protocol,思科发现协议)。在两种厂商的交换机设 备混合组网时,就不能学习到完整的网络拓扑了。
[0006] 另一种方式,完全基于MAC学习表计算网络二层拓扑的方法,这类方法是完全依 赖MAC学习表来发现二层拓扑的物理连接关系。计算比较繁杂,特别是交换机间二层链路 的发现,需要判断不同接口 MAC学习地址的集合关系,从而找到正确的上行或下行端口,效 率相对较低。基于MAC地址的发现,只用于发现二层拓扑链路,但对于三层交换机来说,不 能发现二三层拓扑链路间的对应关系。


【发明内容】

[0007] 有鉴于此,本发明提供了一种网络拓扑计算方法,应用于网络拓扑系统中,该系统 包括第一设备和第二设备,所述第一设备包括第一接口,所述第二设备包括第二接口,该方 法包括:
[0008] 从所述第一设备的地址表中,获取所述第一接口的IP地址;
[0009] 从所述第一设备的ARP表中,获取所述第一接口学习到的第二接口的IP地址和 MAC地址;
[0010] 从所述第一设备的接口表中,获取所述第一接口的三层接口名称;
[0011] 从所述第二设备的接口表中,获取所述第二接口的MAC地址对应的三层接口名 称;
[0012] 根据所述第二接口的IP地址和三层接口名称与所述第一接口的IP地址和三层接 口名称,生成三层链路。
[0013] 本发明还提供了一种网络拓扑计算装置,应用于网络拓扑系统中,该系统包括第 一设备和第二设备,所述第一设备包括第一接口,所述第二设备包括第二接口,该装置包 括:
[0014] 第一接口地址获取单元,用于从所述第一设备的地址表中,获取所述第一接口的 IP地址;
[0015] 第二接口地址获取单元,用于从所述第一设备的ARP表中,获取所述第一接口学 习到的第二接口的IP地址和MAC地址;
[0016] 第一接口名称获取单元,用于从所述第一设备的接口表中,获取所述第一接口的 三层接口名称;
[0017] 第二接口名称获取单元,用于从所述第二设备的接口表中,获取所述第二接口的 MAC地址对应的三层接口名称;
[0018] 三层链路生成单元,用于根据所述第二接口的IP地址和三层接口名称与所述第 一接口的IP地址和三层接口名称,生成三层链路。
[0019] 本发明实现了二三层链路对应关系的建立,支持动态更新和调整,快速生成网络 拓扑结构。

【专利附图】

【附图说明】
[0020] 图1是本发明一种实施方式中网络拓扑计算装置的逻辑结构及其基础硬件环境 的示意图。
[0021] 图2是本发明一种实施方式中网络拓扑计算方法的流程图。
[0022] 图3是本发明一种实施方式中新增服务器设备的链路示意图。
[0023] 图4是本发明一种实施方式中链路连接关系示意图。

【具体实施方式】
[0024] 以下结合附图对本发明进行详细说明。
[0025] 本发明提供一种网络拓扑计算装置,以下以软件实现为例进行说明,但是本发明 并不排除诸如硬件或者逻辑器件等其他实现方式。如图1所示,该装置运行的硬件环境包 括CPU、内存、非易失性存储器以及其他硬件。该装置作为一个逻辑层面的虚拟装置,其通过 CPU来运行。该装置包括第一接口地址获取单元、第二接口地址获取单元、第一接口名称获 取单元、第二接口名称获取单元以及三层链路生成单元。请参考图2,该装置的使用和运行 过程包括以下步骤:
[0026] 步骤101,第一接口地址获取单元从所述第一设备的地址表中,获取所述第一接口 的IP地址;
[0027] 步骤102,第二接口地址获取单元从所述第一设备的ARP表中,获取所述第一接口 学习到的第二接口的IP地址和MAC地址;
[0028] 步骤103,第一接口名称获取单元从所述第一设备的接口表中,获取所述第一接口 的三层接口名称;
[0029] 步骤104,第二接口名称获取单元从所述第二设备的接口表中,获取所述第二接口 的MAC地址对应的三层接口名称;
[0030] 步骤105,三层链路生成单元根据所述第二接口的IP地址和三层接口名称与所述 第一接口的IP地址和三层接口名称,生成三层链路。
[0031] 本发明通过获取网路设备的ARP表信息生成三层链路连接,同时结合MAC表信息 生成二层链路,进而实现二三层链路的对应关系。以下通过【具体实施方式】进行详细说明。
[0032] 首先,需要获取进行网络拓扑计算的网络设备的配置信息,例如,可通过 SNMP(Simple Network Management Protocol,简单网络管理协议)读取开启了 SNMP服务 的网络设备的配置信息,该配置信息包括系统信息表、接口表、地址表、路由表、ARP表以及 MAC学习表等。
[0033] 以新增一台服务器设备为例,参见图3,服务器的管理IP地址为 208. 208. 220. 231。通过读取该服务器的配置信息,获得服务器的ARP表、MAC表、地址表以 及接口表。查询地址表获取接口的IP地址信息。
[0034]
[0035] 表 1

【权利要求】
1. 一种网络拓扑计算方法,应用于网络拓扑系统中,该系统包括第一设备和第二设备, 所述第一设备包括第一接口,所述第二设备包括第二接口,其特征在于,该方法包括: 从所述第一设备的地址表中,获取所述第一接口的IP地址; 从所述第一设备的ARP表中,获取所述第一接口学习到的第二接口的IP地址和MAC地 址; 从所述第一设备的接口表中,获取所述第一接口的三层接口名称; 从所述第二设备的接口表中,获取所述第二接口的MAC地址对应的三层接口名称; 根据所述第二接口的IP地址和三层接口名称与所述第一接口的IP地址和三层接口名 称,生成三层链路。
2. 如权利要求1所述的方法,其特征在于,还包括: 从所述第一设备的MAC表中,获取学习到所述第二接口的MAC地址的第一接口的物理 接口名称; 从所述第二设备的MAC表中,获取学习到所述第一接口的MAC地址的第二接口的物理 接口名称,其中,所述第一接口的MAC地址从所述第一设备的接口表中获取; 根据所述第一接口的物理接口名称和所述第二接口的物理接口名称,生成二层链路。
3. 如权利要求2所述的方法,其特征在于: 若所述网络拓扑系统中还包括学习到所述第一接口 MAC地址的其它设备,且所述其它 设备学习到的MAC地址集合均大于所述第二接口学习到的MAC地址集合,则所述第二接口 与所述第一接口之间的链路为直连链路。
4. 如权利要求1所述的方法,其特征在于: 若所述第二接口的MAC地址对应多个三层接口名称,则所述第二接口的三层接口名称 为与所述第一接口处于同一网段的三层接口名称。
5. -种网络拓扑计算装置,应用于网络拓扑系统中,该系统包括第一设备和第二设备, 所述第一设备包括第一接口,所述第二设备包括第二接口,其特征在于,该装置包括: 第一接口地址获取单元,用于从所述第一设备的地址表中,获取所述第一接口的IP地 址; 第二接口地址获取单元,用于从所述第一设备的ARP表中,获取所述第一接口学习到 的第二接口的IP地址和MAC地址; 第一接口名称获取单元,用于从所述第一设备的接口表中,获取所述第一接口的三层 接口名称; 第二接口名称获取单元,用于从所述第二设备的接口表中,获取所述第二接口的MAC 地址对应的三层接口名称; 三层链路生成单元,用于根据所述第二接口的IP地址和三层接口名称与所述第一接 口的IP地址和三层接口名称,生成三层链路。
6. 如权利要求5所述的装置,其特征在于,还包括: 第一物理接口获取单元,用于从所述第一设备的MAC表中,获取学习到所述第二接口 的MAC地址的第一接口的物理接口名称; 第二物理接口获取单元,用于从所述第二设备的MAC表中,获取学习到所述第一接口 的MAC地址的第二接口的物理接口名称,其中,所述第一接口的MAC地址从所述第一设备的 接口表中获取; 二层链路生成单元,用于根据所述第一接口的物理接口名称和所述第二接口的物理接 口名称,生成二层链路。
7. 如权利要求6所述的装置,其特征在于,还包括: 直连链路判断单元,用于若所述网络拓扑系统中还包括学习到所述第一接口 MAC地址 的其它设备,且所述其它设备学习到的MAC地址集合均大于所述第二接口学习到的MAC地 址集合,则所述第二接口与所述第一接口之间的链路为直连链路。
8. 如权利要求5所述的装置,其特征在于,所述第二接口名称获取单元还用于: 若所述第二接口的MAC地址对应多个三层接口名称,则所述第二接口的三层接口名称 为与所述第一接口处于同一网段的三层接口名称。
【文档编号】H04L12/24GK104092576SQ201410370946
【公开日】2014年10月8日 申请日期:2014年7月30日 优先权日:2014年7月30日
【发明者】程剑 申请人:浙江宇视科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1