一种动态网络链路层拓扑发现方法

文档序号:8265575阅读:416来源:国知局
一种动态网络链路层拓扑发现方法
【技术领域】
[0001] 本发明涉及网络管理技术领域,尤其涉及的是一种动态网络链路层拓扑发现方 法。
【背景技术】
[0002] 随着计算机网络规模的不断扩大,网络的结构日趋复杂,网络的管理变得日益重 要。
[0003] 网络的故障管理、性能管理和网络升级都需要基于完整准确的网络拓扑。同时网 络拓扑也为网络的研宄提供了较有价值的参考。因此怎样获得完整准确的网络拓扑一直是 网络拓扑研宄中的一个热点和难点。
[0004] 定义:路由器(router):进行第三层报文转发的网络节点;路由器有多个端口,每 个端口使用一个IP地址和一个MAC地址。交换机(switch):进行第二层报文转发的网络 节点;交换机有多个端口,每个端口使用一个MAC地址,同时交换机有一个Base MAC地址, 用于STP协议;通常交换机也使用一个IP地址用于管理。主机(host):泛指网络上的终 端设备。通常一台主机使用一个IP地址和一个MAC地址。网络节点(node):路由器、交 换机和主机统称网络节点。网段(segment):指网络上一段共享的介质,同一网段上的主 机可以监听到该网段上传输的所有报文。例如,连接两台交换机的网线是一个网段。交换 网络(switched network):由网络节点集合N和网段集合S构成的网络,并且网络上任意 两个节点之间存在一条仅由交换机构成的通路;属于同一交换网络的交换机通过生成树协 议(spanning tree protocol, STP)自动形成一个无环无向的拓扑,即一棵树状拓扑。子网 (subnet):-个最大的IP地址集合,满足集合内任意两个节点之间通信不需要借助路由器 即可完成;子网是人为划分的,一个交换网络可以包含多个子网。
[0005] 交换机通过学习建立地址转发表(Forwarding database,FDB)。当交换机A从端 口 i收到一个源地址为X的报文,该交换机将地址X添加到端口 i的转发表F;;当之后A收 到目的地址为X的报文,将该报文从端口 i转发出去;如果交换机收到的报文其目的地址不 在任何端口的FDB中,则向所有端口转发报文。
[0006] SNMP (简单网络管理协议)协议是一种Internet标准协议,用于在IP网络中管理 各类设备,包括路由器、交换机、服务器、工作站、打印机等。这些设备被统称为网元。在一 个使用SNMP协议的网管系统中,一个管理agent通过SNMP协议定义的消息,查询被管理设 备的各类信息,并指示被管理设备改变其配置和工作方式。SNMP消息使用UDP报文在网络 中传输。
[0007] 任何通过SNMP获取的信息都被称为SNMP变量。SNMP变量被多个MIB (管理信息 库)规范所定义。目前绝大多数IP网络设备支持的MIB标准是MIB-II。MIB给出了一个 网络中所有可能被管理对象集合的数据结构,该结构采用和域名DNS相似的树型结构管理 变量。一个完整的变量名包含从根节点到自身节点的所有节点上的变量名,并且每个节点 都对应一个整数,例如,变量· iso. org. dod. internet, mgmt. mib2. system. sysUpTime 表不 设备当前的工作时长,其整数表示为.I. 3. 6. I. 2. I. I. 3。
[0008] 以太网拓扑发现的问题,即在一个运行的交换网络上,通过一定的技术方法,推测 网络可能的拓扑结构。理想情况下,所发现的拓扑结构应与交互网络运行STP协议形成的 树状拓扑结构一致。
[0009] 目前网络拓扑发现技术包括:Yuri Breitbart等基于标准的SNMP协议,提出了一 种在多子网和异构网络条件下的链路层拓扑发现算法,并基于该算法开发了 NetInventory 系统。Bruce Lowekamp等在Yuri Breitbart算法的基础上,针对大规模网络中普遍存在的 FDB不完备,提出了一种拓扑发现算法,并基于该算法开发了 REMOS系统。Richard Black 等考虑在缺乏网络设备支持的情况下,提出了一种基于终端主动探测的以太网拓扑结构发 现算法,并将其集成到Window操作系统中。近年来,一些企业相继开发了链路层网络拓扑 发现技术。例如思科公司提出了思科发现协议(Cisco Discovery Protocol,(DP),并在思 科的路由器、交换机、网桥等产品中集成了该协议。微软公司提出了链路层拓扑发现协议 (Link Layer Topology Discovery Protocol,LLTDP),并将其集成到 Window 操作系统中。
[0010] NetInventory系统的实现基于标准的SNMP协议,其算法依赖于网络中所有交换 机上FDB (Forwarding database)的完备性,这在大规模网络中并不现实。REMOS系统核心 算法不要求FDB具有完备性,然而仍然要求FDB具备一些特定条件,在实际的大规模以太网 中,这些条件可能仍然无法满足。Richard Black提出的主动探测方法,缺乏网络设备的支 持,不能保证发现所有的网络节点及其结构,所得到的拓扑结构可能并不完整。厂商私有的 内部协议发现方法,是基于私有的技术方案,其准确性、可靠性特别是可验证性难以保障。 同时目前已知的所有方法均假设在运行拓扑发现算法时,网络是静态的。然而随着无线技 术的普及,网络中移动终端越来越多,静态网络的假设不再被满足。大量的移动终端使网 络上很多地址时刻处于迀移之中,导致在执行拓扑发现算法时,从不同交换机上获得的FDB 反映的是网络在不同时刻的视图,从而算法无法获得正确的拓扑结构。

【发明内容】

[0011] 本发明的目的在于克服现有技术的不足,提供了一种动态网络链路层拓扑发现方 法。
[0012] 本发明是通过以下技术方案实现的:一种动态网络链路层拓扑发现方法,包括:
[0013] 步骤(1)、部署管理Agent和若干个探测Agent :在目标网络中目标网络中部署一 个管理Agent和若干个探测Agent,该管理Agent用于从本地发起主动探测命令,且该管 理Agent与以太网树状拓扑的根节点交换机连接,该若干个该探测Agent用于接收该管理 Agent指令,发起主动探测。
[0014] 步骤(2)、获取目标网络中路由器和交换机:查询路由器的路由表,获取路由器集 合;并根据目标网络中中的交换机IP地址,获取交换机集合S ;查询交换机的FDB获取主机 集合H。
[0015] 步骤(3)、识别共享网段上的探测Agent,并将其从探测Agent集合中移除:一个探 测Agent向管理Agent发送探测报文,该管理Agent查询获得FDB中包含地址,判别该探测 Agent是否通过共享网段接入网络,若是,将该探测Agent从探测Agent集合中移除。
[0016] 步骤(4)、测量框架拓扑图:每个探测agent有不同的探测专用地址,探测agent 向管理agent发送报文后,管理agent查询交换机的FDB,若在某交换机的FDB中发现地址 X,则称该交换机被探测agent覆盖,且地址X所在的探测agent的面向端口,对探测agent A,所有它所覆盖的交换机及其面向端口形成一个集合,为探测agent A的覆盖集Sa,迭代 地,从所有探测agent覆盖集中寻找最小交集,从各覆盖集中移除虚拟交换机包含的节点, 反复迭代直到没有交集产生,并连接相应的探测agent得到框架拓扑图。
[0017] 步骤(5)、判别框架拓扑中交换机解析到的移动主机地址,并将其从交换机的FDB 中移除。
[0018] 步骤¢)、发现完整拓扑结构:通过发现虚拟交换机内部的线性结构和发现框架 拓扑之外的拓扑结构,发现完整拓扑结构。
[0019] 作为上述方案的进一步优化,步骤(5)的移动主机地址判别方法为规则1或规则 2或规则3。
[0020] 所述规则1 :在步骤(4)获取的框架拓扑中,U是V的下游节点,如果一个地址X出 现在虚拟交换机U某个指派端口的FDB中,同时又出现在另一虚拟交换机V某个非面向U 端口的FDB中,则X是移动主机地址。
[0021] 所述规则2 :如果一个地址X同时出现在虚拟交换机U和V的指派端口的FDB中, 且U和V是兄弟节点关系,则X是移动主机地址。
[0022] 所述规则3 :如果一个地址X同时出现在虚拟交换机U和框架拓扑以外某个交换 机节点V的指派端口的FDB中,则X是移动主机地址。
[0023] 本发明相比现有技术具有以下优点:本发明的一种动态网络链路层拓扑发现方 法,排除设备移动和共享网段的影响,较快地发现完整大规模链路层拓扑的网络拓扑发现 方法。使用的是网络标准的SNMP协议,通过交换机上的地址转发表信息得到框架拓扑,保 证通用性以及可靠性。同时本发明方法不依赖于网络中所有交换机上地址转发表的完备 性,并解决了共享网段和移动终端地址迀移问题对拓扑发现算法的影响。
【附图说明】
[0024] 图1是本发明的一种动态网络链路层拓扑发现方法的流程图。
[0025] 图2为本发明实施例的系统部署示意图。
[0026] 图3为本发明实施例的框架拓扑发现算法执行示意图。
[0027] 图4为本发明实施例的通过共享网段接入网络的探测agent的示意图。
【具体实施方式】
[0028] 下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行 实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施 例。
[0029] 参见图1,为本发明的优选实施例的一种动态网络链路层拓扑发现方法的流程图。 参见图2为本发明的优选实施例的动态网络链路层拓扑结构示意图。
[0030] 步骤(1)、部署管理agent和多个探测agent的测量系统。
[0031] 本发明的优选实施例的以太网拓扑发现系统由一个管理agent和多个探测agent 构成,这两类agent均运行在主机上。不失一般性,假设管理agent连接以太网树状拓扑的 根节点交换机,而多个探测agent位于网络的其它位置。参见图2,,M代表管理agent,A-F 共6个探测agent分别连接网络上不同的交换机节点,而网络中多个交换机节点没有连接 任何探测agent。
[0032] 管理agent的功能包括:从本地发起主动探测命令;指示探测agent发起主动探 测;对网络节点发起SNMP查询,获得查询结果;运行拓扑发现算法,输出所发现的网络拓 扑。
[0033] 探测agent的功能包括:接收管理agent指令,发起主动探测;管理和探测agent 都运行于固定主机上。
[0034] 步骤(2)、获取目标网络中路由器和交换机。
[0035] 对未访问路由器集合R,开始时R中仅包含初始的路由器Rtl;
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1