物理网络拓扑发现中“哑元”设备的推测方法

文档序号:7591789阅读:297来源:国知局
专利名称:物理网络拓扑发现中“哑元”设备的推测方法
技术领域
本发明涉及计算机网络管理技术领域,是一种基于通用MIB(Management Information Base)库信息的二层网络拓扑(在本文档中,二层网络拓扑等同于物理网络拓扑,二者可以互换)发现方法。本发明通过自行设计的算法,能够准确发现并定位二层网络中各个物理设备的连接关系。本发明涉及通用的MIB库信息,基于此类信息的物理拓扑发现以及通用的拓扑发现技术。特别是一种物理网络拓扑发现中“哑元”设备的推测方法。文中所提到的“哑元”指的是不可管理的交换机或HUB设备。
背景技术
交换机已成为现代计算机网络的关键设备,对于网络管理员来说,能够随时获取网络的拓扑信息具有极其重要的意义。它可以帮助判断链路的通断、进行错误相关性分析,以及将服务器安放在最合适的位置。
现有的物理拓扑发现技术着重于发现交换机与交换机之间的连接,发现这些连接的前提是这些交换机必须是可管理的,即必须配置有IP地址并且可使用SNMP(Simple Network Management Protocol)进行查询。但是,现在的物理网络中存在着很多不可管理的“哑元”设备,包括没有配置IP地址的“哑”交换机以及对于交换机透明的HUB设备,发现“哑元”设备的存在并对其进行定位对于准确发现二层网络拓扑具有重要意义。

发明内容
本发明的目的是能在异构网络环境提供的有限信息基础上,准确地发现二层物理网络拓扑结构,包括可管理交换机之间的连接、可管理设备与“哑元”设备之间的连接。而提出一种物理网络拓扑发现中“哑元”设备的推测方法。
本发明涉及计算机网络管理技术领域,是一种基于通用MIB库信息的二层网络拓扑(在本文档中,二层网络拓扑等同于物理网络拓扑,二者可以互换)发现方法。本发明通过自行设计的算法,能够准确发现并定位二层网络中各个物理设备的连接关系。
首先介绍我们所提出的包含“哑元”设备发现和定位的二层拓扑发现算法。
1定义转发表交换机Si的端口j在交换过程中存储的该端口收到的源MAC(Media Access Control)地址集合,记为F(Si,j);转发表完整交换机Si的端口j的转发表完整指F(Si,j)包含了所有该端口所能看到的设备MAC地址的集合;叶交换机 在转发表完整的情形下,若某个交换机存在且仅存在一个端口,其转发表包含其它交换机的MAC地址;标志节点 当算法运行的主机为待发现子网中的成员,则该主机称为标志节点;否则,连接该子网的路由器称为标志节点;“哑元”设备Hub或不可管理的交换机;交换机的叶端口如果交换机Si端口j的转发表F(Si,j)在完整的情况下不包含其它任何交换机或标志节点的MAC地址,则称为该交换机的叶端口;上行端口端口对应的转发表中出现标志节点MAC地址的端口;下行端口端口对应的转发表中没有出现标志节点MAC地址的端口;假设可管理交换机和所有主机的MAC通过路由器的地址转换表(Address Translation Table)都可以映射到相应的IP地址,所有无法进行映射的MAC地址都为不可管理交换机的MAC。
对于每个交换机S,记其上行端口为u(S),对于两个交换机A、B,定义序关系<如下A<B当且仅当存在i≠u(B),A∈F(B,i)定义覆盖关系如下B覆盖A当且仅当A<B且不存在C,使得A<C和C<B同时成立。将所有被B覆盖的节点称为B的覆盖集C(B),记对应于下行端口i的覆盖集为C(B,i),则任意i≠j,有C(B,i)∩C(B,j)=φ,同时满足 定义函数fmac→ip;若能通过Address Translation Table将MAC地址映射为IP地址,则返回相应的IP地址,否则,返回null。
对MAC地址结合M,定义操作Split,其结果是将M划分为两个集合H和D,其中H={x|x∈M and f(x)!=null}D={x|x∈M and f(x)=null}根据H和D的定义,有H∩D=φ,H∪D=M2定理定理1对于交换机S的某个下行端口k,如果|C(S,k)|=1,则交换机S的下行端口k与该被覆盖节点直接相连。如果该被覆盖节点B为可管理交换机,则与S相连的端口为u(B)。
定理2对于交换机S的某个下行端口K,如果|C(S,k)|>1,对C(S,k)应用Split操作,将其划分为∏1和∏2,其中∏1为可管理交换机集合,∏2为不可管理交换机集合,则有如下断言(1)若|∏2|=0,则S与∏1中的交换机通过Hub相连(2)若|∏2|>0,则S与∏1中的交换机通过∏2中的哑交换机相连3算法描述(1)Ping管理域内所有IP地址(2)读取每台可管理交换机的地址转发表(3)对每台可管理交换机S,计算其上行端口u(S)(4)初始化序关系集合T=φ(5)对每个可管理交换机A的下行端口i,若B∈F(A,i)并且B为交换机,则将序关系B<A加入T(6)根据T构造覆盖关系以及覆盖集合(7)对每个可管理交换机S下行端口k的覆盖集合C(S,k),●若|C(S,k)|=1,设B∈C(S,k)
1)若B为可管理交换机,则S的下行端口k直接和B的上行端口u(B)相连;2)若B为不可管理交换机,则S的下行端口k和B相连,并且F(S,k)-{B}中的节点和B相连●|C(S,k)|>1,则对C(S,k)应用Split操作,将其划分为∏1和∏2,其中∏1为可管理交换机集合,∏2为不可管理交换机集合,1)若|∏2|=0,则S的下行端口k与∏1中的所有交换机的上行端口通过Hub相连2)若|∏2|=1,设B∈∏2,则S的下行端口k与B直接相连,而∏1中的所有交换机的上行端口与B相连3)若|∏2|>1,则将∏2中的所有交换机记为一个“哑交换云”,∏1中的所有交换机的上行端口都与该“哑交换机云”相连发明技术方案基于通用RFC(Request For Comment)定义的MIB信息的二层物理网络拓扑发现方法,我们所提出的算法基于通用的RFC定义的MIB信息,适用于异构网络,能够确定物理网络中交换机端口到端口的连接,并能确定“哑元设备”的存在性及其位置。
上述方法,其理论依据是序关系、覆盖关系以及覆盖集合的构造。
所提出的算法,能够发现“哑交换机”和Hub,对于一个Hub或哑交换机,能准确对其进行定位;对于多个Hub或哑交换机相连,则将其发现为一个“哑设备云”。


图1为一个包含哑元设备的物理子网环境图。
图2为使用我们提出的算法对图1的实际网络推测后得到的拓扑图。
图3为包含“哑元设备推测”的物理拓扑发现过程的流程图。
具体实施例方式
图1为一个包含Hub和哑交换机的环境,其中A-H为可管理交换机,Ni(i=1..6)为哑交换机,M为管理站,另外还包含一个Hub。
Ni(i=1..6)为哑交换机,每个可管理交换机的上行端口均为端口1,应用该算法进行拓扑发现的过程如下各下行端口转发表为F(A,2)={B,D,G,N1,N2,N3,N4} F(A,3)={C,E,F,H,N5,N6}F(B,2)={G,N1,N2} F(B,3)={D,N3,N4}F(C,2)={E,F,H,N5,N6 }F(D,2)={N3,N4}F(E,2)={H,N5}F(F,2)={N6}构造序关系集合T如下T={B<A,D<A,G<A,N1<A,N2<A,N3<A,N4<A,C<A,E<A,F<A,H<A,N5<A,N6<A,G<B,N1<B,N2<B,D<B,N3<B,N4<B,E<C,F<C,H<C,N5<C,N6<C,N3<D,N4<D,H<E,N5<E,N6<F}根据T构造覆盖关系如下{G,N1,N2}<B<A,{N3,N4}<D<B<A{H,N5}<E<C<A,N6<F<C<A构造覆盖集如下C(A,2)={B},C(A,3)={C}C(B,2)={G,N1,N2},C(B,3)={D}C(D,2)={N3,N4}C(C,2)={E,F}C(E,2)={N5,H}C(F,2)={N6}对于交换机A,由于|C(A,2)|=1,|C(A,3)|=1,因此判断A的下行端口2,3分别与B和C的上行端口1直接相连。
对于交换机B,|C(B,3)|=1,判断B的下行端口3和D的上行端口1直接相连;|C(B,2)|>1,将C(B,2)划分为{G}和{N1,N2},将{N1,N2}记为一个“哑交换云”,判断G的上行端口1与{N1,N2}相连,B的端口2与{N1,N2}相连。
对于交换机C,|C(C,2)|>1,但划分后相应的哑交换机集合∏2为空,因此判断C的端口2与E、F的上行端口1通过Hub相连。
对于交换机D,|C(D,2)|>1,划分后|∏2|>1,将{N3,N4}记为哑交换云,判断D的端口2与{N3,N4}相连对于交换机E,|C(E,2)|>1,划分后|∏2|=1,判断E的端口2与N5相连,H的上行端口1与N5相连对于交换机F,|C(F,2)|=1,判断F的端口2与N6相连。
分析后所得出的拓扑如图2所示。其中,N1和N2,N3和N4分别形成“哑交换机云”。并且能将其作为一个整体在网络中定位,但其内部连接关系无法推测出来,而N5、N6以及Hub能准确定位。
图3为包含“哑元设备推测”的物理拓扑发现过程的流程图。其中步骤S1计算各个可管理交换机的上行端口需要对每个交换机的端口进行检测,将包含标识节点的端口标记为上行端口;步骤S2构造序关系集合T需要对每个交换机S的下行端口k进行检测,起初T为空集,如果B∈F(S,k)且B为交换机,则T=T∪{B<A};步骤S3构造覆盖关系和覆盖集合是对序关系进行分析得出的结果;步骤S4对C(S,k)进行划分,划分的结果是分成可管理交换机和不可管理交换机两个集合;步骤S5为第一条判断准则,该准则为如果步骤S4划分后的不可管理交换机集合∏2为空,则判断∏1中的所有可管理交换机的上行端口与交换机S的端口k通过Hub相连;步骤S6为第二条判断准则,该准则为如果步骤S4划分后的不可管理交换机集合∏2仅包含一个元素,则判断S的下行端口k与∏2中的B直接相连;步骤S7为第三条判断准则,该准则为如果步骤S4划分后的不可管理交换机集合∏2的基数大于1,则将∏2中的所有元素记为一个“哑交换机云”,而∏1中的所有交换机都与该“哑交换机云”相连。
本发明的特点在于,不仅能发现可管理设备之间的连接关系,同时能准确地发现“哑元”设备(包括不可管理交换机和HUB)的存在以及其连接关系,大大地提高了物理网络拓扑发现的准确性,同时算法的复杂度为O(n)。
权利要求
1.基于通用RFC定义的MIB信息的二层物理网络拓扑发现方法,其特征在于,所提出的算法基于通用的RFC定义的MIB信息,适用于异构网络,能够确定物理网络中交换机端口到端口的连接,并能确定“哑元设备”的存在性及其位置。
2.根据权利要求1所述的基于通用RFC定义的MIB信息的二层物理网络拓扑发现方法,其特征在于,其理论依据是序关系、覆盖关系以及覆盖集合的构造。
3.根据权利要求1所述的基于通用RFC定义的MIB信息的二层物理网络拓扑发现方法,其特征在于,能够发现“哑交换机”和Hub,对于一个Hub或哑交换机,能准确对其进行定位;对于多个Hub或哑交换机相连,则将其发现为一个“哑设备云”。
4.一种物理网络拓扑发现中“哑元”设备的推测方法,其具体步骤如下步骤S1计算各个可管理交换机的上行端口需要对每个交换机的端口进行检测,将包含标识节点的端口标记为上行端口;步骤S2构造序关系集合T需要对每个交换机S的下行端口k进行检测,起初T为空集,如果B∈F(S,k)且B为交换机,则T=T∪{B<A};步骤S3构造覆盖关系和覆盖集合是对序关系进行分析得出的结果;步骤S4对C(S,k)进行划分,划分的结果是分成可管理交换机和不可管理交换机两个集合;步骤S4对C(S,k)进行划分,划分的结果是分成可管理交换机和不可管理交换机两个集合;步骤S5为第一条判断准则,该准则为如果步骤S4划分后的不可管理交换机集合∏2为空,则判断∏1中的所有可管理交换机的上行端口与交换机S的端口k通过Hub相连;步骤S6为第二条判断准则,该准则为如果步骤S4划分后的不可管理交换机集合∏2仅包含一个元素,则判断S的下行端口k与∏2中的B直接相连;步骤S7为第三条判断准则,该准则为如果步骤S4划分后的不可管理交换机集合∏2的基数大于1,则将∏2中的所有元素记为一个“哑交换机云”,而∏1中的所有交换机都与该“哑交换机云”相连。
全文摘要
本发明涉及计算机网络管理技术,是一种基于通用MIB库信息的二层网络拓扑发现方法。本发明通过自行设计的算法,能够准确发现并定位二层网络中各个物理设备的连接关系。步骤为1.计算各个可管理交换机的上行端口,2.构造序关系集合,3.构造覆盖关系和覆盖集合,4.分析覆盖集合,推断设备连接关系。本发明的特点在于,不仅能发现可管理设备之间的连接关系,同时能准确地发现“哑元”设备(不可管理交换机和HUB)的存在以及其连接关系,大大地提高了物理网络拓扑发现的准确性,同时算法的复杂度为0(n)。
文档编号H04L29/06GK1564527SQ20041003680
公开日2005年1月12日 申请日期2004年4月13日 优先权日2004年4月13日
发明者张国强, 张国清 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1