我们在这里为您介绍以下相关内容:
简单网络管理协议(SNMP)是由互联网架构委员会(IAB)为网络设备之间的信息交换,在RFC1157中定义的一个应用层协议。它是传输控制协议和网络协议(TCP&IP)协议组的组成部分。
SNMP是一个被业界广泛接受的互联网管理和监视协议,它绑定了许多专业的网络要素。在启用网络管理和监视任务之前,您需要配置SNMP代理,使之与网络管理系统(NMS)建立通信。
管理器或者管理系统是一个单独的实体,负责与被管设备上的SNMP代理通信。通常在一台计算机上运行一个或多个网络管理系统。
被管设备或网络元素,是网络的组成不要,它要求对某些模块进行监视,如路由器、交换机、服务器、工作站、打印机、UPS等。
代理是网络元素上安装的一个程序,启用代理可以允许它收集本地机器的管理信息数据,当SNMP管理器查询它的时候,它会将这些数据提供给SNMP管理器, 这些代理可以是标准的(网络SNMP),也可以是厂商特制的(如HP insight agent)。
每个SNMP代理都存储着一份描述被管设备参数的信息数据库,SNMP管理器通过这个数据库请求代理,以获取特定的管理信息,将需要的信息重送给网络管理系统(NSM)。 这个在代理和管理器之间通用的数据库,称为管理信息库(MIB)。
这些MIB通常包含为网络中的硬件节点定义的统计和控制标准值,SNMP也支持使用私有MIB来扩展在特定代理上定义的标准。
换句话讲,MIB文件存储的是SNMP管理器可以询问代理的问题,代理按照MIB中定义的信息收集和存储本地数据,这样,SNMP管理器就可以从各种类型的代理上,获知对应的答案。
管理信息库(MIB)是管理网络要素的一个信息集合,它由被管对象组成,这些对象通过对象标识符(OID)来标识。
每个标识符都是唯一的,表示特定的被管设备特点。当被查询时,每个标识符所返回的值也会不同。如文本、数字、计数等
这里有两种被管对象或者OID:标量和表。通过下面的示例你可以简单明了的知道它们的含义
标量:设备的厂商名称,结果只能存在一个。(也就是,标量对象定义的是一个单独的实例)
表:四核CPU的利用率,这里我们得到的结果是每个CPU核心的利用率,也就意味着一个OID存在4个结果。(也就是,表对象可以定义多个与对象相关的实例,将他们集合在MIB表中)
每OID在MIB中是分层次的组织在一起的,MIB的分层模式可通过树结果显示出来。
典型的OID是一串整数值与点交错的字串,如"sysDescr" 的OID为 .1.3.6.1.2.1.1.1
简单明了的信息交换使得SNMP称为一个被人广为接受的协议,而主要的原因则是简明的命令:
作为TCP⁄IP协议组件的一部分,SNMP消息使用用户数据报协议(UDP)封装,通过网络协议传送。 以下为图例说明:
从SNMP初代开始,它已经经历了许多的重大变更和更新。但是SNMP v1和v2c仍旧是应用最多的版本。 虽然SNMP v3相较于旧的版本更加的安全,开始慢慢的起步发展,但是在市场上还未被广泛接受。
这是协议的第一代版本,定义在RFCs 1155和1157中
这是改进版的协议,对协议包的类型、传输映射、MIB架构等方面进行了加强,但是仍旧使用现有的SNMPv1管理架构(基于安全字符串,因此称为SNMPv2c)。它定义在RFC 1901、RFC 1905、RFC 1906、RFC 2578中。
SNMPv3是定义了安全的SNMP版本,SNMPv3也促进来SNMP条目的远程配置。它定义在RFC 1905、RFC 1906、RFC 3411、RFC 3412、RFC 3414、RFC 3415中。
SNMP每个版本的功能都更加的成熟和丰富,此外,在安全方面也逐渐加强,以下为各版本的安全技术对比:
SNMP v1 | 基于团体字符串的安全模式 |
SNMP v2c | 基于团体字符串的安全模式 |
SNMP v2u | 基于用户的安全模式 |
SNMP v2 | 基于团体的安全模式 |
SNMP v3 | 基于用户的安全模式 |