基于SNMP的网络拓扑发现(1)(2)
2015-04-13 02:13
导读:图22.3 SNMP支持的操作 SNMP共有5种操作: (1)GetRequest 读对象值操作,使管理站能够从被管理设备的代理中检索对象的值。 (2)GetNextRequest 读取当前对象的下一

图22.3 SNMP支持的操作 SNMP共有5种操作: (1)GetRequest 读对象值操作,使管理站能够从被管理设备的代理中检索对象的值。 (2)GetNextRequest 读取当前对象的下一个可读取的对象的实例值。 (3)SetRequest 管理站更新代理中对象的值。 (4)GetResponse 代理对GetRequest/GetNextRequest/ SetRequest 3种操作的应答。 (5)Trap 代理向管理站发送对象值。3 基于SNMP协议的拓扑发现 利用SNMP进行拓扑发现实质上就是扮演管理者角色的工作站读取被管理设备的MIB库中相关信息来实现的。每个设备维护一个MIB库,里面由此设备相关信息,使用SNMP管理网络最大的优点就是可以实时发现网络拓扑的变更,但也有其局限性,即被管理的设备都要支持SNMP[2]。在网络拓扑结构中,最主要的是路由器之间的连接关系和子网划分情况,所以网络拓扑关系构建的要点如下: (1)在网络拓扑关系中,主要的组成元素包括网络节点设备,如路由器、交换机以及子网、网桥、网络中的主机等。 (2)路由器、交换机及其端口配置是构建拓扑关系的关键。 网络结构是分层次管理的,所以拓扑发现也应以分层方式来发现。路由器工作在网络层并且通常我们称网络层为第三层,所以以发现路由器和子网连接结构的拓扑发现我们称作三层拓扑发现,子网中主机发现也属于三层拓扑发现,因为采用的方法主要还是依据IP地址操作来发现的;而处于数据链路层的交换机,网桥获取我们可以称作二层拓扑发现。3.1 三层拓扑发现 三层拓扑发现主要是通过对路由表的读取来获取相关IP信息来实现,图3是一个路由表信息图。

图3 路由表信息图 Destination表示路由的目的地址网络号 。 Gateway表示下一跳的路由器或网关地址。 Genmask表示子网掩码。 Iface表示此路由的出口。 数据包在路由过程中,先将它的目的IP依次和路由表中的子网掩码按位与操作,然后分别和每行的目的地址网络号比较,如果相同,则发到Gateway标示的下一跳,如果没有匹配的则发送至默认网关,上图最后一行表示了此路由表的默认网关为192.168.1.1。网络拓扑结构在其模型上实质是一个图结构,路由器可以看作图的顶点,网络的连接状况由图的边来表示,所以说网络拓扑结构的发现是对图的遍历过程。图的遍历主要有两种方法,即深度优先搜索(DFS)和广度优先搜索(BFS)。由于拓扑发现采用分层的方式,所以采用广度优先搜索。获取管理工作站所在网络的默认网关地址(通过本地路由表获得)。默认网关的代理进程返回默认网关的ipRouteTable,可以获得网络中更多的路由器信息,将其放入队列(实现BFS的数据结构)中,利用先进先出的特性依次访问各个路由,重复这两步。访问过程中根据路由器各接口的连接类型来判断是否直连的是局域网(direct类型),记录其子网号和掩码。 实际中会对拓扑发现的范围进行限制,我们可以利用ipRouteMetric(路由器的跳数)来进行限制,获取相应子网类型的信息可以通过MIB-II中的ifTable中的ifType字段来获取,ifType定义如下: ifType OBJECT-TYPE SYNTAX INTEGER { other(1), regular1822(2), hdh1822(3), ddn-x25(4), rfc877-x25(5), ethernet-csmacd(6), iso88023-csmacd(7), iso88024-tokenBus(8), iso88025-tokenRing(9), iso88026-man(10), starLan(11), proteon-10Mbit(12), proteon-80Mbit(13), hyperchannel(14), fddi(15), lapb(16), sdlc(17), ds1(18), e1(19), basicISDN(20), primaryISDN(21), propPointToPointSerial(22), ppp(23), softwareLoopback(24), eon(25), -- CLNP over IP [11] ethernet-3Mbit(26), nsip(27), -- XNS over IP slip(28), -- generic SLIP ultra(29), -- ULTRA technologies ds3(30), -- T-3 sip(31), -- SMDS frame-relay(32) } ACCESS read-only STATUS mandatory DESCRIPTION "The type of interface, distinguished according to the physical/link protocol(s) immediately `below' the network layer in the protocol stack." ::= { ifEntry 3 }共2页: 1 [2] 下一页 论文出处(作者):