随着信息化时代的到来,网络的迅速兴起和发展,使得网络成为企业获取信息、员工交流与办公极为重要的方式。与此同时,为了能够保证公司内部网络稳定,及时发现网络和设备的异常,基于SNMP协议的网管产品成为了公司必不可少的监控工具。而一个网管产品的稳定与否、灵活与否在很大程度上取决于网管与设备之间的接口设计,好的SNMP组件产品可以为网管开发团队提供稳定、快捷的接口服务。
ObjectSNMP是一个面向对象的SNMP开发组件,由北京智和信通技术有限公司自主研发,与关系数据库流行的O-R Mapping技术类似,实现了Object到SNMP MIB的操作映射(简称O-M Mapping),系统提供了Java/SNMP网关、Web Service/SNMP、TRAP网关服务。开发者无需理解SNMP协议和MIB细节,只需要定义普通数据对象,然后将数据对象按添加、删除、修改、查询等模式提交给网关即可。ObjectSNMP网关会自动将数据对象按开发者的期望发送到SNMP设备,并返回用户需要的数据对象。
ObjectSNMP还提供诸如分布式代理SNMP网关、 网络拓扑发现、物理拓扑发现、网络自动搜索发现 、设备连接关系发现、设备类型发现、网络漫游搜索、以及定义好的可管理各种设备的MIB数据等高级功能。
ObjectSNMP与传统SNMP开发的比较
比较项目 |
基于传统SNMP协议栈开发 |
使用ObjectSNMP开发 |
软件架构 |
实现对SNMP协议的原始封装 |
底层实现对SNMP协议的封装,上层提供基于对象的网关服务和各种高级服务。 |
开发技能要求 |
需要对Socket、PDU/UDP、SNMP Get/SNMP Set/GetNext/GetBulk、MIB语法、OID规范、SNMP数据类型等有开发级的掌握。 |
仅需要对SNMP有概念了解就可开发。对开发人员完全屏蔽SNMP技术细节。并且有对象代码的自动生成工具,进一步简化开发。 |
开发效率 |
大量的SNMP协议层操作代码 |
对象级的上层抽象操作。代码量仅有传统模式的10%。 |
开发时间 |
一般情况下,软件生命周期内需要专人负责SNMP模块的开发和后期维护。 |
使用ObjectSNMP组件后,开发人员在SNMP模块开发和设备联调上花费的时间仅有传统模式的20%。 |
软件性能 |
需要大量的调优、测试、验证来保证。 |
ObjectSNMP网关通道已通过基准性能验证,新定义的数据对象直接在网关通道上传递。 |
软件模式 |
无,需要开发人员重新建立。 |
有统一的对象模式和网关模式,与整体软件的对象风格保持一致。 |
网关功能 |
无 |
同时支持Java、RMI、Web Service、Proxy等多种网关。 |
高级服务 |
无 |
全新技术的网络拓扑自动发现(全网发现、子网发现、IP发现、漫游搜索、物理连接拓扑发现) 和网络资源发现(发现网络端口、硬件设施、磁盘、CPU、软件服务) |
预定义MIB对象 |
无 |
智和信通在SNMP领域积累的多种MIB数据采集服务,如网络接口、流量、数据包、IP、CPU、磁盘、内存、IP-MAC、802.1X、AAA、路由信息、交换机MAC表、WiFi MIB、Windows/Linux/Unix MIB、Oracle MIB、Cisco、华为、H3C、中兴等MIB数据,可以直接提供给用户使用。随着智和信通的业务发展,现成的功能会越来越丰富。大大减少了用户对设备预研的时间。 |
ObjectSNMP 的主要功能和特征
功能 |
特性 |
跨平台支持 |
100%Java技术,支持Windows、Linux、Unix、麒麟等操作系统 |
网络设备支持 |
支持对路由器、交换机、防火墙、EoC设备、工业交换机、工业无线、EPON设备、SDH设备、E1接入设备、微波设备、计算机的混合网络 |
设备识别扩展 |
自定义新设备的类型、类型识别策略。自定义新设备类型的网口、光口、电口、指示灯、风扇、电源的识别发现策略。 |
私网穿透 |
支持通过Internet远程监控设备;支持防火墙和私网穿透对设备监控。不需要任何第三方私网穿透、NAT、代理软件或硬件 |
一键式发现和监控 |
只需要一步操作,ObjectSNMP自动完成如下全部功能:网络设备发现、设备信息发现、设备类型识别、设备链路发现、网络接口数据呈现 |
SNMP代理网关 |
支持ObjectSNMP到ObjectSNMP的代理,支持部署多套SNMP采集模块 |
支持私有MIB文件 |
产品可以加载各种厂商的私有MIB文件,加载私有MIB文件后,自动解析MIB文件的语法。 |
O-M Mapping映射框架功能 |
SNMP领域的Object-MIB映射框架,自动翻译MIB和OID语法,自动翻译SNMP命令和网络操作,开发人员只需要定义一个与MIB数据相对应的普通数据对象,通过各种网关提交数据对象,即可完成对SNMP的复杂访问。 |
SNMP网关 |
Object SNMP组件提供四种网关服务:本地网关、web service网关、Proxy代理网关。所有的网关的API保持一致,都提供了基于数据对象添加、删除、修改、查询等服务;并可以随意切换各种网关模式,保持API对用户不变。四种网关服务支持三种架构下的应用程序:B/S、C/S以及分布式架构;支持组件远程调用,也支持单一进程内调用。 |
全网设备自动发现 |
全网设备自动发现,能够自动搜索发现设备,获取设备的基本信息、设备类型(交换、路由、路由交换、终端设备、厂商特有类型等)、MAC地址、ARP表、交换机端口、路由器接口、路由表、交换机转发表、主机IP地址等信息。支持四种发现模式:按按IP范围搜索、按子网IP搜索、按路由器IP搜索、漫游搜索。 |
全网拓扑自动发现 |
可以发现交换机与交换机、交换机与PC机、交换机与终端设备、交换机与路由器、路由交换机与路由交换机之间 的连接关系。连接关系可以定位到具体的设备端口、设备接口上。支持在任意指定的设备之间发现它们的所有连接,在全网范围内发现连接关系。 |
全新技术的拓扑发现 |
物理拓扑自动发现采用了全新的技术,即支持单一Cisco、华为网络,也支持各种厂商设备混合网络。支持模糊连接定位,在数据不全或设备缺失的情况下,尽可能发现连接关系。可在任意的网络环境中工作,不需要用户对网络做任何假设(如路由器假设、根交换机假设、上/下行端口假设、边缘设备假设等)。 |
支持的物理链路协议 |
LLDP链路发现协议;CDP思科链路发现协议;STP生成树发现协议;OSPF路由链路发现协议;邻居路由关系发现协议;端口转发表链路协议;ARP虚链路协议。 |
资源自动发现 |
搜索发现设备的网络接口、板卡、硬件设施、磁盘、内存、CPU、软件服务等。 |
SNMP数据采集服务 |
ObjectSNMP提供对常用数据采集服务,包括系统类MIB描述、IP网络类MIB描述、交换机MIB描述、硬件设施类MIB描述、软件类MIB描述、Java类MIB描述。通过对多种类别数据的采集实现了对设备的全面管理。 |
TRAP消息接收 |
主动轮询和trap接收。内置SNMP Trap接收服务器,可以接收公共和私有SNMP Trap消息。并自动将原始Trap PDU包解析成Java Trap消息对象。为了简化Trap通知模式的编程开发,ObjectSNMP将被动接收的Trap消息机制映射成为主动获取Java Trap消息对象的普通编程模式。 |
MIB Browser |
MIB 数据浏览器,基于图形化界面,浏览MIB数据和进行SNMP命令操作;也可集成在程序中使用SNMP数据浏览器,便于开发和调试。 |
并发机制 |
多线程、消息队列、同步锁、线程池、异步消息等机制 |
自动Java代码生成技术 |
提供了Java数据对象代码的自动生成技术,进一步简化SNMP开发工作。 |
开放的标准 |
构建于SNMP、Java Beans、WebService、 Java Net等标准技术之上。 |
面向对象 |
基于面向对象的设计模式(将SNMP的操作转化为Java的对象操作),减少开发人员学习解SNMP的过程。 |