收藏 分销(赏)

基于SNMP协议的测试指导.doc

上传人:仙人****88 文档编号:9448483 上传时间:2025-03-26 格式:DOC 页数:11 大小:574.50KB 下载积分:10 金币
下载 相关 举报
基于SNMP协议的测试指导.doc_第1页
第1页 / 共11页
基于SNMP协议的测试指导.doc_第2页
第2页 / 共11页


点击查看更多>>
资源描述
基于SNMP协议的I2000版本测试指导 胡修文 KF2032 2004-6-30 摘 要Abstract :本文结合I2000 WAPGW 版本的系统测试,介绍了SNMP协议的网管版本的测试方法和相关测试工具的使用方法,给刚开始或即将测试SNMP协议网管版本的同事一个指引。 1 引言 WAP网关设备纳入I2000管理时采用的管理协议是SNMP协议,它不同于以前各个设备所使用的窄带MML协议、智能MML协议,虽然I2000的体系结构没有变化,但随着管理协议的变化,我们测试的手段和方法也有所不同了。本文以WAP网关设备的网管版本为例,总结了测试SNMP协议网管版本的一些方法,目的是使新接触此类网管版本的同事少走弯路,有所借鉴。 2 SNMP协议简介 首先我们必须了解一些SNMP协议的知识,这里简单介绍一些SNMP协议的基础知识,内容主要来自《TCP/IP详解卷一》,更多内容请参考该红宝书。 SNMP即简单网络管理协议,目前有3个版本:V1、V2、V3,WAP网关用的是SNMP V3。网络管理包括管理进程Manager(如I2000)和设备代理进程Agent两部分,SNMP就是管理进程和代理进程之间的通信协议。它们之间的通信有两种方式,一种是管理进程向代理进程发出请求,询问一个具体的参数值;另外一种方式是代理进程主动向管理进程报告有某些重要的事件发生。此外,管理进程还可以改变代理进程的参数的值。 2.1 SNMP协议报文 管理进程和代理进程的交互有5种报文: 1、 get-request 操作:管理进程从代理进程处提取一个或多个参数值,简称 get; 2、 get-next-request 操作:管理进程从代理进程处提取一个或多个参数的下一个参数值,简称get-next; 3、 set-request 操作:管理进程设置代理进程的一个或多个参数值,简称 set; 4、 get-response 操作:代理进程返回的一个或多个参数值,是代理进程对前面3种操作的响应; 5、 trap 操作:代理进程主动发出的报文,通知管理进程有某些事情发生。如设备侧产生的告警。 如下图所示: 图1 SNMP的5种操作 2.2 管理信息结构SMI SMI(Structure of Management Information)是关于MIB的一套公用的结构和表示符号。我们主要关心的是一些数据类型: 1、 INTEGER。整型。 2、 OCTER STRING。0或多个8bit字节,每个字节值在0~255之间。 3、 DisplayString。0或多个8bit字节,但是每个字节必须是ASCII码。 4、 OBJECT IDENTIFIER。对象标识符(OID),是一个整数序列,以“.”分隔,构成一个树型结构。如下图: .1.1.1.1.1.1.1 对象标识符OID 每一个节点有一个文字名,主要是为了阅读方便,在管理进程和代理进程的交互报文中,MIB对象是以对象标识OID来命名的。其中 iso.org.dod.internet.private.enterprises(1.3.6.1.4.1)是给各厂家自定义预留的,如华为WAP GW的对象标识符OID是:1.3.6.1.4.1.2011.2.40(iso.org.dod.internet.private.enterprises.huawei.products.hwinfoX)。 5、 NULL。代表相关的变量没有值。 6、 IPAddress。IP地址。 7、 Counter。非负的整数,从0递增到2的32次方-1,达到最大值后归0。 8、 Gauge。非负的整数,取值的范围为从0到4 294 976 295(或增或减),达到最大值后锁定直到复位。 9、 TimeTicks。时间计数器,以0.01秒为单位递增。 10、 SEQUENCE。类似于Struture类型。 11、 SEQUENCE OF。向量。 2.3 管理信息库MIB 管理信息库MIB(Management Information Base)包含所有代理进程的所有可被查询和修改的参数。这些参数变量可以是只读的或可读可写的。变量可分为两类:简单变量和表格(table)变量。 2.4 实例标识 当对MIB变量进行操作,如查询和设置变量的值时,必须对MIB的每个变量进行标识,也就是MIB对象的实例(Instance)。只有叶子节点是可以操作的。这些节点可以是简单变量,其实例标识是在对象标识后面添加“.0”来处理;也可以是表格,MIB表格根据其对象标识按照字典的顺序进行排序,即“先列后行”的顺序。 3 MIB Browser工具的使用 MIB Browser工具用于查询和设置设备Agent上的MIB变量,是测试SNMP协议网管版本不可或缺的工具。我们使用的是MG-SOFT MIB Browser V8.0版本。 3.1 编译MIB文件 使用MIB Browser查询和设置设备Agent上的MIB变量,首先要有与这个设备对应的MIB文件。如果提供的是“.bui”文件,则要先进行Build、Compile后才能使用。比如现在提供的是文件“HUAWEI-InfoX-WAPGW(20031218).bui”,双击该文件,就会自动打开MIB Builder: .1.1.1.1.1.1.1 MIB Builder 选择工具栏中的“Export”图标,并设置保存路径和文件名,就可以Build成“.my”文件。 .1.1.1.1.1.1.2 Build MIB文件 对于“.my”文件还需进行编译(Compile)。Build成“.my”文件后,会自动运行MIB Compiler。选择工具栏左边第一个图标“Compile MIB file”,选择打开刚才生成的“.my”文件,就可以编译并生成“.smidb”文件,选择路径、文件名并保存,则这个文件就可以使用了。一般保存在“安装路径\MG-SOFT\MIB Browser\MIB\SMIDB”目录下。 .1.1.1.1.1.1.3 Compile MIB文件 3.2 连接SNMP Agent 现在我们可以使用MIB Browser了。首先要连接SNMP Agent。 1、在界面Query页签中,输入SNMP Agent的IP地址 .1.1.1.1.1.1.4 Contact SNMP Agent 2、输入SNMP协议信息 这在SNMP中用来保证安全性。点击上图IP地址右边的榔头,会弹出对话框: .1.1.1.1.1.1.5 SNMP协议信息 首先要选择SNMP协议的版本,有v1、v2c、v3三个版本,主要看设备侧使用的是哪个版本,不同的版本要求输入的参数也不同。WAPGW用的是SNMPv3,因此我们选择这个版本。再点击“Edit User”按钮,出现以下对话框: .1.1.1.1.1.1.6 SNMPv3安全参数 需要输入SNMPv3安全参数,分别输入User profile name、Security user name、Context name、SNMP port number。其中WAPGW设备提供的端口号是7161。Authentication protocol选择HMAC-MD5,并点右边的按钮输入口令,如现在是infox。 要注意的是WAPGW 的Agent下属各个设备节点的Context name是不同的,输入各个设备节点各自的Context name,才能查询和设置相应设备节点的变量。所以每次查询不同的设备节点时都需要编辑一下参数,修改相应的Context name。这点后面还会谈到。 填好这些参数,之后OK,就会去连接SNMP Agent,或者点工具栏左边第一个图标Contact。如果Agent正常,就可以连接上了。只有Contact SNMP Agent之后,才可以进行其他的操作,如get、set等。 3.3 加载MIB文件 需要加载设备相应的MIB文件,才能解析设备Agent的各个变量。 切换到界面上的MIB页,有上下两栏,其中上方是已经加载的MIB文件,下面则是可以加载的MIB文件。在下面可以看到我们先前编译过的HUAWEI WAPGW的MIB(如果没有,点一下中间的Refresh按钮),点击中间的箭头,将这两个MIB移动到上部,就完成了加载。 .1.1.1.1.1.1.7 Load MIB File 这时我们再回到Query页面,点开MIB树,就可以看见WAPGW的各个MIB节点了: .1.1.1.1.1.1.8 MIB Tree 3.4 查询MIB变量 查询设备Agent上的MIB变量可以有几种方法:Walk、Get、Get-next等。这些操作都可以在MIB树上各节点的右键菜单中选择。 1、 Walk操作:Walk是遍历一个节点所有变量的操作,其实质就是调用Get-next操作遍历查询一个节点下的所有变量。如果这个节点不是叶子节点,则遍历它的所有子节点。 .1.1.1.1.1.1.9 Walk操作 2、 Get操作:get操作一般是用于查询叶子节点表示的变量。MIB树中叶子节点的图标有两种:表示简单变量;表示table变量。如果是table变量则用Walk操作更方便一些,因为table变量可能有多条记录。 3.5 设置MIB变量 设置MIB变量用Set操作,当然这需要这个变量是可写的或可创建的。选择叶子节点右键菜单中的Set后,在对话框中输入设置值即可: .1.1.1.1.1.1.10 Set操作 3.6 查看表格 MIB变量有的是表格变量,一个表格有多条记录。例如WAPGW有一个节点是hwinfoXAccessNodeEntry,包含Agent下的各个设备节点的信息: .1.1.1.1.1.1.11 MIB中的Table hwinfoXAccessNodeEntry下的各个节点就是表格中的各个列,每一列都可能有多条记录。可以通过节点右键菜单中的“Table View”来查看整个表格的内容: .1.1.1.1.1.1.12 查看表格 表格内容如下(分左右两部分): .1.1.1.1.1.1.13 WAPGW节点信息表1 .1.1.1.1.1.1.14 WAPGW节点信息表2 前面提到,查询WAPGW Agent下各个设备节点的变量时都需要输入各个设备相应的ContextName,各设备的ContextName就可以在上面这一张表格里找到,如图16。可以Copy表格内容加以利用。 3.7 查找MIB对象 MIB树中各个节点对象都是用文字标识的,我们可以查看节点的OID,通过右键菜单中的“Prompt For OID”即可。我们也可以通过一个对象的OID,快速找到这个对象的节点,按Ctrl+F键,输入要查找的OID: .1.1.1.1.1.1.15 查找对象 有了以上这些对MIB Browser基本操作的了解,已经足够我们测试之需了。 4 抓包工具Ethereal的使用 抓包工具可以用来截获经过网络接口的每一个分组。我们可以用它来获取设备Agent的响应报文,即设备侧的原始数据,来验证网管侧数据处理的正确性。我们使用的是Ethereal V0.9。 4.1 设置过滤字符串 首先选择菜单Capture/Start,会弹出对话框,设置抓包选项,如图14。 这些设置选项中最重要的是过滤条件Filter。因为网络上各种各样的数据包都有,如果不加以过滤,则获得的数据包就会太多而难以找到我们真正所需要的。Filter字符串使用的是tcpdump风格的表达式。这里对表达式作一简单介绍。 表达式是一个正则表达式,利用它作为过滤报文的条件,如果一个报文满足表达式的条件,则这个报文将会被捕获。如果没有给出任何条件,则网络上的所有信息包都将被截获。 在表达式中一般有如下几种类型的关键字: 1、 关于类型的关键字,主要包括host、net、port,例如 host 10.71.124.11,指明10.71.124.11是一台主机,net 10.71.0.0 指明10.71.0.0是一个网络地址,port 7161指明端口号是7161。如果没有指定类型,缺省的类型是host。 2、 确定传输方向的关键字,主要包括src、dst、dst or src、dst and src,这些关键字指明了传输的方向,src表示源地址,dst表示目的地址。例如,src 10.71.124.11 指明IP包中源地址是10.71.124.11。如果没有指明方向关键字,则缺省是src or dst 。 3、 协议关键字,主要包括fddi、ip、arp、rarp、tcp、udp等类型。指明了监听的包的协议内容。如果没有指定任何协议,则监听所有协议的信息包。 4、 逻辑关键字,包括3种逻辑运算:取非运算是not 或 !;与运算是and 或 &&;或运算是or 或 || 。 这些关键字可以组合起来构成强大的过滤条件。例如,WAPGW Agent的IP地址是10.71.124.11,监听端口是7161,现在想得到Agent上报的性能统计数据的报文,只需要设置Filter为 src 10.71.124.11 and port 7161 就可以了。 .1.1.1.1.1.1.16 设置过滤条件 4.2 查看报文 设置过滤条件后,还可以设置其他一些选项,选中“Capture packets in promiscuous mode”,Display options的两个选项最好都选上,以方便查看报文。其他可以根据需要设置。点击“OK”,就开始截获满足条件的报文,并在界面实时显示出来,如图15。 .1.1.1.1.1.1.17 查看报文 查看报文时需要选择解码协议,在界面上的子窗口选择右键菜单中的“Decode As”: .1.1.1.1.1.1.18 选择解码协议 在对话框中选择所需要的解码协议,比如我们现在需要查看SNMP协议的报文,就选择SNMP协议。之后就可以在中间的那个子窗口查看Agent响应的各个MIB对象实例的值了,如图15。 4.3 保存报文 有时需要将截获的实时报文保存起来,方便以后查看,可以将报文保存成文件。选择菜单File/Save,输入路径和文件名即可。以后可以通过File/Open打开这个文件,重新显示出报文。 看了以上Ethereal的介绍,是不是觉得挺简单的?掌握了上面介绍的工具的使用,我们可以开始I2000的测试了。 5 I2000的测试 现在WAP网关、MMS、外购件的网管版本都是采用的SNMP协议,现在以WAP网关为例说明这类网管版本的基本测试方法,重点是与使用MML协议的版本测试方法不同的地方。 5.1 拓扑管理 5.1.1 创建网元 创建网元时需要输入SNMP协议的安全参数,包括安全名、鉴别协议及鉴别密钥、上下文名称等,如图17: .1.1.1.1.1.1.19 创建WAPGW设备 5.1.2 刷新拓扑结构 可以通过Agent节点右键菜单手动或定时刷新拓扑结构。后台日志Mediation.log记录了刷新拓扑结构时的设备响应: +++ Huawei SNMP2MML Gateway 2004-06-29 17:19:53 %%List SNMP Table: oid=xxx;%% RETCODE = 0 SNMP查询结果 ------------ hwinfoXNENodeCode hwinfoXNENodeType hwinfoXNEWorkingMode hwinfoXNENodeIPAddress hwinfoXNENodeContextName hwinfoXNENodeContextEngineID hwinfoXNEAdditionalInfo hwinfoXNERunningStatus 4000000007550050c 1073741824 1 192.168.20.11 4000000007550050c mdsp 1 400000f0075500505 1073742064 1 192.168.20.11 400000f0075500505 hostname 1 40100100075500504 1074790656 4 192.168.20.11 40100100075500504 Cluster-WAP1X 1 40100200075500502 1074790912 4 192.168.20.11 40100200075500502 Cluster-Http 1 4010030007550050b 1074791168 4 192.168.20.11 4010030007550050b Cluster-PPG 1 40100600075500503 1074791936 2 192.168.20.11 40100600075500503 mdsp 1 (结果个数 = 6) --- END hwinfoXNENodeCode:网元节点编码 hwinfoXNENodeType:网元节点类型 hwinfoXNEWorkingMode:网元工作模式,1:单机 2:双机热备 3:双机冷备 4:集群。 hwinfoXNENodeIPAddress:网元节点IP地址 hwinfoXNENodeContextName:网元节点上下文名称。 hwinfoXNENodeContextEngineID:上下文引擎ID hwinfoXNEAdditionalInfo:附加信息 hwinfoXNERunningStatus:网元运行状态,1:管理状态(admin);2:托管状态(freedom) ContextName对于我们在MIB Browser中查询MIB变量比较重要,各个设备的ContextName都不相同,如果ContextName错误,查询时可能会返回“No such object”。因此我们可以从此处得到各个网元节点的ContextName,用于MIB Browser中。也可以从MIB Browser中获得节点的ContextName,就是Walk一下hwinfoXAccessNodeEntry这个节点,前面已经提过: .1.1.1.1.1.1.20 查询WAPGW设备节点 还有一个方法是查询数据库表[imap_db].[dbo].[INMSNEMO],也可得到设备节点的ContextName。 另外,当设备拓扑结构发生变化时,如增加或删除了设备节点,设备会通过Trap报文通知网管,从而自动刷新拓扑结构。 5.1.3 刷新配置 可以手动或定时刷新节点配置信息。刷新配置信息的日志也是记录在日志Mediation.log中。 5.2 配置管理 配置管理包括配置查询和配置设置。设备侧有的变量是只读的,则无法设置,只能查询;有的变量是可读可写,则可以查询和设置;有的变量是可读可创建,则可以设置和创建。配置的测试主要用到MIB Browser工具,通过比较MIB Browser查询的值与网管客户端查询、设置的值就可以了。 配置管理测试时,要注意设备的上下文名称,上下文名称错误,则用MIB工具walk不出节点的信息。查看设备的上下文名称可以刷新拓扑,查看日志文件的办法获取,也可以通过MIB查看表格(见上文3.6介绍),也可以从impdb数据库i2kDevID表的imap_DevUniDesc字段中准确获取到设备的上下文名称。例如: 图中WAP20STACK表示设备40100200075500524就是http设备的上下文名称了。 5.3 性能管理 性能管理包括统计任务管理、性能数据入库、性能监视、性能告警、性能数据备份删除、WEB报表等几部分。性能监视、性能告警、性能数据备份删除、WEB报表这几部分与以前的版本基本类似,这里就不多说了。 5.3.1 统计任务管理 这里的统计任务属于主动查询任务,与以前版本不同的是,统计任务只在网管侧存在。网管侧定时去查询设备侧的性能变量来获取性能数据。因此统计任务的管理只在网管侧进行, 不与设备进行交互。 5.3.2 性能数据入库 性能服务根据建立的统计任务定时到设备侧获取(Get)性能变量的值,设备侧响应性能数据给网管,性能服务再将性能数据入库。性能数据有两种类型:绝对值型和计数器累加型。绝对值型的数据直接入库。计数器累加型的数据的入库则有点曲折。入库的值是前后两个周期上报的性能数据的差值。这给我们的测试带来了一些困难。因为用MIB Browser只能查询到当时的绝对值,对于两个周期之间的差值很难准确测试。这时需要用到抓包工具Ethereal。建立统计任务后启动Ethereal,抓取设备侧响应的多个周期的性能数据,这样就可以方便地计算两个周期的性能数据差值,与入库的性能数据进行比较。具体方法见前面Ethereal工具的使用说明。 有一种情况需要注意的是,性能服务查询设备侧性能变量时可能由于主机或者网络原因而失败,则此时该性能变量的值不入库,一直到查询成功为止,再计算前后两个周期的差值入库,这样统计周期也不再是统计任务所设定的周期,而是前后两次获得性能数据的时间之差。也就是说,统计周期是可以动态变化的。 以上介绍了拓扑管理、配置管理、性能管理测试中需要注意的地方和主要的测试方法。至于故障管理、安全管理、系统管理等,与我们以前测试的其他版本没有太大区别,这里不再赘言。 参考资料清单List of reference W.Richard Stevens,《TCP/IP详解 卷一》,机械工业出版社 黄亚平,“iManager I2000 V300R001D200 性能管理设计方案分析”,2003-04-10
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服