标题：Object SNMP
简介
Object SNMP提供诸如分布式代理SNMP网关、 网络拓扑发现、物理拓扑发现、网络自动搜索发现 、设备连接关系发现、设备类型发现、网络漫游搜索、以及定义好的可管理各种设备的MIB数据等高级功能。
与传统SNMP开发的比较
比较项目基于传统SNMP协议栈开发 （如各种开源或商业SNMP协议栈）使用Object SNMP开发软件架构实现对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对象无积累了多种MIB数据采集服务，如网络接口、流量、数据包、IP、CPU、磁盘、内存、IP-MAC、802.1X、AAA、路由信息、交换机MAC表、WiFi MIB等MIB数据，可以直接提供给用户使用。
常用数据采集服务
ObjectSNMP提供如下常用数据采集服务，使用者可直接使用：系统类MIB描述(1). SNMP Agent系统信息(MibSystem) 
描述：SNMP设备的基本描述信息，如系统名称、启动时间、描述等信息。所有支持SNMP的设备都应该支持此信息。
Mib类型：Mib组
支持的设备：路由器、交换机、防火墙、服务器、计算机等所有支持SNMP的设备。
MIB获取方法：MibSystem mibResult=SNMPAPI. getMibObject(new MibSystem(),target);
对应的Java对象：com.zhtelecom.common.snmp.mib. MibSystem
Java对象描述：
属性名中文名是否可写描述sysDescr系统描述只读系统的描述信息。描述信息可作为识别设备类型的补充手段。sysObjectID系统的私有OID只读如果系统申请了企业私有OID，显示系统私有OID。私有OID可以作为识别设备类型的方法。sysUpTime启动时间只读系统SNMP Agent模块运行的时间，一般可认为是系统的运行时间。单位：百分之一秒sysContact系统联系人可写系统的管理员或联系人sysName系统名称可写系统的名称sysLocation系统位置可写系统的物理位置sysServices服务类型只读系统提供的服务类型。OSI划分的服务类型。目前很少用到。(2). 系统IP地址信息(MibIPAddrEntry) 
描述：设备的IP地址、掩码、网关等 
Mib类型：Mib表。设备有多个IP地址。
支持的设备：路由器、交换机、防火墙、服务器等支持IP协议的设备
MIB获取方法：MibIPAddrEntry mibResult=SNMPAPI. getMibObject(new MibIPAddrEntry(),target);
对应的Java对象：com.zhtelecom.common.snmp.mib. MibIPAddrEntry
(3). SNMP Agent统计信息(MibSNMP) 
描述：SNMP Agent模块统计的SNMP 请求、应答、错误等统计数据 
Mib类型：Mib组
支持的设备：大部分支持SNMP的设备，都提供此信息。
MIB获取方法：MibSNMP mibResult=SNMPAPI. getMibObject(new MibSNMP(),target);
对应的Java对象：com.zhtelecom.common.snmp.mib. MibSNMPIP网络类MIB描述(1). 网络接口/端口信息(MibIfEntry) 
描述：网络设备、计算机均是多网口、多网络接口设备。通过此信息可以了解设备上有多少个网卡、交换机接口、路由器端口、网络接口；并进一步知道每个接口/端口的详细信息。
Mib类型：Mib表。设备有多个网络接口。
支持的设备：路由器、交换机、防火墙、服务器等端口/接口设备
MIB获取方法：List mibResultList=SNMPAPI. getAllTableData (MibIfEntry.class,target);
对应的Java对象：com.zhtelecom.common.snmp.mib. MibIfEntry
(2).网络接口流量和数据包信息(MibIfEntry) 
描述：网络设备、计算机均是多网口、多网络接口设备。比如交换机有多个接口，每个接口有独立的流量和数据出入统计信息。
Mib类型：Mib表
支持的设备：路由器、交换机、防火墙、服务器等端口/接口设备
MIB获取方法：List mibResultList=SNMPAPI. getAllTableData (MibIfEntry.class,target);
对应的Java对象：com.zhtelecom.common.snmp.mib. MibIfEntry
(3).IP层流量和输入输出统计信息(MibIP) 
描述：通过整个设备系统的的流量信息、整个设备系统的输入统计信息和输出统计信息。 
Mib类型：Mib组
支持的设备：路由器、交换机、防火墙、服务器等支持IP协议的设备。
MIB获取方法：MibIP mibResult=SNMPAPI. getMibObject(new MibIP(),target);
对应的Java对象：com.zhtelecom.common.snmp.mib. MibIP
(4).路由表信息(MibIPRouterEntry) 
描述：IP设备的路由表信息。 
Mib类型：Mib表。多项路由表信息。
支持的设备：路由器、计算机、防火墙、服务器等
MIB获取方法：List mibResultList=SNMPAPI. getAllTableData (MibIPRouterEntry.class,target);
对应的Java对象：com.zhtelecom.common.snmp.mib. MibIPRouterEntry
(5). TCP连接资源和统计信息(MibTCPConnEntry) 
描述：系统中所有TCP网络连接的信息，包含本地TCP监听和远程TCP连接。 
Mib类型：Mib表。有多条TCP连接。
支持的设备：路由器、交换机、防火墙、服务器等
MIB获取方法：List mibResultList=SNMPAPI. getAllTableData (MibTCPConnEntry.class,target);
对应的Java对象：com.zhtelecom.common.snmp.mib. MibTCPConnEntry
(6). UDP监听信息(MibUDPEntry) 
描述：系统中所有UDP监听信息。 
Mib类型：Mib表。
支持的设备：路由器、交换机、防火墙、服务器等
MIB获取方法：List mibResultList=SNMPAPI. getAllTableData (MibUDPEntry.class,target);
对应的Java对象：com.zhtelecom.common.snmp.mib. MibUDPEntry
(7). IP-MAC关联表(MibMacIP)
描述：IP地址和MAC地址的学习表。设备学习到的MAC地址和IP地址成对显示出来。 
Mib类型：Mib表。多个IP-MAC地址对。
支持的设备：路由器、交换机、计算机等
MIB获取方法：List mibResultList=SNMPAPI. getAllTableData (MibIpAdEntAddr.class,target);
对应的Java对象：com.zhtelecom.common.snmp.mib. IpAdEntAddr交换机MIB描述(1). 交换机端口基本信息(Dot1dBasePortEntry) 
描述：查看交换机所有的物理端口，物理端口与网络接口之间的对应关系，端口的基本 
信息
Mib类型：Mib表
支持的设备：二层/三层交换机
MIB获取方法：List mibResultList=SNMPAPI. getAllTableData (Dot1dBasePortEntry.class,target);
对应的Java对象：com.zhtelecom.common.snmp.mib. Dot1dBasePortEntry
(2). 交换机转发MAC地址和状态(Dot1dTpFdbEntry)
描述：交换机每个端口学习到的物理地址和地址状态。可用于搜索和发现交换机下设备。 
Mib类型：Mib表
支持的设备：二层/三层交换机
MIB获取方法：List mibResultList=SNMPAPI. getAllTableData (Dot1dTpFdbEntry.class,target);
对应的Java对象：com.zhtelecom.common.snmp.mib. Dot1dTpFdbEntry硬件设施类MIB描述(1). 硬件设施和工作状态(MibDeviceEntry) 
描述：计算机中的硬件设施列表，以及设备的状态。如键盘、CPU、网卡、鼠标等 
Mib类型：Mib表。系统有多种设施。
支持的设备：计算机、服务器、操作系统
MIB获取方法：List mibResultList=SNMPAPI. getAllTableData (MibDeviceEntry.class,target);
对应的Java对象：com.zhtelecom.common.snmp.mib. MibDeviceEntry
(2). 存储系统状态(MibDiskAndMemoEntry) 
描述：物理磁盘、逻辑磁盘、内存、虚拟内存的使用情况。 
Mib类型：Mib表。
支持的设备：计算机、服务器、操作系统
MIB获取方法：List mibResultList=SNMPAPI. getAllTableData (MibDisskAndMemoEntry.class,target);
对应的Java对象：com.zhtelecom.common.snmp.mib.MibDiskAndMemoEntry
(3). CPU负载信息(MibProcessorEntry) 
描述：系统中CPU的负载情况。 
Mib类型：Mib表。
支持的设备：计算机、服务器、操作系统、高端网络设备
MIB获取方法：List mibResultList=SNMPAPI. getAllTableData (MibProcessorEntry.class,target);
对应的Java对象：com.zhtelecom.common.snmp.mib. MibProcessorEntry软件类MIB描述(1). 软件进程状态信息(MibSoftwareRunEntry)
描述：系统中正在运行的进程信息，如：进程名、进程路径、运行状态等。 
Mib类型：Mib表
支持的设备：计算机、服务器、操作系统等
MIB获取方法：List mibResultList=SNMPAPI. getAllTableData (MibSoftwareRunEntry.class,target);
对应的Java对象：com.zhtelecom.common.snmp.mib.MibSoftwareRunEntry
(2). 已安装的软件信息(MibSoftwareInstallEntry) 
描述：系统中已安装的软件信息。 
Mib类型：Mib表
支持的设备：计算机、服务器、操作系统等
MIB获取方法：List mibResultList=SNMPAPI. getAllTableData (MibSoftwareInstallEntry.class,target);
对应的Java对象：com.zhtelecom.common.snmp.mib. MibSoftwareInstallEntryJava类MIB描述(1). Java服务器基本信息(MibJvmOS) 
描述：Java系统的基础操作系统信息。 
Mib类型：Mib组
支持的设备：使用SUN JDK/JRE的Java/J2EE软件、服务器。如：Tomcat、JBoss、SUN ONE
Server、Oracle OC4J Server等。
MIB获取方法：MibJvmOS mibResult=SNMPAPI. getMibObject(new MibJvmOS(),target);
对应的Java对象：com.zhtelecom.common.snmp.mib. MibJvmOS
(2). JVM基本信息(MibJvmRuntime) 
描述：Java虚拟机的全局基本信息。 
Mib类型：Mib组
支持的设备：使用SUN JDK/JRE的Java/J2EE软件、服务器。如：Tomcat、JBoss、SUN ONE
Server、Oracle OC4J Server等。
MIB获取方法：MibJvmRuntime mibResult=SNMPAPI. getMibObject(new MibJvmRuntime(),target);
对应的Java对象：com.zhtelecom.common.snmp.mib. MibJvmRuntime
(3). Java内存和堆栈状态(MibJvmMemory) 
描述：JVM的垃圾回收、内存、堆栈情况。 
Mib类型：Mib组
支持的设备：使用SUN JDK/JRE的Java/J2EE软件、服务器。如：Tomcat、JBoss、SUN ONE
Server、Oracle OC4J Server等。
MIB获取方法：MibJvmMemory mibResult=SNMPAPI. getMibObject(new MibJvmMemory(),target);
对应的Java对象：com.zhtelecom.common.snmp.mib. MibJvmMemory
(4). Java线程和资源消耗情况(MibJvmThreading) 
描述：Java系统中全部线程的信息，包含线程的名称、运行状态、CPU时间等。 
Mib类型：Mib表
支持的设备：使用SUN JDK/JRE的Java/J2EE软件、服务器。如：Tomcat、JBoss、SUN ONE
Server、Oracle OC4J Server等。
MIB获取方法：List mibResultList=SNMPAPI. getAllTableData (MibJvmThread.class,target);
对应的Java对象：com.zhtelecom.common.snmp.mib. MibJvmThreading