SNMP介绍
snmp(simple network management protocol)是用于管理互联网的标准协议,称为简单网络管理协议,广泛的应用于计算机网络的管理中。snmp 是一个不断发展着的协议,snmp v1[rfc1157]是snmp 的第一个版本,snmpv1 协议具有简单、易实现的特点,被
众多厂家支持。后来经过功能和安全性两方面的增强,snmp 发展到第2 个版本snmpv2,snmpv2 是snmpv1 的一个自然进步,它还是以snmpv1 作为基础的,因此我们将着重介绍snmpv1。在下文中,如果不特别的标明,snmp 指的是snmpv1。
snmp 协议提供了在网络中的两点之间交换管理信息的一种比较直接的方法。snmp采用轮询的消息查询机制,采用面向无连接的传输层协议udp 来传输消息,因此能够很好的被现有的计算机网络支持。
snmp 协议采用管理站/代理模式,因此snmp 结构包括两个部分:nms (network management station)网络管理站,是运行支持snmp 协议的网管软件客户端程序的工作站,在snmp 的网络管理中起核心作用。agent 代理,是运行在被管理网络设备上的服务器端软件,直接管理被管对象。nms 利用通信手段,通过agent 代理来管理各被管对象。
snmp 的nms 和agent 之间采取客户/服务器模式通过标准消息进行通信,由nms 发出请求,agent 做出应答。snmp 共有5 种消息类型:
1 get-request
2 get-response
3 get-next-request
4 set-request
5 trap
nms 通过get-request、get-next-request 和set-request 消息来对agent 发出查询和设置管理变量的请求,agent 在收到请求后,用get-response 消息来对请求进行回复。在某些特殊情况下,如网络设备端口up/down、网络拓扑变化时候,agent 会主动的向nms发送trap 消息通知nms 发生了异常事件。当然,nms 还可以通过设置rmon 功能,自行对一些异常情况进行警报。当设定的警报事件触发后,agent 将根据设置发送trap 信息或记录在log 中。
snmp 协议的安全机制不是很健全,安全防护方式较单一,主要就是使用团体字符串(community string)。团体字符串相当于是在agent 端设定的访问密码。在agent 端为每个团体字符串设定了读写访问权限。nms 在发给agent 的包中必须包含团体字符串,这样才可以在相应的读写权限内访问agent。