CN101668025A - 一种链路层网络拓扑发现方法及装置 - Google Patents
一种链路层网络拓扑发现方法及装置 Download PDFInfo
- Publication number
- CN101668025A CN101668025A CN200810119624A CN200810119624A CN101668025A CN 101668025 A CN101668025 A CN 101668025A CN 200810119624 A CN200810119624 A CN 200810119624A CN 200810119624 A CN200810119624 A CN 200810119624A CN 101668025 A CN101668025 A CN 101668025A
- Authority
- CN
- China
- Prior art keywords
- node
- aft
- algorithm
- module
- link layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种链路层网络拓扑发现方法及装置,其步骤包括:ping链路层网络节点得到网络节点的地址转发表(AFT表);利用谓词逻辑推理算法根据连接推理技术推导网络节点间的连接关系,修补不完整的逆根AFT数据得到完整的AFT表;根据谓词逻辑推理算法所得到的完整的AFT表,利用生成树协议算法计算出各网络节点,从而发现链路层的物理网络拓扑结构。本发明所提供的方法结合连接推理技术的谓词逻辑推理方法和基于生成树协议的拓扑发现算法,在AFT数据不完全的情况下,能够有效计算出网络节点信息,从而克服了现有链路层网络拓扑发现方法的不足,提高了获得网络物理拓扑的可能性。
Description
技术领域
本发明涉及一种链路层网络拓扑发现方法及装置,属于计算机网络管理领域。
背景技术
交换式以太网(switched Ethernet)是目前局域网的主要组网方式之一,其组网核心是一个或多个互相连接的以太网交换机;每个交换机可以有多个端口;每个端口可与一个交换机或终端设备连接,也可与一个共享式hub连接。
在交换式以太网组网系统中,网络拓扑发现是网络管理中的重要一环,是配置管理、性能管理、故障管理和安全管理等方面的基础。网络拓扑发现是指通过获取一定的信息,分析得到网络各结点之间的连接关系。目前的网络拓扑发现算法主要分为处于IP层(即第3层)的逻辑网络拓扑发现和处于数据链路层(即第2层)的物理网络拓扑发现算法。第3层网络拓扑发现旨在发现路由器与子网及其之间的关系,第2层网络拓扑发现旨在确定网桥、交换机等链路层设备之间的连接关系。
目前对于网络第3层(IP层)拓扑发现,已经有了很完善的解决方案。在很多成熟的网络管理软件中的网络拓扑发现,大多是基于IP层,然而IP层拓扑发现仅能覆盖IP网络内一部分元素及连接关系,它不能俘获链路层物理设备。随着交换技术的引入,以太网的规模迅速增加,在同一个子网中可以包含几百个设备,网络拓扑结构也变得更加复杂。链路层网络拓扑信息对于网络管理的重要性也随着突显出来。
链路层拓扑发现的目标是确定网络中各种设备以及这些设备物理端口之间的连接关系,通常称之为物理拓扑发现。准确及时的物理拓扑信息对于网络性能监测与评估、故障发现与定位、资源分配与管理、网络维护等一系列工作具有重要意义。基于链路层的拓扑发现,目前也有不少算法,其基本思想是通过简单网络管理协议(SNMP:Simple Network Management Protocol)获取交换机的地址转发表(AFT:Address Forwarding Table),然后采用直接连接定理,或者采用生成树协议推算出网络物理拓扑连接情况。为了说明链路层的拓扑发现,首先介绍网络管理的基本概念和链路层拓扑发现算法中用到的术语和符号:
管理域(Administrative Domain):进行二层拓扑发现的范围,本算法限定为一个IP子网。IP子网定义为任意两个节点不经过路由器通信的最大的IP地址集合,即为一个广播域(Broadcast Domain)。不同子网的节点之间进行通信至少要经过一个路由器。为了避免广播风暴的发生,一个IP子网的拓扑结构必须是树型的,因此我们也称IP子网的拓扑结构为拓扑树,生成树协议能够保证IP子网的拓扑是一个树状结构。
网络设备类型:主要可分为3类。一类是交换机(Switch),每个交换机维护一张地址转发表,可以利用该SNMP读取这张表;一类是主机(Host),在上面没有地址转发表;还有一类是集线器(Hub),这类设备没有MAC地址,在网络中无法直接发现。
地址转发表(AFT:Address Forwarding Table):每个交换机上都维护着一张AFT表,该表记录着接收到的数据包应该从那个端口转发出去。地址转发表的记录格式可以简单地表示为由端口和MAC地址组成的二元组:(port,mac),其中port称为转发端口,mac称为转发地址。转发端口为p的转发条目构成一个子集,称为端口p的转发表。如果交换机端口p的地址转发表中包含了该端口所能接收到的所有数据帧的MAC地址,则称该端口的地址转发表是完整的。如果一个交换机的每个端口的地址转发表都是完整的,则称该交换机的地址转发表是完整的。地址转发表采用反向学习机制动态建立,并采用超时老化机制把一段时间内没有用到的转发条目删除。
管理域抽象为一个树,用T表示,则T中所有的网络设备集用D表示,主机集用H表示,交换机集用S表示,则D=H+S。用Si(Si∈S)表示交换机,用Hi(Hi∈H)表示主机,用Di(Di∈D)表示结点。用port(Si,j)表示交换机Si的端口j,简称Sij。交换机的地址转发表是二元组(port,mac)的集合,其中port称为转发端口,mac称为转发地址,其含义是:目的MAC地址为mac的数据包是从端口port转发出去的。交换机Si的地址转发表中关于Sj的条目可以用三元组(Si,port,Sj)表示。
用四元谓词Link(A,x,B,y)表示设备A的x端口和设备B的y端口间接连接,简记为AxBy,其中A,B,x,y都是变元.根据地址转发表的含义,从三元组(A,p,D)可以知道交换机A经过p端口和设备D的某个端口x间接连接,可以表示为Link(A,p,D,x)。
交换机Si的地址转发表转发端口为j的子集称为端口Sij的地址转发表。用AFT(Si,j)表示端口Sij地址转发表中的转发地址的集合,简称;AFT(Si)表示交换机Si所有的下行端口的地址转发表中转发地址的集合,简记为Ai。
管理域内的所有节点及节点间的连接构成一棵拓扑树。在本发明中,整个拓扑树的根节点为管理站M,将参与形成拓扑树的端口称为活动端口。每个节点沿最短路径方向到根节点M的活动端口称为节点的根端口或上行端口,其他活动端口称为下行端口。未加特殊说明,后面提到的端口都是指活动端口。节点Di经过节点Si和拓扑树的根M相连,称Di是Si的子孙节点,Si是Di的祖先节点。M是所有节点的祖先节点。Si和Di之间的关系称为直系关系或祖孙关系,Si和Di互为直系节点。如果两个节点不存在直系关系,称它们为旁系关系,两个节点互为旁系节点。设交换机Si是Sj的祖先节点,Sj直接或间接连接在Si的端口p上,称p为Sj(和Sj的各端口)的祖先端口,称Sj是端口p的子孙节点,Sj的各端口为p的子孙端口。
表1列出了网络物理拓扑发现中用到的常见符号和术语的对应关系。
符号 | 含义 |
T | 拓扑树 |
Si | 交换机i |
Hi | 主机i |
Di | 设备i(可能是主机或交换机) |
Sij | 交换机i的j端口,也可以用Port(Si,j)表示 |
Aij | 端口Sij地址转发表中的转发地址的集合 |
Ai | 交换机Si所有的下行端口的地址转发表中转发地址的集合 |
Link(A,x,B,y) | 设备A的x端口和设备B的y端口间接连接 |
如果一个管理域的所有交换机的AFT都是完整的,那么物理网络拓扑发现就可以采用贝尔实验室的Breitbart等人提出的基于完整AFT的单子网拓扑发现方法。在实际网络中,由于AFT存在老化机制,同样AFT也有自身大小的限制,并且SNMP协议采用用户数据报协议(UDP:User Datagram Protocol)进行通信来获取AFT,因此交换机的AFT表的完整性很难得到保证。目前主要是从两方面解决交换机的AFT不完整的问题,一方面采用技术手段,比如多次Ping网络结点,使每个交换机的AFT不断更新,尽可能获得更多的地址转发信息;另一方面采用新的算法,在AFT不完备的前提下,依然能够采用连接推理技术的谓词逻辑推理方法推导节点间的连接关系,或者采用生成树协议算法推导网络拓扑的连接关系,计算出第2层的物理网络拓扑结构。这两种算法的基本思想、理论基础和算法步骤如下:
算法1采用连接推理技术的谓词逻辑推理方法推导节点间的连接关系。
基本思想:该方法把交换机地址转发表翻译为一组谓词公式,把拓扑发现问题转变为一个谓词逻辑推理的数学问题,借助数学工具对拓扑发现问题进行研究。
理论基础(即基本推导规则,详细的证明见相关论文):
算法步骤:首先,根据AFT填写AFTable;然后,利用传递律和互斥律计算每一个交换机与其他设备之间的连接关系。计算一对节点之间连接关系的过程称为计算连接过程,可以分为五步完成。以计算AxBy为例将计算连接过程具体描述如下:
步骤1使用传递律。借助其他节点利用传递律进行如下推导:
步骤3如果Connection(A,B)比初始值AxBy更为精确,则进一步利用Connection(A,B)更新未确定列表中和AxBy相关的Connection对象(所谓和AxBy相关,是指Connection对象和AxBy有一个相同端点),比如AxCy或BxCy;
步骤4如果上述步骤不能确定AxBy,把Connection(A,B)加入到未确定列表中;
步骤5对未确定列表中的每一个交换机,再次读取其AFT数据,再重复i~iv的过程。
算法2采用生成树协议算法推导网络拓扑的连接关系
基本思想:根据相关定理判断节点间的祖孙关系,不断逼近每个节点最近的祖先节点(最近祖先),一个节点的最近祖先可以认为是该节点直接相连的祖先节点,把所有节点和其最近祖先连接在一起就构造出了整个拓扑树。
理论基础:
性质1任意两个节点之间都有一条惟一的通路。
性质2连接到交换机下行端口上的节点都是该交换机的子孙节点。
性质3交换机Si的祖先节点或旁系节点都连接在Si的根端口上。
定理1如果M∈Aij,则Sij是交换机Si的根端口。
定理2Sij是下行端口,如果Dx∈Aij,则Dx是Sj的子孙节点,该定理是整个拓扑发现算法的基础。
定理3Di是Sj的子孙结点,Sj是Sk的子孙节点,则Di是Sk的子孙节点。
定理4如果Ai∩Aj≠φ,则Si和Sj之间存在着直系关系。
定理5Sim,SinSjk都是下行端口,如果D1∈Aim,D2∈Ain(m≠n),并且D1∈Ajk,D2∈Ajk,则Si和Sj的子孙节点。
定理6已知Sij,Skl是根端口,Aij∩(Ak+{Sk})≠φ,则Sk是Si的祖先节点或旁氏节点。如果又知道Akl∩(Ai+{Si})≠φ,则可确定Sk和Si是旁系关系。
定理7如果某个交换机下行端口是叶端口,则该端口的地址转发表中的设备都直接(或经过HUB)和这个端口相连。叶端口指子孙节点中不含其他交换机的端口。
定理8如果Sij是根端口,Hx∈Aij,则Hx和Si是旁系关系。
定理4和定理6结合起来可以用来判定两个节点的祖孙关系。
由于主机没有地址转发表,主机的连接关系就只会出现在其他交换机的地址转发表中,因此定理4~6不能用于判定主机连接。和交换机之间的关系相比,主机与其他设备之间的关系相对简单一些:其一,主机只能以叶节点的形式直接(或经过HUB)连接在某个交换机的端口上,主机肯定是某个交换机的子孙节点;其二,任意两个主机都是旁系关系。定理7给出判定主机和交换机的直接连接(或经过HUB连接)的方法,定理8给出了一个判断主机与交换机之间旁系关系的方法。
算法步骤:
步骤1收集各交换机的AFT。为了使M出现在各交换机的地址转发表中,首先从M上ping所有交换机,然后再用SNMP读取每个交换机的地址转发表;
步骤2确定各节点的根端口。对于交换机,如果该交换机某个端口的AFT内包含M,则该端口为该交换机的根端口。否则重新ping该交换机,然后重取其AFT,直到确定该交换机的根端口。对于主机节点来说,它们只有一个端口,即根端口;
步骤3建立连接关系。根据每个交换机所有下行端口的地址转发条目(Si,port,Sj),执行更新拓扑树操作UpdateBy在更新操作中调用比较操作IsChild判断一个节点是否是另一个节点的子孙节点。更新操作中使用了定理2和定4,比较操作中用到定理3,定理5和定理6。
用以上两种方法进行网络物理拓扑发现时,存在以下局限性:
1.采用连接推理技术的谓词逻辑推理方法,虽然可以推算出一部分的节点连接信息,但是该算法只有在AFT获取“较为”完整的情况下,才能发挥作用,得到所有节点的连接关系,从而获得整个网络的拓扑结构。
2.采用生成树协议,虽然不需要完整的AFT数据,但是建立生成树的根节点相关的AFT,即逆根AFT数据必须完整,缺一不可,这在实际网络中也是很难达到的,并且算法对逆非根AFT的信息没有利用。
在链路层的物理网络拓扑发现技术中,基于连接推理技术的谓词逻辑推理算法对于网络节点信息的依赖性较高,只有在AFT数据较为完整的情况下,才能发挥较好的作用。如果AFT不完整,基于连接推理技术的谓词逻辑推理算法虽然不能获取全部节点的连接关系,但是却可以获得部分节点的连接关系,即可以“修补”AFT数据。而生成树协议算法,优势较为明显,在AFT不太完整的情况下,依然可以获得网络拓扑结果,但是它要求AFT分布要符合一定的分布(逆根AFT数据要完整),才能发挥作用。
发明内容
为了解决上述技术问题,充分利用谓词逻辑推理算法和生成树协议算法各自的优势互补,克服了这两种算法各自的缺点,本发明提出了一种链路层网络拓扑发现方法及装置。本发明解决其技术问题所采用的技术方案是:先用连接推理技术进行计算,“修补”不完整的逆根AFT数据。当然采用连接推理技术也可以“修补”其它类型的AFT,用于生成树协议算法的递归计算,然后采用生成树协议算法计算拓扑结构。具体地,本发明是通过以下技术方案实现的:
一种链路层网络拓扑发现方法,其包括:
AFT建立方法,其用于建立链路层网络连接的AFT,通过Ping网络节点,获取各网络设备的AFT数据信息;
谓词逻辑推理方法,其用于使用连接推理技术推导节点之间的连接关系;
根节点选择方法,其用于选择根节点,并测试所选根节点是否符合根节点标准;
生成树协议方法,其用于计算网络链路层物理拓扑结构。
本发明还可以包括以下技术方案:
所述谓词逻辑推理方法把交换机的AFT翻译为一组谓词公式,然后利用谓词逻辑推理算法推导节点间的连接关系,从而获得部分节点的连接关系,“修补”不完整的AFT数据。
所述测试所选根节点是否符合根节点标准是指,测试从AFT表所选取的节点其逆根AFT数据是否完整,若所述所选节点的逆根AFT数据完整,则所选节点符合根节点标准;否则,所选节点不符合根节点标准,需重新选择根节点。其中,所述重新选择根节点包括:主动去ping网络中的其他节点,更新AFT表;采用所述连接推理技术“修补”AFT表的数据;根据AFT表的数据,选取新的根节点;测试所选根节点是否符合要求;重复以上操作直到其符合根节点的标准,即其逆根AFT数据完整为止。
所述生成树协议方法根据每个交换机所有下行端口的地址转发条目执行更新拓扑树操作。所述更新操作调是指,用比较操作判断一个节点与另一个节点之间的关系,其中,所述一个节点与另一个节点之间的关系包括:一个节点与另一个节点之间的祖孙关系和一个结点与另一个节点之间的旁系关系;所述比较操作包括:比较一个节点是否是另一个节点之间的子孙关系;比较一个节点是否是另一个节点的祖先节点;比较一个节点是另一个节点的旁系节点。
一种链路层网络拓扑发现装置,其包括:AFT模块、谓词逻辑推理模块、根节点选择模块、链路层拓扑发现模块和输出模块。
所述AFT模块用于获取AFT表数据信息,具体地,从运行拓扑发现的主机获取该主机所在的IP子网的交换机,从所述IP子网的交换机上获取AFT表。
所述谓词逻辑推理模块包括:初始化模块和连接推理技术算法实现模块,其中,所述初始化模块用于初始化谓词逻辑推理;所述连接推理技术算法实现模块包括:分配律实现模块、结合律实现模块和交换律实现模块。
所述根节点选择模块用于选择网络物理结构的根节点并测试所选根节点是否满足要求,其包括:根节点选择器和根节点测试器,所述根节点测试器用于测试节点是否符合根节点标准。
所述链路层拓扑发现模块包括:初始化模块、拓扑发现算法实现模块和结果输出模块。其中所述拓扑发现算法实现模块包括:比较器1和比较器2;所述比较器1用于判断一个结点与另一个节点之间是否是子孙关系(实现定理5的算法),所述比较器2用于判断一个节点与另一个节点之间是祖孙关系或是旁系关系(实现定理6的算法)。
所述输出模块用于输出根据本发明发现的链路层网络物理拓扑结构。
所述一种链路层网络拓扑发现装置具有如下连接关系:在AFT模块中,通过Ping网络节点交换机,得到各交换机的AFT信息;将AFT信息输送到谓词逻辑推理模块,根据AFT中记录的节点数据信息进行谓词逻辑推理,得到节点之间的连接关系,作为AFT数据信息的补充,从而“修补”AFT表得到新的数据信息完全的AFT表;根据数据信息完全的AFT表,采用生成树协议算法进行链路层网络物理拓扑发现;将物理网络拓扑发现结果数据信息通过输出模块输出。
本发明的有益效果本发明结合连接推理技术的谓词逻辑推理方法和基于生成树协议的拓扑发现算法,在AFT数据不完全的情况下,提高了获得网络物理拓扑的可能性。
附图说明
图1是本发明的链路层网络拓扑发现方法及装置的方法流程图;
图2是本发明的链路层网络拓扑发现方法及装置的系统结构图;
图3是根据本发明的链路层网络拓扑发现方法及装置的谓词逻辑推理模块框图;
图4是根据本发明的链路层网络拓扑发现方法及装置的拓扑发现模块框图;
图5是根据本发明的链路层网络拓扑发现方法及装置的算法对比图;
图6是根据本发明的链路层网络拓扑发现方法及装置的算法成功率对比图(含根);
图7是根据本发明的链路层网络拓扑发现方法及装置的算法成功率横向对比图;
图8是根据本发明的链路层网络拓扑发现方法及装置的算法有效性横向对比图。
具体实施方式
首先介绍本发明的具体实施例中涉及的新概念和新符号:
AFT的分类。对于一个AFT(Si,port,Sj),根据它和根节点的关系和方向分为一下几类:逆根AFT,逆非根AFT,根AFT,非根AFT。具体含义见下表2:
表2AFT类型
PAFT表示当前获得的AFT的数量(NAFT)占总AFT数量(nAFT)的比重,也就是获取到的AFT的完整性,PAFT=(NAFT/nAFT)×100%。
PTOPO(n)表示采用当前算法,在网络交换机数目为n的情况下,获得正确网络拓扑结构的可能性。具体计算方法为,当网络交换机数目为n的时候,共有N种AFT的获取情况,对每一种AFT的获取情况,都采用该算法进行运算,然后统计所有的运算结果。正确计算拓扑结构的次数占总数的比值就是PTOPO(n)。
PTOPO(n,PAFT)表示采用当前算法,在网络交换机数目为n,且获取AFT的完整性为PAFT的情况下,获得正确网络拓扑结构的可能性。
PTOPO表示该算法,获得正确网络拓扑结构的可能性,该数值大体上表示了该算法的优劣。
下面结合附图和实施例对本发明进一步说明。
本发明所用实验算法标记如下:
算法一采用连接推理技术的谓词逻辑推理方法。
算法二采用生成树协议算法。
新算法根据本发明的链路层网络拓扑发现算法。
实施例1:图2是根据本发明的链路层网络拓扑发现方法及装置的系统结构图,如图所示,该链路层网络拓扑发现装置包括:AFT模块、谓词逻辑推理模块、根节点选择模块、链路层拓扑发现模块和输出模块。AFT模块用于获取AFT表数据信息,根据本发明的实施例,如果网络拓扑物理结构的交换机个数为n,则根据本发明,在当前ping得的AFT表基础上,运用谓词逻辑推理算法对AFT进行“修补”,再采用生成树协议进行拓扑发现,所获得的AFT数据信息总量为n*(n-1)。其中,本发明的实施例所涉及的交换机可用大写字母A、B、C、D、…进行标识。
实施例2:在一个实施例中,一种网络物理拓扑结构其交换机个数为3,这3个交换机A、B和C的拓扑关系如表3的TOPO(3)所示。根据本发明的链路层网络拓扑发现方法,首先ping节点交换机得到该交换机的AFT表,记作AFTCount,该AFTCount是当前拓扑结构下能获得的所有AFT数据的条数。根据AFTCount表上的记录,进行连接推理技术“修补”AFT数据;根据“修补”后的节点交换机的AFT表,选择逆根AFT数据完整的节点交换机作为根节点;如果所选节点不满足根节点要求,则主动ping网络中的节点,更新AFT表,重复用连接推理技术进行AFT数据“修补”工作,直到所选节点其逆根AFT数据完整时,认为所选节点是根节点;根据所选根节点,采用生成树协议算法计算链路层的物理网络拓扑结构,获得的AFT总数据条数是6。
实施例3:在一个实施例中,一种物理拓扑结构其交换机个数为4,这4个交换机A、B、C和D的拓扑关系如表3的TOPO(4_1)所示,根据本发明提供的方法,获得的AFT总数据条数是12。
实施例4:在另一个实施例中,一种物理拓扑结构其交换机个数为4,这4个交换机的网络拓扑关系如表3的TOPO(4_2)所示,根据本发明提供的方法,获得的AFT总数据条数是12。
实施例5:在一个实施例中,一种物理拓扑结构其交换机个数为5,这5个交换机A、B、C、D和E的网络拓扑关系如表3的TOPO(5_1)所示,根据本发明提供的方法,获得的AFT总数据条数是20。
实施例6:在另一个实施例中,一种物理拓扑结构其交换机个数为5,交换机A、B、C、D和E的网络拓扑关系如表3的TOPO(5_2)所示,根据本发明提供的方法,获得的AFT总数据条数是20。
实施例7:在另一个实施例中,一种物理拓扑结构其交换机个数为5,交换机A、B、C、D和E的网络拓扑关系如表3的TOPO(5_3)所示,根据本发明提供的方法,获得的AFT总数据条数是20。
实施例8:在如图2根据本发明的系统结构图中,谓词逻辑推理模块包括一个初始化模块和一个算法实现模块。初始化模块将该算法实现模块包括交换律子模块、分配律子模块和结合律子模块。其中,交换律子模块用于进行谓词逻辑推理的交换律运算,分配律子模块用于进行谓词逻辑推理的分配律运算,结合律子模块用于进行谓词逻辑推理的结合律运算。拓扑发现模块包括一个初始化模块、一个拓扑发现算法实现模块和一个结果输出模块。拓扑发现算法实现模块包括比较器1和比较器2,其中比较器1用于实现定理5,比较器2用于实现定理6。
实施例9:在如表3的TOPO(5_1)所示的网络拓扑结构中,结合表4和图5、图6和图7,本发明的实施例和附图所用名称和符号含义如下:
AFTCount:当前行含有的AFT数目
Arithmetic1:算法一计算成功的次数。
Arithmetic1%:算法一计算成功占总实验次数的百分百,即算法一的有效性。
Arithmetic2:算法二计算成功的次数。
Arithmetic2%:算法二计算成功占总实验次数的百分百,即算法二的有效性。
NewArithmetic:新算法计算成功的次数。
NewArithmetic%:新算法计算成功占总实验次数的百分百,即新算法的有效性。
Better%:新算法较算法二有效性的提高。
首先,ping网络节点,得到当前行含有的AFT数,即当前AFTCount。在一个实施例中,AFTCount=14,说明当前含有AFT数据为14条,而总AFT数据为nAFT=20,因此AFT%=0.7,实验次数为38760次,表明当AFT数目为14的时候,一共有38760种情况,其中算法一成功计算出28次拓扑结构,算法二为20915次,新算法为26046次,新算法较算法二提高了有效性为0.132379。
在本发明的实施例中,图5更形象的表示出当前算法一,算法二和新算法之间有效性的对比,横坐标为AFT%,纵坐标为算法成功计算出拓扑结构的可能性,即算法的有效性。本实施例的实验结果分析如下:
a)从PTOPO(n)来看,新算法、算法二和算法一符合之前所分析的算法一的有效性不及算法二。特别的,当AFT%>0.9,即AFT含量基本完善的情况下,算法一的成功率仍不到50%,而算法二和新算法此时可以到达100%。
b)随着AFT%的增大,三种算法的PTOPO(n)都在增加。其中算法二和新算法增长的趋势类似,AFT%从0开始到0.8,PTOPO(n)显著增加;而对于算法一,AFT%从0.8开始,PTOPO(n)显著增长,这也符合之前所说的,算法一只有在AFT%较大的情况下,才能发挥作用。
c)观察Better%这条曲线,可以发现,当AFT%在0.4至0.75区间,新算法较算法二拓扑计算成功率优势明显,而AFT%不在此区间,算法二和新算法成功率差距不大。
d)注意观察AFT%开始的一段,即从0至0.1,PTOPO(n)有一个小幅增长,原因是当前收集到的AFT过少,很有可能无法包含全部的交换机,此时可能会出现算法误认为已经计算出当前的拓扑情况,而该拓扑结构是正确的网络拓扑结构的一个子集,实际上该情况在实际中不会出现,应该第一步就是要ping全网节点,从而获得的AFT一定会覆盖全网的交换机。
e)对于每一次实验数据,因为算法二和新算法都是依赖于拓扑生成树协议,所以树的根节点的选择,会影响的算法的成功率。图4中新增添的两条线RArithmetic2%和RNewArithmetic%,表明如果把每次根节点的选择作为一次实验来统计的算法成功率。自然该成功率要低于之前。横向比较数据,这里比较拓扑结构为TOPO(5_1),TOPO(5_2),TOPO(5_3)。
f)图7中表征的算法是新算法,可以看到算法对网络拓扑树深度大的网络结构,有更好的成功率。
图8中表征的是新算法较算法二提高的成功率。可以当网络拓扑数深度大的时候,新算法较算法二有更好的成功率。
实施例10:如图1和图5-图8,根据本发明的实施例,首先ping网络节点,获得网络节点的AFT当前的数据信息,即当前AFT记录表AFTCount;根据当前AFT数据信息记录表AFTCount(在本实施例中,例如AFTCount=14),选择其逆根AFT数据完整的节点作为根节点;如果AFTCount中所有节点都不符合根节点的条件,则主动ping网络中的所有节点,更新AFT表,采用谓词逻辑推理方法进行“修补”,推导出新的AFT表;根据更新后的AFT表,选择逆根AFT数据完整的节点作为根节点;否则,继续ping操作更新AFT表和继续采用谓词逻辑推理方法“修补”AFT表,直到从AFT表中选择出符合要求的根节点;根据所选的根节点采用生成树协议算法计算网络物理拓扑结构;最后由输出模块输出网络拓扑结构。
Claims (9)
1.一种链路层网络拓扑发现方法,其特征在于,该方法包括以下步骤:
建立AFT,其用于建立链路层网络连接的AFT,通过Ping网络节点,获取各网络节点的所述AFT数据信息;
进行谓词逻辑推理,其基于连接推理技术进行谓词逻辑推理,以推导节点间的连接关系;
选择根节点,其用于从所述AFT表中选择根节点,并测试所选根节点是否符合根节点标准;以及,
运行生成树协议算法,其用于计算网链路层物理拓扑结构。
2.根据权利要求1所述的一种链路层网络拓扑发现方法,其特征在于,所述进行谓词逻辑推理是指,运用所述连接推理技术把交换机的所述AFT翻译为一组谓词公式,然后利用所述谓词逻辑推理算法推导所述节点间的连接关系,从而获得部分所述节点的连接关系,修补不完整的逆根AFT数据。
3.根据权利要求1所述的一种链路层网络拓扑发现方法,其特征在于,所述测试所选根节点节点是否符合所述根节点标准包括:
测试从所述AFT表所选节点的所述逆根AFT数据是否完整,若所述所选节点的所述逆根AFT数据完整,则所述所选节点符合所述根节点标准;否则,所述所选节点不符合所述根节点标准,需重新选择根节点,其中所述重新选择根节点包括:主动去ping网络中的其他节点,更新AFT表;采用所述连接推理技术“修补”所述AFT表的数据;根据所述AFT表的数据,选取新的根节点;测试所选根节点是否符合所述根节点标准;以及,重复以上操作直到所述所选根节点符合所述根节点标准,也就是说,直到所述逆根AFT数据完整为止。
4.根据权利要求1所述的一种链路层网络拓扑发现方法,其特征在于,所述运行生成树协议算法是指,根据每个交换机所有下行端口的地址转发条目执行更新拓扑树操作,而所述更新拓扑树操作是指,调用比较操作判断一个节点与另一个节点之间的关系,所述一个节点与另一个节点之间的关系进一步包括:一个节点与另一个节点之间的祖孙关系和一个结点与另一个节点之间的旁系关系。
5.根据权利要求4所述的更新拓扑树操作,其特征在于,所述比较操作进一步包括:
比较一个节点是否是另一个节点之间的子孙关系;
比较一个节点是否是另一个节点的祖先节点;以及,
比较一个节点是另一个节点的旁系节点。
6.一种链路层网络拓扑发现装置,其特征在于该装置包括:
AFT模块,其特征在于所述AFT模块用于获取AFT表数据信息,所述获取AFT表数据信息,指从运行拓扑发现的主机获取该主机所在的IP子网的交换机,从所述IP子网的交换机上获取所述AFT表;
谓词逻辑推理模块,其包括:初始化模块和连接推理技术算法实现模块;
根节点选择模块,其包括根节点选择器和根节点测试器,其中所述根节点选择器用于选择网络物理结构的根节点,所述根节点测试器用于测试所选节点是否符合所述根节点标准;
链路层拓扑发现模块,包括:初始化模块、拓扑发现算法实现模块和结果输出模块;以及,
输出模块,用于输出根据本发明发现链路层网络物理拓扑结构。
7.根据权利要求6所述的谓词逻辑推理模块,其特征在于:
所述初始化模块用于初始化要进行所述谓词逻辑推理的数据;
所述连接推理技术算法实现模块包括:分配律实现模块,用以实现所述谓词逻辑推理的分配律算法;结合律实现模块,用以实现所述谓词逻辑推理的结合律算法;交换律实现模块,用以实现所述谓词逻辑推理的交换律算法。
8.根据权利要求6所述的一种链路层网络拓扑发现装置,其特征在于所述拓扑发现算法实现模块包括:
比较器1,用于判断一个结点与另一个节点之间是否是子孙关系,从而实现定理5的算法;
比较器2,用于判断一个节点与另一个节点之间是祖孙关系或是旁系关系,从而实现定理6的算法。
9.根据权利要求6所述的一种链路层网络拓扑发现装置,其特征在于该装置具有如下连接关系:
在AFT模块中,通过Ping网络节点交换机,得到各交换机的AFT信息;将AFT信息输送到谓词逻辑推理模块,根据AFT中记录的节点数据信息进行谓词逻辑推理,得到节点之间的连接关系,作为AFT数据信息的补充,从而“修补”AFT表得到新的数据信息完全的AFT表;根据数据信息完全的AFT表,采用生成树协议算法进行链路层网络物理拓扑发现;将物理网络拓扑发现结果数据信息通过输出模块输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810119624 CN101668025B (zh) | 2008-09-04 | 2008-09-04 | 一种链路层网络拓扑发现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810119624 CN101668025B (zh) | 2008-09-04 | 2008-09-04 | 一种链路层网络拓扑发现方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101668025A true CN101668025A (zh) | 2010-03-10 |
CN101668025B CN101668025B (zh) | 2013-02-13 |
Family
ID=41804466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200810119624 Expired - Fee Related CN101668025B (zh) | 2008-09-04 | 2008-09-04 | 一种链路层网络拓扑发现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101668025B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103036725A (zh) * | 2012-12-17 | 2013-04-10 | 华为技术有限公司 | 一种网络拓扑发现的方法和网络管理设备 |
CN103532747A (zh) * | 2013-09-30 | 2014-01-22 | 广东电网公司电力调度控制中心 | 工业系统的网络拓扑生成方法和系统 |
CN105871496A (zh) * | 2016-06-14 | 2016-08-17 | 河海大学 | 一种光同步网时钟链路规划方法 |
CN106789669A (zh) * | 2016-12-23 | 2017-05-31 | 锐捷网络股份有限公司 | 一种极简网络拓扑的发现方法及装置 |
CN107294745A (zh) * | 2016-03-30 | 2017-10-24 | 中国移动通信集团四川有限公司 | 网络拓扑自动发现方法及装置 |
CN108768677A (zh) * | 2018-05-02 | 2018-11-06 | 河南应用技术职业学院 | 一种基于Android平台的计算机网络数据广播通信系统 |
CN112822053A (zh) * | 2021-01-13 | 2021-05-18 | 科大国创云网科技有限公司 | 一种基于snmp的链路层网络拓扑结构发现方法及系统 |
CN115297027A (zh) * | 2022-08-02 | 2022-11-04 | 上海海得控制系统股份有限公司 | 孤岛网络设备间链路识别方法、系统、存储介质、网管服务器 |
CN115348177A (zh) * | 2022-08-17 | 2022-11-15 | 西安热工研究院有限公司 | 一种工控系统网络拓扑安全重构方法、装置及存储介质 |
CN115801589A (zh) * | 2022-11-15 | 2023-03-14 | 北京优特捷信息技术有限公司 | 一种事件拓扑关系确定方法、装置、设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3729265B2 (ja) * | 2002-08-22 | 2005-12-21 | 日本電気株式会社 | ネットワークシステム、スパニングツリー構成方法、スパニングツリー構成ノード、及びスパニングツリー構成プログラム |
CN100586079C (zh) * | 2007-10-15 | 2010-01-27 | 清华大学 | 一种面向数据链路层的网络拓扑发现方法 |
-
2008
- 2008-09-04 CN CN 200810119624 patent/CN101668025B/zh not_active Expired - Fee Related
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103036725B (zh) * | 2012-12-17 | 2015-08-19 | 华为技术有限公司 | 一种网络拓扑发现的方法和网络管理设备 |
CN103036725A (zh) * | 2012-12-17 | 2013-04-10 | 华为技术有限公司 | 一种网络拓扑发现的方法和网络管理设备 |
CN103532747A (zh) * | 2013-09-30 | 2014-01-22 | 广东电网公司电力调度控制中心 | 工业系统的网络拓扑生成方法和系统 |
CN103532747B (zh) * | 2013-09-30 | 2017-01-04 | 广东电网公司电力调度控制中心 | 工业系统的网络拓扑生成方法和系统 |
CN107294745B (zh) * | 2016-03-30 | 2020-12-04 | 中国移动通信集团四川有限公司 | 网络拓扑自动发现方法及装置 |
CN107294745A (zh) * | 2016-03-30 | 2017-10-24 | 中国移动通信集团四川有限公司 | 网络拓扑自动发现方法及装置 |
CN105871496A (zh) * | 2016-06-14 | 2016-08-17 | 河海大学 | 一种光同步网时钟链路规划方法 |
CN105871496B (zh) * | 2016-06-14 | 2017-12-08 | 河海大学 | 一种光同步网时钟链路规划方法 |
CN106789669A (zh) * | 2016-12-23 | 2017-05-31 | 锐捷网络股份有限公司 | 一种极简网络拓扑的发现方法及装置 |
CN108768677A (zh) * | 2018-05-02 | 2018-11-06 | 河南应用技术职业学院 | 一种基于Android平台的计算机网络数据广播通信系统 |
CN112822053A (zh) * | 2021-01-13 | 2021-05-18 | 科大国创云网科技有限公司 | 一种基于snmp的链路层网络拓扑结构发现方法及系统 |
CN112822053B (zh) * | 2021-01-13 | 2023-04-07 | 科大国创云网科技有限公司 | 一种基于snmp的链路层网络拓扑结构发现方法及系统 |
CN115297027A (zh) * | 2022-08-02 | 2022-11-04 | 上海海得控制系统股份有限公司 | 孤岛网络设备间链路识别方法、系统、存储介质、网管服务器 |
CN115297027B (zh) * | 2022-08-02 | 2023-08-25 | 上海海得控制系统股份有限公司 | 孤岛网络设备间链路识别方法、系统、存储介质、网管服务器 |
CN115348177A (zh) * | 2022-08-17 | 2022-11-15 | 西安热工研究院有限公司 | 一种工控系统网络拓扑安全重构方法、装置及存储介质 |
CN115348177B (zh) * | 2022-08-17 | 2023-10-20 | 西安热工研究院有限公司 | 一种工控系统网络拓扑安全重构方法、装置及存储介质 |
CN115801589A (zh) * | 2022-11-15 | 2023-03-14 | 北京优特捷信息技术有限公司 | 一种事件拓扑关系确定方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101668025B (zh) | 2013-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101668025B (zh) | 一种链路层网络拓扑发现方法及装置 | |
US11483341B2 (en) | DDOS attack detection and mitigation method for industrial SDN network | |
US20220086073A1 (en) | Data packet detection method, device, and system | |
Lee et al. | Network monitoring: Present and future | |
Breitbart et al. | Topology discovery in heterogeneous IP networks | |
WO2021093692A1 (zh) | 网络质量检测方法、装置、服务器和计算机可读介质 | |
Ma et al. | Network capability in localizing node failures via end-to-end path measurements | |
US11272396B2 (en) | Frame aggregation method, network setting frame sending method, and device | |
CN102821009B (zh) | 基于链路层发现协议监控环形网络的方法和装置 | |
CN106464547A (zh) | 家庭网络监测器 | |
CN107438016A (zh) | 网络管理方法、设备、系统以及存储介质 | |
US20210176142A1 (en) | Baselining service-tagged data from subservices of a service for improved service assurance | |
US10938661B1 (en) | Service heatmap-based telemetry feedback loop | |
CN101453413A (zh) | 一种pbb网络中自动拓扑发现及资源管理的方法和装置 | |
CN102111822B (zh) | 一种基于认知技术的物联网方法 | |
CN112203172B (zh) | 专线开通方法及装置 | |
EP3917086A1 (en) | Network topology discovery method, device, and system | |
CN109088756A (zh) | 一种基于网络设备识别的网络拓扑补全方法 | |
CN108494625A (zh) | 一种网络性能分析系统 | |
US20110255422A1 (en) | Analyzing service impacts on virtual private networks | |
Khoobbakht et al. | Hybrid flow-rule placement method of proactive and reactive in SDNs | |
Zhou et al. | Research on network topology discovery algorithm for Internet of Things based on multi-protocol | |
CN103117880A (zh) | 一种基于Web技术的网络拓扑图生成方法 | |
Tajiri et al. | Optimizing edge-cloud cooperation for machine learning accuracy considering transmission latency and bandwidth congestion | |
CN116319353A (zh) | 一种网络拓扑结构的检测方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130213 Termination date: 20170904 |
|
CF01 | Termination of patent right due to non-payment of annual fee |