基于SNMP网络管理系统的实现

原创 2016年06月12日 16:02:43

个推作为国内最专业的第三方消息推送技术解决方案的服务商接入SDK用户数高达80亿,日活跃用户达6.5亿。日分发消息23亿。在实际的运维环境中,需要时刻对网络设备进行监控和管理,并包含了各种网络设备,包括交换机,路由器,服务器等等。

 

网络是计算机通信网的重要组成部分,它通过互连和协同工作来构成大范围的信息处理系统。网络管理指通过监督,组织,控制网络通信服务和信息处理等活动,确保计算机网络的持续正常运行,并在运行出现异常时及时响应和排除故障。如何有效的进行区域内网络的管理是计算机网络能够有效,可靠,安全,经济的提供服务的重要保障。

 

认识SNMP协议

意义价值:SNMP协议可以为不同厂家,不同类型,不同型号的设备,定义一个统一的接口和协议,使得管理员可以通过网络,使用通用的规则管理位于不同物理空间的设备,从而大大提高网络管理的效率,简化网络管理员的工作。



SNMP协议处于OSI七层模型中的应用层协议。在1988年被制定,并被Internet体系结构委员会(IAB)采纳作为一个短期的网络管理解决方案;由于SNMP的简单性,在Internet时代得到了蓬勃的发展,1992年发布了SNMPv2版本,以增强SNMPv1的安全性和功能。现在,已经有了SNMPv3版本。目前大部分的网络设备如交换机,路由器等都支持SNMP协议规范,SNMP协议已经成为了网络管理领域中的工业标准。

 

一套完整的SNMP网络设备监控系统系统主要包括管理信息库(MIB)、管理信息结构(SMI)及SNMP报文协议,管理工作站利用SNMP进行远程监控管理网络上的所有支持这种协议的设备(如计算机工作站、终端、路由器、Hub、网络打印机等),主要负责监视设备状态、修改设备配置、接受事件警告等。

 



SNMP消息

在OSI模型中,传输层的数据单元也称为数据包(packets)。SNMP采用的是UDP(用户数据报协议)作为其传输层协议,并为SNMP提供网络服务,UDP协议的数据单元称为数据报(datagrams)。因为UDP是一种不可靠的数据报服务,所以并不能保证UDP数据报一定能达到目的,但是掉包问题并不对网络管理产生大的影响。SNMP消息包含两个部分:SNMP报头和协议数据单元PDU(Protocol Data Unit),其中SNMP报头包括SNMP版本号和团体名。SNMP版本号目前有三种:Version1、Version2、Version3。团体标识可以作为SNMP消息的口令,缺省值为"public"。查看SNMP版本联系和区别(http://blog.csdn.net/zyboy2000/article/details/7221687)

1. Get_Request:Manager端向Agent端发送读取信息的请求;

2. Get_ Next_Request:Manager端向Agent端 发送Get-Request组合起来查询特定的表对象中的列元素。

3. Get_Response:Agent端对Manager端请求的响应;(被动响应)

4. Set_Request:Manager端向Agent端发送设备设置信息,Agent端可根据设置信息来改变设备状态(包括设备名、设备属性、删除设备或使某一个设备属性有效/无效等);

5. Trap:当Agent端发生某些事件时,Agent端主动向Manager端发送陷阱信息,如关机事件。

 

SNMP4J简介

SNMP4J 是一个企业级的免费开源的SNMP API for Java的类库。基于JAVASE 1.4及以上。官网位于[http://www.snmp4j.org/](http://www.snmp4j.org/),提供相关JavaDoc和wiki。


Java Demo(实现对某一网络主机获取主机名称)






SNMPTest.getRequest的Console:

OID: 1.3.6.1.2.1.1.5.0

Value: com-router

 

SNMP4J 重要的类和接口

Snmp:该包中的核心类,它提供发送和接受SNMP PDU的方法。拥有同步和异步的两种方式。Snmp和传输协议无关。支持添加特定TransportMapping实例通过调用addTransportMapping(TransportMapping TransportMapping)方法或使用非默认的构造函数创建一个Snmp实例与相应的传输映射。传输映射用于传入和传出消息。

TransportMapping:该接口代表了SNMP4J所使用的传输层协议。这也是SNMP4J一大特色的地方。按照RFC的规定,SNMP是只使用UDP作为传输层协议的。而SNMP4J支持管理端和代理端使用UDP或者TCP进行传输。该接口有两个子接口。

PDU:PDU类代表一个SNMP协议数据单元。PDU(针对Snmpv2c)、PDUv1(针对Snmpv1)、ScopedPDU(针对Snmpv3),但三个类除各自特别的一些参数外,都基本相同。PDU作为基类,往往足够提供大部分的特性。

Target*:一个Target接口定义了远程SNMP实体的抽象表示。带有一个地址对象,以及协议参数,比如重试次数和超时时间等。对于SNMPv1和SNMPv2c,适用CommunityTarget的实现。SNMPv3,适用UserTarget。

SNMP4J API调用流程

1. 创建协议。一般可以使用DefaultUdpTransportMapping实例,作为传输层协议。

2. 创建SNMP对象。填充TransportMapping作为构造参数。

3. 开启监听。

4. 构造目标。设置Address,版本号,重试次数,超时时间等参数。

5. 创建报文(PDU)。设置请求方式,查询的OID。

6. 发送报文。同步方式:调用snmp.send 方法;异步方式:需要设置监听器。

7. 获取ResponseEvent。同步方式阻塞返回,异步方式在监听线程中的回调函数中获得。ResponseEvent.getResponse(),获取回复报文。

8. 释放资源。Snmp.close()。

 

SNMP网络管理系统

一个SNMP管理的网络包含三个主要部分:被管理设备、代理和网络管理系统(NMS)。被管理设备就是处于被管理的网络中的多个设备,负责收集和存储管理信息;代理是安装在被管理设备中的软件程序(如大部分交换机自带SNMP代理程序,仅需开启即可);网络管理系统就是用于监控被管理设备执行状态的软件系统。SNMP进行网络管理时,一般采用Manager/Agent结构集中式管理信息的方式,管理工作站为Manager端,网络中的各个设备为Agent端。


SMI管理消息结构

管理信息结构SMI是SNMP的基础部分,定义了SNMP框架所使用的信息的组成,结构和表示,为描述MIB对象和协议如何交换信息奠定了基础。

 

MIB管理消息库

在复杂的网络环境中,网络设备的类型各式各样,所以设备的信息也因设备类型不同而不同,为了将这些信息能通过网络管理系统进行管理,必须采用一套标准来描述这些设备的信息,所以SNMP定义了MIB(Management Information Base)。MIB分为标准MIB和私有MIB,标准MIB适用于所有网络设备,而私有的MIB则由设备厂家向有关机构申请后自行定义。MIB采用树状结构,每个节点每个结点分配了一个字符串和一个小整数作为标号,即OID(Object Identifier)。


MIB结构树中任一对象的名字就是从根到对象结点的路径上各个节点的标号序列,标号之间用点分隔。如被管理设备中每个网络接口的IP地址信息表示为:iso.org.dod.internet.mgmt.mid.ip,它的数字表示为:1.3.6.1.2.1.4。

 

标准MIB的基本OID以为1.3.6.1.2.1前缀,而私有的MIB的基本OID以为1.3.6.1.4.1前缀。如果在某一节点下有多个信息,则以列表方式存在,比如IP地址信息中包括子网掩码、网关地址等。

 

网络环境拓扑图


系统设计图


系统案例和效果

 

基于SNMP网络管理系统的实现,完美解决了跨设备,跨物理位置的网络设备的监控和管理。实时监控当前设备的状态,网络流入流出速率,cpu/内存的使用状况 等必要信息。

如比当天的流量实时监控:


网络管理员可以对设备集中的进行监控和管理,并且直观的从界面中获取实时流量数据,分析当前网络设备的当前状态,即时相应处理和维护。


基于SNMP的网络管理软件设计方案和实现

随着网络技术的高速发展,计算机网络的应用的深度和广度不断提高,日渐深入我们的工作和生活。从政府机关的管理,企业营销、物流的网络管理,科研机构信息的交流,到个人的娱乐、生活,网络在这其中正在发挥着越来越...

如何实现PLC与THINGWORX工业物联网平台对接

迈思德网关成功与thingworx完成对接。 thingworx采用物的管理模式,每个PLC的寄存器属于物的一个属性。...

sugarnms网络管理智能化

IT部门‘成长的烦恼’ 进入21世纪,网络技术飞速发展,企业网络的规模不断扩大,这不仅让企业办公环境得到了根本性变化,也让管理这些网络的IT部门逐渐开始体验到了一种“成长的烦恼”。目...

php模拟登陆校园教务网络管理系统

写在前面:使用了python进行爬虫之后,发现还没用过我的老本行php进行爬取过,加上大四狗刚开学就遇到坑*的所谓的实训,又不能出去找实习,于是只能自娱自乐,刚好看到最近学校经营的公众号,有绑定学号,...

基于SNMP式网络管理系统的研究.rar

  • 2009年02月04日 08:42
  • 4.95MB
  • 下载

江西电信综合网络管理系统建设方案

经过多年的建设和发展,江西电信逐渐形成了以CTG-MBOSS为运营核心的企业信息化架构,以综合计算机通信网(DCN)为承载平台。江西电信日常的业务运营、网络管理、企业办公都是通过信息系统来实现的。目前...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:基于SNMP网络管理系统的实现
举报原因:
原因补充:

(最多只允许输入30个字)