免费注册 查看新帖 |

Chinaunix

广告
  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3168 | 回复: 0
打印 上一主题 下一主题

AGENT-MIB文件在agent开发中的作用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-01-04 16:15 |只看该作者 |倒序浏览

                2.MIB文件
首先需要的是定义了待实现MIB模块的MIB文件。
严格的说,这个文件并不是必需的,因为代理自己并不直接使用MIB定义。但是,基于以下三个原因推荐从MIB文件开始:
(1)它提供了待实现模块的初始规格说明。当你清楚自己该做什么时编码就很容易了。
(2)如果新的MIB文件与其他MIB文件一起读入,这个MIB文件可使上层的应用程序格式化从代理获得的数据(如:区分OID和值),而不仅仅是无格式的数。(注意:需要应用程序载入新的MIB文件。详情查看相关的FAQ)
(3)MIB2C工具使用MIB文件生成C头文件和C实现文件。
这是开发新模块最简单的方法了。
(v5(指NET-SNMP)版本的MIB2C是相似的,但和这里描述的v4版本不完全一致)
如果打算实现一个标准的MIB模块,或一个生产商定制的模块,文件的结构就已经为你做好了。如果要实现一个完全新的,私有的模块,除了代理的代码外,这个MIB文件也得你自己写。
MIB文件格式和语法不再本文的描述范围之内,大多数介绍SNMP的书籍都会提供这方面的信息。一本推荐的书是:
《Understanding SNMP MIBS》(Perkins & McGinnis, Prentice Hall, ISBN 0-13-437708-7).

MIB树的划分
MIB树的划分完全由内部实现方法决定。一个合理的划分可以使实现简单明了,使开发和维护都变得容易。不幸的是,MIB的划分是与具体模块相关的,所以必须视具体情况而定。对于一个完备的模块,合理的做法是将一个模块实现为单个”块“(例如SNMP子树RFC1907或TCP子树RFC2011)。更复杂多样的模块(如Host Resources MIB-RFC1514)一般视为由许多独立的子模块构成。
划分MIB树的一些建议:
(1)由有相同OID前缀的对象组成的MIB子树一般由单个模块实现
(2)不同的子树由不同的模块实现
(3)表既可以由单个模块处理,也可由多个不同模块处理。
(4)依赖于相同数据源的变量应实现于同一模块中。(反之不必)

另一个基本原则是,不同的子树和表,都应分开处理。目前许多已实现的代理都是这样做的,如大部分MIB-II模块都是实现于不同的文件之中。
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/109209/showart_2139118.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP