managementobjectsearch ManagementObjectSearcher



文章插图
managementobjectsearch ManagementObjectSearcher

文章插图
随着网络技术的飞速发展,在网络不断普及的同时也给网络管理带来了一些问题:
网络设备数量成几何级数增加,使得网络管理员对设备的管理变得越来越困难 。网络设备种类多种多样,不同设备厂商提供的管理接口各不相同,这使得网络管理变得愈发复杂 。
在这种背景下,SNMP应运而生 。通过“利用网络管理网络”的方式,SNMP实现了对网络设备的高效和批量的管理;同时,SNMP协议也屏蔽了不同产品之间的差异,实现了不同种类和厂商的网络设备之间的统一管理 。
SNMP简介
SNMP(Simple Network Management Protocol) 简单网络管理协议,从字面意思可以看出它是用于网络管理的协议 。不同种类不同型号的设备(如交换机、路由器、服务器、打印机等)只要遵循这个SNMP协议,那么管理员就可以通过一些网络管理系统NMS(Network Management System)来对设备进行管控了 。默认SNMP是通过UDP161和162端口进行通信的 。目前SNMP共有v1、v2、v3三个版本,其中SNMPv1,v2采用的是明文进行传送的,SNMPv3是通过加密进行传送的 。如果对安全要求比较高就选用SNMPv3版本 。
SNMP组成
SNMP系统是由网络管理系统NMS、SNMP Agent、被管对象Management object和管理信息库MIB(Management Information Base)四部分组成 。NMS作为整个网络的网管中心,对设备进行管理 。每个被管理设备中都包含驻留在设备上的SNMP Agent进程、MIB和多个被管对象 。NMS通过与运行在被管理设备上的SNMP Agent交互,由SNMP Agent通过对设备端的MIB进行操作,完成NMS的指令 。
NMS:网络中的管理者,是一个采用SNMP协议对网络设备进行管理监视的系统,运行在NMS服务器上 。NMS可以向设备上的SNMP Agent发出请求,查询或修改一个或多个具体的参数值 。NMS也可以接收设备上的SNMP Agent主动发送的SNMP Traps,以获知被管理设备当前的一些状态信息 。SNMP Agent:被管理设备中的一个代理进程,用于维护被管理设备的信息数据并响应来自NMS的请求,把管理数据汇报给发送请求的NMS 。SNMP Agent接收到NMS的请求信息后,通过MIB表完成相应指令后,并把操作结果响应给NMS 。当设备发生故障或者其它事件时,设备会通过SNMP Agent主动发送SNMP Traps给NMS,向NMS报告设备当前的状态变化 。Managed Object:被管理对象 。每一个设备可能包含多个被管理对象,被管理对象可以是设备中的某个硬件如cpu、内存等,也可以是在硬件、软件如路由选择协议上配置的参数集合 。MIB:一个数据库,指明了被管理设备所维护的变量 。MIB在数据库中定义了被管理设备的一系列属性,如对象的名称、对象的状态、对象的访问权限和对象的数据类型等 。MIB也可以看作是NMS和SNMP Agent之间的一个接口,通过这个接口,NMS对被管理设备所维护的变量进行查询设置操作 。
MIB是以树状结构进行存储的 。树的节点表示被管理对象,它可以用从根开始的一条路径唯一地识别,这条路径就称为OID对象标识符(Obiect Identifier),如system的OID为1.3.6.1.2.1.1,interfaces的OID为1.3.6.1.2.1.2 。
SNMP操作
管理员需要向设备获取数据,所以 SNMP 提供了“读”操作;管理员需要向设备执行设置操作,所以 SNMP 提供了“写”操作;设备需要在重要状况改变的时候,向管理员通报事件的发生,所以 SNMP 提供了“Trap”操作 。SNMP协议主要提供了三种用于控制MIB对象的基本操作命令 。它们是:Get、Set 和 Trap 。
1.Get:网络管理系统NMS主动向SNMP Agent发送查询请求 。NMS读取Agent处对象的值如内存使用率,接口流量等 。SNMP Agent接收到查询请求后,通过MIB表完成相应指令,并将结果反馈给NMS 。
2.Set:NMS主动向SNMP Agent发送对设备进行Set设置操作的请求管理端 。可以通过它来改动设备的配置或控制设备的运行状态 。比如可以设置设备的名称,关掉一个端口等 。SNMP Agent接收到Set请求后,通过MIB表完成相应指令,并将结果反馈给NMS 。
3.Trap:SNMP Agent主动将设备产生的告警或事件上报给NMS,以便网络管理员及时了解设备当前运行的状态 。如果发生意外情况,Agent会向NMS的UDP162端口发送一个消息,告知NMS指定的变量值发生了变化 。Trap 消息可以用来通知NMS如线路的故障、硬件故障、认证失败等消息 。这样管理员可相应的作出处理 。
SNMP报文
SNMP报文主要由版本、团体名、SNMP PDU组成 。
【managementobjectsearch ManagementObjectSearcher】版本:版本标识符用于说明现在使用的是哪个版本的 SNMP 。如果是SNMPv1报文则对应字段值为0,SNMPv2c则为1 。团体名:用于在SNMP Agent与NMS之间完成认证,字符串形式,类似于密码,默认值为 public,可自行定义 。团体名包括“read”和“write”两种,执行SNMP查询Get操作时,采用“read”团体名进行认证;执行SNMP设置Set操作时,则采用“write”团体名进行认证 。SNMP PDU:协议数据单元PDU是 SNMP 消息中的数据区,即 Snmp 通信时报文数据的载体 。PDU 指明了 SNMP 的消息类型及其相关参数 。各类SNMP操作如Get、Set、Trap的报文封装在SNMP PDU中 。