第三章 简单网络管理协议-SNMP SNMP(Simple Netw ork Management Protocol,简单网络管理协议)是由Internet 活动委 员会(IAB)制订的,被采纳为基于TCP/IP 协议的各种互联网络的管理标准。由于它满足了人们长久以来对通用网络管理标准的需求,而且它本身简单明了,实现起来比较容易,占用的系 统资源少,所以得到了众多网络产品厂家的支持,成为实际上的工业标准,基于它的网络管理 产品在市场上占有统治地位。1993 年它的更新版本SNMP Version 2(SNMPv2)又被推出,改进了SNMP 的不少缺陷。 本章及下一章在介绍 SNMP 协议的基础上,着重讨论 SNMPv2 协议的特点,并就作者自己开发的基于SNMPv2 协议的网络计费管理软件作了介绍。 3.1 SNMP 3.1.1SNMP 协议的工作原理 SNMP 的管理结构如图 3.1 所示。它的核心思想是在每个网络节点上存放一个管理信息库( MIB),由节点上的代理(agent)负责维护,管理站(manager)通过应用层协议对这些信息库进行管理。SNMP 最大的特点就是其简单性。它的设计原则是尽量减少网络管理所带来的对系统资源的需求,尽量减少 agent 的复杂性。它的整个管理策略和体系结构的设计都体现了这 一原则。 图3.1:SNMP 管理模型 管理工作站管理代理管理代理管理代理被管节点被管节点被管节点转换代理被管节点被管节点3.1.2SNMP 通信报文的操作处理 SNMP 标准主要由三部分组成:简单网络管理协议(SNMP);管理信息结构(Structure ofa nagement Information,简称SMI)和管理信息库(Management Information Base,简称 MIB) 。SNMP 主要涉及通信报文的操作处理,协议规定 manager 如何与agent 通信,定义了它们之间 交换报文的格式和含义,以及每种报文该怎样处理等等。 SNMP 中规定的网络管理操作有五种,分别是: (1)Get-Request; (2)Get-Next-Request; (3)Set-Request; (4)Get-Response; (5)Trap。 Get-Request 被 manager 用来从 agent 取回某些变量的值;Get-Next-Request 被manager 用来从 agent 取回某变量的下一个变量的值;Set-Request 被 manager 用来设置(或改变)agent 上某变量的取值;Get-Response 是 agent 向 manager 发送的应答;Trap 被agent 用来向 manage r 报告某一异常事件的发生。 Get-Request、Get-Next-Request 和 Set-Request 这三种操作都具有原子(atomic)特性 ,即如果一个 SNMP 报文中包括了对多个变量的操作...