·互联同拭水· 勘E量E蜀:电司E理IUI
于兆以木网的设计
卓丽王淑玲刘刚
(徐州空军学院 江苏徐州 221000)
摘要z 本文基于入式操作革统,使用MARVELL公司的交换控制芯片 88E6095进行千兆以太网二层交换机的研发,对SNMP管理协议
进行了详细分析,并提出了在千兆'击太间交换机土实现拨人式SNMP代理的设计方案。
关键词 z 千先以太网 交换机 网络管理 SNMP
中图分类号 :TP393 文献标识码 :A 文章编号: 1007-9416(2010 )1 2-0043-01
SNMP是被广泛接受并投入使用的工
业标准,它的目标是保证管理信息在任意
两点中传送,便于网络管理员在网络上的
任何节点检索信息,进行修改,寻找故障 e
完成故障诊断,容量规划和报告生成。它采
用轮询机制,提供最基本的功能集。它只要
求无证实的传输层协议UDP ,受到许多产
品的广泛支持。
1 网曹代理的设计与实现
模块结构
SNMP代理模块包括六个子模块,消息
处理子模块是最核心的模块,它从传输协
议接口得到JSNMP请求报文,然后利用MIB
访问函数子模块从MIB接口中获得要请求
的变量的值或者通过它对变量进行操作,
最后构造应答报文,再通过传输协议接口
进行发送。而Trap发送子模块通过消息处
理子模块获得要携带的变量的值,然后通
过传输协议接口进行发送。
测试工具
MIB定义文件在使用之前,必须转化为
一种SNMP应用程序能够理解和使用的格
式。建立于 1990年 3月的MG-SOFT公司是
世界上SNMP、 SMI以及Windows和Linux平
台下网络管理协议、工具包、解决方案的最
主要的供应者。 MG-SOFT公司的MIB
Compiler是一种专门编译符合SMlvl 或
SMlv2规范的MIB定义文件的工具。
在与管理站开发的管理应用进程通信
之前,可以使用MG-SOFT公司的网络管
理进程软件MIB Browser Professional
Edition5. 40 ,对代理进程软件进行测试。
1 3 MIB文件代码实现及分析
SNMP中的所有被管对象都被排列在
一个树型结构中。处于叶子位置上的对象
是实际的被管对象,每个实际的被管对象
表示某些被管资源。
MIB中的每个对象类型都被赋予→个
对象标识符,以此来命名对象。对象标识符
的值是层次结构的。它是能够唯一标识某
个对象类的符号,它的值由一个整数序列
构成。从树根开始,第一级有三个节点: ìso ,
ccìtt , joint-iso-ccìtt 0 SNMP在iso下的dod之
下设置一个子树用于Internet的管理:
intemet OBJECT IDENTIFIER: :={iso
(I )org(3)dod(6)1 }
因此, ìnternet节点的对象标识符的值
是1. . 1,这个值作为internet子树的下级
节点标识符的前缀。
MIBf-t码使用的是抽象语法标记ASN.
I, 是一种ISO/ITU-T标准,描述了
一种对数据进行表示、编码、传输和解码的
数据格式。它提供了一整套正规的格式用
于描述对象的结构,而不管语言上如何执
行及这些数据的具体指代,也不用去管到
底是什么样的应用程序一不论是非常复杂
的,还是非常简单的。与SNMP相关的是三
个主要组件:定义管理对象数据类
型的类型符号 g 定义数据类型值与实例的
值符号 g 发送与接收用 编码的信息
传送语法。 MIB文件的编写就是采用了
语法, 描述了网络管理进程
和代理进程之间传输的SNMP报文的格式。
MIB:文件的转化及调试过程
编写好MIB文件后,在MIB Compiler环
境下点击compìle multiple MIB files按钮,
就可以开始对MIB定义文件进行批编译,结
果将生成SMIDB格式的数据文件。经过了
编译的MIB文件,可以在MIB Browser中查
看MIB树的结构图和MIB节点的性质。
由于MIB文件都是用编写的,我
们需要将其转化成C数据结构,才能用程序
实现。本文使用软件AdventNet Agent
Toolkit C Edition可以将MIB编译成C代码,
并将每一个MIB变量与其相应的读写函数
联系在一起。转化为C代码后,我们通过软
件Source Insight来查看代码,根据具体的
需要再添加 C 代码。然后通过软件
SecureCRT 在Linux服务器上运行编写
好的 C代码。
在MG-MIB Browser环境下测试代理
MIB和 SNMP是密不可分的,要测试
SNMP协议,必须通过对MIB变量的获取或
者设置。对SNMP协议的测试包括:1)对
get , get next , get bulk , set分别进行测试,
包括出错时是否能够正确返回, 2)对携带有
多个变量的情况测试, 3)对trap报文进行测
试,查看是否正确。
测试管理端采用通用的SNMP管理软
件mib-browser进行:1)获得变量的值(get ,
get next , get bulk): 用 mìb-browser 获取
交换机支持的各种mib ,检查是否正确, 2)
设置变量的值(set) :对只读mib进行设置,查
看是否返回预期的错误,对可写mìb以合法
参数进行设置,再获取该mib的值查看设置
是否成功,对可写 mib以非法参数进行设
置,查看是否返回预期的错误, 3)多变量报
文的测试:测试在一个报文中获取或者设
置多个变量的情况,使用的管理软件是
ucd-snmp提供的小工具,包括snmpget用于
获得变量的值, snmpset用于设置变量的值 3
4 )t rap报文的发送:冷启动、以错误的权限
进行获取或设置mib都可使交换机向定义
好的trap 目的站发送trap报文,抓包,查看报
文是否正确。
2 结语
相对于其它种类的网络管理体系或管
理协议而言, SNMP易于实现。SNMP的管理
协议、 MIB(管理信息库)及其它相关的体系
框架能够在各种不同类型的设备上运行,
SNMP网管代理在运行时不需要很大的内
存空间,因此也就不需要太强的计算能力。
SNMP协议一般可以在目标系统中快速开
发出来,所以它很容易在面市的新产品或
升级的老产品中出现。尽管SNMP协议缺少
其它网络管理协议的某些优点,但它设计
简单、扩展灵活、易于使用,这些特点大大
弥补了SNMP协议应用中的其他不足。
参考文献
[1) 简单网络管理协议SNMP ..
com/netbass/other/.
[2) (美)马赛厄斯.海因.简单网络管理协议
的理论与实践.北京 2 国防工业出版社,
1999.
[3) 郭军.网络管理.北京 z 北京邮电大学出
版社, 2001.
[4) (美 )Kenneth
电子工业出版社, 2002.
[5) 谭浩强 .C程序设计.北京:清华大学出
版社, 1999.
数字饺术与应用 43