之前用来翻译的书被人要走了,就在网上又找了一本关于SNMP的英文书籍.继续进行学习...
开始...
这本书的第一版是以"如何去写一个SNMP mib"的理念发布的.
第二版是以"如何去读一个SNMP mib"的理念发布的.
第三版是对前两个版本和最近的信息的的纠正和更新并作为一个总结来发布的.
这篇文章适合于MIBs的设计者和网络设备的管理者(整合管理工具和可管理设备的人),读者需具备对SNMP和OSI的ASN.1的基本概念的了解
1.介绍
本文介绍怎么读和使用以SNMP协议定义的MIB库.管理设备就是能够被管理的,被控制的,具备上报事件的能力....(略SMI 的介绍)
SMI,SNMP和core MIBS 是IETF内部的工作组定义的.
在IETF标准外开发的MIBs称作MIB的扩展或私有MIBs
定义了SNMP,SMI,和MIBs的IETF文档被记录在在线的档案系统.
在这个系统中有一个文档称作请求注解RFC(request for comments).
奇怪的是这些IETF文档一个很糟糕的资源不能够来完整清晰的总结定义.为了能够读和理解和写MIBs总是需要学习民间正在使用的SNMP.这篇文章的目的就是使用标准的文档,和现行的使用方法,和实现经验来指定一个完整清晰的SNMP MIBs 定义.
2.用来描述语法的符号
在本书中用到的表示语法规则的符号符合以下规则.
*字符串值在双引号中指定,举个例子 "read-only"
*可替换的条目用大于小于号包围起来,举个例子 "oidItem"
*省略号用来指明之前的条目可能被重复一次或多次,举个例子 <smiItem>...
*方括号用来声明括号内是可选的条目,举个例子 ["DEFVAL" "{" <defaultValue> "}"]
*尖括号用来集合一些条目,举个例子 {"OBJECT" "IDENTIFIER"}
*"|"用来指明在一些条目中选择,举个例子 <oidItem>|<objectItem>|<seqItem>|<trapItem>
*等号用来表示"define as",举个例子 <mib>=<module>
3.什么是一个MIB
术语MIB在不同的语境下有着不同的含义.一般说来,MIB就是用来描述通过网络管理协议获得,或者修改的信息的.这些信息使网络中的系统能够被管理.
OSI团体将网络管理划分成5个功能区域:
-
*配置管理:在一个网络中命名所有的元素.指定他们的特性和状态.
-
*执行管理:决定有效的使用网络和网络设备部件,
-
*故障管理:探测,隔离,校正网络错误.
-
*安全管理:控制访问许可和保护信息在网络上暴露和修改
-
*账单:以指定的策略记录使用和电脑的消费.这些信息通常用来做一些记账应用程序.
被管理的设备就是指能够被管理和控制,具备上报事件的能力的设备.称作CMIP的OSI管理协议包括以下操作:(注:不是SNMP协议)
-
get 返回指定的信息
-
set 改变指定信息的值
-
action 执行一个紧急的命令,比如复位一个接口
-
create 构建一个被管理对象的新实例
-
delete 移除一个指定对象的实例
-
event-report 一个通知管理站有重要事件发生的信号
SNMP包含的以下操作:
get 同OSI
getnext 用来表的行检索,和未知管理对象的发现
set 同OSI
trap 同OSI event-report
OSI 的 action,create,和delete操作没有对应的SNMP操作.这是因为这些功能使用SNMP的get,set操作和合理的设计SNMP MIB 变量就可以实现.