层次式网络拓扑显示方法的设计与Web实现
- 格式:pdf
- 大小:141.51 KB
- 文档页数:3
60 微电子学与计算机 2002年第4期
层次式网络拓扑显示方法的设计与Web实现 Hierarchic Display Method for Network Topolog2/and its Web—based Realization 北京用友软件股份有限公司 瞿宏阳 (北京100085) 摘要: 随着Internet的不断发展,集成化的计算机网络管理越来越重要. 图形方式显示网络拓扑是网络管 理的基本功能和要求。文章彳r绍了863项目《计算机网络管理与安全系统》中的配置管理子系统所栗用的网络 拓扑显示方法,并阐述了使用Java实现B/S模式的拓扑显示的关键技术: 关键词 拓扑显示,B/S模式,Java
1引言 随着计算机网络的持续发展,网络的结构也越 来越复杂,如何有效的管理网络、合理分配网络资 源变得越来越重要,例如,平衡负载,路由重定向. 故障定位等。为此,网络管理员必须清楚的了解网 络拓扑结构。显然,用图形方式表示出整个网络的 拓扑结构,是阿络管理员了解网络拓扑结构最直 观、快速的方法。 本文根据上述要求,设计了网络拓扑结构的层 次式显示方法,并将该方法应用到863项目“计算 机网络管理与安全系统”中 由于该系统采用B/S 模式设计,本算法也以B/S模式在Web上实现。
2设计原理 系统采用层次性的显示方法,允许管理员手工 调整图的布局,能清晰、直观、快速的显示拓扑图。 (1)该方法的原理: ①根据设备IP所属的子网号将全部设备集 合划分成若干个子集,每个子网包含一个子网内的 设备。由于每个设备可能有多个接口,因此系统在 搜索网络设备时,默认设备第一个接口为主接口, 即认为该接口所在的子网为设备所属的子网,管理 员也可以根据需要指定其它接口为主接口。 ②从全局出发考虑每个子网的位置,以确保 子网之间不会相互重叠。具体做法是: ・根据设备问的拓扑关系,生成子网拓扑图, 即图中每个节点是一个子网; ・指定一个子网为根节点,从根子网开始的广 度优先搜索子网拓扑图,构造出一棵生成树,每个 子阿在该树中的级数为该子阿所属的层次; ・按照子网的层次,从上至下计算出每个子网 的位置。不同层次的子网的垂直位置不同,以保证 不同层次的子网不会相互重叠;同层子网的水平位 收稿日期2001—05—10 基金项目国家863基金资助项目(863—306一ZD一08、 置不同.以保证同层子网不会相互重叠 (2)该方法的特点: ①在安排每一个子网内的设备节点的位置 时,将整个子网作为一个整体考虑,即该子网中的 所有设备节点紧密排列在一起,如果其中某一个设 备节点的位置发生了改变,其余设备节点的位置也 要作相应改变,但在显示子阿问的连线时,线的端 点以设备节点为单位 ②不同层次的子网之间不会形成回路,即第 N+1层子网都与某一个第N层子阿直接相连,而 与第1层至第N一1层子网没有连线。可以简单证 明如下:假设某个 +1层子网P与N层节点q直 接相连,同时又与K(1t.3K(N)层子网r直接相连, 则在广度优先构造第K+1(K+1(N+1)=层子网 时.P已经被包含在第K+1层中,这与假设矛盾。 最基本的子网结构有总线型、环形和星型结 构。总线型子网所占用层次的高度是固定的,环形 和星型子网所占用层次则需要根据子阿内节点数 目计算出相应的高度,下面以总线型子网为倒描述 本算法的实现过程。
3实现过程 本方法采用B/S模式实现l『层次式的整体结 构,编码时用Java applet实现了浏览器端,用Jax. ̄t servlet实现了服务器端的请求接收层,用Java application实现了服务器端的请求处理层.该框架 结构的具体实现细节请参阅参考文献[4,5] 下面 主要介绍显示步骤的具体实现。 3.1数据结构 网络拓扑关系的形式化表示有很多种方式,如 邻接表、邻接矩阵、逆邻接表等,采用节点与边联合 表示法,每个节点(网络设备)和每一条边都作为一 个对象分别描述,这样在管理员手工调整布局时, 可以快速方便的生成显示新的布局。在这种节点与 边联合表示法中,使用了以下一些数据结构:
维普资讯 http://www.cqvip.com 2002年第4期 微电子学与计算机 (1)设备节点配置信息 class devieeinfo{ String[]devs ̄fo; 设备配置信息 Stnng[Jl】if_info;一接口配置信息 ) I2}接El所属的子网号 class ifsubnet{ int devnum;一接口所属的设备的编号 int ifimm;一接口在设备中的编号 String subnet;一接口所属的子网号
(3 J子网中所包含的节点 class subnet{ String subname;一子网号 Hashtable devnum;一记录子网中节点的 哈希表
(4 J图中的逻辑边 class edge{ String subnetl;一端点节点1接口的子网号 String subnet2;一端点节点2接口的子网号 int devnuml;一端点节点1对应的设备编号 int devnum2;一端点节点2对应的设备编号 int from;一端点1的节点缩号 int t0;一端点2的节点编号 } (5)图的层次,即每一层所包含的子网 cl slayer{ Hashtable subnet;一记录该层所包含的子网 int count;一所包含的子网的数目 (6)节点在屏幕上的位置 class tNode I int x: 节点的水平位置 int v;一节点的垂直位置 int devnum;一节点所对应的设备编号 boolean isSingle;一该节点所在的子网是否 只包含一个节点 } 3.2显示步骤 f1)从配置信息数据库中提取全部设备的配置 信息,为每一个设备生成一个deviceitfo对象。 (2)从拓扑链路数据库中提取所有的链路记 录,构造出网络拓扑关系。 ①将每个接口的IP和子网掩码进行逻辑与操 作,计算出接口所属的子网号,为每个接口生成一 个ifsubnet对象,并据此计算出每个子网包含的设 备,为每个子网生成一个subnet对象。 ②计算出设备之间的连接关系.即生成所有 的edge对象:如果两个设备各有一个接口有相同的 子网号,则认为这两个设备之间有一个连接,如果 这两个设备不在同一个子网中,则两个设备对应节 点之间有一条边,从而生成一个edge对象。 (3)指定网络中的一个子网为根子网,计算出 图中每一个设备节点和每一条边的默认位置。通常 选择与网管服务器直接相邻的网络设备作为根节 点.也可以由管理员根据系统需要指定其它的网络 设备作为根节点。 ①计算出图的层次及宽度:与根子网直接相 连的所有子网作为第二层,与第二层子网直接相连 的所有未被搜索的子网作为第三层子网,以此类 推,直至结束;根据规定的节点宽度和子网间间隔 计算出每层的宽度, 最宽的层次为图的宽度 ②计算节点位置:每一层上的节点在图的中 轴线左右对称排列,据此计算出每一个节点所在的 位置 (4)显示拓扑图,如果图的宽度或高度超出了 视图的范围,则根据视图的宽度/高度与图的宽度/ 高度的比例计算出水平/垂直滚动条的滚动范围 (5)捕捉鼠标事件,随时更新管理员调整过的 布局: ①如果管理员点击了水平/垂直滚动条,则将 拓扑图向相应的方向滚动一定距离。 ②如果管理员拖动了某个设备节点,则根据 拖动距离和方向,重新计算出该设备节点的位置, 并将该设备节点所属子网中的其余设备节点随之 作相应移动。 ③如果管理员点击了某个设备节点,则将设 备节点显示为当前焦点,并在设备配置信息表中显 示出该设备的配置信息 ④如果管理员点击『_子网,则展开该子网,展 开时重新计算相关节点的位置,以避免节点之间相 互覆盖
4显示效果 以下两幅图给出了一个网络拓扑图在浏览器 中的显示效果。图1是系统初始化的图的布局,由
于图的宽度超出了视图可显示的范围,因此一部分 维普资讯 http://www.cqvip.com 微电子学与计算机 2002年第4期 节点不能显示出来,需要移动滚动条滑块来查看。 图2是管理员手工移动节点重新构造图的布局后 的显示效果,缩小了图的宽度,使整幅图完全显示 在视图中,同时管理员点击了9号节点,该节点对 应的配置信息显示在右侧的列表中。
图1初始化布局
图2管理员手工调整后的布局 5结束语 经实际检验,本方法具有以下一些优点: (1) 子网为单位显示拓扑图,使网络结构表 达得更为清晰,便于网络管理员理解网络结构。 (2)管理员可以任意调整图的布局,大型网络 的拓扑图经常超出视图的显示范围,这时管理员可 以移动滚动条滑块来察看不同区域的拓扑结构,同 时还能够用鼠标移动图中的节点,按照自己的喜好
(上接第59页) 4】Jiawei Hart,Mieheline Kamber著.范明等译.数据挖掘 概念与技术机械工业出版社.2001.149~1 84. WANG Yun—lan.U Zeng—zhi.ZHU HaJ—ping ZHAO Yin—liang IXi'an Jiaotong University-,Xi'an 710049) 重新构造图的布局,例如可 把节点摆放得较为密 集,缩小图的宽度/高度,尽量减少滚动条的使用频 率;在显示拓扑图的同时提供设备配置信息,有利 于网络管理员及时了解设备配置情况。 (3)由于将设备配置信息及相关数据结构存储 在浏览器端,并且数据计算量小,本方法具有较快 的响应时问 由于同一层次之内的子网间可能存在连接,这 种连接可能会相互重合,今后的工作主要是研究如 何减少重合现象。
参考文献 [1] 张斌等基于Intr-anet的实时网络拓扑图生成算法研 究.计算机工程与应用 1998(8) [2] 白英彩等汁算机网络管理系统设计与应用清华大 学出版社.1998 [3]秦勃.一种树型网络拓扑简图的生成算法青岛簿洋 大学学报 1997(4) [4] 瞿宏阳 网络拓扑顺序搜索算法及其Web实现.微电 子学与计算机,2001{31 [5]瞿纪万等基于JAVA的层次型weh应用框架微型 机与应用.2001 f51 Qu Hong—yang(BEUING UFSOFF CO.LTD、Bejing 100085 AbsUract: With steady development of Internet integrative computer network management has become m0 importam than before Network topo]ogy display is the basic function and de— tumid of Network configuration management.This article firstly discusses network topolag3'display method adopted by network configuration tnanogement,which is a subsystem of Computer Network Management and Security Syslem of National 863 pro- jent Then il introduces the archlteclure and k technical detai]s in B/S mode realization of this method using Java language. Key wor ̄:Topology display,B/S mode,Java