一种基于SNMP的网络拓扑发现策略

时间:2022-06-29 06:40:08

一种基于SNMP的网络拓扑发现策略

摘要:本文主要对一种基于SNMP的网络拓扑发现策略进行了探讨。首先介绍了SNMP协议在网络拓扑发现应用中的优点;其次,介绍了网络拓扑发现的优点;再次,对传统SNMP的网络拓扑发现策略进行了分析并指出了其中的不足;最后提出了改进建议。

关键词:SNMP;网络拓扑

中图分类号:TP393.02 文献标识码:A文章编号:1007-9599 (2011) 13-0000-01

SNMP-Based Network Topology Discovery Strategy

Mei Tongtong,Xu Linlin

(Civil Aviation of China Air Traffic Management Station of Dalian,Dalian116033,China)

Abstract:This paper of a SNMP-based network topology discovery strategies discussed.First introduced the SNMP protocol in the network topology discovery application advantages;Secondly,describes the advantages of the network topology discovery;again,the traditional discovery of SNMP network topology analysis of strategies and points out the lack of them;concludes with recommendations for improvement.

Keywords:SNMP;Network topology

SNMP(Simple Net Management Protocol)即“简单网络管理协议”,是一种开放的基于标准的网络管理协议框架,主要运行于TCP/IP协议集上。SNMP首先是由Internet工程任务组织的研究小组为了解决Internet上的路由器管理问题而提出的,它可以在IP,IPX,AppleTalk,OSI以及其他用到的传输协议上被使用。基于SNMP协议的拓扑发现算法完全基于标准的SNMP协议实现,发现过程和算法简单,目标明确,而且发现效率高,系统和网络开销也小,由于从路由表可以获得下一站地址的信息,得到比较完整的网络拓扑关系。

一、基本原理

网络拓扑结构的发现,主要途径是通过处理路由信息来获得。在网络中,由一台机器向另外一台机器发送数据的时候,数据包首先到达的是本地网络中默认路由器,然后由这个默认的路由器提取出数据包中的目的地址,根据自身的路由表确定目的地址是否在与自己直接相连的子网中,如果在自己的范围内,则将数据包直接送达目的地址;如果不是,则发送到下一台路由器,然后下一个路由器再进行以上的相似处理,直到到达目的地址为止。而所有的路由信息,都记录在路由表中,因此从任何一台有路由表的设备开始,分析获得与它相连的设备,然后在对这些设备进行分析,如此不断进行下去即可获得网络的拓扑结构。可以看出,只要获得了一台设备的相关路由信息,即可顺藤摸瓜地发现整个网络的拓扑结构。基于SNMP的拓扑发现方法正是在这一原理的指导下实现的。在支持SNMP协议的设备上,网络设备的连接信息都包含在MIB中,SNMP网络拓扑发现就是通过对这些信息的采集和处理实现的。

二、传统的SNMP算法

第一步:获取默认网关:查找拓扑发现程序所在计算机的MIB中的Ip Route Table,找到Ip Route Dest值为0.0.0.0的表项并记录下该表项的索引号,通过该索引号查找Ip Route Next Hop的值,该值即为默认网关的地址,将其加入路由器队列,作为开始拓扑结构发现的种子路由设备。

第二步:选取一个从路由器队列中取出一个路由器,为current Router;访问current Router路由表,获取每个路由目的网络,并且查询每个路由目的网络号,并查询每个目的网络对应的接口类型值,如果类型值为3,表明为直接路由,若该值为4(indirect)则为间接路由。直接路由表明与目的网络或目的主机直接相连,记录下直接路由类型的ip Route Dest值即为与路由器直接相连的子网号。间接路由表明要通往目的网络或目的主机还要经过其他路由器,这个路由器即是与本路由设备连接的路由器。

第三步,如果接口类型值为4,则获取Ip Route Table中的下一跳地址,将此IP加入Current Router的路由器连接队列,然后将此新路由器加入临时路由器队列。将Current Router加入已搜索路由队列。跳入第2步直至遍历完待搜索路由队列的所有路由器。

通过以上论述,我们可以看出,此算法搜索过程简单,算法实现不复杂并且效率较高。但是也存在着一定的问题:

1.此算法把每个网关地址都作为独立的一个路由器处理,而现实运用中,一个路由器是有多个网关地址(路由器多个端口地址),这就会造成发现的路由器数目比实际数目多,造成拓扑发现不准确问题,这也称为路由器多址问题。

2.由于子网队列的子网地址和子网掩码利用ping技术来发现子网内的其他设备,但是有些网络出于保护所辖网络的私密性、安全性考虑,将路由器设置为不对Trace Route探测报文进行响应。所以,我们就不能够确定此设备能否到达,这也就是所说的匿名路由问题。

三、改进策略

为了防止一台路由多个IP的这样问题,我们不能直接将ip Route Next Hop作为下一跳路由器的地址加入临时路由器队列,而是通过一定的方法将这些地址与其所属路由器的ipAddrTable的ipAdEntAdd比较,从而将属于同一台路由器的IP地址合并,并从这些IP地址中选取最大的一个作为该路由器的标志IP,将此IP加入Current Router的路由器连接队列,然后将此新路由器加入临时由器队列,这就是路由器IP多址合并算法。当然,这种算法也有其缺点,缺点就是该方法的实现较复杂,效率较低。

同时,为了解决匿名路由的问题,我们在改进策略中要引入基于图论推导的方法处理匿名路由器,这也是目前主流处理方法。该方法首先分析由匿名路由器构造的拓扑图,并将这些冗余拓扑分成平行结构、子团结构、完全双向结构和星型结构进行处理,引入一个基于图的推导技术来解析匿名路由器。该方法能够识别各种典型的匿名路由器子图结构,但计算复杂度较高,且仅能对只存在一跳匿名路由器的问题进行处理,在实际分析中还存在一定的识别难度。

四、总结

网络拓扑的发现是网络管理系统中的一个重要功能,网络拓扑图为网络管理人员提供了一个了解全局网络连接的直观手段。设计和开发一个实用而有效的网络拓扑发现算法策略一直是网络管理系统开发中最核心也是难度最高的部分,这方面的研究和讨论一直在进行。本文的书写仅仅基于本人日常的工作研究,当然在一些核心思想还存在一定的不足,需要日后不断的思考实践,争取提出更为有效的改进策略。

参考文献:

[1]杨国正.匿名路由器对抽样网络拓扑的影响分析[J].计算机工程,2009,8

[2]杜波.基于SNMP网络拓扑发现算法的研究与改进[J].昆明冶金高等专科学校学报,2009,5

上一篇:论网络信息保密安全维护 下一篇:对3G应用前景与中国电信发展的探讨