APP下载

基于Web的网络拓扑发现可视化的实现

2014-04-16章晓帆

科技视界 2014年13期
关键词:结构图网络拓扑网络设备

邓 力 章晓帆 陈 呈

(广东工业大学华立学院 机电与信息工程学部,广东 广州 511300)

0 引言

网络拓扑发现在网络安全研究与网络管理、网络性能分析以及在网络模型研究等方面占有举足轻重的地位,如何获取,分析和利用网络拓扑信息页是总舵研究所关注的一个热点。网络拓扑可视化作为分离利用网络拓扑信息的重要辅助手段,其主要目标就是将目标网络的节点和连接情况完整清晰地展现在人们眼前,为人们所了解,分析目标网络的整体状况提供直观的素材和操作平台。这不仅有助于人们对其进行观测和分析,更重要的是,它将帮助人们发现在网络拓扑中的潜在规律,具有很高的社会价值和经济价值。

图1 calcRepulsion算法流程图

网络拓扑可视化的需求主要来源于以下方面:1)清晰直观地反映网络运行状况,辅助人们对网络各方面的性能进行评估,掌握其发展动态,并未其指定有效的管理策略提供依据;2)帮助人们更清晰地认识和发现存在于网络中的内在规律;3)网络拓扑母性需要以可视化的方式来加以验证。

网络拓扑可视化主要涉及网络拓扑模型、信息可视化和绘图三个研究领域。其中:网络拓扑模型研究为实现网络拓扑可视化提供数据组织和处理依据;信息可视化则主要为实现网络拓扑可视化提供基本的方法和参考;图布局技术则是在实现网络拓扑布局时所需要重点研究的内容,同时也是网络拖布可视化的核心问题。

本文分析了网络拓扑可视化的问题,回顾并对比分析了目前主要的研究成果,指出了当前研究中存在的不足和后期的研究方向。

1 基于Web的网络拓扑可视化

基于Web的网络拓扑结构可视化的主要优点有:

1)地理上和系统上的可移动性,使管理者的操作不受到地理位置的限制,更适合进行分布的网络监视。

2)平台的独立性,可以再任何的平台下访问,只要在该平台下有适合的网页浏览器即可,从而解决了很多由于多平台结构所引发的不兼容问题。

3)以 Web Server为中心,降低了维护费用和维护要求,对系统的修改只需要在服务器(Web Server)上进行即可,客户端无需任何的修改。

4)有利于网络信息的及时发布。

5)统一的管理程序界面,便于为用户提供信息,它提供比传统的命令驱动的远程登录更加直接,更加实用的图形化(GUI)界面,浏览器的操作和网页(Web)界面对普通用户来讲师非常的方便与易用的。

本研究小组透过对网络相关资料的收集与研究,决定采用MxGraph与ExtJS两个框架来组成我们的网络拓扑可视化的基本框架。其中MxGraph是是一个JS绘图组件适用于需要在网页中设 计/编 辑 Workflow/BPM 流 程图、图表、网络图和普通图形的Web应用程序。而ExtJS是一种主要用于创建前端用户界面,是一个基本与后台技术无关的前端ajax框架。采用这两个框架,方便我们对于网络拓扑可视化前端界面的编写。本基于Web的网络拓扑可视化实现从服务器端获取网络拓扑结构图模板以及网络拓扑结构图中相关网络设备的详细信息,并根据模板数据渲染出网络拓扑结构图,用户可在客户端查看网络设备列表,网络设备详细信息,搜索指定设备信息等功能。

图2 calcAttraction算法流程图

图3 clacPositions算法流程图

2 算法分析

该可视化前端界面在实际的编写中,采用了诸多算法来优化整个拓扑结构的显示,其中包括calcRepulsion算法、calcAttraction算法、clacPositions算法等算法。其中calcRepulsion算法实现步骤如下:

1)获得需要执行此算法运算的元素总数;

2)在未分离的元素集合中选定一个元素与其他未分离的元素在坐标系中的坐标拉开一定距离;

3)对元素集合中每个元素执行第2步,直至每个元素都与其他元素拉开距离。

calcRepulsion算法流程图如图1:

而calcAttraction算法实现步骤如下:

1)获得需要执行此算法运算的元素总数;

2)在元素集合中取出一个元素,对齐所有有连接关系的元素都拉近一定距离;

图4 布局算法流程图

3)对元素集合中每个元素执行第2步。

其算法流程图如图2所示:

除此之外,我们还采用了clacPositions算法,该算法的实现步骤如下:

1)计算元素离容器原点的距离detaLength;

2)计算元素的新坐标并放入坐标数组;

3)对元素集合中所有元素执行1,2步。

其算法流程图如图3所示:

最后,我们采用了布局算法对以上三个算法运行的结果进行汇总分析,算法步骤为:

1)获取执行布局的指定的父节点下的所有Vertex元素,放入元素集合vertexArray;

2)为元素集合中的元素创建路径(形如’0.0.0.1’),并计算cellLocation的x,y轴坐标,元素半径等;

3)开始布局执行事务;

4)迭代获取元素集合中每个元素的连线及连线的终端元素,放入edges和cells集合中,并为每个连接终端创建元素路径,放入neighbours集合中;

5)根据指定迭代次数顺序执行calcRepulsion算法,calcAttraction算法,clacPositions算法,reduceTemperature方法 (计算布局执行的热度的函数);

6)移动所有执行布局算法的元素到新的坐标;

7)提交布局执行事务。

具体算法流程图如图4:

图5 最终运行结果

图6 最终运行结果图

3 最终结果

通过以上4个算法对后端程序所获取到的数据进行处理,在Web端的网页上绘制出清晰明了的图形化扑结构图,用户可以在Web浏览器上对整个网络拓扑结构进行掌控。该运行结果图基于服务端采集保存于MySQL数据库中的网络拓扑结构信息。有关于后端模块的相关信息为另一篇论文所述,再次不再繁述。本模块实现从服务器端获取网络拓扑结构图模板以及网络拓扑结构图中相关网络设备的详细信息,并根据模板数据渲染出网络拓扑结构图,用户可在客户端查看网络设备列表,网络设备详细信息,搜索指定设备信息等功能。本模块存在的局限性有如下几个方面:需要部署服务器,运行在客户端浏览器上;由于本模块使用到mxgraph框架,若要使用本模块完整功能,客户端必须连接上Internet。最终运行结果如图5、图6、图7所示:

图7 最终运行结果图

4 结束语

网络拓扑可视化问题的研究难点主要来源于以下方面:网络本身的复杂性;缺乏进行系统研究的方法论。而我们项目研究结果所采用的网络拓扑可视化的解决方法仅仅只是众多网络拓扑可视化解决方式的其中一种,可能还存在着诸多的不足,其中包括用户权限的管理,子路由的发现与探测等。我们将在接下来的时间中,继续对该项目进行合理的完善,以求能够完美的实现我们的最终目标。

猜你喜欢

结构图网络拓扑网络设备
中国共产党第二十届中央组织结构图
基于通联关系的通信网络拓扑发现方法
一种基于C# 的网络设备自动化登录工具的研制
能量高效的无线传感器网络拓扑控制
第十九届中共中央组织结构图
劳斯莱斯古斯特与魅影网络拓扑图
基于多任务异步处理的电力系统序网络拓扑分析
基于列车监测网络设备的射频功放模块设计
基于三层交换技术架构数字化校园网络设备的配置与管理