网络拓扑自动发现-智能网管软件的基础

网络拓扑作为一种表示网络设备逻辑连接与物理连接之间关系的方法,通过它网络管理员可以很直观地掌握当前网络设备的运行状况,准确定位网络中的故障点,并对准确分析网络中存在的问题提供基础数据,从而有针对性地优化网络,提高网络的性能。可以说,网络拓扑的自动发现是实现智能网络管理系统的技术关键,是构成智和网管软件的基础.


   

拓扑发现原理

目前有多种网络拓扑发现方法,包括:

(1)  基于SNMP(Simple NetworkManagementProtocol,简单网络管理协议)的发现方法。该方法主要是利用SNMP协议,访问交换机和路由器等网络设备中的MIB库,获取相应信息。SNMP的一个突出优点是当网络发生变化时MIB中的信息将会随之变化,并且信息获取的整个过程相当快,从而也提高了拓扑发现的速度,并且结果可靠,系统和网络开销小。但使用SNMP进行拓扑发现的主要问题在于并不是每一个网络设备都提供SNMP网管服务,即便提供了SNMP服务,MIB中也可能没有保存足够多的有用信息。另外一个问题是关于MIB值的解释问题,虽然关于设备的一些基本信息在MIB中都进行了标准化的定义,但是许多生产商为了更好的描述它们自己产品的功能,在MIB中添加私有信息。

(2) 基于ICMP(InternetControlMessage Protocol,Internet控制报文协议)的发现方法。该方法利用ping数据包进行拓扑发现。Ping是IP网络中使用最早和最广泛的工具之一,它主要是利用ICMP echo reNy消息来检测主机是否可达,同时也可以通过计算往返延迟推断节点据我们有“多远”。由于使用较小的分组,Ping的开销较小。我们可以Ping每一个可能的IP地址以判断它们是否对应可达的网络节点。当向一个可达节点发出Ping报文时,通常会很快得到响应(几十微秒),但当向一个不可达的节点发出Ping报文时,将在设定的间隔后超时,这个间隔通常是2秒,因此在这种情况下,使用Ping是相当低效的,尤其当出于拓扑发现的目的向大量待定的IP地址发出Ping报文时效率更低。由于ping操作的探测周期较长,网络负载也较大,不适合实时的拓扑发现。

(3) 基于ARP协议(Address Resolution Protocol,地址解析协议)的发现方法。网络设备的ARP表中设备地址都是有效的IP地址,而且没有存储多余信息,且交换机、路由器等均支持ARP协议,所以这种方法发现效率是很高的,应用范围也广,但如果网络太大,ARP表中的记录会不断的更新,将无法包含网络中所有的交换路由设备。

(4)  基于OSPF(OpenShortestPath Firs,优先开放最短路径)协议的发现方法。OSPF中链路状态数据库存放的信息可以用来计算网络路由,计算过程是从不同的链路状态记录中概括出一个代表网络的节点图。节点图中内部节点是OSPF路由器和中转网络,外围节点是末梢网络、汇总网络以及外部目的站点,连接的弧线是具有不同度量制式的各种链路。因此,网络管理维护系统也可以访问自治系统每个区域中某一个路由器存有的相关的OSPF路由表信息,就可以构造出整个自治系统的网络拓扑图。该方法的优点是速度快、性能高。但实现难度大,且搜索只能限定在一定范围内,所有设备也必须支持0SPF协议。

(5)  基于LLDP(Link LayerDiscovery Protocol,链路层发现协议)协议的发现方法。LLDP是一个厂商无关的二层协议,它允许网络设备在本地子网中通告自己的设备标识和性能。简单说来,LLDP是一种邻近发现协议。它为以太网网络设备,如交换机路由器无线局域网接入点定义了一种标准的方法,使其可以向网络中其他节点公告自身的存在,并保存各个邻近设备的发现信息。例如设备配置和设备识别等详细信息都可以用该协议进行公告。具体来说,LLDP定义了一个通用公告信息集、一个传输公告的协议和一种用来存储所收到的公告信息的方法。

SugarNMS 网络自动拓扑发现功能

SugarNMS智和网络管理软件是以SNMP网管协议为基础,并综合了ICMP ping、ARP、CDP、LLDP、OSPF邻居路由、端口转发表、STP生成树协议等物理拓扑发现技术,发现设备的物理链接。智能分析网络拓扑结构,自动勾画出整个网络的真实物理拓扑图。



 
智和网管软件中采用了Object-SNMP网关组件(Object Simple Network Management Protocol), 这个组件是一个面向对象的SNMP开发组件,与关系数据库流行的O-R Mapping技术类似,实现了ObjectSNMP MIB的操作映射(简称O-M Mapping),系统提供了Java/SNMP网关、RMI/SNMP网关Web Service/SNMP网关服务。开发者无需理解SNMP协议和MIB细节,只需要定义普通数据对象,然后将数据对象按添加、删除、修改、查询等模式提交给网关即可。Object SNMP网关会自动将数据对象按开发者的期望发送到SNMP设备,并返回用户需要的数据对象。

 

ObjectSNMP组件可以帮助网管软件快速自动的发现网络拓扑连接关系,并提取设备各项数据。其拓扑自动发现功能如下:

全网设备发现:可以按网络号、IP范围、多个网络范围内,自动搜索发现设备,获取设备的基本信息、设备类型(交换、路由、路由交换、终端设备、厂商特有类型等)、MAC地址、ARP表、交换机端口、路由器接口、路由表、交换机转发表、主机IP地址等信息。

网络漫游发现:给定少数几个已知的网络号、IP范围,按用户指定的漫游深度和漫游广度,进行全网漫游发现。

网络拓扑自动发现:可以发现交换机与交换机、交换机与PC机、交换机与终端设备、交换机与路由器、路由交换机与路由交换机之间 的连接关系。连接关系可以定位到具体的设备端口、设备接口上。支持在任意指定的设备之间发现它们的所有连接,在全网范围内发现连接关系。

ObjectSNMP的物理拓扑自动发现采用了全新的技术:即支持单一Cisco、华为网络,也支持各种厂商设备混合网络。支持模糊连接定位,在数据不全或设备缺失的情况下,尽可能发现连接关系。可在任意的网络环境中工作,不需要用户对网络做任何假设(如路由器假设、根交换机假设、上/下行端口假设、边缘设备假设等)。

 

参考:  

[1] 舒 涛,网络拓扑自动发现方法研究,辽 宁 石 油 化 工 大 学 学 报,2013年9月,第33卷第3期;

[2]anphorea 网络拓扑发现 ;

[3]  Somato , java snmp全面开发解决方案;

猜你喜欢

转载自1919684549.iteye.com/blog/2008549