绘制动态网络拓扑的程序实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

绘制动态网络拓扑的程序实现
摘要:探讨了利用易语言根据用户输入的地址和上联地址,考虑分辨率和美观自动绘制动态拓扑图的方法。

关键词:网络拓扑生成拓扑易语言
Abstract: To explore the use of easy language according to user input address and an upper address, consider the resolution and beautiful automatic drawing dynamic topology method.
Key words: network topology topology easy language
网络拓扑对网管人员网络管理、网络规划起到非常重要的作用。

比如做网络监控, 网络故障、流量瓶颈等信息就要直接显示在网络拓扑上, 这样网管人员才能对网络状况一目了然。

网管人员绘制拓扑一般有两种方法,第一种是在电脑上绘制静态拓扑,但是网络设备越来越多,更新越来越频繁,绘制静态拓扑图的方案显然已经无法胜任。

第二种是利用第三方商业软件,自动发现设备并绘制拓扑,对于自动发现画出的拓扑,基本都需要人工再复杂调整,且移植性不好,在不同分辨率下适应性差。

笔者通过研究,利用易语言自动绘制动态拓扑,可在不同分辨率机器上都能显示完整拓扑,并且支持网络设备多上联,清晰的表示层次,最大程度的减少交叉,无法避免的交叉线将用弧线表示。

程序实现目标
程序根据用户输入的设备IP地址和上联IP地址,算出层次,根据当前分辨率自动算出每个设备的位置,并绘制拓扑。

绘制的拓扑图该考虑布局美观,靠边设备都应该离屏幕边界一定距离,同时所有设备之间需要保持合适间距。

拓扑图要清楚的表示设备之间层次和连接关系,同一上联的设备应当排列在一起,最大程度的避免连线交叉
拓扑图要支持设备多上联情况,对于多上联将会造成无法避免的连线交叉,要判断出,并用弧线表示。

拓扑图中网络设备的IP地址、上联IP地址、设备类型等都可以随时调整,并根据调整后的数据即时刷新拓扑,根据设备类型是防火墙、交换机还是服务器,显示相应的图标。

系统具体设计实现
数据库设计
由于本程序数据量和读写都比较少,所以为便于操作维护采用桌面型数据库Access。

在表“基本库”中记录各设备的信息:
“IP”字段记录设备的IP地址。

“上联1”—“上联8”字段记录设备的上联IP地址,默认情况下一个设备只有一个上联,特殊情况下,一个网络设备可能有两个甚至多个上联,为防止这种特殊情况,预备了“上联2”—“上联8”字段。

字段“层次”记录程序根据设备的上联关系计算出的该设备层数。

类型记录的是设备的类型,比如核心交换机、汇聚交换机、接入交换机、服务器、防火墙等,选择不同的类型,屏幕显示不同的图标。

“拓扑宽度”和“拓扑高度”记录屏幕中实际显示图标的宽度和高度。

“左边居中”和“顶边高度”记录的是图标在屏幕中位置。

程序模块设计
2.1、用户输入模块
提供用户对设备信息增删改的界面。

2.2、层次关系计算模块
根据用户输入的上联IP,找出最上层设备,同时判断是否有循环,有循环则提示出错,没有循环则把最上层设备层次定义为1,其下联定义为2,以下以此类推。

易语言实现关键代码如下:
2.3、图标大小及位置计算模块
相同一层的网络设备布局在屏幕的同一行,相同上联的设备排序在一起,这样可避免连线时出现交叉线。

根据屏幕宽度和设备数目以及设备层数,依照算法自动调节图标宽度和间隔宽度。

易语言实现代码如下:
2.4、绘制拓扑模块
根据每个设备图标的位置显示图标,并按计算出的图标大小设置图标尺寸。

绘制线条连接各设备,同时判断是否与已有线条交叉,因为当设备出现多上联时,可能要出现线条交叉。

判断两个线段是否交叉,可利用两条直线的方程求解,解就是交点,然后判断交点是否在线段内。

其中求经过点(x1,y1)和(x2,y2)的直线和经过点(x3,y3)和(x4,y4)的直线的交点易语言代码如下:
交点x =((y2 -y1) × x1 ÷ (x2 -x1) -(y4 -y3) × x3 ÷ (x4 -x3) +y3 -y1) ÷ ((y2 -y1) ÷ (x2 -x1) -(y4 -y3) ÷ (x4 -x3))
交点y =((y2 -y1) × (y2 -y1) × x1 × (x4 -x3) -(y4 -y3) × (y2 -y1) × (x2 -x1) × x3 +(y2 -y1) × (y3 -y1) × (x2 -x1) × (x4 -x3)) ÷ ((y2 -y1) × (x2 -x1) × (x4 -x3) -(y4 -y3) ×(x2 -x1) × (x2 -x1)) -(y2 -y1) × x1 ÷ (x2 -x1) +y1
程序运行后效果:
结束语:
利用该自动绘制网络拓扑的程序,网管人员可以对网络结构和状况一目了然,在此自动绘制拓扑程序的基础上,我们又增加设计了自动监测网络和报警功能,将故障设备用红色标示,并且声音报警。

该程序在我单位运行几个月来,极大地方便了网络管理和故障排除。

相关文档
最新文档