简单网络管理协议学习理解
1.SNMP网络管理协议综述
SNMP(Simple Network Management Protocol)是被广泛接受并投入使用的工业标准,它是由SGMP即简单网关监控协议发展以来的。它的目标是保证管理信息在任意两点中传送,便于网络管理员在网络上的任何节点检索信息,进行修改,寻找故障;完成故障诊断,容量规划和报告生成。它采用轮询机制,提供最基本的功能集。最适合小型、快速、低价格的环境使用。它只要求无证实的传输层协议UDP,受到许多产品的广泛支持。
2.1 管理信息
经由SNMP协议传输的所有管理倍息都表现为非聚集的对象类型。这些对象类型被收集到一个或多个管理信息库[MIB]中并且对象类型按照管理信息结构和标识(SMI)定义。简单网络管理协议策l版的sM[于1990年5月定义在一篇题为《基于因特网的了TCP/IP管理信息结构和标识》的RFC中。这一RFC要求所有的管理信息库数据和信息必须根据ISO 8824标准《抽象句法表示法1规范》(ASN.1)编码。按照ASN.1表示所有信息和对象的目的在于方便向OSI的网络管理协议迁移而无需重新定义现已存在的所有对象和MIB。
SMI为每一对象类型定义以下成分:
①名字;
②句法;
②编码说明。
注意:一个对象类型的名字明确地代表一个对象,称为对象标识符。不得分配标识符0给对象类型作为其名字的一部分。为便于阅读,在标准文档中对象标识符旁边包含对这一对象的描述。对象标识符是按照在OSI MIB树中建立的严格分层空间构造的,对象标识符总是一个唯一的从树根开始描述MIB树的整数序列。对象标识符和它的文字描述的组合称为标号。
2.1.1 管理树
SMI明确要求所有被管理的信息和数据都要由管理树来标识。这棵管理树来源于
OSI的定义,它具有从很开始的严格分层化结构。管理拷的分支和叶子是用数字和字母两种方式显示的。数字化编码是机器可读的,字母显示则更适合于人的眼睛并帮助用户寻找穿过错综复杂分支的路径。在树中通向一个节点或叶子的路径是用对象标识符表示的。
树的各个分支是用数值表示的,因此对象标识符就构成了一个整数序列。管理树纳根下有3个直接后继者IB际电报电话咨询委员会ccnT分支、国际标准化组织Iso分支和J。int—Iso—CCITT(上述的联合)分文。下图为因特网子数(1.3.6.1)中所包含的是与因特网有关的所有管理对象。
2.2 名字和语法
句法定义了对象的数据类型。AsN.1的部分结构用来形式化地描述这种数据类型。ASN.1编码只使用基本编码规则(BER)。
SMI定义了3种数据类型:原语类型、结构类型和自定义的类型。
1)原语类型(Primitive types)
原语ASN.1类型有Integer(整数)、Octet(字节)、String(字符串)、object Identifier(对象标识符)和NuLL(空)几种类型。再没有其他原语类型。
2)结构类型(Constructor types)
结构类型是一种用于汇集列表和表格的复合类型。出于这种目的,SNMP使用sequence和sequence of。结构类型Sequence允许使用简单类型的列表,在sequence定义中,SNMP协议不提供缺省或可选值。Sequence的句法构造如下:
SEQUENCE{<typel>,..,<typeN>}
表格是对一些元家组成的舶数据结构的显示。用entry表示列表名,sequcence of的句法结构如下:
SEQUENCE<entry>
3)自定义的类型(Defined types)
借助于列表和结构类型,其他类型可以从基本类型(已经定义过的类型)(1nteger、
NULL、object Identifier和Octet String)派生。为此,SMI定义了6种复合类型:
(1)NetworkAddress(网络地址)
NetworkAddress允许使用各种格式化的网络地址。当前,SMI只支持因持网协议
(2)IPAddress(因特网地址)
定义32位IP地址的格式。
(3)Counter(计数器)
32位非负值计数器。这个计数器从o计到2的32次幂减l(十进制的4294967295),—超出最大值,计数器从零重新计数。
(4)Gauge(量规)
32位非负整数计算器,可做增1计数和减1计数。Gauge不能超出最大值(2的32次幂减l,十进制4294967295),如超出,将从零重新启动。
(5)TimeTicks(时间标记)
非负的32位的整数。该整数按1/100s计算时间
(6)Opaque(模糊)
引入这一伪数据类型,以绕过在有限的SMI定义中所固有的任何限制。它允许任意的ASN.1结构。在网管站和代理进程间就Opaque数据的解释达成一致是非常必要的。
4)被管对象
管理信息的结构和标识没有定义各自的被管对象,而定义了它们的形式化结构和内容。每个对象类型由5个字段构成:对象名、句法、定义、访问方式和状态。
(1)对象名
在“object”下,数值化的对象标识符是与对象的正文描述成对出现的
例子:atIndex {at Entryl}
(2)句法
使用A5N.1句法类型描述上述内容
(3)定义
描述被管对象的正文存储于这个字段中
(4)访问方式
定义对象的访问字段为只读、只写、读写或不可访问
(5)状态
对象状态字段包含着有关它的至要性的信息。状态字段可以有以下值
①必备(Mandatory),在每一个实现中必须存在;
②可选(Ophtional),这一对象的集成是每个实现可选的;
③作废(0bsolete),这个对象不再使用。
2.3抽象句法表示法(ASN.1)
1)ASN.1规则
ASN.1定义了一些规则,这些规则对于理解SNMP是极其重要的:
①标准描述了许多已定义的ASN.1类型;
②ASN.1类型名总是用大写字母打头;
③一律用大写字母显示某些保留字。这些保留字在标准中是有专门含义的;