路由器中snmp协议测试集规划与定义技术研究 计算机应用技术毕业论文_第1页
路由器中snmp协议测试集规划与定义技术研究 计算机应用技术毕业论文_第2页
路由器中snmp协议测试集规划与定义技术研究 计算机应用技术毕业论文_第3页
路由器中snmp协议测试集规划与定义技术研究 计算机应用技术毕业论文_第4页
路由器中snmp协议测试集规划与定义技术研究 计算机应用技术毕业论文_第5页
已阅读5页,还剩118页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

西南交通大学研究生学位论文路由器中SNMP协议测试集规划与定义技术研究年级二二级姓名成宇萍申请学位级别硕士专业计算机应用技术指导教师曾华燊教授二五年九月西南交通大学研究生学位论文路由器中SNMP协议测试集规划与定义技术研究年级二二级姓名成宇萍申请学位级别硕士专业计算机应用技术指导教师曾华燊教授二五年九月CLASSIFIEDINDEXTN39306SOUTHWESTJIAOTONGUNIVERSITYMASTERDEGREETHESISONTECHNIQUESOFTESTSUITEPLANNINGANDTESTCASESPECIFICATIONFORSNMPIMPLEMENTATIONSINROUTERSGRADE2002CANDIDATECHENGYUPINGACADEMICDEGREEAPPLIEDFORMASTERSPECIALITYCOMPUTERAPPLICATIONSUPERVISORPROFZENGHUASHENSEPTEMBER2005摘要路由器的测试技术涉及三方面的内容测试方法研究、测试控制数据的描述/自动导出技术研究、测试系统的开发。本论文讨论的重点是如何对路由器中SNMP的测试控制数据集进行规划以及如何利用国际标准测试控制数据语言TTCN3来定义/描述相关测试例。它是四川省网络通信技术重点实验室有关路由器的测试技术研究工作的组成部分之一。第1章笔者首先简要讨论国内外路由器测试系统现状,指出路由器多端口并行测试技术存在的问题。然后介绍本研究工作的背景是四川省网络通信重点实验室的路由器多端口并发测试技术研究和系统的开发。开发中的路由器的多端口并发测试系统是具有上、下两级结构的分布式测试系统。上级系统处理系统配置、多端口间测试控制数据的指派、测试过程的管理和协调控制;下级为多个单端口或双端口测试系统。第2章对SNMP,特别是SNMPV2协议进行了概要的介绍,然后对与SNMPV2有关的测试技术进行初步的讨论,为后续章节的讨论奠定基础。第3、4章是笔者的主要工作,分别完成测试例生成两个重要步骤测试集的规划和抽象测试例描述。第3章讨论SNMPV2协议测试集的规划原则,并按照归纳的规划原则对SNMPV2协议一致性测试集作出了详细的规划;第4章详细分析了如何利用TTCN3对SNMPV2协议定义抽象测试集(ATS)。笔者在该章中,将探讨性地将SNMPV2协议测试分为四种类型非参数标量测试、参数标量测试、列向量逐行测试和列向量抽取测试,分别给出每种测试的测试流程图和测试实例。第5章在对论文工作进行总结的基础上,对后续研究工作进行了分析和展望。由于目前实验室的双端口测试器的开发工作尚未完成,因此未能进行编译并用于实际的测试。INTERNET的SNMP系列协议除与管理信息传输相关的协议本身外,还有与管理信息库(MIB)和远端监测(RMON)相关的文本,经过近20年的发展,相关协议已经更新为第3代,所涉及的RFC数量超过20个。笔者相信,笔者的工作将对后续的研究工作发挥借鉴作用。关键词路由器测试、测试集规划、测试集描述、SNMP、TTCN3ABSTRACTTHETECHNICALBACKGROUNDOFTHISDISSERTATIONISROUTERTESTING,WHICHINVOLVESTESTMETHODS,TESTDEFINITION/SPECIFICATIONTECHNIQUESANDPROCESS,ANDTESTSYSTEMSTHEDISSERTATIONFOCUSEDONTECHNIQUESOFTESTSUITEPLANNINGASWELLASTESTSPECIFICATIONWITHANEMPHASISONTHESIMPLENETWORKMANAGEMENTPROTOCOLSNMPANDASTANDARDSPECIFICATIONLANGUAGECALLEDTTCN3THEAUTHORSWORKISPARTOFTHERESEARCHANDDEVELOPMENTACTIVITIESATSICHUANNETWORKCOMMUNICATIONTECHNOLOGYKEYLABORATORYSCNETCOMLABTOPROMOTEANEWTESTMETHODANDTESTDEFINITIONLANGUAGEANDTODEVELOPANEWGENERATIONOFTESTSYSTEMSFORMULTIPORTHIGHSPEEDROUTERSINCHAPTER1,ACOMPREHENSIVEDISCUSSIONONROUTERTESTINGTECHNIQUESISGIVENTOREEXAMINESHORTCOMINGSOFEXISTINGTESTINGTECHNIQUESAFRAMEWORKFORMULTIPORTROUTERTESTINGATSCNETCOMLABISPRESENTED,WHICHINVOLVESTHEMULTIPORTROUTERDISTRIBUTEDSYNCHRONIZEDTESTMETHODMRDSTM,CONCURRENTMULTIPORTTESTDISTRIBUTEDSYNCHRONIZEDTESTMETHODMRDSTM,CONCURRENTMULTIPORTTESTDEFINITIONLANGUAGECMPTDL,ANDAMULTIPORTROUTERTESTSYSTEMINCHAPTER2FIRSTPRESENTSACOMPREHENSIVESTUDYONTHESIMPLENETWORKMANAGEMENTPROTOCOLSNMPININTERNETTOGETHERWITHAGENERICDISCUSSIONONSNMPTESTINGANEMPHASISHASBEENGIVEN,INTHISDISSERTATION,TOTESTINGOFIMPLEMENTATIONSOFVERSION2OFSNMPSNMPV2INATWOPORTTESTINGENVIRONMENTALTHOUGHTHETECHNIQUEINAMULTIPORTTESTINGENVIRONMENTWASALSOBRIEFLYANALYZEDCHAPTERS3AND4ARETHEMAINPARTSOFTHISDISSERTATION,WHICHAREDEDICATEDTOTECHNIQUESOFTWOIMPORTANTSTEPSINTESTCASEGENERATION,IEGENERICTESTSUITEPLANNINGANDTESTCASESPECIFICATIONTOSTRESSTHEIMPORTANCEOFTESTSUITEPLANNING,CHAPTER3FIRSTEXAMINESTHEPROCEDURALSTEPSINCONFORMANCETESTINGAFRAMEWORKOFTHEGENERICTESTSUITEGTSFORSNMPV2ISALSOPROVIDEDWITHASYSTEMATICDISCUSSIONCHAPTER4ISDEVOTEDTOTESTCASESPECIFICATIONFORSNMPV2WITHDETAILEDDISCUSSIONSONDATADEFINITION,BEHAVIORANDTESTCONTROLDESCRIPTIONSRESPECTIVELYFINALLY,CHAPTER5CONCLUDEDTHISTHESISFOLLOWEDBYAFORWARDVIEWFORFUTUREWORKASTHEROUTERTESTINGSYSTEMATSCNETCOMLABISSTILLUNDERDEVELOPMENTANDTHETESTSUITEDEFINEDHASNOTYETBEENAPPLIEDTOREALTESTING,ANDFORTHEREASONTHATTHESNMPPROTOCOLSETISCOMPLEXANDINVOLVESTWENTYMORERFCS,THEWORKPRESENTEDINTHISMSCDISSERTATIONISPRELIMINARYHOWEVER,THEAUTHORBELIEVESTHATTHISWORKWILLPROVIDEASOUNDBASISFORFUTURE“TESTSUITESPECIFICATION”,EAPECIALLYFORACOMPLETESNMPTESTSUTIEKEYWORDSROUTERTESTING,TESTSUITEPLANNING,TESTSUITESPECIFICATION,SIMPLENETWORKMANAGEMENTPROTOCOLSNMP,TTCN3目录摘要I目录V第1章引言111本论文的研究背景1111IPV6路由器多端口并行测试技术研究提出的背景1112国、内外路由器测试系统现状3113四川省网络通信技术重点实验室关于测试技术的研究概貌712本研究工作的测试对象SNMPV21013论文结构组织1114作者的工作与论文的贡献11第2章SNMPV2及测试技术1321简单网络管理协议SNMP及SNMPV213211SNMP历史的简短回顾13212SNMP的应用模式客户机/(多)服务器模式14213SNMP网络管理信息与管理信息库(MIB)16214SNMP网络管理实体(ENTITY)的功能结构17215SNMP的协议数据单元(PDU)17216RMON对SNMP系列标准的扩充1822SNMP协议测试技术19221利用双端口测试系统测试SNMP的技术19222测试控制数据及其描述语言TTCN320223SNMPV2多端口并发测试22第3章SNMPV2通用测试集GTS规划2331测试控制数据定义/描述技术23311通用测试集、抽象测试集和可执行测试集23312测试步骤与测试控制数据获取流程2432一致性测试集规划原则25321测试集的结构25322测试集的规划原则27323测试数据的命名和编码规则2933SNMPV2一致性通用测试集规划30331SNMPV2报文格式测试GTS规划30332MIBII通用测试集GTS规划32333RMON1MIB通用测试集GTS规划34334RMON2MIB通用测试集GTS规划36335状态对象ENTRYSTATUS的通用测试集GTS规划36336状态对象ROWSTATUS的通用测试集GTS规划39第4章SNMPV2测试例TTCN3的描述及测试4341测试数据类型定义43411SNMPV2数据类型43412SNMPV2常用文本标识符44413SNMPV2数据包定义44414TTCN3类型概要46415SNMPV2报文数据类型定义4742测试数据定义50421消息模板的定义、发送和接送50422模板的匹配机制51423模板参数化51424SNMPV2测试数据定义5243测试配置定义5744测试行为定义59441TTCN3行为语句60442测试例61443不带参数的标量对象测试例62444带参数标量对象测试例63445MIBII信息库中列对象的逐行测试65446IPROUTETABLE表列对象抽取测试71447RMON1中列对象测试72448子网掩码对象的测试73449对象IPADENTBCASTADDR的测试7545测试控制部分的定义78第5章总结与展望7951论文工作总结7952后续工作展望79致谢81参考文献82攻读硕士学位期间发表的论文及科研成果87附录1通用测试集规划表88表1SNMPV2通用测试集规划表88表2MIBII、RMON1MIB、RMON2MIB通用测试集GTS规划表89表3列对象ETHERSTATSSTATUS通用测试集GTS规划表90表4列对象PROTOCOLDIRSTATUS通用测试集GTS规划表91附录2IPROUTEPROTO列对象抽取测试测试例96附录3HISTORYCONTROLINTERVAL列对象测试例98附录4IPROUTEMASK列对象抽取测试测试例101附录5IPADENTNETBCASTADDR列对象抽取测试测试例105第1章引言11本论文的研究背景本论文的研究背景是INTERNET路由器中的“简单网络管理协议SNMPSIMPLENETWORKMANAGEMENTPROTOCOL实现”的测试,它是四川省网络通信技术重点实验室有关路由器的测试技术研究工作的组成部分之一。路由器的测试技术涉及三方面的内容测试方法研究、测试控制数据的描述/自动12导出技术研究测试控制数据规划技术、测试控制数据描述语言/自动导出技术及相关的支撑工具、实现测试方法和运行相关测试控制数据的测试系3统的研究与开发。本论文讨论的重点是如何对路由器中SNMP的测试控制数据集进行规划以及如何利用国际标准测试控制数据语言TTCN3来定义/描述相关测试例。111IPV6路由器多端口并行测试技术研究提出的背景ISO9646建议了两种适用于中继系统的测试方法1回绕测试方法(LOOPBACKTESTMETHODLTM)1和穿越测试法(TRANSVERSETESTMETHODTTM)24。LTM进行测试时,发送测试数据给路由器,在被测实现或系统内部或外部链路上实现回环。LTM实施简单,但测试不全面,并未完全穿过路由器从另一端口转发,使测试能力大大受限,因而较少采用。曾华燊教授在对LTM进行深入研究后提出了一种新的测试方法“穿越测试法(TTM)”24,后被ISO9646接受为测试中继系统的两种测试方法之一。采用TTM时,TESTER向被测路由器(RUTROUTERUNDERTEST)某端口发出的运载用户数据的IP报文经路由器三层协议实现的处理,IP层的路径选择功能选择相应的输出端口,再经过相应的输出端口的三层协议实现的处理,最后回到TESTER。由于这种方法模拟路由器在一对端口间转发数据的工作过程,其测试功能较LTM只能测试单端口的能力更强,由于测试数据穿越了路由器的一对端口故称为“穿越测试法”。IP路由器传统上被看成使用带内信令技术的3层结构。但是,使用该观点无法解释为什么路由器中的许多协议为三层以上的协议,如网络管理协议SNMP和路径信息交换协议(RIP、OSPF、BGP)都是在传输层协议(UDP/TCP)上实现的应用层协议。采用带外信令的概念则很容易解释这一现象。换言之,路由器是由包括应用层协议在内的信令控制和管理平台(SWHENTESTINGSA_C_IPV4_LT_RIP_TIMER2测试行为包括有效行为和无效行为,在测试例名后加上VB(VALIDBEHAVIOR)或IB(INVALIDBEHAVIOR)再加上编号表示有效行为测试例和无效行为测试例。有了测试集结构和命名规则,就可根据测试需求,选择适当的规划技术确定相应的测试目的。图33通用测试类命名格式33SNMPV2一致性通用测试集规划331SNMPV2报文格式测试GTS规划SNMPV2通用测试集可以分为几部分对SNMPV2报文格式测试、对MIBII对象测试、对RMON1MIB对象测试、对RMON2MIB对象测试。RFC190520中,对SNMPV2报文格式以及报文功能进行规定。SNMPV2协议无状态变迁,因此笔者主要针对协议功能实现来进行划分,除此以外还包括一些测试报文字段合法性子组。SNMPV2报文格式测试主要是按功能进行划分的。SNMPV2有9种报文GETREQUEST报文、GETNEXTREQUEST报文、GETBULKREQUEST报文、SETREQUEST报文、TRAP报文、INFORM报文、REPORT报文、RESPONSE报文。其中INFORM报文是管理站间传送,路由器一般作为代理使用,测试时不包括此报文。RESPONSE报文只是上面几种报文的响应报文,测试时没有特意划分此测试子组。REPORT报文也是一个例外RFC1905没有定义REPORTPDU的用法和精确语义,任何使用该PDU的SNMP管理框架都必须定义自己的用法和语义。由此SNMPV2报文格式测试分为GCSNMPV2GETREQUEST测试子组、GCSNMPV2GETNEXTREQUEST测试子组、GCSNMPV2图34ASTC、ATS、ATM、ATG、ATSG、ATC和ATSP命名格式A_ATSTNAME_ATGNAME_ATSGNAME_ATCNAME_ATSPNAMEATSTNAME抽象测试类型名称(字符串,最多10个字符),如CONFORMANCEC、PERFORMANCEP、INTEROPERABLEI、ARBITRATIONA等。为了简化,取首字母代替。ATGNAME抽象测试组名称(字符串,最多15个字符),如IPV4、IPV6、RSVP、BGP4、SNMP2等。ATSGNAME抽象测试子组名称,字符串(最多10个字符),如IPV6协议中通信流类型字段的测试为TRAFFICCLASS等。ATCNAME抽象测试例名称字符串,最多20个字符。由于测试例往往与测试方法联系在一起,所以为方便程序实现,测试例的命名需要加入测试方法,同时测试方法又与测试端口数联系在一起,如单端口SINGLEPORTSP必然采用回环测试法(LOOPBACKTESTINGLT)、双端口TWOPORTTP则是穿越测试法(TRAVERSETESTINGTT)。因此测试例命名按照测试方法名测试对象名来命名。如测试IPV4协议,抽象测试组名为A_C_IPV4测试IPV4中的版本类型时的测试例命名为A_C_IPV4_LT_VERSION。ATCNAME抽象测试例名称字符串,最多10个字符,如版本字段有效取值VERSION6,无效取值VERSION5、VERSION4等。ATSPNAME抽象测试步名称(字符串,最多10个子符),如发送为SEND等。GETBULKREQUEST测试子组、GCSNMPV2SETREQUEST测试子组和GCSNMPV2TRAP测试子组。按照报文功能对上面若干测试子组进行划分,下面表31是GCSNMPV2SETREQUEST测试子组划分情况,其中测试针对各种功能有效情况和无效情况。其他测试子组划分情况很类似,附录1中是SNMPV2报文格式测试GTS。表31GCSNMPV2SETREQUEST测试子组规划测试子组名测试目的GCSNMPV2SETERRORSTATUS当PDUTYPE字段为3(SETREQUEST),测试ERRORSTATUS字段是否为0GCSNMPV2SETERRORINDEX当PDUTYPE字段为3(SETREQUEST),测试ERRORINDEX字段是否为0GCSNMPV2SETVALUE测试SETREQUEST报文能否对简单对象实例或列对象实例进行设置GCSNMPV2SETNOACCESSSETREQUEST报文对不能访问的变量设置时,测试返回报文中ERRORSTATUS字段是否为NOACCESS6GCSNMPV2SETNOTWRITESETREQUEST报文设置时如果没有和相同对象标识符的变量,测试返回报文中ERRORSTATUS字段是否为NOTWRITE17GCSNMPV2SETWRONGTYPESETREQUEST报文设置时取值规定的类型与变量请求的类型不一致,测试返回报文中ERRORSTATUS字段是否为WRONGTYPE7GCSNMPV2SETWRONGLENGTHSETREQUEST报文设置时取值规定的长度与变量请求的长度不一致,测试返回报文中ERRORSTATUS字段是否为WRONGLENGTH8GCSNMPV2SETWRONGENCODINGSETREQUEST报文设置时取值包含一个和该字段的ASN1标志不一致的ASN1编码,测试返回报文中ERRORSTATUS字段是否为WRONGENCODING9GCSNMPV2SETWRONGVALUESETREQUEST报文对MIB对象进行设置时,如果在任何条件下都不能把该值付给该变量,测试返回报文中ERRORSTATUS字段是否为WRONGVALUE10GCSNMPV2SETNOCREATIONSETREQUEST报文设置时变量不存在且永远不可能创建,测试返回报文中ERRORSTATUS字段是否为NOCREATION11GCSNMPV2SETINCONSISTENTNAMESETREQUEST报文设置时变量不存在且在当前情况下不可能创建,测试返回报文中ERRORSTATUS字段是否为INCONSISTENTNAME18GCSNMPV2SETNOTWRITABLESETREQUEST报文设置时如果变量存在但不能被修改,测试返回报文中ERRORSTATUS字段是否为NOTWRITALE17GCSNMPV2SETINCONSISTENTVALUESETREQUEST报文设置时能在其他情况下对该变量赋值,但在当前情况下不可能,测试返回报文中ERRORSTATUS字段是否为INCONSISTENTVALUE12GCSNMPV2SETRESOURCEUNAVAILABLESETREQUEST报文设置时当前没有赋值给变量所需要分配的资源,测试返回报文中ERRORSTATUS字段是否为INCONSISTENTVALUE13GCSNMPV2SETCOMMITFAILEDSETREQUEST报文设置时赋值失败,撤销所有的赋值,测试返回报文中ERRORSTATUS字段是否为COMMITFAILED14GCSNMPV2SETUNDOFAILEDSETREQUEST报文设置时赋值失败,不可能撤销所有的赋值,测试返回报文中ERRORSTATUS字段是否为UNDOFAILED15332MIBII通用测试集GTS规划MIBII(RFC1213)是管理信息库的第二版。第一版MIBI发表在RFC1156中。MIBII是MIBI的扩充,增加了一些对象和组。MIBII是最重要的MIB(MANAGEMENTINFORMATIONBASE,管理信息库)规范。MIBII组被分为以下几组SYSTEM关于系统的整体信息。INTERFACES关于该实体的物理接口方面的一般信息。AT(地址转换,被替换)INTERNET到子网地址映射地址转换表的描述。IP与系统中IP实现和执行经历有关的信息。ICMP与系统中ICMP实现和执行经历有关的信息。TCP与系统中TCP实现和执行经历有关的信息。UDP与系统中UDP实现和执行经历有关的信息。EGP与系统中EGP实现和执行经历有关的信息。DOT3(传输)关于某个系统接口的传输方案和访问协议的信息。SNMP与系统中SNMP实现和执行经历有关的信息。MIBII信息库由十个组构成,通用测试集的划分主要根据对象组来进行的,分为GCSNMPV2SYSTEM测试子组、GCSNMPV2INTERFACES测试子组、GCSNMPV2AT测试子组、GCSNMPV2IP测试子组、GCSNMPV2ICMP测试子组、GCSNMPV2TCP测试子组、GCSNMPV2UDP测试子组、GCSNMPV2EGP测试子组和GCSNMPV2SNMP测试子组。每个测试子组又因为测试对象不同,进一步细分。如GCSNMPV2SYSTEM测试子组由GCSNMPV2SYSDESCR测试子组、GCSNMPV2SYSOBJECTID测试子组、GCSNMPV2SYSUPTIME测试子组、GCSNMPV2SYSCONTACT测试子组、GCSNMPV2SYSNAME测试子组、GCSNMPV2SYSLOCATION测试子组、GCSNMPV2SYSSERVICES测试子组。GCSNMPV2SYSCONTACT测试子组对MIBII中SYSCONTACT对象测试。GCSNMPV2SYSSERVICES测试子组对MIBII中SYSSERVICES对象测试。这里需要说明3点MIBII只包括那些设计者认为是重要的对象,没有一个对象是可选的。例如,如果有且只有一个实现能实现TCP协议时,它就必须包含TCP组中的所有对象;路由器是由信令控制平台、管理平台、用户数据传输平台构成。虽然用户数据传输平台是3层结构,但管理平台的SNMP运行在UDP上,信令控制平台的路由协议RIP、OSPF、BGP等都使用TCP或UDP进行传送,所以测试集中包括GCSNMPV2TCP测试子组、GCSNMPV2UDP测试子组;传输组(TRANSMISSION)包含为每一个系统接口提供有关底层媒体的详细信息对象。事实上,这根本不是一个组,只是MIBII层次结构中的一个节点,该节点下面有各种具体的接口组,其中包括以太网接口MIB(ETHERNETINTERFACEMIB),又称为ETHERLIKEMIBRFC164362。由于路由器与网桥不同,主要完成网络层的功能,以太网是由物理层、数据链路层实现,路由器不必实现ETHERLIKEMIB组,因此测试集没有包括ETHERLIKEMIB组的测试;IPROUTETABLE是IP组成员,其中内容是路由器的路由表。但是由于一些缺陷,RFC135463中定义了MIBIP转发表代替IPROUTETABLE。两个表功能差不多,但是后者更加完善。对于MIBIP转发表的测试由IPFORWARD测试子组完成。虽然MIBIP转发表不是MIBII信息库的内容,但是鉴于它的重要性,将GCSNMPV2IPFORWARD测试子组安排在MIBII测试集中。333RMON1MIB通用测试集GTS规划对于SNMP标准体系(SMI、MIB、SNMP)的最重要扩充是RMON规范,当前这一规范在四个文档中进行定义(表32)。其中主要是RMON1MIBRFC175713和RMON2MIBRFC202114。值得注意的是,尽管RMON只是MIB的一种规范,但没有修改基本的SNMP协议,只是对SNMP功能方面的扩展。表32RMON相关RFC文档RFC标题1513TOKENRINGEXTENSIONSTOTHEREMOTENETWORKMONITORINGMIB1757REMOTENETWORKMONITORINGMANEGEMENTINFORMATIONMIB2021REMOTENETWORKMONITORINGMANEGEMENTINFORMATIONMIBII2074REMOTENETWORKMONITORINGMIBPROTOCOLIDENTIFIERS通过MIBII,网络管理员能够得到一些信息,这些信息对单个设备来说完全是局部的,即使用MIBII不能很容易得到整个LAN的流量。传统上把网络做一个整体来研究其通信量的设备是网络监视器,也称作网络分析器或探测器系统。为了在互联网环境下进行网络管理,每个子网显然都需要一个监视器。监视器可以是一台独立设备,也可由承担其他职责的设备来执行,如工作站、服务器或路由器。为了有效的进行网络管理,这些监视器需要和中心网络管理终端通信,因此它们被称为远程监视器RMON(REMOTENETWORKMONITORING)。远程监视器有自己的管理信息库MIB,监视和管理这些远程监视器就成为了SNMP协议的重要内容。RMON1MIB结合在MIBII中,子树标识符为16,共分为10个组,如图35所示。STATISTICS为每个代理监视的子网维护低级利用和错误统计。HISTORY记录从STATISTICS组中取出来的周期性的统计信息采样。ALARM允许管理控制台用户设置取样时间间隔并警告由RMON代理记录的任何计数器或整数超出阈值。HOST包含依附于该子网的各种类型主机的进出流量。HOSTTOPN包含存储的主机统计信息,这些主机在主机表中某些参数最高。MATRIX以矩阵的形式表示错误和利用的信息,以便于操作员能用任何一对地址来检索信息。FILTER允许监视器对和过滤器匹配的数据包进行观察(监视器可能捕获所有经过过滤器的数据包或只简单的记录这些数据包的统计信息)。数据包CAPTURE管理数据这样送往管理数据台。EVENT给出由RMON代理产生的所有事件的表。TOKENRING维护子网为令牌环网的统计和配置信息。RMON1MIB测试子组由9个测试子组构成,分别对上面9个组测试,具体规划情况见附录1表2,规划思路与MIBII测试子组相同。其中不包括TOKENRING对象组的测试。由于TOKENRING对象组维护令RMONMIB216STATISTICS1HISTORY2ALARM3HOST4HOSTTOPN5MATRIX6FILTER7CAPTURE8EVENT9TOKENRING10PROTOCOLDIR11PROTOCOLDIST12ADDRESSMAP13N1HOST14N1MATRIX15A1HOST16A1MATRIX17USRHISTORY18PROBECONFIG19图35RMONMIB牌环网的信息统计,而通常路由器连接以以太网为主,这里暂时不考虑它的测试。334RMON2MIB通用测试集GTS规划把RMONMIB规范扩展到MAC层以上监视协议流量的工作结果称为RMON2。RMON2从OSI模型第3层到第7层对数据包进行解码。这有两个重要意义RMON代理能基于网络层协议和地址来监视流量,包括IP协议。这使代理能够看到与之相连的外部的LAN网段,查看通过路由器进入LAN的流量。因为RMON代理可以对应用程序层流量解码和监视(如EMAIL、文件传输、WWW协议),所以代理能够记录进入特定应用程序的流量。RMON2是RMON1的简单扩充,添加一些新的组。图35说明RMON1和RMON2MIB组合起来的总体结构。RMON2MIB中组分别是PROTOCOLDIR所有代理能解释的协议的主目录。PROTOCOLDIST关于每个LAN网段每个协议产生的流量统计信息。ADDRESSMAP网络地址到MAC地址和端口以及物理地址到子网地址的匹配。N1HOST基于网络层地址的主机进出流量的统计信息。N1MATRIX基于网络层地址的主机对之间的流量的统计信息。A1HOST基于应用级别地址的主机进出流量的统计信息。A1MATRIX基于应用级别地址的主机对之间的流量的统计信息。USRHISTORY周期性地对用户设定的变量取样并基于用户定义的参数记录该数据。PROBECONFIG为RMON代理定义标准的配置参数。RMON2MIB测试子组分为9个测试子组,见附录1表2。335状态对象ENTRYSTATUS的通用测试集GTS规划我们先对RMON1MIB中状态列ENTRYSTATUS简要介绍。在RMON中定义一种新的数据类型。ASN1的定义如下ENTRYSTATUSINTEGERVALID1,CREATEREQUEST2,UNDERCREATION3,INVALID4RMON1MIB中与每个可读可写的(控制或控制/数据组合)相联系的一个对象,其取值给出包含对象实例的行的状态。该对象的类型为ENTRYSTATUS,用于行的创建、修改和删除,如STATISTICS组的ETHERSTATSSTATUS对象,HISTORY组的HISTORYCONTROLSTATUS对象等。在所有情况下,很容易识别以STATUS结尾的对象名称。管理工作站使用SNMP向RMON表中添加一行,也就是发送一个包含该列对象标识符的SETREQUESTPDU。如果管理工作站试图创建新的一行,而索引对象取值不存在,则创建该行,状态对象取值为CREATEREQUEST2。在完成创建后,代理马上设置状态对象取值为UNDERCREATION3。直到管理站创建完配置想要的所有行,这些行都处于UNDERCREATION3状态。完成时,管理站设置每个新建的行状态为VALID1。向表中添加行的另一种方法就是管理站通过把状态取值从INVALID修改为VALID来激活无效的行。设置行的状态对象取值为INVALID,该行就被删除。修改时先使行无效,再为之提供新的参数取值。根据上面对RMONMIB中状态列ENTRYSTATUS的工作原理分析,使用状态变迁图对该部分建模,其中圆圈代表状态,弧线代表状态变迁,弧头代表变迁的下一状态,弧部代表变迁前状态,弧线上的标注表示触发的状态事件。为了便于建模和分析,我们增加了一个假设的状态NONEXISTENCE。NONEXISTENCE状态并不是枚举中的取值,而是表示ENTRYSTATUS变量本身并不存在。状态变迁图见36。从图36可知,ENTRYSTATUS变量有5个状态,作者针对各状态下RUT的响应首先划分了相应的5个大组,再根据各状态的不同情况(如各状态输入条件和变迁条件的不同、输入请求处理和输入响应处理的不同以及不同报文的有效性检查等)设计其所属状态的测试子组及其测试例。具体的设计过程将以下面几个典型的例子来详细说明。STATISTICS组是RMON1MIB的对象组,其中ETHERSTATSTABLE包含每个被监视子网的基本统计信息,表中每一行对应一个被监视子网。列对象ETHERSTATSSTATUS表示表中行的状态。附录1表3给出此列对象GTS规划表。根据5种不同状态划分为5个测试子组A_C_SNMPV2_VALID、A_C_SNMPV2_VALID、A_C_SNMPV2_NONEXISTENCEE、A_C_SNMPV2_UNDERCREATION、A_C_SNMPV2_CREATEREQUEST。从图310可以看出表中行状态变迁主要由管理站的SETRQQUEST报文控制。当表中某行处于VALID1状态时,测试内容主要由4种情况如果管理站向此行发SETREQUEST报文,设置该行ETHERSTATSSTATUS对象实例为VALID1,该行仍处于VALID1状态。如果管理站向此行发SETREQUEST报文,设置该行ETHERSTATSSTATUS对象实例为UNDERCREATION3,该行将处于UNDERCREATION3状态。如果管理站向此行发SETREQUEST报文,设置该行ETHERSTATSSTATUS对象实例为INVALID4,该行将处于INVALID4状态。如果管理站向此行发SETREQUEST报文,设置该行ETHERSTATSSTATUS对象实例为CREATIONREQUEST2,该行状态不变,RUT没有响应。从上述描述中,我们可以设计4个测试子组对应4种情况。这里只是对一种状态进行讨论,其它状态测试子组设计也类似。1管理站设置某行状态对象ENTRYSTATUS为CREATEREQUEST22管理站设置某行状态对象ENTRYSTATUS为INVALID43代理创建某行,并设置该行状态对象ENTRYSTATUS为UNDERCREATION34管理站设置某行状态对象ENTRYSTATUS为INVALID45代理设置某行状态对象ENTRYSTATUS为INVALID46管理站设置某行状态对象ENTRYSTATUS为VALID17管理站设置某行状态对象ENTRYSTATUS为UNDERCREATION38管理站设置某行状态对象ENTRYSTATUS为VALID19管理站设置某行状态对象ENTRYSTATUS为UNDERCREATION310管理站设置某行状态对象ENTRYSTATUS为INVALID111管理站设置某行状态对象ENTRYSTATUS为INVALID1336状态对象ROWSTATUS的通用测试集GTS规划与RMON1MIB状态对象ENTRYSTATUS相似,RMON2MIB中也有状态对象ROWSTATUS,它也是用于行的创建、修改和删除。下面简要介绍状态列ROWSTATUS的工作原理。在RMON2中定义一种新的数据类型。ASN1的定义如下ROWSTATUSINTEGERACTIVE1,NOTINSERVICE2,NOTREADY3,CREATIONANDGO4,CREATEANDWAIT5,DESTORY6RMON2MIB中与每个可读可写的(控制或控制/数据组合)相联系的一个对象,其取值给出包含对象实例的行的状态。该对象的类型为ROWSTATUS,用于行的创建、修改和删除,如PROTOCOLDIR组的PROTOCOLDIRSTATUS对象,PROTOCOLDIST组的PROTOCOLDIRCONTROLSTATUS对象等。在所有情况下,很容易识别以STATUS结尾的对象名称。管理站要创建概念行时,首先选择一个没有用过的实例标识符,确定是否期望在一次事务或在一系列交互协商中创建并激活概念行。前者称为CREATEANDGO设置状态实例。方法中,管理站确定列的要求,发送一个管理协议SET操作。当代理处理SET操作时,它鉴别是否有足够的信息来支持被管理设备使用概念行。如果有足够的信息,则该概念行被创建,状态列被设置为ACTIVE,并不再需要其他的交互工作。如果没有足够信息,则不创建概念行。另一种创建概念行的方法是管理站发送一个管理协议SET操作,设置想要的状态列实例为CREATEANDWAIT。概念行被创建,状态列立即被设置为NOTINSERVICE或NOTREADY,这取决于它是否有足够的信息来使概念行能为被管理设备所使用。如果有足够的信息,则状态列设置为NOTINSERVICE;否则,状态列被设置为NOTREADY,管理站初始化非默认对象,状态列的取值变为NOTINSERVICE。一旦管理站对与概念行的该列相关的取值感到满意,便发送一个管理协议SET操作来设置状态列为ACTIVE。当概念行是ACTIVE,管理工作站可能发送一个管理协议SET操作,设置状态实例为NOTINSERVICE,概念行被挂起。要删除概念行,发送一个管理协议SET操作,设置状态实例为DESTORY。发送这种请求可以不管状态列的当前取值(例如,可能删除一个NOTREADY、NOTINSERVICE或ACTIVE的概念行)。如果操作成功,则和概念行相联系的所有实例都被立即删除。图37是状态列ROWSTATUS的状态变迁图。图中用圆圈分别表示ACTIVE1、NOTINSERVICE2、NOTREADY3三种状态,其中假设状态NONEXISTENCE。NONEXISTENCE状态并不是枚举中的取值,而是表示ROWSTATUS变量本身并不存在。1管理站设置状态对象ROWSTATUS为DESTORY6。2管理站设置状态对象ROWSTATUS为DESTORY6。3管理站设置状态对象ROWSTATUS为DESTORY6。4超时(如果在DESCRIPTION子句缺少这种信息,建议这种时间大约为5分钟)。5超时(如果在DESCRIPTION子句缺少这种信息,建议这种时间大约为5分钟)。6使用CREATEANDGO创建条目,并给出创建所需的所有参数。7使用CREATEANDWAIT创建条目,并给出创建所需的所有参数。8使用CREATEANDWAIT创建条目,没有给出创建所需的所有参数。9给出所需的所有参数,并且设置状态对象ROWSTATUS为NOTINSERVICE2。10管理站设置状态对象ROWSTATUS为ACTIVE1。11管理站设置状态对象ROWSTATUS为NOTINSERVICE2,并且代理接收。12给出所需的所有参数,并且设置状态对象ROWSTATUS为ACTIVE113下面的各种情况之一管理站设置状态对象ROWSTATUS为CREATEANDGO4管理站设置状态对象ROWSTATUS为CREATEANDWAIT5管理站设置状态对象ROWSTATUS为ACTIVE1对某一列对象设置。14下面的各种情况之一管理站设置状态对象ROWSTATUS为ACTIVE1管理站设置状态对象ROWSTATUS为NOTINSERVICE2管理站设置状态对象ROWSTATUS为DESTORY6管理站设置状态对象ROWSTATUS为CREATEANDGO4,没有给出创建所需的所有参数。15下面的各种情况之一管理站设置状态对象ROWSTATUS为CREATEANDGO4。管理站设置状态对象ROWSTATUS为CREATEANDWAIT5。管理站设置状态对象ROWSTATUS为ACTIVE1,但没有给出创建所需的所有参数管理站设置状态对象ROWSTATUS为NOTINSERVICE2,但没有给出创建所需的所有参数。对某一列对象设置。16下面的各种情况之一管理站设置状态对象ROWSTATUS为CREATEANDGO4管理站设置状态对象ROWSTATUS为CREATEANDWAIT5管理站设置状态对象ROWSTATUS为NOTINSERVICE2对某一列对象设置。17管理站设置状态对象ROWSTATUS为NOTINSERVICE2,并且代理不接收。从图37可知,ROWSTATUS变量有4个状态,作者针对各状态下RUT的响应首先划分了相应的4个大组,再根据各状态的不同情况(如各状态输入条件和变迁条件的不同、输入请求处理和输入响应处理的不同以及不同报文的有效性检查等)设计其所属状态的测试子组及其测试例。具体的设计过程将以下面几个典型的例子来详细说明。协议目录组(PROTOCOLDIR)是RMON2MIB中的成员。任何特定的网络中都可能运行不同的协议,许多协议都已经被标准化,至少为大家熟知,但其他的协议可能是为产品中特定应用程序开发的用户协议。由于RMON2MIB中大多数对象都是用来处理监视这些协议活动的,就需要一个通用的框架来支持这些协议。这就是协议目录组存在的目的为存储协议的类型信息提供一个中心点。列对象PROTOCOLDIRSTATUS反映表PROTOCOLDIRTABLE的状态列。根据状态变迁图中状态分为4个测试子组A_C_SNMPV2_ACTIVE、A_C_SNMPV2_NOTINSERVICE、A_C_SNMPV2_NOTREADY、A_C_SNMPV2_NONEXISTENCER。当表中某行处于ACTIVE1时,测试内容主要由6种情况如果管理站向此行发SETREQUEST报文,设置该行PROTOCOLDIRSTATUS对象实例为DESTORY6,该行将会消失。如果管理站向此行发SETREQUEST报文,设置该行PROTOCOLDIRSTATUS对象实例为NOTINSERVICE2,如果代理拒绝接受,返回ERRORSTATUS字段为INCONSISTENTVALUE12的报文;否则,该行处于NOTINSERVICE2状态。如果管理站向此行发SETREQUEST报文,设置该行PROTOCOLDIRSTATUS对象实例为CREATEANDGO4,该行的状态不变,且返回ERRORSTATUS字段为INCONSISTENTVALUE12的报文。如果管理站向此行发SETREQUEST报文,设置该行PROTOCOLDIRSTATUS对象实例为CREATEANDWAIT5,该行的状态不变,且返回ERRORSTATUS字段为INCONSISTENTVALUE12的报文。如果管理站向此行发SETREQUEST报文,设置该行PROTOCOLDIRSTATUS对象实例为ACTIVE1,该行的状态不变。如果管理站向此行发SETREQUEST报文,设置该行某些列对象,设置成功或返回ERRORSTATUS字段为INCONSISTENTVALUE12的报文。从上述描述中,我们可以设计6个测试子组对应6种情况。这里只是对一种状态进行讨论,其它状态测试子组设计也类似。第4章SNMPV2测试例TTCN3的描述及测试41测试数据类型定义在GTS的设计中我们已谈到,设计的重点是构造能达到测试目的的测试包,那么要用语言来描述这些测试包,首先必须根据被

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论