一、SNMP 产生的背景
作为公司内的网络管理人员,是不是有以下两点的困扰:
1、单位中网络设备来自不同的厂商,并且每个厂商都提供一套独立的管理接口,将使网络管理变得越来越复杂。
2、网络管理员很难及时监控服务器及网络设备(路由器、交换机等)的状态、发现并修复故障。
为解决以上两大问题,一套覆盖服务、协议和管理信息库的标准(SNMP)孕育而生。
SNMP的基本思想:为不同种类的设备、不同厂家生产的设备、不同型号的设备,定义为一个统一的接口和协议,使得管理员可以是使用统一的外观面对这些需要管理的网络设备进行管理。通过网络,管理员可以管理位于不同物理空间的设备,从而大大提高网络管理的效率,简化网络管理员的工作。
二、SNMP基本概念
SNMP是英文"Simple Network Management Protocol"的缩写,中文意思是"简单网络管理协议"。SNMP是一种简单网络管理协议,它属于应用层协议,采用UDP协议在管理端和代理(agent)之间传输信息,UDP161端口接收和发送请求,162端口接收trap,执行SNMP的设备缺省都必须采用这些端口。该协议能够以统一方式对来自不同系统的信息进行收集。尽管其能够以多种途径接入系统,但采用的信息查询方法与路径相关信息则是完全标准化的。
SNMP协议拥有v1,v2,v3这三个版本,目前应用最为广泛的为SNMPv1,但其安全性存在一定问题。它的超高人气主要归功于普遍性与较早的推出时间。因此,除非大家拥有明确理由,否则推荐各位优先选择SNMPv3,它对网络管理最大的贡献在于其安全性。增加了对认证和密文传输的支持。
三、SNMP发展史
SNMP经过了一个相对较长的发展过程,到目前为止一共经历了三个版本。当下使用最广泛是SNMPv2。
1989年发布了第一个版本的SNMP,称为SNMPv1。
1991年发布SNMP的一个补充---RMON(Remote Network Monitoring,远程网络监视)。RMON扩充了SNMP的功能,包括对LAN的管理以及对依附于这些网络设备的管理。
1993年SNMPv1的升级版被提出,SNMPv2。
1995年SNMPv2正式发布,v2增加了SNMPv1的功能,并规定了如何在基于OSI的网络中使用SNMP。
1998年SNMPv3发布,一系列文档定义了SNMP的安全性,并定义了将来改进的总体结构。SNMPv3可以和v2、v1一起使用。
四、SNMP实现结构
SNMP协议采用C/S架构,定义了三种角色:SNMP管理,SNMP代理agent和代理proxy服务器。SNMP管理作为客户端,agent和proxy作为服务端。在具体实现上,SNMP为管理员提供了一个网管平台(NMS),又称为【管理站】,负责网管命令的发出、数据存储、及数据分析。【被】监管的设备上运行一个SNMP代理(Agent)),代理实现设备与管理站的SNMP通信。
SNMP管理用于get查询下级agent或proxy的消息,set设置agent或proxy参数和接收trap上报的消息。
SNMP agent用于接收SNMP管理的请求并去网络设备上查询所需数据后做出合适响应和trap上报网络设备上新产生的告警等消息给对应的SNMP管理。
SNMP proxy用于不能直接使用SNMP协议场景,如异构网络(非IP网络)或者不同版本SNMP代理的网络设备。Proxy做了异种网络或不同版本代理和相应SNMP数据请求的转换工作。
五、 SNMP网管操作
SNMP支持多种操作,主要为以下几种基本操作:
Get操作:NMS从Agent获取一个或多个参数值。
GetNext操作:NMS从Agent获取一个或多个参数的下一个参数值。
Set操作:NMS设置Agent一个或多个参数值。
Response操作:Agent返回一个或多个参数值。该操作是前面三种操作的响应。
Trap操作:Agent主动发出通知NMS有某些事情发生。
执行前四种操作时设备使用UDP协议采用161端口发送报文,执行Trap操作时设备使用UDP协议采用162端口发送报文。由于收发采用了不同的端口号,所以一台设备可以同时作为Agent和NMS。
六、MIB和OIDOID(对象标识符),是SNMP代理提供的具有唯一标识的键值。MIB(管理信息基)提供数字化OID到可读文本的映射。OID的编写规则和习惯SNMP OID是用一种按照层次化格式组织的、树状结构中的唯一地址来表示的,它与DNS层次相似。与其他格式的寻址方式类型,OID以两种格式加以应用:全名和先对名(有时称为“相关”)。例如管理对象system可以用一串数字{1.3.6.1.2.1.1}唯一标识,这串数字就是system的OID。