SNMP MIB变量应用研究

来源 :科技创新导报 | 被引量 : 0次 | 上传用户:wumin0371
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:该文介绍了对SNMP MIB变量进行编译和浏览的一组计算机网络管理的底层工具,包括一个MIB编译器、一个MIB浏览器和MIB树的通用数据库实现。该组MIB工具的特点在于简单实用,并在某些方面具有特色与创新。
  关键词:计算机网络管理 SNMP MIB编译器 MIB浏览器
  中图分类号:TP319 文献标识码:A 文章编号:1674-098X(2013)05(c)-0072-01
  管理信息库(MIB)是SNMP标准的重要组成部分,它是由许多MIB变量组成的一个树型结构,定义了网络设备可以被管理的内容。除了SNMP标准定义的MIB变量以外,设备厂家为了更好地管理自己的设备,常常需要定义大量扩充的MIB变量。设备厂家一般提供给用户若干正文形式的MIB文件,这些文件中按照ASN.1的文法给出了该设备支持的所有MIB变量,包括SNMP标准定义的和厂家扩充的。因此,要想管理一个网络设备,首先必须了解该设备支持哪些MIB变量。
  1 MIB编译器
  MIB编译器接受按ASN.1语法编写的MIB文本文件(包括标准RFC和厂家扩充的),识别MIB文件中定义的对象,包括其类型、对象标识符(OID)、访问权限、状态、缺省值等属性,检查文件中的语法和语义错误,如果没发现错误就生成网络管理平台可以使用的MIB树内部结构。
  MIB编译器的外部接口主要功能包括:对输入的MIB文本文件进行词法、语法和语义分析,产生MIB树内部结构;为上层网管应用程序提供MIB树内部结构的调用接口;通过转换器将MIB树内部结构转换为通用数据库实现。
  MIB编译器的功能结构可以分成词法分析、语法分析、MIB树构造和错误处理四个部分。词法分析:对输入的MIB文本文件进行预处理,去掉注释和空白字符;识别输入文件中的一个个单词,构造相应的属性字序列。语法分析:对属性字序列进行上下文分析,检查是否符合SMIv1和SMIv2语法规则,识别出一个个的结点对象及其属性。MIB树的构造:对输入的MIB结点序列进行处理,根据结点的OID,识别每个结点的父结点、子结点和兄弟结点,设置结点相应指针以形成一个二叉树结构。
  MIB文件经过编译,其中定义的MIB变量就被加入到MIB树内部结构中。当某个MIB文件/模块过期了(一个MIB文件中可能定义了多个MIB模块),需要用更新的MIB模块来替代时,需要将原先编译的MIB文件/模块从MIB树内部结构中卸载下来。
  2 MIB浏览器
  MIB浏览器一般提供给高级网络管理人员使用,主要完成两件工作:(1)查看已经编译的MIB对象的定义信息,(2)直接利用SNMP协议机读/写被管设备所支持的MIB对象的当前值。
  2.1 查看MIB变量的定义信息
  MIB浏览器首先读入存储在数据库中的、由MIB编译器编译生成的MIB定义信息,根据MIB变量的OID确定变量之间的父子关系,生成一棵完整的MIB树并显示在界面上。
  用户通过鼠标点击可以浏览这棵MIB树,选择需要查看的MIB变量。另外,用户也可以直接输入需要查看的MIB变量的OID,后一种方法适合于用户已知MIB变量的OID或者查看一个尚未编译的MIB变量的当前值的情况。
  为了查看一个MIB变量的定义信息,如变量的名字、OID、定义宏、数据类型、存取控制和描述信息等,MIB浏览器根据选中MIB变量的OID,在MIB数据库的第一级表中查找对应的记录。根据记录中定义宏字段的值,在相应的数据库表格中查找对应的记录,取得MIB变量的各种定义信息。
  2.2 读写MIB变量的当前值
  通过指定设备的IP地址、MIB变量实例以及读或写Community,调用SNMP协议引擎提供的API函数,采用SNMPv1协议的Get、GetNext、Set以及SNMPv2的GetBulk操作与设备上的SNMP代理交互,读写设备所支持的MIB变量的当前值。可以同时读写多个MIB变量实例。
  2.3 遍历Agent实现的MIB对象树
  方法如下:对于GetNext操作返回的下一个变量实例的标识符,从后向前进行分析。首先看整个标识符是否代表一个已识别的MIB变量,如果不能认识,就去掉标识符最后一个分量再重复上述过程,直到得到一个能够认识的标识符为止。按照这种方法,如果GetNext操作返回的标识符代表一个已识别的MIB变量的实例,那么能够认识的标识符就是该MIB变量的OID,去掉的分量拼接起来就是该变量实例的索引。如果GetNext操作返回的标识符代表一个尚未认识的MIB变量实例,那么识别出来的标识符就是实际MIB变量的祖先变量的OID,并不影响下一次的GetNext操作。
  3 MIB树的数据库实现
  SNMP有关RFC定义的和厂家扩充的MIB文本文件需要经过MIB编译器的编译才能为网管平台和SNMP代理所用。MIB编译器产生的输出一般有两种:C源程序和文本文件,C源程序可以直接为SNMP代理所用,文本文件一般提供给网管平台使用。这个文本文件虽然经过了编译分析,但由于SNMPv2提供了9种ASN.1 MACRO类型,大多数的MACRO定义都比较复杂,所以MIB编译器产生的文本文件一般都对原始的MIB定义文件进行了较大的简化,丢失了相当多的信息。另外,网管平台还不能直接使用这个文本文件,还需要开发一个程序来读入和理解它。
  采用通用的关系型数据库来实现SNMP MIB定义信息的存储具有诸多好处,包括可以将一个复杂的MACRO定义分解成多个数据库表格,在这些表格之间建立关联信息;可以利用数据库系统提供的关键字特征来保证MIB变量OID的唯一性;MIB数据库实现对上层的网管应用程序提供统一的数据库表格接口,不限制这些应用程序采用的语言以及与MIB数据库的连接方式。
  MIB树数据库的表结构主要分成三级,不同级别的表之间通过OID相关联,三级表格构成一棵完整的MIB树。
  第一级表MIBTREE中包含了所有MIB结点的OID、名字、定义结点的MIB模块名、以及结点之间的父子和兄弟关系。
  第二级表包括了Object Type、Notification Type和Object Identity等8张表格,每张表格中包含了一个特定ASN.1 MACRO的一些特殊的属性。Object Identifier类型的MIB结点的属性已经包括在MIBTREE表格中,所以第二级表格中没有出现Object Identifier。
  第三级表包括了Object Type Index和Notification Type Object等14张表,这些表格反映了某个特定MACRO中定义的一些包含了不定数目对象的属性。
  除了这个完整的MIB树外,SNMPv1还定义了一些Trap,SNMP v2还定义了一些Textual Convention,这些Trap和Textual Convention都没有OID,因此游离于MIB树之外。
其他文献
阐述了堇青石质蜂窝陶瓷及贵金属催化剂的工艺过程和特性,并探讨了蜂窝陶瓷催化剂的应用范围。
近日,由银江股份精心打造“政府云”项目——富阳云数据中心已正式启动,这也标志着国内首例“政府云”落户杭州。广义上的云计算,是指服务的交付和使用模式,通过网络以按需、
【正】 《秋天的秘密》这篇习作以精巧的构思表达了新颖的主题。 习作的题目很有新意,引人入胜,小作者也没有辜负读者的希望,层层深入地揭示了秋天的秘密,给人以深刻的启迪。
推定混凝土强度的新方法张莹,李增选,王新友(同济大学上海200092)1前言混凝土是当代建筑工程中最主要的结构材料之一。在我国的工程应用中,混凝土的强度评定一般是根据《混凝土强度检验评
详细叙述了铅釉熔块的配料及熔制过程,按照熔块与Cr2O3的不同比例配制了釉料,通过对铅釉样品的讨论,弄清了Cr2O3在铅釉中的呈色特点,给出了红色铅釉和黄色铜釉的最佳配方。
近日,我市召开西湖申遗专题工作会议。会议指出,要以西湖申遗为契机,进一步保护好、建设好西湖。西湖是杭州的文化名片,市委、市政府围绕"保护西湖、申报世遗"目标,大力实施
采用钢纤维混凝土制作机场排水沟盖板李江华,黄承逵(大连周水子国际机场大连116033)(大连理工大学大连116033)大连周水子国际机场为了适应国际、国内航班迅速增加的需求,于1993年进行了扩建。在扩建
二矿区是金川集团公司的主力矿山,采用下向水平分层机械化盘区进路胶结充填采矿方法,应用高浓度细砂管道自流输送充填工艺,年产矿石约440万吨,充填总量约150万立方。经过长期的科
2009年我市侨务工作,要坚持以科学发展观为统领,深入贯彻党的十七大、十七届三中全会和市委十届五次全会、全国侨办主任会议精神,以新一轮解放思想大行动为动力,围绕中心,服