公开/公告号CN102891765A
专利类型发明专利
公开/公告日2013-01-23
原文格式PDF
申请/专利权人 曙光云计算技术有限公司;
申请/专利号CN201210326529.3
申请日2012-09-05
分类号H04L12/24(20060101);H04L29/08(20060101);
代理机构11271 北京安博达知识产权代理有限公司;
代理人徐国文
地址 100193 北京市海淀区东北旺西路8号中关村软件园36号
入库时间 2024-02-19 16:59:17
法律状态公告日
法律状态信息
法律状态
2017-07-14
专利权人的姓名或者名称、地址的变更 IPC(主分类):H04L12/24 变更前: 变更后: 申请日:20120905
专利权人的姓名或者名称、地址的变更
2016-01-20
授权
授权
2013-08-28
实质审查的生效 IPC(主分类):H04L12/24 申请日:20120905
实质审查的生效
2013-01-23
公开
公开
技术领域
本发明涉及网络管理技术领域,具体涉及一种基于SNMP(Simple Network Management Protocol,简单网络管理协议)和HTML5(Hypertext Markup Language 5,超文本标记语言5) 实现web网络拓扑的方法。
背景技术
随着信息化脚步的不断加快,各企业单位对于网络办公的依赖也是与日俱增。这样网络 的规模和复杂程度也就越来越大,对网络管理的难度也越来越大,对网络资源可控性降低,对 整个网络的稳定性也带来了很大的风险,所以出现了网络拓扑的概念,网络拓扑能反应网络 中各实体间的结构关系。网络拓扑设计地好坏对整个网络的性能和经济性有重大影响。网络 管理人员在拓扑图的基础上对故障节点进行快速定位。现在基B/S结构的网络拓扑技术主要 有以下几项技术Flex SVG等,但各自都有弊端。
现在基于Flex SVG等技术实现的网络拓扑占很大部分,但是这几种技术都各有各的弊 端,Flex效果虽然很好,但是与Java数据交互性需要依赖第三方的服务。SVG虽然在绘图方 面不错,但是浏览器要装插件支持,兼容性方面不是很好,在用户体验上存在问题。在自定义拓 扑和自发现拓扑选择上一般局限性很大,不能良好的接合到一起。
发明内容
本发明提供一种基于SNMP和HTML5实现web网络拓扑的方法,所述方法包括:
步骤S1,选择进行自定义拓扑或者自发现拓扑,选择进行所述自定义拓扑时,执行步骤 S2′,选择进行所述自发现拓扑时,执行步骤S2;
步骤S2′,利用SNMP对指定的IP列表或者网段的网络内的所有资源进行探测,将探测 到的IP、资源名和资源类型一起作为一个自定义网络拓扑资源写入数据库中,执行步骤S3′;
步骤S3′,用户自定义网络的拓扑关系,执行步骤S4′;
步骤S4′,根据各个拓扑资源的资源类型向网络拓扑编辑页面加载所有所述拓扑资源, 计算每个所述拓扑资源在所述网络拓扑编辑页面上的坐标,在所述网络拓扑编辑页面上显示 各个所述拓扑资源的资源类型对应的图片,根据拓扑关系用HTML5的Canvas的绘画功能绘 制拓扑管理连线,执行步骤S5;
步骤S2,利用SNMP对所有资源进行探测,将探测到的自发现网络拓扑资源写入所述数 据库中,执行步骤S3;
步骤S3,根据所述自发现网络拓扑资源分析得到自发现网络拓扑关系,执行步骤S4;
步骤S4,根据所述拓扑资源的属性将所述拓扑资源显示到所述网络拓扑编辑页面画布 中,计算每个所述拓扑资源在所述网络拓扑编辑页面上的坐标,根据所述自发现网络拓扑关 系用HTML5的Canvas的绘画功能绘制拓扑管理连线,执行步骤S5;
步骤S5,根据所述拓扑资源的IP对所述拓扑资源进行网络可用性检测,将检测到的问 题写入告警子系统中进行告警提示。
本发明提供的第一优选实施例中:所述步骤S3,根据自发现网络拓扑资源分析得到自发 现网络拓扑关系具体包括:
步骤S301,通过默认网关路由器获取存在的子网列表,然后通过ICMP Ping或路由器中 的ARP信息遍历指定子网中所有的活动设备,判断用系统团体名库是否能查找到某一活动设 备的团体名,是,执行步骤S302,否执行步骤S303;
步骤S302,根据活动设备的团体名用SNMP协议获取活动设备的基本信息,判断出活动 设备的类型后获取该活动设备的详细信息;
步骤S303,默认所述活动设备为主机;
步骤S304,找到默认的路由网关;
具体为:查找拓扑发现程序所在计算机的SNMP MIBII中的ipRouteTable,如果发现 ipRouteDest值为0.0.0.0的记录,则说明程序所在的计算机设置了默认网关,ipRouteNextHop 值即为默认网关的地址;检查默认网关的ipForwarding值,如果为1,则表明所述默认网关 是路由设备,否则不是;
步骤S305,取得存在的子网列表;
具体为:遍历路由器MIBII的IP管理组中管理对象ipRouteDest下的所有对象,以每个 路由目的网络号为索引,查询ipRouteType字段的值;如果所述字段的值为3表明为直接路由, 如果所述字段的值为4则为间接路由;得到与路由器直接相连的网络号;再根据所述网络号 中的每条记录查询其路由掩码;根据所述取得的路由掩码,确定每一个存在的网络子网的IP 地址范围;
步骤S306,发现其它的路由设备;
具体为:查找默认路由网关MIBII的IP管理组路由表中类型为间接路由的路由表项,得到 路由的下一跳地址;遍历下一跳地址给出的路由设备,得到更大的网络拓扑;
步骤S307,发现网络层设备的连接关系;
具体为:子网与路由器的连接关系通过遍历每个路由器下包含的子网来确定,主机与子 网的关系通过主机IP与子网掩码来确定。
本发明提供的第二优选实施例中:所述步骤S3′和步骤S3中,得到所述拓扑关系之后还 包括将所述拓扑资源和所述拓扑关系写入所述数据库中进行持久化。
本发明提供的第三优选实施例中:所述步骤S4′和步骤S4中,计算每个拓扑资源在所述 网络拓扑编辑页面上的坐标的方法为:自定义第一个拓扑资源的坐标,下一个拓扑资源坐标 为前一个的横坐标加上拓扑资源图标的大小加上间距;
当排列的横坐标大于等于所述网络拓扑编辑页面画布的宽度时,排列的纵坐标加一个图 标的高度和行间距,同时横坐标回到所述第一个拓扑资源的竖坐标这个基点上。
本发明提供的第四优选实施例中:确定每个所述拓扑资源在所述网络拓扑编辑页面上画 布中的坐标后,将所述坐标回写到所述数据库中的关系表中。
本发明提供的第五优选实施例中:所述步骤S4′和步骤S4中,用HTML5的Canvas的绘 画功能绘制拓扑管理连线的方法为:读取所述数据库中的所述关系表,读出开始点拓扑资源 的坐标和结束点拓扑资源的坐标进行连线。
本发明提供的第六优选实施例中:拖动图标调整不合理的布局,在线编辑修改所述拓扑 关系,调整或修改完成后保存所述调整或修改后的坐标。
本发明提供的第七优选实施例中:所述步骤S5中,对拓扑资源进行网络可用性检测的依 据是对该拓扑资源的IP进行三次ping的操作,如果三次都不通过,则表示该拓扑资源不准 确。
本发明提供的一种基于SNMP和HTML5实现web网络拓扑的方法的有益效果包括:
1、本发明提供的一种基于SNMP和HTML5实现web网络拓扑的方法,利用HTML5 做B/S结构的网络拓扑展现。
2、自定义网络拓扑与自动网络拓扑共用,用户可以选择进行自定义网络拓扑与自动网络 拓扑。
3、网络可用性检测和网络拓扑图上进行展现,基于浏览器的网络拓扑图编辑功能可对网 络拓扑图进行编辑。
附图说明
如图1所示为本发明提供的一种基于SNMP和HTML5实现web网络拓扑的方法的方法 流程图;
如图2所示为本发明提供的一种基于SNMP和HTML5实现web网络拓扑的方法的实施 例的结构原理图。
具体实施方式
本发明提供一种基于SNMP和HTML5实现web网络拓扑的方法,其方法流程如图1所 示,由图1可知,该方法包括:
步骤S1,选择进行自定义拓扑或者自发现拓扑,选择进行自定义拓扑时执行步骤S2′, 选择进行自发现拓扑时执行步骤S2。
步骤S2′,利用SNMP对指定的IP列表或者网段的网络内的所有资源进行探测,将探测 到的IP、资源名和资源类型一起作为一个自定义网络拓扑资源写入数据库中,执行步骤S3′。
步骤S3′,用户自定义网络的拓扑关系,执行步骤S4′。
步骤S4′,根据各个拓扑资源的资源类型向网络拓扑编辑页面加载所有拓扑资源,计算 每个拓扑资源在页面上的坐标,在页面上显示各个拓扑资源的资源类型对应的图片,根据实 际的情况用HTML5的Canvas的绘画功能绘制拓扑管理连线,执行步骤S5。
步骤S2,利用SNMP对指定的所有拓扑资源进行探测,将探测到的自发现网络拓扑资源 写入数据库中,执行步骤S3。
步骤S3,根据自发现网络拓扑资源分析得到自发现网络拓扑关系,执行步骤S4。
步骤S4,拓扑资源根据该拓扑资源的属性显示到页面画布中,计算每个拓扑资源在页面 上的坐标,根据该自发现网络拓扑关系用HTML5的Canvas的绘画功能绘制拓扑管理连线, 执行步骤S5。
步骤S5,根据拓扑资源的IP对拓扑资源进行网络可用性检测,将检测到的问题写入告 警子系统中进行告警提示。
实施例一:
本发明的实施例一提供的一种基于SNMP和HTML5实现web网络拓扑的方法,其结构 原理图如图2所示。
实现自发现网络拓扑时,其中,步骤S3,根据自发现网络拓扑资源分析得到自发现网络 拓扑关系具体包括:
步骤S301,通过默认网关路由器获取存在的子网列表,然后通过ICMP Ping或路由器中 的ARP(Address Resolution Protocol,地址解析协议)信息遍历指定子网中所有的活动设备,判 断用系统团体名库是否能查找到某一活动设备的团体名,是,执行步骤S302,否执行步骤 S303。
步骤S302,根据活动设备的团体名用SNMP协议获取活动设备的基本信息,判断出活动 设备的类型后获取该活动设备的详细信息。
步骤S303,默认该活动设备为主机。
步骤S304,找到默认的路由网关。查找拓扑发现程序所在计算机的SNMP MIBII中的 ipRouteTable,如果发现ipRouteDest值为0.0.0.0的记录,则说明程序所在的计算机设置了默认 网关,ipRouteNextHop值即为默认网关的地址。然后检查默认网关的ipForwarding值。如果为 1,则表明该默认网关确实是路由设备,否则不是。
步骤S305,取得存在的子网列表。
遍历路由器MIBII的IP管理组中管理对象ipRouteDest下的所有对象,以每个路由目的 网络号为索引,查询ipRouteType字段的值。若该值为3(direct)表明为直接路由,若该值 为4(indirect)则为间接路由。间接路由表明要通往目的网络或目的主机还要经过其它路由 器,而直接路由表明与目的网络或目的主机直接相连,这样就可以得到与路由器直接相连的 网络号。再根据网络号中的每条记录查询其路由掩码(ipRouteMask)。根据取得路由掩码, 就可以确定每一个存在的网络子网的IP地址范围。
步骤S306,发现其它的路由设备。
查找默认路由网关MIBII的IP管理组路由表中类型为间接路由的路由表项,得到路由的下 一跳地址(ipRouteNextHop)。遍历下一跳地址给出的路由设备,就可以得到更大的网络拓扑。
步骤S307,发现网络层设备的连接关系。
子网与路由器的连接关系遍历每个路由器下包含的子网来确定,主机与子网的关系可以 通过主机IP与子网掩码来确定。
优选的,步骤S3′和步骤S3中,得到拓扑关系之后还包括将拓扑资源和拓扑关系写入数 据库中进行持久化。
步骤S4′和步骤S4中,计算每个拓扑资源在页面上的坐标的方法为:先确定第一个拓扑 资源的坐标,该坐标可自定义,例如(20,20),然后下一个拓扑资源坐标就是前一个的横坐 标加上拓扑资源图标的大小加上间距。当排列的横坐标大于等于画布的宽度时,排列的纵坐 标加一个图标的高度和行间距,同时横坐标回到第一个拓扑资源的竖坐标这个基点上。
确定每个拓扑资源在画布中的坐标后,将该坐标回写到数据库中的关系表中。
用HTML5的Canvas的绘画功能绘制拓扑管理连线的方法为:读数据库中的关系表,读出 开始点拓扑资源的坐标和结束点拓扑资源的坐标进行连线,需要两个坐标点即可完成连线。示 例代码:
var canvas=document.getElementById('diagonal');
var context=canvas.getContext('2d');
context.beginPath();
context.moveTo(70,140);
context.lineTo(140,70);
context.stroke();
完成后由于布局是自动生成,有不合理的布局可自己拖动图标调整,也可以在线编辑修 改拓扑关系,调整或修改完成后保存该调整或修改后的坐标。
步骤S5中,对拓扑资源进行网络可用性检测的依据是对该拓扑资源的IP进行三次ping 的操作,如果三次都不通过,则表示该拓扑资源不准确。
以上虽然根据附图对本发明的实施例进行了详细说明,但不仅限于此具体实施方式,本 领域的技术人员根据此具体技术方案进行的各种等同、变形处理,也在本发明的保护范围之 内。
机译: 基于HTML5 WebGL的BIM模型应用的HTML5-WebGL BIM BIM BIM数据轻量方法和装置
机译: 使用基于SNMP的机制在基于web的配置页面上实现访问控制的方法和装置
机译: 基于HTML5的虚拟化集成Web服务的HTML5系统和方法