基于Web的网络管理中拓扑结构问题的研究

时间:2022-09-13 09:39:38

【前言】基于Web的网络管理中拓扑结构问题的研究由文秘帮小编整理而成,但愿对你的学习工作带来帮助。1.1 基于ICMP协议的网络拓扑探测方法 ICMP(Internet Control Message Protocol)协议作为IP协议的一部分,它是一种差错报告机制,可以用来向目标主机或设备请求或者报告各种网络信息。在基于ICMP协议的拓扑发现中,用到回送请求(Echo Request)和回送应答(Echo Rep...

基于Web的网络管理中拓扑结构问题的研究

摘 要:本文首先介绍了网络管理中网络拓扑结构发现技术的研究现状,并分析了现有的各种方法的优点和不足,然后提出了一种发现网络层的拓扑结构的改进的算法,并对基于web网络管理中的拓扑结构的拓扑图的构造和显示问题进行了研究,提出了一种方法。实验结果表明,该方法具有一定的可行性和有效性。

关键词:基于Web的网络管理;SNMP协议;拓扑结构;拓扑图构造与显示

中图分类号:TP393.07

随着网络技术和互联网的不断发展,互联网的网络连接结构变得日益复杂。那么就需要有能够对网络进行配置、监控网络性能的良好的网络管理系统来管理网络,从而使得互联网络能够安全、可靠、稳定地运行。

1 主要的网络拓扑发现方法

1.1 基于ICMP协议的网络拓扑探测方法

ICMP(Internet Control Message Protocol)协议作为IP协议的一部分,它是一种差错报告机制,可以用来向目标主机或设备请求或者报告各种网络信息。在基于ICMP协议的拓扑发现中,用到回送请求(Echo Request)和回送应答(Echo Reply)这两种报文。该种方法主要是利用ICMP协议原理,结合使用ping命令和traceroute命令来实现。通过ping目标主机或设备进行探测,如果能够收到目标的回送应答报文,则可以判断目标存在且是活动的,并记录其IP地址和子网掩码。通过traceroute命令向目标主机或设备发送不同TTL值的ICMP报文,根据报文所经过的路由器发回的回送应答报文,可以确定出从源主机到目标的路由信息。根据得到的这些信息,并使用发现算法和拓扑结构的构造方法得到拓扑图。

该种基于ICMP协议的网络拓扑结构的发现方法可以应用在几乎所有的网络中,因为使用TCP/lP协议的网络主机和设备都支持ICMP协议,这种方法的优点是检测简单、快速和可靠。但是这种方法向网络中的设备发出了大量的探测报文,这样会给网络增加负载,并且也不是所有的目标设备都会回送应答报文,因此发现的效率也并不高。这种方法适用于局域网内的拓扑发现。

1.2 基于SNMP协议的网络拓扑发现

SNMP网络管理体系结构主要由三部分组成:管理信息结构、SNMP协议和管理信息库MIB。其中MIB定义了可以通过网络管理协议访问的被管理对象的集合,它描述了网络主机或设备的重要信息。简单网络管理协议SNMP(Simple Network Management Protocol)是由Internet体系结构委员会所制定的,是因特网中应用最广泛的网络管理协议,目前大多数网络设备如交换机、路由器等都支持该协议,它使用的传输层协议是面向无连接的UDP协议,无需建立专门的连接,因此这样就会降低网络通信的开销和负载。

基于SNMP协议的拓扑发现方法的思想就是通过SNMP协议从网络主机、交换机、网桥、路由器等网络设备中的MIB信息库中获取设备和路由信息,其中主要用到的对象有组对象system、interfaces、ip组和两个表对象ipAddrTable、ipRouteTable。从指定的网关路由器开始,采用深度或广度遍历对网络中的设备进行逐个遍历,通过读取其MIB库中的信息,确定其设备类型及连接关系。具体来说就是,如果发现的目标设备中的简单对象ipForwarding=1且system组中的字段sysService=7,则可判断该目标是路由器;如果ipForwarding=2且sysService=3,则可判断该目标是交换机或网桥;如果两者都不是则可判断目标是主机。如果是路由器,继续查询其MIB中的interfaces组和表ipAddrTable可以获得路由器的接口信息,然后查询表ipRouteTable中的变量ipRouteType,若ipRouteType=4,则判断该端口相连接的是路由器,并根据其中的ipRouteNextHop来确定下一个发现的路由设备;若ipRouteType=3,则判断该端口相连接的是子网。

综上所述,该算法的优点是系统和网络的开销少、搜索过程和算法简单,发现效率高。虽然现在的大多数主机和设备都支持这个协议,但是也有设备并未启动SNMP服务,另外,有的网络设备中的MIB信息库并不可以随意访问的。因此该方法也有一定的局限性。

2 网络层的拓扑结构发现算法的改进

2.1 算法的改进思想

本算法综合了上述两种方法的优缺点,对使用SNMP协议的设备的发现进行了规模限制,设置了一个待访问的路由器总数的阈值,遍历每一个路由器时,判断一下已遍历的路由器数目是否小于此阈值,如果是则继续访问下一个路由器,否则算法退出。对于基于ICMP协议的拓扑发现中,防火墙或者网络设备可能会丢弃收到的报文,所以发送方可能会接收不到被探测设备的响应报文,因此就不能保证发现的绝对准确性。通过分析TCP/IP协议可知,可以采用向被探测设备发送错误报文的方法来解决这个问题,但是也并不是所有的错误报文目标设备都会响应。

2.2 算法的描述

具体算法描述如下:

(1)初始化待搜索路由器队列、待搜素的IP地址队列、支持SNMP协议的路由器队列、不支持SNMP协议的路由器队列、子网地址队列、连接关系队列。并设置要访问的路由器总数的阈值为N,初始化计数变量n=0。

(2)从待搜素的IP地址队列中取出一个地址,若n++N,则算法结束。

(3)取得该IP地址所属的子网地址及其缺省路由器地址,将其加入待搜索的路由器队列。

(4)若待访问的路由器队列不为空,从待访问的路由器队列中取出一个地址探测,若其支持SNMP协议,将该路由器添加到支持SNMP路由器队列,执行步骤(5)。若其不支持SNMP协议,将该路由器加入到不支持SNMP队列,采用通用协议算法进行发现。

(5)对其包含的IP地址进行SNMP探测。访问其MIB信息库,使用前面所讲述的方法来判断出设备的类型及连接关系,将发现的路由器、子网及其连接关系添加到相应的队列。

(6)重复步骤(4),直到待搜索的路由器队列为空,重复步骤(2),若待搜素IP地址队列为空,则算法结束。

3 拓扑图的构造与显示

通过网络拓扑发现算法确定了网络设备的分布及其连接关系之后,就要构造出拓扑图以直观的方式将网络设备的位置分布以及它们之间的连接关系显示出来。在显示页面上,按照一定的规律来分布显示出拓扑结构,其中使用不同的结点来分别表示不同的网络设备,以结点间的连线来表示设备之间的连接关系。

要确定网络设备在拓扑结构图中的位置,就要计算出路由器、子网在图形界面中的显示位置的信息,即结点的坐标(x,y)。对于网络层拓扑图的构造,首先将指定的网关路由器(记为R)放置在显示页面的某一个固定位置,可以选择正中心的位置点,坐标记为(x0、y0),将在一定范围内发现的与该路由器相连的所有的路由器和子网的总数记为n。而后将其中与之相连的子网分布在以(x0,y0)为圆心,r=(n×c)÷2π(其中c为常数,其中c的取值可以根据网络的规模来设定)为半径的圆周上;将与之相连的路由器分布在以(x0,y0)为圆心,2r为半径的圆周上,这些路由器和子网交叉均匀分布,并记录下每个路由器所处的象限。从这里可以看出当n值增大时,r值也会增大,这样取半径的目的是在路由器数量较多时,让圆的半径大一些,便于结点图标布局合理,尽量避免重叠。那么这种情况下,与路由器R相连的子网结点在界面上的显示位置的坐标就可以通过如下的公式计算出来:x=r×cos((2π÷n)×i)+x0,y=r×sin((2π÷n)×i)+y0;路由器结点的坐标可以通过如下公式得出:x=2r×cos((2π÷n)×i)+x0,y=2r×sin((2π÷n)×i)+y0。

然后再采用广度优先的方式将与路由器R相连的所有路由器(记为R1、R2、…Rn)的连接拓扑图分别构造与显示出来,以R1为例来说,将与之相连的所有路由器和子网的个数记为n,R1的坐标记为(x0,y0),r=(n×c)÷(2π)(其中c为常数),分以下三种情况讨论:

(1)如果R1在以路由器R为圆心的圆周的第一象限时,将与之相连的子网均匀分布在以(x0,y0)为圆心,r为半径的圆周的二、三、四象限内,各个子网结点在页面上的位置的坐标(x,y)可以通过如下公式计算出来:x=r×cos((3π÷2n1)×i+π/2)+x0,y=r×sin((3π÷2n1)×i+π/2)+y0,其中n1为子网总数;将与之相连的所有路由器均匀分布在以(x0,y0)为圆心,2r为半径的圆周的第一象限内,各个路由器结点的坐标可以通过如下公式计算出来:x=2r×cos((π÷2n2)×i)+x0,y=2r×sin((π÷2n2)×i)+y0(n2为路由器总数)。

(2)如果R1在以路由器R为圆心的圆周的第三象限时,将与之相连的子网均匀分布在以(x0,y0)为圆心,r为半径的圆周的一、二、四象限内,各个子网结点在页面上的显示位置的坐标(x,y)可以通过如下公式计算出来:x=r×cosθ+x0,y=r×sinθ+y0,θ=(3π÷2n1)×i(n1为子网总数),其中当π≤θ≤3π/2时,θ=(3π÷2n1)×i+π/2;将与之相连的路由器分布在以(x0,y0)为圆心,2r为半径的圆周的第三象限内,各个路由器结点的坐标可以通过如下公式计算出来:x=2r×cos((π÷2n2)×i+π)+x0,y=2r×sin((π÷2n2)×i+π)+y0(n2为路由器总数)。

(3)如果R1在以路由器R为圆心的圆周的第四象限时,将与之相连的子网均匀分布在以(x0,y0)为圆心,r为半径的圆周的一、二、三象限内,各个子网结点在界面上的显示位置的坐标(x,y)可以通过如下公式计算出来:x=r×cos((3π÷2n1)×i)+x0,y=r×sin((3π÷2n1)×i)+y0(n1为子网总数);将与之相连的路由器分布在以(x0,y0)为圆心,2r为半径的圆周的第四象限内,各个路由器结点的坐标可以通过如下公式计算出来:x=2r×cos((π÷2n2)×i+3π/2)+x0,y=2r×sin((π÷2n2)×i+3π/2)+y0(n2为路由器总数)。

用同样的方法将其它路由器的拓扑图分别构造出来,然后再采用广度优先的策略将下一层路由器的拓扑结构给构造出来,其它的以此类推,重复此工程即可。通过实验表明,对于一个园区网内部的网络管理系统来说,这种网络拓扑结构图形构造和显示方法,具有一定的可行性和有效性。

4 结束语

计算机网络的拓扑结构对网络管理是非常重要的,准确的网络拓扑结构信息对于网络的管理和监控及诊断网络故障具有重要意义。本文对现在主要的网络逻辑拓扑发现算法进行了比较分析,对于存在的问题提出了改进的办法。实验结果表明,该改进算法能够比较准确地发现网络拓扑结构的信息,提出的拓扑图构造和显示方法也具有一定的可行性和现实意义。

参考文献:

[1]谢希仁.计算机网络[M].北京:电子工业出版社,2008.

[2]夏海涛,詹志强.新一代网络管理技术[M].北京:北京邮电大学出版社,2010.

[3]李文,王智立.网络管理原理与技术[M].北京:人民邮电出版社,2008.

[4]杨立波.网络拓扑发现技术研究[J].科技探索,2011(09):90.

作者简介:冯松军(1983-),男,河南郑州人,硕士研究生,主要研究方向:软件工程及其应用、软件系统形式化、计算机网络。

作者单位:内江师范学院,四川内江 641112

上一篇:计算机辅助技术在矿山地质勘察中的应用分析 下一篇:计算机图形图像处理技术分析