一种基于网络探针的网络拓扑自动发现方法

文档序号:10578011阅读:1239来源:国知局
一种基于网络探针的网络拓扑自动发现方法
【专利摘要】本发明提供一种基于网络探针的网络拓扑自动发现方法,该方法包括以下步骤:步骤一:在所需发现网络中置入网络探针,收集探针上下游数据;步骤二:列出每个探针对网络的划分,采用寻找划分的方法,找到一个对网络的划分;步骤三:采用寻找连接的方法,找到探针与分区的连接关系,从而发现拓扑。本发明所述的基于网络探针的网络拓扑自动发现方法,无需特殊的硬件支持,不需要主动发送数据包去干扰网络,并且可重复利用探针对网络结构进行逐步细化,具有广泛的适用性。
【专利说明】
-种基于网络探针的网络拓扑自动发现方法
技术领域
[0001] 本发明设计网络管理领域,特别设及一种基于网络探针对网络拓扑结构进行自动 发现的方法。
【背景技术】
[0002] 随着网络信息时代的不断发展,网络应用在日常生产生活中的日益普及,人们对 计算机网络的依赖程度越来越高。网络自身的安生性和可靠性变的尤为重要,特别是例如 工业控制运样的特殊应用领域。随着工业控制自动化进程的深入,工业控制网络不断面临 着来自外部互联网的恶意攻击和内部人员的误操作等威胁。因为早期工控设备使用环境相 对封闭,工控系统缺少对网络安全自身的关注,运导致工业控制系统中存在不可避免的安 全缺陷。因此,对与之相关的网络管理系统也提出了越来越高的要求。
[0003] 网络拓扑发现(Network Topology Discovery)是网络管理系统的一个最基本的 功能和要求。基于发现的网络拓扑信息,网络管理系统能够快速锁定网络错误,发现网络瓶 颈,更好的理解和获取当前网络状态等,从而更好对网络进行管理和优化。网络拓扑发现是 指发现网络元素并确定元素之间的互连关系,从而在此基础上绘制出网络拓扑图。其考虑 因素包括互连设备(如路由器、网桥、交换机等)、主机和子网。网络拓扑发现主要包含两方 面内容:一是发现设备节点的存在;二是确定设备节点的拓扑位置(即节点连接信息)。最 初网络OSI结构和TCP/IP进行构建时,并没有将网络拓扑发现作为设计目标,因此目前并 没有一个完美的方案可W在无拓扑先验知识的情况下对网络拓扑进行完美的绘制。目前存 在的一些解决方法(如802. 11油,化TD协议等)都存在一些缺陷,例如需要特殊硬件支持 等。

【发明内容】

[0004] 为解决上述现有技术中存在的问题,本发明提出了一种基于网络探针的网络拓扑 自动发现方法,其包含W下步骤:
[0005] 步骤一:在所需发现网络中置入网络探针,收集探针上下游数据;
[0006] 步骤二:列出每个探针对网络的划分,采用寻找划分的方法,找到一个对网络的划 分;
[0007] 步骤采用寻找连接的方法,找到探针与分区的连接关系,从而发现拓扑。
[0008] 进一步地,其中所述寻找划分的算法如下:
[000引1)列出对应每个探针的初始划分,Di,i = 1,. . .,m(m为探针个数),令k := 1 ;其 中Di为探针i对网络节点的划分,即S 1+1个分区所构成的集合。
[0010]。取分区次与其它划分的每一个分区,.Sp (探针j对网络节点划分中的第 1个分区),j声1进行比较,若
且C为的真子集,则将原来的一个 分区分割成新的两个分区,即
[0011]
[001引并更新下标Si: = S 1+1,令k : = k-1,跳到第3)步;
[001引扣如果k= Si,停止,令D = Di,输出D所对应的划分,否则,令k:=k+l,返回第 2步。
[0014] 进一步地,其中所述寻找连接基于找到的划分寻找探针与分区之间的连接信息, 其具体算法如下:
[001引 1)列出每个探针的划分iDi},i = 1,. . .,m ;
[001引。遍历化i},若某一个划分D,中存在与划分D相同的分区,即存在
且 :4巧€巧,贝峨针J与分区4%连;
[0017] 3)比较任意两个来自属不同探针划分的分区,若两个分区为包含关系且两分区的 差集属于D,则此差集与两探针相连,也即或存在
则C与 探针S和j相连。
[0018] 更进一步地,所述网络探针可重复多次在网络不同位置进行使用,从而可对网络 拓扑信息的发现进行逐步细化。
[0019] 本发明所产生的有益效果在于:
[0020] 本发明基于网络探针,通过特定的算法,利用探针所获取的上下游信息,将网络有 效的分成若干个区,并得到探针与各分区间的连接关系。从而有助于发现网络拓扑,对网络 作进一步优化及提高网络安全性能等。对比现有方法,本发明无需特殊的硬件支持,不需要 主动发送数据包去干扰网络,并且可重复利用探针对网络结构进行逐步细化,具有广泛的 适用性。
【附图说明】
[0021] 图1为使用本发明的基于网络探针的网络拓扑自动发现的网络连接图。
【具体实施方式】
[0022] 下面W简单的网络结构为例对本发明进行详细阐述。应当注意的是,下面的实施 例仅用于对本发明进行说明而非作为对本发明的限制。本发明的基于网络探针的网络拓扑 自动发现方法除了可W应用在工业网络中,还可W用于任何其它的分布式网络。
[0023] 对于一个含有n个节点的网络,为得到其网络拓扑结构,在网络中放置m个具有监 测功能的探针(例如具有TAP功能的路由器等)。每个探针具有一定数目的端口并且可W 检测到通过每个端口进行通信的设备信息,例如发送数据包设备的IP地址等。假设所考虑 网络是一个无环的连通图,本发明在完全信息的情况下,即每两个网络节点都有通信(例 如向全网发送广播)的情况下,综合各个探针所汇报的上下游设备节点信息,对所观察到 的节点进行分区,每个区(zone)是一个包含数个节点的集合,然后再绘制出探针与分区间 的连接关系,从而发现网络拓扑。
[0024] 首先对网络节点分区的方法进行说明。探针每个端口所获取的信息可将网络节点 划分为两个区,因此一个具有S个端口的探针可将网络节点划分为s+1个互不相交的分区, 称一个探针对网络节点的分区所构成的集合为一个划分。因此,m个探针对应网络节点的 m个划分。记网络探针i对网络节点的划分为
,其中Zk为一个区,是 一部分网络节点所构成的集合,Si-I是此探针端口数量,每个探针的划分只反映部分网络 拓扑信息,下面的算法可找到一种划分与所有已知划分相一致,即能反映出所有网络结构 的信息。寻找划分的算法如下:
[00幼 1.列出对应每个探针的初始划分,町,i = 1,. . .,m。令k := 1 ;
[002引 2.取分区依次与其它划分的每一个分区,j声1进行比较,若
且C为的真子集,则将原来的一个分区分割成新的两个分区,即
[0027]
[002引并更新下标Si:= Si+1,令k: = k-1,跳到第3步;
[002引 3.如果k = Si,停止,令D = 01,输出D所对应的划分,否则,令k := k+1,返回第 2步。
[0030] 下面说明如何基于找到的划分D寻找探针与分区之间的连接信息,从而得到网络 拓扑。探针与分区的连接关系是一个二步图,即边只存在于探针和分区之间。寻找连接的 具体算法如下:
[OOW 1.列出每个探针的划分{Di},i = 1,. . .,m ;
[003引 2.遍历化i},若某一个划分D,中存在与划分D相同的分区,即存在€ 1?且 巧€: I),贝IJ探针J与分区相连;
[0033] 3.比较任意两个来自属不同探针划分的分区,若两个分区为包含关系且两分区的 差集属于D,则此差集与两探针相连,也即或存在
则C与 探针S和j相连。
[0034] 如图1所示的网络连接图,方框表示网络设备或子网,用大写英文字母进行标记, 交叉的圆代表网络探针,用数字进行标记。由图可W看出4个网络探针将整个网络分割成 了 6 个分区,分别为 zl =机、z2 = {A}、z3 = {D}、z4 = (B,G,1}、z5 =似和 z6 =化, E}。每个探针所探测到的数据如表1所示。
[0035] 表1网络探针数据
[0036]
[0037] 各个网络探针根据自己观测到的通信数据汇报自己观察到的各端口分区信息,如 表2所示为探针网络划分信息。
[003引表2探针网络划分信息
[0039]
[0040] 利用前面所述的寻找划分的算法,可W找到网络的一个划分与所有探针的划分相 一致,得到的网络划分为{A},{B,G,1},{口,{D},{巧,巧,H},与图1的分区一致。再利用 本发明所述的寻找连接的方法,可找到探针与分区之间的连接,如表3所示。
[00川表3网络连接
[0042]
[0043]
[0044] 由表3可知,所发现的拓扑连接与图1所示的网络连接图相一致。
[0045] W上所述实例仅表达了本发明的实施方式,其描述较为具体和详细,但并不能因 此而理解为对本发明专利的限制。应该指出的是,对于本领域的普通技术人员来说,在不脱 离本发明构思的前提下,还可W做出若干变形和改进,运些都属于本发明的保护范围。因 此,本发明专利的保护范围应W所附权利要求为准。
【主权项】
1. 一种基于网络探针的网络拓扑自动发现方法,包括W下步骤: 步骤一:在所需发现网络中置入网络探针,收集探针上下游数据; 步骤二:列出每个探针对网络的划分,采用寻找划分的方法,找到一个对网络的划分; 步骤Ξ:采用寻找连接的方法,找到探针与分区的连接关系,从而发现拓扑。2. 根据权利要1所述的网络拓扑自动发现方法,其中所述寻找划分的算法如下: 1) 列出对应每个探针的初始划分,Di,i = 1,...,m,令k:= 1 ;其中,m为探针个数,Di 为探针i对网络节点的划分,即Si+1个分区所构成的集合。 2) 取分区sfl依次与其它划分的每一个分区,j声1进行比较,若且C为的真子集,则将原来的一个分区分割成新的两个分区,即并更新下标si:= Si+1,令k:= k-1,跳到第3)步; 如如果k = si,停止,令D = Di,输出D所对应的划分,否则,令k : = k+1,返回上述。; 其中,^^的含义为探针j对网络节点划分中的第1个分区。3. 根据权利要求1所述的网络拓扑自动发现方法,其中所述寻找连接基于找到的划分 寻找探针与分区之间的连接信息,其具体算法如下: 1)列出每个探针的划分化i},i = 1,...,m ; 。遍历化i},若某一个划分D,中存在与划分D相同的分区,即存在;€ 1?且 # €投,则探针j与分区4巧邪连; 3) 比较任意两个来自属不同探针划分的分区,若两个分区为包含关系且两分区的差集 属于D,则此差集与两探针相连,也即或存在.sp C 且#\# C孩扮>则〔与探针 S和j相连。4. 根据前述权利要求1-3中任一项权利要求所述的网络拓扑自动发现方法,其中,所 述网络探针可重复多次在网络不同位置进行使用。
【文档编号】H04L12/24GK105939207SQ201510844018
【公开日】2016年9月14日
【申请日】2015年11月26日
【发明人】孙易安
【申请人】北京匡恩网络科技有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1