什么是SNMP?_装备_操作
SNMP管理模型
NMSNMS在网络中扮演管理者角色,是一个采取SNMP协议对网络设备进行管理/监视的系统,运行在NMS做事器上。
NMS可以向设备上的Agent发出要求,查询或修正一个或多个详细的参数值。NMS可以吸收设备上的Agent主动发送的Trap信息,以获知被管理设备当前的状态。AgentAgent是被管理设备中的一个代理进程,用于掩护被管理设备的信息数据并相应来自NMS的要求,把管理数据申报请示给发送要求的NMS。
Agent吸收到NMS的要求信息后,通过MIB表完成相应指令后,并把操作结果相应给NMS。当设备发生故障或者其它事宜时,设备会通过Agent主动发送信息给NMS,向NMS报告设备当前的状态变革。Managed ObjectManaged Object指被管理工具。每一个设备可能包含多个被管理工具,被管理工具可以是设备中的某个硬件,也可以是在硬件、软件(如路由选择协议)上配置的参数凑集。
MIBMIB是一个数据库,指明了被管理设备所掩护的变量,是能够被Agent查询和设置的信息。MIB在数据库中定义了被管理设备的一系列属性:工具的名称、工具的状态、工具的访问权限和工具的数据类型等。通过MIB,可以完成以下功能:
Agent通过查询MIB,可以获知设备当前的状态信息。Agent通过修正MIB,可以设置设备的状态参数。SNMP的MIB采取树型构造,它的根在最上面,根没有名字。如下图所示的是MIB的一部分,它又称为工具命名树。每个工具标识符OID(object identifier)对应于树中的一个管理工具,该树的每个分支都有一个数字和一个名称,并且每个点都以从该树的顶部到该点的完全路径命名,如system的OID为1.3.6.1.2.1.1,interfaces的OID为1.3.6.1.2.1.2。
OID树构造
SNMP版本SNMP有三种版本:SNMPv1,SNMPv2c和SNMPv3。
SNMPv1:SNMP的第一个版本,它供应了一种监控和管理打算机网络的系统方法,它基于团体名认证,安全性较差,且返回报文的缺点码也较少。它在RFC 1155和RFC 1157中定义。SNMPv2c:第二个版本SNMPv2c引入了GetBulk和Inform操作,支持更多的标准缺点码信息,支持更多的数据类型。它在RFC 1901,RFC 1905和RFC 1906中定义。SNMPv3:鉴于SNMPv2c在安全性方面没有得到改进,IETF颁布了SNMPv3版本,供应了基于USM(User Security Module)的认证加密和基于VACM(View-based Access Control Model)的访问掌握,是迄今为止最安全的版本。SNMPv3在RFC 1905,RFC 1906,RFC 2571,RFC 2572,RFC 2574和RFC 2575中定义。SNMP端口SNMP端口是SNMP通信端点,SNMP传输通过UDP进行,常日利用UDP端口号161/162。有时也利用传输层安全性(TLS)或数据报传输层安全性(DTLS)协议,端口利用情形如下表所示。
表1-1 SNMP端口利用先容
过程
协议
端口号
代理进程吸收要求信息
UDP协议
161
NMS与代理进程之间的通信
UDP协议
161
NMS吸收关照信息
UDP协议
162
代理进程天生关照信息
-
任何可用的端口
吸收要求信息
TLS/DTLS
10161
吸收关照信息
TLS/DTLS
10162
SNMP如何事情?一旦网络中启动SNMP协议,NMS作为全体网络的网管中央,会对设备进行管理。每个被管理设备都包含驻留在设备上的Agent、多个被管工具和MIB,NMS通过与运行在被管理设备上的Agent交互,由Agent通过对设备真个MIB的操作,完成NMS的指令。SNMP的事情事理是将协议数据单元(也称为SNMP GET要求)发送到相应SNMP的网络设备。用户通过网络监控工具可以跟踪所有通信过程,并从SNMP获取数据。
SNMP规定了几个操作类型来完成各组件之间的信息交流,如下表所示:
表1-2 SNMP操作类型
操作类型
描述
备注
Get
Get操作可以从Agent中提取一个或多个参数值。
-
GetNext
GetNext操作可以从Agent中按照字典序提取下一个参数值。
-
Set
Set操作可以设置Agent的一个或多个参数值。
-
Response
Response操作可以返回一个或多个参数值。这个操作是由Agent发出的,它是GetRequest、GetNextRequest、SetRequest和GetBulkRequest四种操作的相应操作。Agent吸收到来自NMS的Get/Set指令后,通过MIB完成相应的查询/修正操作,然后利用Response操作将信息回应给NMS。
-
Trap
Trap信息是Agent主动向NMS发出的信息,奉告管理进程设备端涌现的情形。
-
GetBulk
GetBulk操作实现了NMS对被管理设备的信息群查询。
SNMPv1版本不支持GetBulk操作
Inform
InformRequest也是被管理设备向NMS主动发送告警。与Trap告警不同的是,被管理设备发送Inform告警后,须要NMS回答InformResponse来进行确认。
SNMPv1版本不支持Inform操作
SNMP TrapsSNMP Traps是指SNMP Agent主动将设备产生的告警或事宜上报给NMS,以便网络管理员及时理解设备当前运行的状态。
SNMP Agent上报SNMP Traps有两种办法:Trap和Inform。Trap和Inform的差异在于,SNMP Agent通过Inform向NMS发送告警或事宜后,NMS须要回答InformResponse进行确认。
Trap操作事情事理Trap不属于NMS对被管理设备的基本操作,它是被管理设备的自发行为。当被管理设备达到告警的触发条件时,会通过SNMP Agent向NMS发送Trap,奉告设备侧涌现的非常情形,便于网络管理职员及时处理。例如被管理设备热启动后,SNMP Agent会向NMS发送warmStart的Trap。
这种Trap信息是受限定的。只有在设备真个模块达到模块预定义的告警触发条件时,SNMP Agent才会向管理进程报告。这种方法的好处是仅在严重事宜发生时才发送Trap信息,减少报文交互产生的流量。
Inform操作事情事理Inform操作也是被管理设备向NMS主动发送告警。与Trap告警不同的是,被管理设备发送Inform告警后,须要NMS进行吸收确认。如果被管理设备没有收到确认信息则:
将告警或事宜暂时保存在Inform缓存中。重复发送该告警或事宜,直到NMS确认收到该告警或者发送次数达到最大重传次数。被管设备上会天生相应的告警或事宜日志。SNMP的运用网管可以通过SNMP协议管理设备,如下图所示,管理员要对全体网络的设备进行配置和管理,这些设备分布较为分散,管理员到现场进行设备配置是不现实的。当这些网络设备来自不同的厂商,而每个厂商都供应一套独立的管理接口(比如利用不同的命令行),将使得批量配置网络设备的事情量巨大。因此,在这种情形下,如果采取传统的人工办法,将会带来本钱高、效率低的弊端,此时网络管理员可以利用SNMP远程管理和配置其下属设备,并对这些设备进行实时监控。
在组网中配置SNMP协议,首先须要在管理端配置SNMP管理程序NMS,同时在被管理设备端配置SNMP的Agent。
通过SNMP协议:
NMS可以通过Agent在任何时候及时地得到设备的状态信息,实现远端掌握被管理设备。Agent可以及时地向NMS报告设备确当前状态信息。本文系作者个人观点,不代表本站立场,转载请注明出处!