[论文关键词]简单网络管理协议(snmp) 网络拓扑自动发现算法 网络管理
[论文摘要]主要论述网管系统中一个重要的功能网络拓扑的自动发现。阐述相关的理论知识,并具体讨论基于snmp和基于icmp的拓扑发现,最后对算法所适用范围加以说明。虽然这种方法能够较好的发现网络拓扑,但是它需要占用大量的带宽资源。
随着计算机网络的普及,人们对计算机网络的依赖性大大加强了。在现有的技术条件下,人们希望有一个更加稳定可靠的网络环境。计算机网络管理系统就是应这样的需求而产生的。它对网络上的各种设备进行管理,通过监视和控制这些设备。及时地向管理人员报告网络状态,并且简化网络故障的处理,减少故障造成的损失,提高网络的服务质量和效率。在我国,人们开始认识到网络管理的重要性。
一、网络管理中传统的网络拓扑发现算法
网络拓扑的发现,实际上就是根据网络上节点连接情况,构造出来一个反映这种连接关系的图。网络节点可以是网关,也可以是子网:网关节点是与子网和其它网关节点相邻的节点;子网节点可被认为只与网关节点相邻,至少与它的缺省网关相邻。各子网通过各目的网关与其他子网通信,这些子网可以是一个局域网,也可以是某个局域网的一部分,它们都连接到网关的一个端口上。网关的端口可以连接子网,也可以同其他路由器相连。
主拓扑指的是反映出关键设备包括路由器,它们的接口和子网的连接关系,即路由器一路由器、路由器一子网、接口的关系。Www.133229.cOm这些信息需要对网络进行搜索而获得:一般只需要对连接设备进行遍历就可以得到主拓扑结构。当前的网管软件都是通过对网络设备的mib库进行访问,所以这种方法又被称为基于snmp的拓扑发现。经过上述的遍历过程,可以得到网络拓拓扑图的整体构成,知道了网络主干通道情况。但是子网内部的具体设备以及连接状态尚不可知。这就需要依靠子网发现来做进一步的工作。子网发现完成的任务是确定子网内各网络设备的状态、类型以及网络接口。
遍历的定义是:对于无向图,以图中某一点为出发点,沿着边依次访问图的其余节点,如果图是连通的,则从图的任一点出发按一定的顺序沿着某些边可以访问图中的所有节点,而且每个节点仅被访问一次,这一过程称为图的遍历。在网络上,一个节点可以和很多的节点连接,所以当进行网络拓扑结构发现的时候,有可能会访问已经被发现过的节点。因此,在遍历的时候,必须对每一个节点设置一个标志。当节点未被访问过时,相应的标志为0,否则,就置为1。
二、改进的网络拓扑算法
前面基于snmp的拓扑算法在一定程度上是非常有效的,拓扑的速度也非常快。但它存在一个缺陷。那就是,在一个特定的域中,所有的子网的信息都依赖于设备具有snmp的特性,如果系统不支持snmp,则这种方法就无能为力了。还有对网络管理的不重视,或者考虑到安全方面的原因,人们往往把网络设备的snmp功能关闭,这样就难于取得设备的mib值,就出现了拓扑的不完整性,严重影响了网络管理系统的功能。针对这一的问题,下面讨论本文对上述算法的改进一基于icmp协议的拓扑发现。
(一)icmp报文的格式
icmp被认为是ip层的一个组成部分。它传递差错报文以及其他需要注意的信息。网际协议cip没有出错报告或出错校正机制,它依靠网际控制报文协议(icmp)模块来报告数据处理过程,井提供管理和状态信息。icmp报文在传送时被封装在ip数据报中,使用ip协议发送,但icep不看作是高层协议的内容。
回应请求与应答均以ip数据报的形式在网间传输,假如成功地收到一个应答(应答中的数据拷贝与请求中的任选数据完全一致),不但说明信宿机可以到达,而且说明数据报传输系统的相应部分工作正常,至少信源机和信宿机的icmp软件和ip软件工作正常,请求与应答经过中间网关也在正常工作。在许多tcp/ip实现中,用户命令ping便是利用icmp回应请求/应答报文测试信宿机的可到达性的。