交换机拓扑构建方法及装置与流程

文档序号:11842120阅读:1145来源:国知局
交换机拓扑构建方法及装置与流程

本发明涉及网络领域,特别是涉及一种交换机拓扑构建方法及装置。



背景技术:

网络拓扑是网络监控和管理中的关键元素,其可以直观地反映出网络中的所有设备以及设备之间的连接关系,因而网络拓扑发现(构建)具有重要意义。

现有用于网络监控和管理的协议主要为简单网络管理协议(Simple Network Management Protocol,SNMP)。SNMP是一种基于TCP/IP协议的互连网管理协议,其由一组网络管理的标准组成,各个网络管理的标准包括应用层协议(Application Layer Protocol)、数据库模型(Database Schema)和一组资源对象。该协议能够支持网络管理系统,可以对连接到网络上的设备发生的任何引起管理上关注的情形进行监控。

目前的网络拓扑构建方法,主要通过SNMP采集系统、接口、IP等信息来寻找交换机之间的连接关系。按照构建时所使用的协议不同,网络拓扑构建方法可以分为网络层拓扑构建方法和链路层拓扑构建方法。

但是,现有的链路层拓扑构建方法存在着准确性差的问题。



技术实现要素:

本发明实施例解决的问题是如何提高链路层拓扑构建的准确性。

为解决上述问题,本发明实施例提供了一种交换机拓扑构建方法,所述方法包括:从交换机简单网络管理协议服务中采集对应的连接数据信息;其中,所述连接数据信息与交换机之间的连接关系相关;对所采集的数据信息进行分析,基于MAC地址构建各个交换机通过自身的物理端口与其他交换机连接的连接关系表达式;对所建立的连接关系表达式进行整理分析,得到对应的交换机拓扑结构。

可选地,所述连接数据信息包括:IP地址与MAC地址的对应关系;MAC地址与端口号的对应关系;端口号与端口索引的对应关系。

可选地,所述对所采集的数据信息进行分析,基于MAC地址构建各个交换机通过自身的物理端口与其他交换机连接的连接关系表达式,包括:将各个交换机采用唯一的IP地址进行标识,并从所述端口与MAC地址的对应关系中获取各个交换机的全部MAC地址,构成各个交换机的MAC地址集合;对于任一交换机,当确定其他交换机的MAC地址集合中存在相匹配的MAC地址时,基于所述MAC地址与端口号的对应关系,确定与所述相匹配的MAC地址对应的端口号的信息;基于对应的端口号与端口索引之间的对应关系,确定与所述相匹配的MAC地址对应的物理端口;建立所述交换机通过所确定的物理端口,与存在相匹配的MAC地址的其他交换机之间的连接关系表达式。

可选地,所述对所建立的连接关系表达式进行整理分析,得到对应的交换机拓扑结构,包括:对所建立的所有连接关系表达式进行分析;当确定交换机存在多个物理端口与其他交换机连接时,将所述交换机作为所述拓扑结构的非叶结点;当确定作为非叶结点的交换机的任一物理端口仅与唯一的其他交换机连接时,将所述唯一的其他交换机作为所述拓扑结构的叶子节点,并确定所述作为非叶结点的交换机与所述作为所述叶子节点的交换机直接连接;对于任意两个作为非叶结点的交换机,当除去与作为叶子节点的交换机连接的物理端口之外的剩余物理端口连接的交换机的交集为空时,确定对应的两个作为非叶结点的交换机直接连接。

本发明实施例还提供了一种交换机拓扑构建装置,所述装置包括:信息获取单元,适于从交换机简单网络管理协议服务中采集对应的连接数据信息;其中,所述连接数据信息与交换机之间的连接关系相关;关系构建单元,适于对所采集的数据信息进行分析,基于MAC地址构建各个交换机通过自身的物理端口与其他交换机连接的连接关系表达式;拓扑构建单元,适于对所建立的连接关系表达式进行整理分析,得到对应的交换机拓扑结构。

可选地,所述连接数据信息包括:IP地址与MAC地址的对应关系;MAC地址与端口号的对应关系;端口号与端口索引的对应关系。

可选地,所述关系建立单元,适于将各个交换机采用唯一的IP地址进行标识,并从所述端口与MAC地址的对应关系中获取各个交换机的全部MAC地址,构成各个交换机的MAC地址集合;对于任一交换机,当确定其他交换机的MAC地址集合中存在相匹配的MAC地址时,基于所述MAC地址与端口号的对应关系,确定与所述相匹配的MAC地址对应的端口号的信息;基于对应的端口号与端口索引之间的对应关系,确定与所述相匹配的MAC地址对应的物理端口;建立所述交换机通过所确定的物理端口,与存在相匹配的MAC地址的其他交换机之间的连接关系表达式。

可选地,所述拓扑构建单元,适于对所建立的所有连接关系表达式进行分析;当确定交换机存在多个物理端口与其他交换机连接时,将所述交换机作为所述拓扑结构的非叶结点;当确定作为非叶结点的交换机的任一物理端口仅与唯一的其他交换机连接时,将所述唯一的其他交换机作为所述拓扑结构的叶子节点,并确定所述作为非叶结点的交换机与所述作为所述叶子节点的交换机直接连接;对于任意两个作为非叶结点的交换机,当除去与作为叶子节点的交换机连接的物理端口之外的剩余物理端口连接的交换机的交集为空时,确定对应的两个作为非叶结点的交换机直接连接。

与现有技术相比,本发明的技术方案具有以下的优点:

上述的方案,对SNMP中采集的连接数据信息进行分析,通过MAC地址构建各个交换机通过自身物理端口与其他交换机连接的连接关系表达式,并基于所构建的连接关系表达式,得到对应的交换机拓扑结构,而不需要依赖MAC地址转发表,因而MAC地址转发表的完整性不会对拓扑构建产生影响,因而可以提高链路层网络拓扑构建的准确性。

附图说明

图1是本发明实施例中的一种交换机拓扑构建方法的流程图;

图2是采用本发明实施例中的一种交换机拓扑构建方法构建的交换机拓扑示意图;

图3是本发明实施例中的一种交换机拓扑构建装置的结构示意图。

具体实施方式

如背景技术所述,现有技术中的链路层拓扑构建方法主要通过MAC地址转发表来获取交换机之间的连接关系,由于MAC地址转发表会实时更新,当MAC地址转发表中的数据不完整时,将会造成构建的交换机拓扑不准确,存在着拓扑构建准确性低的问题。

为解决现有技术中存在的上述问题,本发明实施例采用的技术方案对SNMP中采集的连接数据信息进行分析,通过MAC地址寻找各个交换机通过自身物理端口与其他交换机进行连接的连接关系表达式,并对所构建的连接关系表达式进行分析整理,以得到对应的交换机拓扑结构,而不需要依赖MAC地址转发表数据的完整性,可以提高链路层网络拓扑构建的准确性。

为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。

图1示出了本发明实施例提供了一种交换机拓扑构建方法的流程图。参见图1,在具体实施中,本发明实施例中的交换机拓扑构建方法可以包括如下的步骤:

步骤S101:从SNMP服务中采集对应的连接数据信息。

在具体实施中,从SNMP服务中所采集的连接数据信息与交换机之间的连接关系相关。在本发明一实施例中,所采集的连接数据信息包括:包含IP地址与MAC地址之间的对应关系的数据表ipNetToMediaPhysAddress;包含MAC地址与端口之间的对应关系的数据表dot1dTpFdbPort;包含端口与端口索引之间的对应关系的数据表dot1BasePortTable,以及用于获取端口与MAC地址之间的对应关系的数据表ifTable。

在具体实施中,当已经获知所构建的拓扑结构中的所有设备,即全部的交换机时,仅需要从SNMP中获取上述的数据表的信息即可。但是,当仅知道所构建的拓扑结构中的部分交换机时,所采集的连接数据信息还包括包含交换机的IP地址信息的数据表ipAddressTable,以通过数据表ipAddressTable获取各台交换机的全部IP地址,并通过IP地址和子网掩码的信息来确定遗漏的交换机的信息。

步骤S102:对所采集的数据信息进行分析,基于MAC地址构建各个交换机通过自身的物理端口与其他交换机连接的连接关系表达式。

在具体实施中,当从SNMP中获取上述的数据表的信息时,可以对所获取的数据表的信息进行分析,以MAC地址作为桥梁,寻找所有交换机通过自身的物理端口与其他交换进行连接的连接关系,并建立对应的连接关系表达式。

具体而言,对于拓扑结构中的每台交换机,可以首先通过数据表ipAddressTable获取对应的IP地址,并将每台交换机采用唯一的IP地址进行标识。其中,每台交换机对应的IP地址可能为一个或者多个。当交换机对应的IP地址为多个时,可以使用从对应的多个IP地址中任意选取的一个IP地址对交换机进行标识。接着,通过数据表ifTable中的ifPhysAddress字段中的内容可以获取每台交换机对应的MAC地址的信息,从而构成每台交换机的MAC地址集合。

在获取到每台交换机的MAC地址集合时,将每台交换机的MAC地址集合中的MAC地址分别与其他交换机的MAC地址集合中的MAC地址进行比较,以确定是否存在与其他交换机的MAC地址相匹配(相同)的MAC地址。当确定存在与其他交换机相匹配的MAC地址时,从数据表dot1dTpFdbPort中的dot1dTpFdbPort字段中获取与相匹配的MAC地址对应的端口号的信息,并根据所获取的端口号的信息,从数据表dot1BasePortTable中的端口与端口索引的对应关系中获取对应的物理端口的信息,此时认为该交换机与存在相匹配的MAC地址的其他交换机之间通过该物理端口连接,并因此建立对应的连接关系表达式,简单记为:A-X={B},表示交换机A通过自身的物理端口X与交换机B连接。

通过上述的方式,可以分别建立每台交换机通过自身的物理端口与其他交换机连接的一个或者多个连接关系表达式。其中,当交换机通过自身的同一个物理端口与不同的其他交换机连接时,可以将对应的多个连接关系表达式合并为A-X={B,C},表示表示交换机A通过自身的物理端口X分别与交换机B和C连接。

步骤S103:对所建立的连接关系表达式进行整理分析,得到对应的交换机拓扑。

在具体实施中,当建立得到每台交换机对应的连接关系表达时,可以通过如下的方式对所建立的连接关系表达式进行整理分析,以得到对应的交换机拓扑:

首先,对多个交换机的连接关系表达式进行遍历,当确定交换机存在多个端口与其他交换机连接时,将该交换机作为待构建的交换机拓扑的非叶结点;对于作为非叶结点的交换机,当确定其某个物理端口仅存在唯一的连接关系表达式,即作为非叶结点的交换机仅通过该物理端口与唯一的其他交换机连接时,将对应的其他交换机作为叶子节点,且确定作为非叶结点的交换机与对应的作为叶子节点的交换机之间直接连接。

对于作为非叶结点的任意两台交换机,除去与作为叶子节点的交换机连接的物理端口之外,当剩余物理端口所连接的交换机集合的交集为空时,确定对应的作为非叶结点的两台交换机之间通过对应的物理端口连接,也即对应的作为非叶结点的两台交换机之间直接连接。

下面将结合具体的实例对本发明实施例中的交换机拓扑构建方法进行说明。

假定某个机房存在12台交换机,为了描述方便,定义Ai-j={Sm}表示第第i台交换机通过物理端口j与第m(m≠i)台交换机Sm连接,通过图1所示的步骤S101~S102建立的对应的12台交换机的连接关系表达式分别如下:

对于交换机A1:

A1-0={S2,S9}

对于交换机A2:

A2-1={S1};A2-2={S3};A2-3={S4};A2-3={S4};A2-4={S5};

A2-17={S6,S7,S8,S9,S10,S11};A2-55={S12}

对于交换机A3:

A3-1={S2,S9}

对于交换机A4:

A4-1={S2,S9}

对于交换机A5:

A5-1={S2,S9}

对于交换机A6:

A6-9={S1,S5,S12};A6-49={S11};A6-50={S7};A6-61={S10};A6-62={S8};A6-67={S9}

对于交换机A7:

A7-32={S2,S9}

对于交换机A8:

A8-1={S2,S9}

对于交换机A9:

A9-1={S2}

对于交换机A10:

A10-1={S2}

对于交换机A11:

A11-25={S2,S9}

对于交换机A12:

A12-1={S2,S9}

对于上述的连接关系表达式进行分析,因交换机A2和交换机A6分别存在多个物理端口与其他交换机连接,确定交换机A2和交换机A6为非叶结点。

对于作为非叶结点的交换机A2,其物理端口1、2、3、4和55分别仅连接交换机A1、A3、A4、A5和A12,因而可以确定交换机A1、A3、A4、A5和A12均为非叶结点,且交换机A2分别与交换机A1、A3、A4、A5和A12直接连接。

对于非叶结点的交换机A6,其物理端口49、50、61、62和67分别仅连接交换机A11、A7、A10、A8和A9,可以确定交换机A11、A7、A10、A8和A9均为非叶结点。同时,确定交换机A6分别与交换机A11、A7、A10、A8和A9直接连接。

对于作为非叶结点的交换机A2和A6,除去与作为叶子节点连接的端口之外,剩余端口对应的连接关系表达式分别为A2-17={S6,S7,S8,S9,S10,S11}和A6-9={S1,S5,S12},且{S6,S7,S8,S9,S10,S11}与{S1,S5,S12}的交集为空,可以确定交换机A2通过自身的物理端口17和交换机A6的物理端口9连接,即作为非叶结点的交换机A2和A6直接连接。

通过上述的方式,最终建立的交换机拓扑请参见图2。

上述对本发明实施例中的交换机拓扑构建方法进行了详细的介绍,下面将对上述的方法对应的装置进行介绍。

图3示出了本发明实施例中的一种交换机拓扑构建装置的结构。参见图3,本发明实施例中的一种交换机拓扑构建装置300可以包括信息获取单元301、关系构建单元302和拓扑构建单元303,其中:

所述信息获取单元301,适于从交换机简单网络管理协议服务中采集对应的连接数据信息;其中,所述连接数据信息与交换机之间的连接关系相关。在本发明一实施例中,所述连接数据信息可以包括:IP地址与MAC地址的对应关系;MAC地址与端口号的对应关系;端口号与端口索引的对应关系。

所述关系构建单元302,适于对所采集的数据信息进行分析,基于MAC地址构建各个交换机通过自身的物理端口与其他交换机连接的连接关系表达式。

在本发明一实施例中,所述关系建立单元302,适于将各个交换机采用唯一的IP地址进行标识,并从所述端口与MAC地址的对应关系中获取各个交换机的全部MAC地址,构成各个交换机的MAC地址集合;对于任一交换机,当确定其他交换机的MAC地址集合中存在相匹配的MAC地址时,基于所述MAC地址与端口号的对应关系,确定与所述相匹配的MAC地址对应的端口号的信息;基于对应的端口号与端口索引之间的对应关系,确定与所述相匹配的MAC地址对应的物理端口;建立所述交换机通过所确定的物理端口,与存在相匹配的MAC地址的其他交换机之间的连接关系表达式。

所述拓扑构建单元303,适于对所建立的连接关系表达式进行整理分析,得到对应的交换机拓扑结构。

在本发明一实施例中,所述拓扑构建单元303,适于对所建立的所有连接关系表达式进行分析;当确定交换机存在多个物理端口与其他交换机连接时,将所述交换机作为所述拓扑结构的非叶结点;当确定作为非叶结点的交换机的任一物理端口仅与唯一的其他交换机连接时,将所述唯一的其他交换机作为所述拓扑结构的叶子节点,并确定所述作为非叶结点的交换机与所述作为所述叶子节点的交换机直接连接;对于任意两个作为非叶结点的交换机,当除去与作为叶子节点的交换机连接的物理端口之外的剩余物理端口连接的交换机的交集为空时,确定对应的两个作为非叶结点的交换机直接连接。

采用本发明实施例的上述方案,通过MAC地址,对所采集的连接数据信息进行分析,构建各个交换机通过自身物理端口与其他交换机连接的连接关系表达式,并基于所构建的连接关系表达式,得到对应的交换机拓扑结构,而不需要依赖MAC地址转发表的完整性,因而可以提高链路层网络拓扑构建的准确性。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。

以上对本发明实施例的方法及系统做了详细的介绍,本发明并不限于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1