一种网络拓扑建构的方法和装置与流程

文档序号:16061000发布日期:2018-11-24 12:11阅读:271来源:国知局

本发明实施例涉及网络安全领域,尤指一种网络拓扑建构的方法和装置。

背景技术

为维护计算机网络,网络管理员需要拥有网络中设备的更新信息,和设备是如何互连的。此外,随着网络的发展,网络管理员可能需要添加新的设备至网络或者重新配置网络中的设备。网络管理员需要清楚连接网络拓扑,也就是网络资源和物理/逻辑层面间的关联关系,网络拓扑可以通过不同的视角和层面的图表进行展示。

网络拓扑图也可作为自动网络管理的基础,例如,诊断连接问题、设计网络连接请求、实现网络连接请求、验证网络连接变更和监控网络连接状态。

最早是通过管理员根据实际网络绘制网络拓扑,这种方式既耗费大量资源,而且不能实时更新。另一种网络拓扑技术是采用snmp(simplenetworkmanagementprotocol,简单网络管理协议)和icmp(internetcontrolmessageprotocol,internet控制报文协议)实时/按需监控服务器与网络设备连接,获取网络设备上配置信息,生成网络拓扑。这种方式也存在多种问题:

1、安全问题,snmp是无加密协议,安全得不到保障,icmp需要网络设备开启相应的icmp服务,会引入被ddos(distributeddenialofservice,分布式拒绝服务)攻击的风险;

2、消耗问题,snmp采用轮询的方式获取统计信息,消耗大,尤其是在复杂的网络环境中;

3、兼容问题,snmp需要兼容多厂商多版本的mib(managementinformationbase,管理信息库)库内容,且当出现不受管理的设备时,无法生成完整的拓扑图,另外icmp无法获取的设备接口、路由等配置信息,无法构建完善的网络拓扑图,用于后续基于网络拓扑的应用开发。



技术实现要素:

本发明实施例提供一种网络拓扑建构的方法和装置,以屏蔽各厂商版本的差异性,减少资源消耗。

一种网络拓扑建构的方法,包括:

采集网络中指定设备的配置信息,对所述配置信息进行归一化处理,所述配置信息至少包括接口信息和路由信息;

分析所述接口信息,分析所述路由信息,

根据所述接口信息和所述路由信息建构网络拓补图。

可选地,所述采集网络中指定设备的配置信息,包括以下的一种或多种:

接收到用户主动发送的采集指令或者接收到日志服务器的触发消息后,采集网络中指定设备的配置信息;或者

定时采集网络中指定设备的配置信息。

可选地,所述建构网络拓扑图的过程中还包括:

当获得所述指定设备当前最新配置信息后,删除拓扑图中与所述指定设备相关的节点和拓扑关系。

可选地,所述分析所述接口信息包括:

分析接口是否正常运行或者是否被使用,删除未正常运行和无路由通过的接口,删除拓扑图中ip地址等于该接口ip地址的网络设备和与该网络设备的直连子网。

可选地,所述分析所述路由信息包括:

分析路由表条目,根据路由类型将路由信息分为直连路由信息和目的路由信息;

遍历完所述路由表条目后,根据所述直连路由信息进行直连路由分析,根据所述目的路由信息进行目的路由分析。

可选地,所述根据所述直连路由信息进行直连路由分析包括:

遍历直连路由条目,如确定接口连接外网,则构建和更新外网节点;如确定接口连接内部私有网,则构建和更新内部私有网节点;如接口未连接外网也未连接内部私有网,则对比拓扑图中子网节点与该接口连接的子网节点的ip地址,构建和更新拓扑图中相关组件。

可选地,所述如确定接口连接外网,则构建和更新外网节点,包括:

判断拓扑图中是否已存在外网子网节点,如未存在,则新增外网子网节点,如已存在,则建立所述接口与已存在外网子网节点的链路连接关系。

可选地,所述如确定接口连接内部私有网,则构建和更新内部私有网节点,包括:

判断拓扑图中是否存在内部私网子网节点,如不存在,则新增内部私网子网节点,如存在,建立所述接口与已存在内部私网子网节点的链路连接关系。

可选地,所述如接口未连接外网也未连接内部私有网,则对比拓扑图中子网节点与该接口连接的子网节点的ip地址,构建和更新拓扑图中相关组件,包括:

遍历拓扑图中所有设备节点直连的内网子网节点,判断直连路由信息的目的ip地址与所有内网子网节点的ip地址是否存在包含、被包含、相交关系的子网,如果不存在,则新增一内网子网节点;如果存在包含或被包含关系,则与已有内网子网节点合并,以根据地址范围大的子网节点设置节点属性;如果与已有内网子网节点存在相交关系,则以根据已存在的节点设置节点属性,然后建立所述接口与已存在内网子网节点的链路。

可选地,所述根据所述目的路由信息进行目的路由分析,包括:

获取一所述目的路由信息中的网关地址,遍历拓扑中所有设备接口的ip地址,判断是否有设备节点的ip地址与所述网关地址相同,如果没有,则根据所述目的路由信息新增推导设备和推导子网,建立被分析设备与所述新增推导设备,所述新增推导设备与所述新增推导子网节点的链路;如果有,判断被分析设备与ip地址相同的设备节点连接的子网节点是否为同一个子网节点,如不是同一个子网节点,则合并被分析设备与ip地址相同的设备节点所连接的子网节点。

一种网络拓扑建构的装置,包括存储器和处理器,其中,

所述存储器,存储有以下指令:采集网络中指定设备的配置信息,对所述配置信息进行归一化处理,所述配置信息至少包括接口信息和路由信息;分析所述接口信息,分析所述路由信息,根据所述接口信息和所述路由信息建构网络拓扑图;

所述处理器,用于执行所述存储器存储的指令。

综上,本发明实施例提供一种网络拓扑建构的方法和装置,首先本发明采用安全的通信协议,例如使用ssh(secureshellprotocol,安全外壳协议)连接外部安全设备,安全可靠获取设备最新最全面的配置信息无需轮询设备获取信息,另外无需兼容复杂的各设备厂家的snmpmib库,实现代价成本小;对设备的配置信息归一化处理,屏蔽各厂商版本的差异性。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明实施例的网络拓扑建构的装置的示意图。

图2是本发明实施例的网络拓扑图界面的示意图。

图3是本发明实施例的网络拓扑图建构的流程图。

图4是本发明实施例的对配置采集信息归一化后的格式的示意图。

图5是本发明实施例的构建和更新拓扑流程图。

图6是本发明实施例的构建更新拓扑图时路由信息分析的流程图。

图7是本发明实施例的直连路由信息分析的流程图。

图8是本发明实施例的定时采集任务配置界面的示意图。

图9是本发明实施例的构建更新拓扑图时接口信息分析的流程图。

图10是本发明实施例的直连路由接口连接外网的分析的流程图。

图11是本发明实施例的直连路由接口连接内部私网节点的分析的流程图。

图12是本发明实施例的直连路由接口连接内网的分析的流程图。

图13是本发明实施例的目的路由信息分析的流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

图1为本发明实施例的网络拓扑建构的装置的示意图,如图1所示,本实施例的装置包括采集模块和拓扑构建模块,还包括展示面接口。其中,

采集模块,用于采集网络中指定设备的配置信息,,对所述配置信息进行归一化处理,所述配置信息至少包括接口信息和路由信息;

分析模块,用于分析所述接口信息,分析所述路由信息;

建构模块,用于根据所述接口信息和所述路由信息建构网络拓扑图。

采集模块负责从外部安全设备采集配置信息,并做归一化处理,为后续模块提供信息输入,拓扑构建模块是本发明实施例的核心分析模块,展示面接口负责为用户展示拓扑信息。

其中,在一可选实施例中,所述采集模块,采集网络中指定设备的配置信息包括以下的一种或多种:接收到用户主动发送的采集指令或者接收到日志服务器的触发消息后,采集网络中指定设备的配置信息;或者定时采集网络中指定设备的配置信息。

在一可选实施例中,所述建构模块,建构网络拓扑图的过程中还包括:当获得所述指定设备当前最新配置信息后,删除拓扑图中与所述指定设备相关的节点和拓扑关系。

在一可选实施例中,所述建构模块,分析所述接口信息包括:分析接口是否正常运行或者是否被使用,删除未正常运行和无路由通过的接口,删除拓扑图中ip地址等于该接口ip地址的网络设备和与该网络设备的直连子网。

在一可选实施例中,所述建构模块,分析所述路由信息包括:分析路由表条目,根据路由类型将路由信息分为直连路由信息和目的路由信息;遍历完所述路由表条目后,根据所述直连路由信息进行直连路由分析,根据所述目的路由信息进行目的路由分析。

在一可选实施例中,所述建构模块,根据所述直连路由信息进行直连路由分析包括:遍历直连路由条目,如确定接口连接外网,则构建和更新外网节点;如确定接口连接内部私有网,则构建和更新内部私有网节点;如接口未连接外网也未连接内部私有网,则对比拓扑图中子网节点与该接口连接的子网节点的ip地址,构建和更新拓扑图中相关组件。

在一可选实施例中,所述建构模块,根据所述目的路由信息进行目的路由分析包括:获取一所述目的路由信息中的网关地址,遍历拓扑中所有设备接口的ip地址,判断是否有设备节点的ip地址与所述网关地址相同,如果没有,则根据所述目的路由信息新增推导设备和推导子网,建立被分析设备与所述新增推导设备,所述新增推导设备与所述新增推导子网节点的链路;如果有,判断被分析设备与ip地址相同的设备节点连接的子网节点是否为同一个子网节点,如不是同一个子网节点,则合并被分析设备与ip地址相同的设备节点所连接的子网节点。

本发明实施例还提供一种网络拓扑建构的装置,包括存储器和处理器,其中,

所述存储器,存储有以下指令:采集网络中指定设备的配置信息,对所述配置信息进行归一化处理,所述配置信息至少包括接口信息和路由信息;分析所述接口信息,分析所述路由信息,根据所述接口信息和所述路由信息建构网络拓扑图;

所述处理器,用于执行所述存储器存储的指令。

在本发明实施例中,为方便实施例的说明,将网络拓扑图中的组件描述为由设备、子网、推导设备、推导云、链路组成,但实际网络组件并不局限于上述情况。图2是本发明实施例的网络拓扑图界面的示意图,展示了拓扑图有哪些组件组成,以及组件间的连接关系每个组件具有特定的属性值,如图2所示,详细如下:

设备:组件id,组件名称,厂商版本,接口ip,安全状态,设备功能,节点类型;

子网:组件id,组件名称,子网ip,节点类型,nat(networkaddresstranslation,网络地址转换)转换策略;

推导设备:组件id,组件名称,推导ip,节点类型;

推导子网:组件id,组件名称,子网ip,节点类型;

链路:源组件id,目的组件id,父组件id,状态;

在网络拓扑图中设备、子网、推导设备、推导子网都以节点形式显示,通过节点类型和图标的不同表示不同组件,例如:

<nodeid=″100″ip=″10.42.31.1″name=″1620防火墙″desc=″1620防火墙厂商版本:zxsec-us1620av4.0,build3843安全状态:86,″type=″1″nodesize=″32″application=“fw”nodeicon=″fw”/>,

其中,type=“1”表示设备节点,application=“fw”表示该设备有防火墙功能,application=“vpn”表示该设备有vpn(virtualprivatenetwork,虚拟专用网)功能以此类推;type=“2”表示子网节点,根据application分为三类,详见实施例二、三、四;type=“3”表示推导节点,详见实施例五。

在网络拓扑图中链路以边的形式显示,通过fromid和toid表示该链路连接的两个节点,通过color和edgeicon表示链路的状态,例如:<edgefromid=″100″toid=″101″color=″default″edgeicon=″default″/>;

分析网络拓扑图之前,需要管理员把分析的设备属性配置到系统中,具体属性包括但不限于:设备名称、厂商、版本号、管理ip地址、用户名、密码、采集方式等。完成设备属性的配置后,系统会初始化拓扑图,构建该设备节点。

图3是本发明实施例的网络拓扑图生成流程图,本发明实施例中采集子系统采集安全设备配置信息,并做归一化处理;然后拓扑构建模块提取拓扑相关信息,构建和更新拓扑;最后在展示拓扑和节点信息前,优化拓扑。如图3所示,主要包括以下步骤:

步骤101、采集网络中指定设备的配置信息,对所述配置信息进行归一化处理,所述配置信息至少包括接口信息和路由信息;

本实施例中的指定设备为具有路由功能的设备统称为路由设备,不局限于路由器、交换机、防火墙、vpn(virtualprivatenetwork,虚拟专用网)、ips(intrusionpreventionsystem,入侵防御系统)等设备。

本实施例中,采用安全的通信协议,例如使用ssh(secureshellprotocol,安全外壳协议)连接外部安全设备,直接访问指定的网络设备,安全可靠获取设备最新最全面的配置信息,而无需轮询设备获取配置信息。

本实施例中,根据触发方式的不同可以分为主动采集、定时任务触发采集、日志服务器触发采集,实施例一中详细介绍。

本发明实施例在采集配置信息后进行归一化处理,屏蔽不同厂商版本间的差异性,另外无需兼容复杂的各设备厂家的snmpmib库,实现代价成本小。具体归一化数据格式可以参考图4,例如:对原始配置信息进行如下的归一化处理:

接口配置:状态,ip,名称,vlanid;

接口硬件状态:名称,链路状态,速率,接收字节数,发送字节数;

路由信息:路由类型,协议类型,目的地址,源地址,源接口,网关,接口,距离,成本,优选级,权重,有效期等;

nat地址转换策略:id,nat规则类型,源vlan,目的vlan,转换前后的源/目的端口和ip,nat策略启用状态,nat策略绑定的接口,nat策略使用的协议等。

步骤102、分析所述接口信息,分析所述路由信息,构建和更新拓扑;如图5所示,包括以下步骤:

步骤102.1、信息初始化,删除过时节点和拓扑关系;

拓扑构建模块初始化分析数据,提取接口信息和路由信息等配置,获得当前设备最新数据后删除拓扑图中与该设备相关的节点和拓扑关系。

步骤102.2、分析接口信息(详见实施例二);

步骤102.3、分析路由信息。

步骤103、根据所述接口信息和所述路由信息建构网络拓补图(详见实施例三、四、五)。

在展示拓扑和节点信息前,本发明实施例还会优化拓扑,解决黑洞路由,不对称路由(详见实施例六)。

步骤104、展示拓扑和节点信息。

本实施例的方法,根据采集的配置信息,提取接口信息、路由信息等配置信息,生成和更新网络组件的连接关系,根据网络组件的连接关系进而生成网络拓扑图,并且展示网络组件的属性信息。

其中,根据路由类型的不同路由信息分析又可以分为直连路由分析和目的路由分析,如图6所示,包括以下步骤:

步骤201、遍历路由表,判断是否存在未分析的路由表信息,如存在,则转步骤202,如不存在,则转步骤203;

步骤202、获取未分析的路由表条目,判断路由类型,如路由类型是直连路由,则提取直连路由信息,如路由类型是目的路由,则提取目的路由信息,返回步骤201;

步骤203、如路由表信息都已分析,则进行直连路由分析,然后进行目的路由分析。

直连路由分析根据接口连接区域的属性可以分为三个分析流程,如图7所示,分别为:外网节点直连路由分析(详见实施例二)、内部私网节点直连路由分析(详见实施例三)、内网节点直连路由分析(详见实施例四),包括以下步骤:

步骤301、遍历直连路由条目,判断接口是否连接外网区,如是,则转步骤302,如不是,则转步骤303;

步骤302、构建和更新外网节点,结束;

步骤303、接口是否连接内部私有网,如是,则转步骤304,如不是,则转步骤305;

步骤304、构建和更新内部私有网节点,结束;

步骤305、对比拓扑图中子网节点与该接口连接的子网节点的ip地址;

步骤306、构建和更新拓扑图中相关组件。

以下实施例对本发明的方法进行详细的说明。

实施例一

采集网络中指定设备的配置信息根据触发的方式不同可以分为主动触发配置采集、定时任务触发配置采集、日志服务器触发网络拓扑系统配置采集。

1、通过选择在线可连通设备,人工触发在线采集,点击配置采集按钮,采集最新信息;或是人工触发离线采集,上传配置文件更新离线不可连通设备的配置信息,主动采集、更新配置信息;

2、在系统中设置定时任务配置模块,如图8所示,可通过配置定时任务循环触发采集子模块采集安全设备的配置信息,例如,在每天的设备业务量的闲时进行配置采集;

3、系统的日志服务器可通过pull/push(拉取/推送)两种方式获得安全设备的配置信息变更日志,通过分析对比日志和当前配置信息,判断设备配置是否发生变更,从而决定配置采集子系统是否主动采集设备配置。

实施例二

本实施例中,分析设备的接口信息,过滤无效的接口信息,确定哪些接口是激活可用的,如图9所示,具体步骤如下:

步骤801、遍历外部安全设备最新的配置采集归一化接口信息;

步骤802、提取接口配置和接口硬件状态获取所有接口信息列表,根据接口硬件状态的链路状态判断哪些接口未正常运行;

步骤803、提取路由信息,遍历所有路由信息;

步骤804、根据直连路由和目的路由中的接口字段,判断接口是否被使用,如接口未被使用,则转步骤805,当接口未正常运行且有路由通过的接口,则执行步骤806;

步骤805、删除未正常运行和无路由通过的接口;

步骤806、删除拓扑中ip地址等于该接口ip地址的推导设备和直连推导子网。

推导设备是根据目的路由信息推算得到,网络拓扑图中应该有ip地址为该目的路由信息中网关地址的网络设备;

推导子网是根据目的路由信息推算得到,上述推导设备直连的子网。

实施例三

本实施例中描述了某条直连路由的目的是公有ip地址(段)时,判断对应接口所连接网络为外网(互联网)。例如:已配置设备1620防火墙信息,并初始化拓扑图,生成设备节点:

<nodeid=″0″ip=″158.123.18.1″name=″1620fw"desc=″....”″type=″1″nodesize=″32″application=“fw”nodeicon=″fw”/>,

采集配置信息后获得接口信息(其中,包括接口eth0/1.0的具体信息),路由信息,其中直连路由信息如下:

类型网络地址路径长度路径成本网关接口

直连158.123.18.5600158.123.18.1eth0/1.0

该直连路由的网络地址为公有ip地址(段),在本发明实施例中将公有ip地址(段)视为外网(internet),将以一个子网或云节点的形式在拓扑图中呈现。如果直连路由的目的是公有ip地址(段)时,则需遍历整个拓扑是否已存在外网节点,避免重复新增外网节点,具体分析流程如图10所示,主要有以下步骤:

步骤1101、遍历拓扑图中所有已存在的组件;

步骤1102、判断拓扑图中是否已存在外网子网节点,若不存在,则执行步骤1103,否则执行步骤1104;

步骤1103、当拓扑图中不存在外网子网节点时,新增外网子网节点,例如,可以节点id为系统从0递增,名称为“external”,图标为“external-subnet”,描述信息为“外网子网”,例如:

<nodeid="1"ip="158.123.18.56"name="external"desc="外网节点”"type="2"nodesize="32"nodeicon="external-subnet”nat=“default”/>。

步骤1104、该条直连路由的网络地址为外网子网节点1的ip地址,且通过设备节点0的接口eth0/1.0可访问到外网子网节点1,所以节点0与外网子网节点1之间存在链路,建立设备1620防火墙与该外网子网的链路(edge描述的是链路组件)连接关系,如下:

<edgefromid="0"toid="1"color="default"edgeicon=″default″/>。

实施例四

本实施中描述了某条直连路由的目的为内部私网时,对该直连路由的处理流程。例如:已配置设备3112防火墙信息,并初始化拓扑图,生成设备节点:

<nodeid="2"ip="10.42.179.10"name="3112fw"desc="....”"type="1"nodesize="32″application=“fw”nodeicon="fw”/>,

采集配置信息后获得接口信息(其中包括接口eth0/1.2的具体信息),路由信息,其中直连路由信息如下:

所谓内部私网,是企业内部搭建的需要通过nat转换才能与外界通信的网络,或通过其他方式搭建的与整个拓扑相对独立的子网。由于内部私网与整个拓扑相对独立,所以不用判断网络中是否存在可合并子网节点,可直接新增,具体分析流程如图11所示,主要有以下步骤:

步骤1201、遍历设备节点2直连的内部私网节点,是否已存在网络地址为192.168.1.1/24的内部私网节点,若存在,则执行步骤1203,否则执行步骤1202;

步骤1202、当拓扑图中不存在内部私网子网节点时,新增内部私网子网节点,例如,节点id为系统从0递增,名称为“设备名称_p_ip”,图标为“private-subnet”,描述信息为“私网子网:ip地址”,例如:

<nodeid=″3″ip=″192.168.1.1/24″name=″3112fw_p_192.168.1.1/24″desc=″私网节点:192.168.1.1/24”″type=″2″nodesize=″32″nodeicon=″private-subnet”nat=“default”/>;

步骤1203、该条直连路由的网络地址为内部私网子网节点3的ip地址,且通过设备节点2的接口eth0/1.2可访问到外网子网节点3,所以节点2与内部私网子网节点3之间存在链路,建立被分析设备与该私网子网节点的链路(edge描述得是链路组件)连接关系,连接关系,例如:

<edgefromid=″2″toid=″3″color=″default″edgeicon=″default″/>。

实施例五

本实施例中描述了某条直连路由的目的为内网时,对该直连路由的处理流程。例如:已配置设备3340防火墙信息,并初始化拓扑图,生成设备节点:

本实施例的内网是相对外网(互联网)说的,实施例四中的内部私网是一种特殊内网,例如小范围的实验室私网,与外网和其他内网不连接。

<nodeid=″4″ip=″10.42.179.1″name=″3340fw″desc=″....”″type=″1″nodesize=″32″application=“fw”nodeicon=″fw”/>,

采集配置信息后获得接口信息(其中包括接口eth0/1.4的具体信息),路由信息,其中直连路由信息如下:

由于内网存在多个设备连接同一个内网节点的情况,所以新增内网节点前,需遍历其他内网子网节点,是否存在可合并的情况,具体分析流程如图12所示,主要有以下步骤:

步骤1301、遍历拓扑图中所有设备节点直连的内网子网节点;

步骤1302、判断直连路由的目的ip地址与所有内网子网节点的ip地址是否存在包含、被包含、相交关系的子网,若没有任何交集,则执行步骤1303,否则执行步骤1304;

步骤1303、新增该内网节点,节点id为系统从0递增,名称为“设备名称_i_ip”,图标为“internal-subnet”,描述信息为“内网子网节点:ip地址”,例如:

<nodeid=″5″ip=″10.42.179.1/29″name=″3340fw_i_10.42.179.1/29"desc="内网子网节点:10.42.179.1/29”"type=″2"nodesize="32"nodeicon="internal-subnet”nat=“default”/>;然后转步骤1305;

步骤1304、当与已有内网子网节点存在包含或被包含关系时,则与此已有内网子网节点合并,以根据地址范围大的子网节点设置节点属性(名称、ip地址、描述信息、类型、节点大小、节点图标)。当与已有内网子网节点存在相交关系时,以根据已存在的节点设置节点属性(同上,除ip地址),ip地址为两个地址范围的并集;然后转步骤1305;

步骤1305、该条直连路由的网络地址为内网子网节点5的ip地址,且通过设备节点4的接口eth0/1.4可访问到内网子网节点5,所以节点4与内网子网节点5之间存在链路,建立被分析设备与该内网子网节点的链路(edge描述的是链路组件)连接关系,例如:

<edgefromid="4"toid="5″color="default"edgeicon="default"/>。

实施例六

本实施例中描述了目的路由的处理流程,目的路由主要是构建设备间的拓扑关系,由于拓扑中存在不受管理的设备,所以存在拓扑图中无目的路由下一跳地址的对应节点,即不受管理的安全设备,需新增推导设备和推导子网,例如:已存在设备a信息,且设备a已完成配置采集、拓扑分析,节点信息如下:

<nodeid=″6″ip=″10.41.35.50″name=″a″desc=″....”″type=″1″nodesize=″32″application=“fw”nodeicon=″fw”/>。

设备a的接口eth0/a直连子网节点as,<nodeid=″7″ip=″10.41.35.50/29″name=″as″desc=″子网:10.41.35.50/29”″type=″2″nodesize=″32″nodeicon=″internal-subnet”nat=“default”/>。

配置设备3810防火墙信息后,初始化拓扑图,生成设备节点<nodeid=″8″ip=″10.41.35.1″name=″3810fw″desc=″....”″type=″1″nodesize=″32″application=“fw”nodeicon="fw”/>;

采集配置信息后获得接口信息(其中包括接口eth0/1.6的具体信息,),路由信息,其中路由信息如下:

具体分析流程如图13所示,主要有以下步骤:

步骤1401、获取某目的路由信息中的网关地址,遍历拓扑中所有设备接口ip地址;

步骤1402、若网关地址与已存在设备节点a接口eth0/a的ip地址相同,则说明被分析的3810设备与设备a的eth0/a接口之间是联通的,则执行步骤1405;如果没有这样的设备节点,则执行步骤1403新建推导设备和推导子网节点;

步骤1403、根据目的路由信息新增推导设备和推导子网。

例如节点id为系统从0递增,名称为“d_ip”,图标为“derived-router”,描述信息为“推导设备:ip地址”,例如:

<nodeid="9"ip="10.41.35.185"name="3810fw_dr_10.41.35.185"desc="推导设备:10.41.35.185”"type="3"nodesize="32"nodeicon="derived-router”/>;

<nodeid=″10″ip=″10.41.140.0/22″name="3810fw_ds_10.41.140.0/22"desc="推导子网:10.41.140.0/22”"type="4"nodesize="32"nodeicon="derived-subnet”nat=“default”/>;

步骤1404、该条目的路由的网络地址为推导子网节点10的ip地址,网关地址为推导设备9的ip地址,说明这三个组件节点间是联通的,建立被分析设备与该内网子网节点的链路(edge描述的是链路组件)连接关系,例如:

<edgefromid="8"toid="9"color=″default″edgeicon=″default"/>;

<edgefromid="9"toid="10"color="default″edgeicon="default"/>。

步骤1405、通过设备3810的直连路由信息和设备a的子网信息,判断当前分析设备3810的eth0/1.6接口与设备a的eth0/a接口所连接的子网节点是否为同一个子网节点,若是则说明在分析设备3810或设备a的直连路由,已经完成了内网子网的合并(具体参见实施例五的步骤1304),执行步骤1407,否则执行步骤1406;

步骤1406、合并设备3810的eth0/1.6接口和设备a的eth0/a接口连接的两个子网节点,设置节点属性:节点id;节点名称:3810_a_ms;ip地址:两个子网的并集;描述信息:3810设备与a设备合并子网节点;类型:2;节点大小:default;节点图标:merged_subnet。例如:

<nodeid=″7″ip=″10.41.35.1/29;10.41.35.50/29;″name=″3810_a_ms″desc=″3810设备与a设备合并子网节点:10.41.35.1/29;10.41.35.50/29”″type=″2″nodesize=″32″nodeicon=″merged_subnet”nat=“default”/>。

步骤1407、虽然合并了设备3810的eth0/1.6接口和设备a的eth0/a接口连接的两个子网节点,但是子网节点与设备3810和设备a的连接关系没有发生改变,所以新增子网与两个设备的链路(edge描述的是链路组件)连接关系,如下:

<edgefromid=″6″toid=″7″color=″default"edgeicon=″default"/>

<edgefromid="8″toid=″7″color=″default″edgeicon=″default″/>。

本发明提出的网络拓扑图并不是呈现简单的设备连接关系,还根据已有信息分析出网络设备接口间的连接关系、子网划分情况,以及推导出可能的设备和子网,供后续业务应用的使用。

本发明实施例还提供了一种计算机可读存储介质,其存储有计算机可执行指令,所述计算机可执行指令被执行时实现所述网络拓扑建构的方法。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。

以上仅为本发明的优选实施例,当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

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