SNMP
1概述 (1)
2SNMP的工作原理 (1)
2.1网络管理模型 (1)
2.2网络管理协议结构 (2)
2.3网络管理服务 (3)
2.4委托代理 (4)
3管理信息结构SMI (4)
3.1ASN.1 (4)
3.2文本约定 (5)
3.3对象定义 (6)
3.4T RAP定义 (6)
3.5对象标志符 (7)
3.6表对象的定义 (8)
3.7对象和对象实例的区别 (10)
3.8OID的字典序 (10)
4协议数据单元(PDU--PROTOCOL DATA UNIT) (10)
4.1SNMP报文格式 (10)
4.2SNMP报文类型 (11)
4.3SNMP V2基本的PDU格式 (12)
4.4SNMP消息的生成 (13)
4.5SNMP消息的接受和处理 (13)
5SNMP协议操作 (15)
5.1G ET R EQUES T (15)
5.1.1GetRequest—PDU报文格式 (15)
5.1.2SNMPv2对GetRequest-PDU的处理(参考RFC1905) (15)
5.1.3SNMPv1对GetRequest-PDU的处理(参考RFC1157) (16)
5.2G ET N EXT R EQUEST—PDU (16)
5.2.1GetNextRequest报文格式 (17)
5.2.2SNMPv2对GeNextRequest-PDU的处理(参考RFC1905) (17)
5.2.3SNMPv1对GeNextRequest-PDU的处理(参考RFC1157) (18)
5.3R ESPONSE-PDU (18)
5.3.1Response报文格式 (18)
5.3.2SNMPv2对Response-PDU的处理(参考RFC1905) (20)
5.3.3SNMPv1对响应报文GetResponse的处理(参考RFC1157) (20)
5.4S ET R EQUES T-PDU (20)
5.4.1SetRequest报文格式 (20)
5.4.2SNMPv2实体对SetRequest报文的处理(参考RFC1905) (21)
5.4.3SNMPv1对SetRequest报文的处理(参考RFC1157) (22)
5.5G ET B ULK R EQUES T-PDU (23)
5.5.1GetBulkRequest-PDU报文格式 (23)
5.5.2SNMPv2对GetBulkRequest-PDU报文的处理(参考RFC1905) (24)
5.6I NFORM R EQUES T-PDU (25)
5.6.1InformRequest-PDU的格式 (25)
5.6.2SNMPv2对InformRequest-PDU的处理(参考RFC1905) (26)
5.7T RAP-PDU (26)
5.7.1SNMPv1的Trap (26)
5.7.2SNMPv2的SNMPv2-Trap-PDU (28)
6SNMP的安全控制 (29)
6.1SNMP V2-基于共同体的管理框架 (29)
6.2SNMP V3的安全策略 (30)
1概述
简单网络管理协议(SNMP)由internet活动委员会(IAB)制定, 是Internet组织用来管理TCP/IP互联网和以太网的网络管理协议,它最初是作为一种可提供最小的网络管理功能的临时方法开发的。SNMP使用的管理信息结构(SMI)和管理信息库(MIB)提供了一组监控网络元素的最小的,但功能强大的工具。它的结构十分简单,能够简单快速地实现。因而SNMP 在网络管理领域得到了广泛的接受,已经成为事实上的国际标准。
SNMP目前包括三个版本:SNMPv1、SNMPv2、SNMPv3。SNMPv2是SNMP的后续版本,它对SNMP进行了大量的功能增强,并在某种程度上保持了简单和易于实现的特点。IETF最初在RFC2441—RFC1452中定义了SNMP的一系列规范, 随后在RFC1901—1910中发布了更新版本, 并成为IAB的推荐标准。稍后IETF又相继发布了网络管理的一系列标准管理信息库, 为SNMP开发人员提供了MIB定义和操作的规范。
本章将重点介绍SNMPv2,并增加了SNMPv3安全管理的内容。
2SNMP的工作原理
2.1网络管理模型
SNMP的体系结构是基于一个或多个网络管理站以及若干个网络元素组成的模式,见图1。网络管理站的任务是监督和控制网络元素。连接到网络中的、拥有一个或多个网络管理代理的任何设备,都可称为网络元素。代理充当所有网络管理功能的智能前端处理机。这意味着某些网络管理任务被转发给代理并在网络元素中处理。代理与网络管理站之间的通信则是由SNMP协议控制。
在SNMP的管理者—代理模型如下图所示:
,即
由
议
S N M P
M anagement S ystem
S N M P
M anaged S ystem
,
GET
用来
以, 从而掌握设备的全部图景。特别值得注意的是, GetNext_Request消息为管理者提供了在不知道一个MIB对象的情况下检索该对象的能力。管理者可以利用此消息来遍历一个未知MIB并发现它的结构。因此, 开发人员就有可能开发出独立通用的SNMP管理程序, 在一定程度上能够管理所有的SNMP代理。
管理者使用SET操作可以对一个设备上的参数进行远程配置。如, 设置系统的名字, 设置系统的负责人信息, 在管理上开启或关闭一个信道, 建立或拆除一个交叉联接, 设置性能数据的阈值等。 SNMP同样以Get-Response消息响应管理者的SET命令。
SNMP 陷阱(TRAP)是代理主动发送给管理者的非请求消息。这些消息通知管理者发生了