1、西 南 交 通 大 学研 究 生 学 位 论 文多端口IP路由器“边界网关协议”(BGP-4)的并行测试技术研究Classified Index: TP393Southwest Jiaotong UniversityMaster Degree ThesisRESEARCH ON PARALLEL TESTING TECHNIQUES OF BORDER GATEWAY PROTOCOL-4 IN MULTI-PORT IP ROUTERSGrade: 2002 Candidate: Zeng MiaoAcademic Degree Applied for: MasterMajor: Compu
2、ter ApplicationSupervisor: Prof. Zeng HuashenJune. 2005西南交通大学硕士研究生学位论文 第 V 页摘 要本文的技术背景是自IPV6出现以来就引起全球关注的路由器测试技术。为了保证互联网平稳的从IPv4向IPv6过渡,支持IPv4、支持IPv6、支持IPv6封装在IPv4或者同时支持IPv4和IPv6的路由器将在一段时间内并存。这种状况使得路由器的测试变得更加复杂,而且现有的测试方法回绕测试法(LTM,Loop-back Test Method)和穿越测试法(TTM,Transverse Test Method)无法适应现代多端口路由器的测试
3、。因此,四川省网络通信技术重点实验室开展了多端口测试技术的研究。自提出多端口分布式并行同步穿越测试法(MDSP-TTM,Multi-port Distributed Synchronized Parnell Transverse Test Method)以来,四川省网络通信技术重点实验室正投入到多端口路由器分布式并行测试系统(MPR-DCTS,Multi-Port Router Distributed Concurrent Test System)的研发工作当中。该系统采用两层的体系结构,上层是一个作为多端口测试管理器的终端,下层由很多的双端口测试器(TPTs,Two-Port Testers
4、)构成,TPT采用穿越测试法或者回绕测试法。测试系统通过执行测试控制数据来管理测试的进行,因此,测试控制数据的定义是路由器测试当中的一个重要的环节,本论文反映的工作是对重要的路由协议边界网关协议(BGP,Border Gateway Protocol v.4)的测试集、测试组、测试例的规划与描述。笔者的贡献总结如下:A 对BGP-4协议进行了测试集的总体规划,重点是一致性测试集的规划。B 文章给出了一个运行于TPT的TTCN-3描述的测试例来探讨了测试例的定义技术。C 为论证新定义的并发多端口测试语言(CMP-TDL,Concurrent Multi-Port Test Definition
5、Language)的可行性,本文给出了一个多端口的测试例,并在实践中得出了一些改进、完善CMP-TDL的建议。关键词:并发多端口测试;BGP-4;TTCN-3;协议测试;一致性测试;性能测试AbstractThe technique background of this dissertation is router testing, which has drawn worldwide attention since IPv6 came into view. To enable a smooth transition from IPv4 to IPv6, routers supporting I
6、Pv4 only, IPv6, and IPv6 encapsulated in IPv4 will co-exist for some time, and this complicates router testing. Moreover, existing testing methods such as Loop-back Test Method (LTM) and Transverse Test Method (TTM) are not catered for testing modern routers with multi-ports. All these consideration
7、s have stimulated the research activity on multi-port testing at Sichuan Network Communication Key Laboratory (SC-Netcom Lab).With the new MDSP-TTM (Multi-port Distributed Synchronized Parnell Transverse Test Method) introduced at SC-Netcom Lab, a Multi-Port Router Distributed Concurrent Test System
8、 (MPR-DCTS) is under development. An MPR-DCTS takes two-layer architecture: at the top layer, a PC acts as the Multi-Port Test Manager (MPTM) and at the bottom layer, multiple TPTs (Two-Port Testers) to test a pair of ports with either LTM or TTM. Testing is governed by a test system through executi
9、on of test control data; therefore definition of test control data represents an important aspect in router testing. The work presented in this dissertation focuses on planning and specification of test suites, test groups, and test cases for an important routing protocol - BGP-4 (Border Gateway Pro
10、tocol v.4). Authors contribution in this dissertation can be summarized as:A. A framework for BGP-4 test suite planning is provided with an emphasis on conformance testing.B. Test case definition techniques are discussed in some detail with an example test case specified with a standard test definit
11、ion language TTCN-3 for TPT.C. To demonstrate the feasibility of the newly defined Concurrent Multi-Port Test Definition Language (CMP-TDL), a multi-port test case is presented in this dissertation. Some experience gained in this practice has resulted in suggestions to improve CMP-TDL. Key words: MP
12、R-DCTS, BGP-4, TTCN-3, protocol test, conformance test, performance test目 录摘 要IABSTRACTII目 录III第1章 绪论11.1 本论文的研究背景11.1.1 IPv6路由器多端口并行测试技术的研究背景11.1.2 路由器BGP并行测试研究的背景21.2 多端口路由器BGP-4并行测试技术研究现状31.3 论文结构组织41.4 作者的工作与论文的贡献4第2章 BGP-4及其并行测试技术52.1 边界网关协议BGP及其并行测试的必要性52.1.1 BGP与BGP-452.1.2 研究BGP并行测试技术的必要性72.
13、2 BGP-4并行测试技术92.2.1 并行测试目的与测试方法92.2.2 并行测试系统与测试支撑环境92.2.3 TTCN-3形式化描述语言102.2.4 多端口并行测试描述语言CMP-TDL11第3章 BGP-4测试集总体规划143.1 BGP-4测试集规划的意义143.2 BGP-4测试集规划原则143.2.1 抽象测试集规划的基本原则143.2.2 BGP-4测试集的规划原则163.3 BGP-4一致性协议测试集规划183.3.1 BGP基本信息处理测试组规划183.3.2 BGP协议状态机测试组规划213.3.3 BGP错误处理测试组规划223.3.4 BGP扩展测试组规划223.4
14、 BGP-4互操作性测试集规划233.5 BGP-4路由器性能测试集规划24第4章 BGP-4协议测试集描述264.1 双端口协议测试系统264.1.1 TTCN-3协议测试系统264.1.2 双端口协议测试环境及BGP双端口测试实现274.2 TTCN-3描述的双端口BGP-4协议测试例294.2.1 BGP测试集的TTCN-3模块定义部分304.2.2 BGP一致性测试例举例354.3 CMP-TDL描述的并发多端口BGP-4测试例举例414.3.1 路由器突发量定义、网络流量产生模型414.3.2 BGP突发量多端口测试例描述434.4 BGP-4测试例的语法、语义检测46第5章 BGP
15、与其它协议的联合测试485.1 BGP与IGP的相互作用485.1.1 把BGP注入到IGP485.1.2 将IGP注入到BGP495.2 BGP与RIP交互联合测试举例505.2.1 RIP与RIPng505.2.2 BGP-4路由重分布到RIP测试过程51第6章 总结与展望536.1 论文工作总结536.2 后续工作展望53致 谢55参考文献56攻读硕士学位期间发表的论文及科研成果59附 录60西南交通大学硕士研究生学位论文 第 62 页 第1章 绪论1.1 本论文的研究背景1.1.1 IPv6路由器多端口并行测试技术的研究背景基于IPv41的第一代互联网已经取得了巨大的成功,以互联网为代
16、表的信息网络已经渗透到社会生活的各个领域,成为现代信息社会最重要的基础设施之一。然而,随着网络规模的持续膨胀和新型网络应用需求的不断增长,目前的互联网在可扩展性、IP地址空间、安全、服务质量控制等诸多方面面临着挑战。 IP地址空间匮乏、IP报头处理复杂、不能适应面向流的应用数据传输等问题严重制约了互联网的发展,为此,Internet Engineering Task Force (IETF)定义了新的网络层协议IPv62。IPv6通过采用128位的地址空间替代IPv4的32位地址空间来扩充互联网的地址容量,使得IP地址在可以预见的时期内不再成为限制网络规模的一个因素;IP报头的简化有利于提高I
17、P处理效率,报头中增加流标识字段,有利于针对应用数据流提供不同的服务;在安全性、服务质量及移动性等方面也收到更多的重视。因此,为以IPv6为基础的Internet被学界和业界广泛地成为下一代Internet (NGI)。IPv6的出现一方面使网络设备必须面对从IPv4向IPv6过渡整个阶段两种IP并存的局面;另一方面也使IP之上的协议面临更新升级的问题。例如,与路径信息交换和网络管理相关的应用层协议等也需要定义升级版本。支持IPv6的域内动态路由协议已经有:RIPng3、OSPFv34等协议;支持IPv6的域间路由协议主要是BGP-4+5-6等。网络工程经验与运行实践表明,由于多方面原因,实现
18、同一协议或协议集的设备并不一定能完全符合相关的协议,也不一定能够完全能够互通或互操作,因此需要对协议进行是否符合相关标准的测试(Conformance Test)和互通测试(Interoperability Test)。对于重要的网络设备如路由器等,还需要对其可量化的性能指标进行测试。从上世纪80年代初期,国际上就开展了对网络协议实现是否符合相关协议标准的测试的技术研究,国际标准化组织ISO于80年代中期制订了“OSI协议一致性测试(Conformance Test)框架”文本,即ISO IS 96467,对基本观测法、测试定义语言和产品一致性申明等方面的技术内容进行了规定。我国网络建设的发展
19、需要大量的网络产品,特别是路由器和交换机产品,而过去由于我国自身缺少检测手段,对外国产品只能全盘接受。目前我国正进行下一代Internet的建设,并进行了大量的基于IPv6的产品开发工作,迫切需要对相关IPv6网络产品的检验手段、网络检测以及维护手段。因此,研究相关的协议测试技术、独立开发网络产品测试系统以及建立相应的网络产品测试中心,就具有十分重要的意义。1.1.2 路由器BGP并行测试研究的背景本课题的研究对象是IPv6路由器中的一类特定协议边界网关协议(BGP Border Gateway Protocol)。Internet作为全球性的网络,它根据管理域的不同将整个网络划分为若干各自治
20、系统(AS Autonomous System)52。在自治域内路径信息交换和路径选择算法通常由路径信息协议(RIP)41-43或开放式最短通路优先(OSPF)协议4确定;而在自治域之间采用的最典型的协议则为边界网关协议(BGP)5-6。尽管早期还定义有外部网关协议EGP (Exterior gateway protocol)37,但目前已逐渐被BGP所取代。由于BGP是自治系统之间的路由协议,因此它关心的是网络间的可达性,它的主要功能就是在运行相同或不同内部路径信息交换协议的自治网络之间交换网络层可达性信息(NLRI,Network Layer Reachable Information)。
21、因此,它采用的算法既不是基于纯粹的链路状态算法,也不是基于纯粹的距离向量算法。实现BGP的边界路由器系统所交换的网络层可达性信息(NLRI)中,包含了可达性信息所经过的自治系统列表,从而构造了一个自治系统连接图,以避免路由环路,以便实现基于自治系统的策略控制。单个边界网关(边界路由器)可能是两个或两个以上的自治网络间的路由设备,对它的测试可能涉及多个端口间并行工作的状态和性能。因此,对它的测试系统应当具有在多个跨网端口间同步并行测试的功能。这正是实验室研究分布式同步并行测试技术和开发多端口同步并行测试技术的主要着眼点和研究价值之所在。网络测试系统通过运行可执行测试控制数据来进行测试过程控制的,
22、因此,对BGP的测试必须定义相关的测试控制数据(测试集、测试组和测试例)。实验室开发的系统的测试控制数据的定义是基于TTCN-3进行的,但TTCN-3的同步机制尚不能满足分布式同步并行测试的需要;对同步并行测试还涉及对网络数据到达率和到达率的统计分布特性,而TTCN-3不具备相关的功能,需要对之进行扩展。为了便于描述同步并行测试和简化测试例的描述难度,实验室定义了“并发多端口测试定义语言”(CMPTDL,Concurrent Multi-Port Test Definition Language)23,以便将多端口间的同步与协调控制的描述与单口测试控制数据的描述相对分离。这就是本课题的具体研究
23、背景。本项目选择了BGP-451作为测试控制数据的具体对象。1.2 多端口路由器BGP-4并行测试技术研究现状目前国内外有不少的科研机构以及网络设备生产厂商在对BGP协议测试技术进行相关的研究和开发。国外的研究机构中具有代表性的是美国University of New Hampshire的互通实验室8(IOL - Interoperability Lab ),互通实验室以Moonv69试验网为背景,在美国和欧洲之间进行合作,对跨地域的网络进行测试。涉及的路由协议有RIPng、OSPFv3以及BGP-4+,该系统的测试配置比较灵活、自动化程度较高,但该系统的测试数据描述没有采用标准测试定义语言T
24、TCN10,因此其测试集缺少可比性,也难以移植到其他测试系统之中。企业当中具有代表性的公司有11。Spirent推出的TRT Interactive是著名的TeraRouting Tester(TRT)的第四个版本。目前TRT支持的路由及组播协议包括:RIP/RIPng、OSPF/OSPFv3、BGP-4/BGP-4+、IS-IS/IS-ISv6等;另外还有12、13等厂家。从20世纪80年代中期开始我国也逐步开始涉足网络协议测试技术的研究以及协议测试系统的开发。中科院成都计算机应用研究所在国内最早着手研究网络协议测试技术和测试系统的开发,主要研究以曾华燊教授提出的“Ferry-clip Te
25、st Approach”14,并以此为基础开发针对OSI传送层协议的测试系统,将之移植到微机中。目前国内对BGP相关协议开展测试技术研究的其它主要机构有:清华大学15、中国科技大学16、中国科学院17等。从国内外对BGP协议测试技术的研究以及相应的协议测试系统开发现状来看,国内外对BGP协议的测试工作主要还是采用对一对端口或多对端口进行穿越测试,几乎没有涉及多端口的并发测试。为此,笔者进行了针对BGP协议的并发多端口路由器测试技术的研究。1.3 论文结构组织本论文的后续章节内容与组织结构如下:第2章在讨论了BGP-4协议以及对BGP-4并行测试的必要性之后,介绍了西南交通大学四川网络通信技术重
26、点实验室研发的分布式并发多端口路由器测试系统,同时对相应的并行测试支撑环境进行了介绍。第3章主要讨论了测试集规划的意义,在讨论协议测试集的基本规划原则,归纳了BGP-4协议测试集的规划原则,并按照归纳的规划原则对BGP-4协议一致性测试集、互操作性测试集、性能测试集做出了详细的规划。第4章探讨了采用半形式化语言TTCN-3对BGP-4测试集进行描述的方法以及采用CMP-TDL并发测试语言对BGP测试集进行描述的方法,其中TTCN-3描述主要是针对基于单对端口的测试,而基于并发多端口的测试采用TTCN-3和CMP-TDL两种形式化描述语言。第5章在分析了BGP协议与其它协议的相互作用的基础了阐述
27、了BGP与其他协议进行联合测试的意义,并针对具体的情况给出了相关的测试例。最后,第6章在对论文工作进行总结的基础上,对后续研究工作进行了分析和展望。1.4 作者的工作与论文的贡献作者在西南交通大学网络通信技术省重点实验室承担的主要工作是对BGP-4协议并行测试技术的研究、对BGP-4协议测试集进行规划设计并用TTCN-3形式化语言以及CMPDL测试语言对BGP测试集进行了定义。作者的主要工作包括以下几个方面: 仔细研究BGP相关的协议; 掌握穿越测试法、回绕测试法以及四川网络通信技术重点实验室的多端口路由器并行测试系统; 学习TTCN-3测试语言以及CMP-TDL测试语言; 对BGP协议测试集
28、进行了完整的规划,完成了测试集中规划的大部分测试例的编写。 首次用CMP-TDL语言进行了BGP4同步并行测试例的描述,并提出了进一步改进CMP-TDL语言的建议,为实验室进一步完善CMP-TDL语言提供了参考。第2章 BGP-4及其并行测试技术2.1 边界网关协议BGP及其并行测试的必要性2.1.1 BGP与BGP-4边界网关或边界路由器的基本的功能是:遵从BGP建立的路径表确定最佳跨网路径并将分组转发到相应的自治网络。BGP是当今Internet中实现跨网路径选择典型协议。与BGP相关的RFC文本包括:RFC1771: BGP-4的最新版本。 RFC1654:第一个BGP-4规范。 RFC
29、1105、RFC1163和RFC1267描述了BGP-4之前的BGP版本。RFC2858、RFC2545分别描述了BGP-4+的多协议扩展以及使用BGP-4的多协议扩展为IPv6网络自治系统之间路由。BGP-4协议既不是基于纯粹的链路状态算法,也不是基于纯粹的距离向量算法。它的主要功能就是与其他的BGP系统交换网络层可达性信息(NLRI Network Layer Reachable Information)。网络层可达性信息NLRI中包含了可达性信息所经过的自治系统列表,从而构造了一个自治系统连接图,以避免路由环路,同时也使得基于自治系统级别的策略控制成为可能。BGP协议本质上是通信子网中的
30、应用层协议,它利用TCP18连接完成相关的BGP报文的传输。由于传统上把Internet通信子网视为采用带内信令控制技术的网络,而由于通信子网通常为3层结构,难于解释为什么路由器中有需要使用传送层协议TCP或UDP的应用层协议(路径信息交换协议RIP、OSPF、BGP和网络管理协议SNMP等)。但是,采用带外信令控制的概念来审视Internet,则可以将它视为具有三层用户数据传输平台和五层信控管理平台的网络结构48, 因此,对BGP等协议在通信子网中的位置就容易进行解释了。图2.1是BGP-4协议的有限状态变迁图19。图2.1 BGP-4协议有限状态变迁图BGP执行三类路由:AS间路由、AS内
31、部路由和贯穿AS路由。AS间路由发生在不同AS的两个或多个BGP路由器之间,这些系统的对等路由器使用BGP来维护一致的网络拓扑视图,AS间通信的BGP邻居必须处于相同的物理网络。互联网就是使用这种路由的实例,因为它由多个AS(或称管理域)构成,众多的研究机构、公司以域的角色一起构成互联网。BGP经常用于为互联网域间提供最佳路径而做路由选择。AS内路由发生在同一AS内的两个或多个BGP路由器间,同一AS内的对等路由器用BGP来维护一致的系统拓扑视图。BGP也用于决定哪个路由器作为外部AS的连接点。互联网提供了AS间路由的实例。一个组织,如大学,可以利用BGP在其自己的管理域(或称AS)内提供最佳
32、路由。BGP协议既可以提供AS间也可以提供AS内部路由。贯穿(pass-through)AS路由发生在通过不运行BGP的AS交换数据的两个或多个BGP对等路由器间。在贯穿AS环境中,BGP通信既不源自AS内,目的也不在该AS内的节点,BGP必须与AS内使用的路由协议交互以成功地通过该AS传输BGP通信。与EGP相比,BGP有许多不同之处,其最重要的革新就是它采用路径向量的概念和并支持无类域间路由(CIDR Classless Inter-Domain Routing)技术。路径向量记录了所经路径上所有自治系统(AS Autonomous System),这样可以有效地检测并避免复杂拓扑结构中可
33、能出现的环路问题;对CIDR的支持,减少了路由表项,从而加快了选路速度,也减少了路由器间所要交换的路由信息。另外,BGP一旦与其他BGP路由器建立对等关系,仅需在初始化时交换整个路由表;此后,只有当自身路由表发生改变时,BGP才会发送更新报文发给其它路由器。BGP的这种机制可以减少路由器的计算量以及降低传输BGP报文的通信量。BGP有4种报文类型:Open报文用来建立BGP同等实体的连接;Update报文用来通告可达路由和撤销无效路由;周期性地发送KeepAlive报文,以确保BGP连接的有效性;当检测到一个差错时,BGP发言人就会发送Notification报文通知邻接BGP实体并断开连接。
34、2.1.2 研究BGP并行测试技术的必要性从BGP的工作原理分析,正如上一节提到的,BGP执行三类路由:AS间路由、AS内部路由和贯穿AS路由。BGP边界路由器与自治系统外的BGP路由器相联形成外部BGP(EBGP),和自治系统内部的BGP路由器连接形成内部BGP连接(IBGP),同时BGP边界路由器还与自治系统内部的其它路由器相联,他们运行的是OSPF、RIP等路由协议。另外,在自治系统里面还有一类负责路由更新消息转发机制的反射路由器。以上这些都是BGP协议的多端口工作的情况。当然这些多端口工作的情况也需要多端口测试来检验BGP协议实现的一致性。对BGP路由器进行性能测试就更需要多端口并发测
35、试。例如,当需要对路由器进行定量测试时,如果仅对一对端口进行观测,虽然能获得该对端口处于满负载时的性能,但该状态对整个路由器来说仍处于轻负载状态。所获得的性能指标,不能表征路由器重负载情况下的性能(最大/平均吞吐率和最大/平均转发率等)。由于网络数据的到达具有突发性,当多个端口的输入数据瞬时指向同一输出端口时,路由器的交换机制和该输出端口处于负载最重的状况,所测得的性能指标才能代表最坏情况下的指标。而要模拟该种状态,必须向多个端口同时大量注入数据,并将过量数据瞬时指向待测端口。这只有进行多端口进行并发测试才能实现。国际标准化组织ISO在对网络中继系统(路由器、交换机等)的测试研究中总结了两种测
36、试方法:回绕测试法(LTM,Loop-back Test Method)20和穿越测试法(TTM,Transverse Test Method)21,当前国内外的研究机构在对BGP路由器进行测试也普遍采用上述两种测试方法。但是BGP路由器一般来说是多端口设备,它既要完成域间的路由更新报文传送,又要转发数据报文。而ISO规定的上述两种测试方法只能对单个或一对端口进行观测,因此,测试结果不能反映BGP路由器的全面功能与性能。如图2.2所示,ISO 9646建议的回绕测试方法(LTM)进行测试时,测试器将测试数据的目的地址填为测试器的地址,被测路由器收到该数据时,会做出相应的响应数据报文并将该测试数
37、据返回到测试器,因此,这种测试方法称为回绕测试法。LTM实现相对比较简单,但一次只能测试到单个端口的相关协议实现,因此测试能力有限。曾华燊教授在对LTM进行深入研究后提出的穿越测试法(TTM)能够同时对两个端口进行测试,如图2.3。该测试法要求两个测试器各自观察一个路由器端口,因此从测试器1发出的测试控制数据经被测路由器转发到另一端口,再到达测试器2。实际上,在实际的协议测试网络环境中,可以将两个测试器置于同一测试系统之中,两个测试器分别使用不同的IP地址,便很容易实现对这两个IP路由器端口的严格控制下的测试,也容易实现测试器1和2之间的协调。由于在同一测试过程中涉及被测路由器的两个端口,因而
38、能够测试模拟路由器一对端口工作状下层服务提供者测试器2测试器1中继系统图2.3 穿越测试法下层服务提供者中继系统下层服务提供者测试器图2.2 回绕测试法(内部绕回)态和外部行为的情况。由于该测试方法的测试路径穿越了被测中继系统,因此被称为“穿越测试法”。然而BGP路由器的端口数目一般都超过两个,如果采用TTM则仅能够同时对BGP路由器的两个端口进行受控测试;而采用多个双端口测试器对BGP路由器分别进行测试,现有的测试技术中尚缺少下面一些因素:1 多个测试器之间的协调与同步机制。BGP路由器实质上是包括应用层协议在内的信令控制平面和管理平面的协议集,BGP路由器建立在TCP之上,BGP既要和对等
39、BGP实体进行路由信息的交互,也要完成用户数据包的转发工作。类似TTM的单对端口测试技术不能反映不同端口之间在两个平面上协议活动的相互影响。2 现有的测试控制数据描述语言TTCN-322不具备描述测试并行性,特别是并发特征的能力。正因为如此,目前的测试难以模拟BGP路由器的外部实际工作环境(多端口工作环境)、外部网络信息流的分布和最低性能指标,因而测试功能不全面。因此,基于以上分析,作者开展了对BGP-4路由器的多端口并发测试技术的研究工作。2.2 BGP-4并行测试技术 2.2.1 并行测试目的与测试方法 国内外对多端口路由器的并行测试主要依赖TTCN-3中定义的系统内同步机制,难以适应多端
40、口、多测试器的分布式环境。针对现有的路由器测试技术的局限性,四川省网络通信技术重点实验室提出了“分布式多端口同步并行穿越测试法”(DMSP-TTM,Distributed Multi-port Synchronized Parallel Transverse Test Method)23-25,该测试法能够对多对端口并行测试进程进行严格的同步并协调测试进程间的关系,因此,能够模拟多端口路由器可能遇到的各种外部工作环境,从而对之进行全面的功能与性能测试。同时四川省网络通信技术重点实验室为该测试方法定义了“并发多端口测试定义语言”23(CMP-TDL - Concurrent Multi-Port
41、 Test Definition Language),它是定义并行测试例之间同步与协调关系的高层语言,它充分利用标准测试语言TTCN-3定义的测试例,并协调并行执行的测试例之间的同步关系。“分布式并发多端口路由器测试系统” 24(DCMRTS Distributed Concurrent Multi-port Router Test System)是两级结构的测试系统,适用于网络设备测试中心对多端口路由器的全面功能测试与性能评估。2.2.2 并行测试系统与测试支撑环境图2.4为西南交通大学网络通信技术省重点实验室在研的IPv6路由器多端口测试环境(CMPTE,Concurrent Multi-
42、Port Test Environment)的结构示意图。如图所示,CMPTE由左侧的并发多端口测试系统(CMPTS,Concurrent Multi-Port Test System)和右侧的测试支撑工具(Test Support Tool Set) 两部分组成。CMPTS自身又由上部的并发多端口测试管理器(CMPTM,Concurrent Multi-Port Test Manager)和下部由多个双端口测试器(TPT ,Two-Port Tester)两级测试系统组成。并发多端口测试管理器的主要功能是对下级的多个双端口测试器进行控制、协调与管理,在并发多端口测试器中执行的是由并发测试定义
43、语言(CMP-TDL)描述生成的测试控制数据,测试器根据测试执行情况选择并执行新的测试例,最终完成多端口并发测试报告的生成。图2.4 IPv6路由器多端口测试环境高速以太网交换机Two-Port Tester 1Two-Port Tester iTwo-Port Tester kTwo-Port Tester n Router Under Test (RUT)Coordination commands & responsesCoordination commands & responsesTest Data & responsesExecutable TestsTest Data & resp
44、onsesTest Data & responsesTest Data & responsesATS in TTCN-3TTCN-3 CompilerATS in CMPTDLCMPTDL CompilerC- CompilerCMPT System测试支撑环境多端口测试管理在进行多端口并发测试时,TPT在CMPTM的控制下完成指定的对路由器的一对端口协调测试或两端口独立测试;TPT作为独立的测试系统,它通过执行可执行测试例(用TTCN-3描述,经TTCN-3编译器和C编译器编译后生成),完成对路由器的一对端口或单端口的测试。因此,图2.4中的CMPTS总体上是面向测试中心的分布式并发多端口路
45、由器测试系统;此时,TPT是作为CMPTS的下级测试器。TPT也可以作为可移动的单端口或双端口测试器独立地进行测试。图2.4中的IPv6并发多端口测试环境的测试支撑工具包括:CMP-TDL编译器和TTCN-3 (Test and Test Control Notation version 3) 编译器以及C编译器。CMP-TDL编译器完成并发测试集、组、例等的编译工作,将用CMP-TDL语言描述的测试控制数据,分为并发控制部分和单个/单对端口测试部分,然后编译为“C”程序;后者将把用TTCN-3描述的针对TPT双端口测试器的抽象测试集编译为“C”程序。 由CMP-TDL和TTCN-3两种语言描
46、述的测试数据编译后形成的“C”代码,经过C编译最终形成可执行测试集(ETS - Executable Test Suite)。2.2.3 TTCN-3形式化描述语言长期以来,测试案例的规格基本上都是采用各种各样的非形式化的方式,例如判断表、判断树、或者其他的自然语言说明。ISO 9646首先提出了一种测试语言(TTCN,Tree and Tabular Combined Notation),它具有明确的语法和语义,而且是可以执行的。它针对软件测试领域提供了许多的游泳元素,其目前最新版本TTCN-322(Testing and Test Control Notation)更是已发展成为一种通用的
47、测试规格语言。TTCN是在协议一致性测试方法和框架(CMTF Conformance Testing Methodology and Framework)标准(ISO/IEC 9646)的第三部分定义的。TTCN的最新版本TTCN-3于2001年6月由(ESTI European Telecommunications Institute)发布,从语法上来说,它可以说是对TTCN的重新设计,它由TTCN-3核心语言或其他可以选择的表现形式构成,其表格形式和TTCN类似。图2.5 TTCN-3核心语言以及它的多种表示形式TTCN-3是一种灵活和强有力的语言,它用于描述在多种通信端口上的各种响应系统测试。它应用的典型领域是协议测试(包括移动和互联网协议)、服务测试、基于平台的COBRA测试、API测试等等。TTCN-3并不局限于一致性测试,它可以用于许多其他种类的测试,如互操作性测试、健壮性测试、回归测试、系统和集成测试。TTCN-3核心语言有三个目的:作为广义的基于文本形式的TTCN-3测试语言;也可以