网络拓扑自动发现java
-智能网管软件的基础数据库
网络拓扑做为一种表示网络设备逻辑链接与物理链接之间关系的方法,经过它网络管理员能够很直观地掌握当前网络设备的运行情况,准肯定位网络中的故障点,并对准确分析网络中存在的问题提供基础数据,从而有针对性地优化网络,提升网络的性能。能够说,网络拓扑的自动发现是实现智能网络管理系统的技术关键,是构成智和网管软件的基础.网络
拓扑发现原理app
目前有多种网络拓扑发现方法,包括:工具
(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表中的记录会不断的更新,将没法包含网络中全部的交换路由设备。url
(4) 基于OSPF(OpenShortestPath Firs,优先开放最短路径)协议的发现方法。OSPF中链路状态数据库存放的信息能够用来计算网络路由,计算过程是从不一样的链路状态记录中归纳出一个表明网络的节点图。节点图中内部节点是OSPF路由器和中转网络,外围节点是末梢网络、汇总网络以及外部目的站点,链接的弧线是具备不一样度量制式的各类链路。所以,网络管理维护系统也能够访问自治系统每一个区域中某一个路由器存有的相关的OSPF路由表信息,就能够构造出整个自治系统的网络拓扑图。该方法的优势是速度快、性能高。但实现难度大,且搜索只能限定在必定范围内,全部设备也必须支持0SPF协议。spa
(5) 基于LLDP(Link LayerDiscovery Protocol,链路层发现协议)协议的发现方法。LLDP是一个厂商无关的二层协议,它容许网络设备在本地子网中通告本身的设备标识和性能。简单说来,LLDP是一种邻近发现协议。它为以太网网络设备,如交换机、路由器和无线局域网接入点定义了一种标准的方法,使其能够向网络中其余节点公告自身的存在,并保存各个邻近设备的发现信息。例如设备配置和设备识别等详细信息均可以用该协议进行公告。具体来讲,LLDP定义了一个通用公告信息集、一个传输公告的协议和一种用来存储所收到的公告信息的方法。.net
SugarNMS 网络自动拓扑发现功能
SugarNMS智和网络管理软件是以SNMP网管协议为基础,并综合了ICMP ping、ARP、CDP、LLDP、OSPF邻居路由、端口转发表、STP生成树协议等物理拓扑发现技术,发现设备的物理连接。智能分析网络拓扑结构,自动勾画出整个网络的真实物理拓扑图。
智和网管软件中采用了Object-SNMP网关组件(Object Simple Network Management Protocol), 这个组件是一个面向对象的SNMP开发组件,与关系数据库流行的O-R Mapping技术相似,实现了Object到SNMP 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全面开发解决方案;