第PAGE3页
毕业设计(论文)译文专用纸
网络拓扑发现snmp
摘要
随着计算机网络技术的发展和lnternet在全世界范围内的普及,计算机网络作为信息社会的基础设施已应用到政府部门、商业、军事、教育等社会各领域。当前计算机网络的发展特点是:网络规模不断扩大,复杂性不断增加,网络的异构性也越来越高。在现有的技术条件下,人们希望有一个更加稳定可靠的网络环境,计算机网络管理系统就是应这样的需求而产生的。它对网络上的各种设备进行管理,通过监视和控制这些设备,及时地向管理人员报告网络状态,并且简化网络故障的处理,减少故障造成的损失,提高网络的服务质量和效率[1]。
一个好的网络管理系统首先需要掌握整个被管网络的拓扑结构。网络的配置管理是发现和配置网络中对网络管理有意义的设备的过程,而网络的自动拓扑发现规则是配置管理的核心,是故障和性能管理的基础,同时它也是衡量一个商业网管系统成败的重要尺度。因此,拓扑发现算法的设计在整个网管系统的开发中有着举足轻重的地位。网络拓扑发现技术是利用网管协议或网络提供的可用工具,通过拓扑算法,发现网络中路由器、交换机及主机之间的连接关系,并且以图形的方式直观地显示出来,同时还要尽量减小发现网络设备和显示设备拓扑图的运行代价[2]。
为了发现更加详细的网络拓扑结构,网络的多层自动拓扑发现是必不可少的,业界通常把网络自动拓扑发现分为两部分,即IP管理域内网络层拓扑发现和数据链路层拓扑发现,本文将详细地介绍网络拓扑自动发现算法。
拓扑发现算法的相关协议简介
1.1SNMP(SimpleNetworkManagementProtocol,简单网络管理协议)
由于SNMP的简单和易于实现的特点,该管理协议已经成为目前应用最为广泛和最为流行的网络管理协议,也成为了事实上的标准[3]。它的设计目的是使网络管理站能够有效而简单地监视和控制网络设备,它由管理者、管理信息库(MIB)、代理(Agent)以及被管对象4部分组成,SNMP的体系结构见图1。
图1SNMP协议工作原理
1.管理者——是一段执行用户管理功能的程序代码,通过SNMP相关原语,向代理发送命令请求获取被管设备上的各种状态信息。
2.管理信息库(MIB)——位于被管设备上,是一个守护线程,负责收集、整理和维护被管设备的各种状态信息,这些信息存放在管理信息库中。此外,它还负责收到管理者发送的请求并向管理者发送对应的响应报文。
3.代理(Agent)——驻留在各种被管对象中的软件,维护本地的MIB信息,接受由管理站发来的MIB变量存取请求报文,经过身份检验后向管理站回送响应
一路由地址字段,通过循环且不重复地从数据库中读取下一路由地址字段便可实现对树的层次遍历。具体算法描述如下:
初始化待访问路由器队列,初始化已访问路由器队列;把缺省路由器的标志IP放人待访问路由器的队列中;
while(待访问的路由器队列不为空时)
{
从待访问的路由器队列中取出一个路由器,为CurrentRouter;
if(CurrentRouter加入到已访问路由器队列成功)
{
初始化与本地相连的路由器队列和本地相连的子网队列;
访问CurrentRouter路由表;
(
if(ipRouteType(1.3.6.1.2.1.4.21.1.8)==indirect(4))
把路由表中的各ipRouteNextHop不重复地放到与本地相连的路由器队列中;
if(ipRouteType(1.3.6.1.2.1.4.21.1.8)==direct(3))
把ipRouteDest和ipRouteMask不重复地放到与本地相连的子网队列中;然后访问CurrentRouter中的ipAdEntAddr和
ipAdEntNetMask,并把它们不重复地放到与本地相连的子网队列中;
}
遍历与本地相连的路由器队列中的每个路由器,将其标志IP放到待访问的路由器队列;
)
elseif(CurrentR0uter属于已访问路由器队列)
break;
}
2.2子网拓扑发现算法
子网拓扑发现主要利用的是ICMP协议来实现嘲.由于很多主机为了安全性会考虑关闭Ping响应功能,有些主机甚至为了防止一些其他类型的ICMP攻击而拒绝处理所有来自外部的ICMP数据包(许多防火墙在默认情况下都启用了ICMP过滤的能),但它们一般不会关闭本机对其他机器的Ping探测,也不会阻止自身对外发出ICMP错误汇报。因此,如果对一台活动主机发送UDP信包,指定与该主机的一未开启端口进行通信,无论此目的主机是否设置了ICMP过滤,它都会返回一条目的端口不可达的ICMP错误消息(Type=3,Code=3),通知源主机通信不成功,源主机收到该ICMP响应后就可以知道目的主机是活动的,只有目的主机处于