CN100483976C - 计算机网络协议测试传输方法 - Google Patents
计算机网络协议测试传输方法 Download PDFInfo
- Publication number
- CN100483976C CN100483976C CNB2003101047933A CN200310104793A CN100483976C CN 100483976 C CN100483976 C CN 100483976C CN B2003101047933 A CNB2003101047933 A CN B2003101047933A CN 200310104793 A CN200310104793 A CN 200310104793A CN 100483976 C CN100483976 C CN 100483976C
- Authority
- CN
- China
- Prior art keywords
- test
- communication entity
- layer
- protocol
- network interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 156
- 230000005540 biological transmission Effects 0.000 title claims description 32
- 238000000034 method Methods 0.000 title claims description 29
- 238000004891 communication Methods 0.000 claims abstract description 64
- 230000015572 biosynthetic process Effects 0.000 claims description 5
- 238000004806 packaging method and process Methods 0.000 abstract 2
- 230000006870 function Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 4
- 238000005538 encapsulation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000009227 behaviour therapy Methods 0.000 description 1
- 235000000332 black box Nutrition 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种用于计算机网络协议测试的传输方法,采用通信实体和网络接口相结合的方式,测试组件中测试数据的发送/接收不再直接与下层协议和实际的网络交互,而是通过与被测协议相关网络接口调用下层通信实体来实现。对测试集的设计者屏蔽了被测协议实现的下层协议类型,对测试人员屏蔽了测试系统特征,使测试集和测试系统能够通用。测试组件的功能通过网络接口对象来完成,其对测试组件的接口相当于一个被测协议PDU类型的输入/输出队列。每一个网络接口对象中都嵌套一个下层协议通信实体对象,完成测试数据的封装/发送和返回数据的接收/解封装功能。通过在网络接口中定义适当的标识信息,可以用有限的系统资源模拟并发测试所需的所有测试组件。
Description
技术领域
本发明涉及计算机网络协议工程技术领域,特别是一种用于计算机网络协议一致性测试的传输方法。
背景技术
协议一致性测试是协议工程学的一个重要分支,其目的是通过实验的方法发现被测协议实现(Implementation Under Test,IUT)在功能和逻辑方面的错误。研究协议一致性测试的原因在于协议标准目前基本上是使用自然语言描述的,实现者对于协议标准的不同理解会导致不同的协议实现,有时甚至会是错误的实现,因此需要一种有效的方法来对协议实现进行验证和判别。对于测试人员而言,被测协议实现的内部逻辑结构是不见的,因此一致性测试是一种黑盒测试。
国际标准ISO/IEC 9646定义了一致性测试的方法和框架,用于测试一个声称实现了某一协议的产品与其协议标准的一致性。目前的协议一致性测试一般采用远程测试法进行,即通过观察被测协议实现的输出来判定其是否按照协议标准正确实现了某项功能,对于一个被测协议实现来说,其输出只能在输入满足一定的条件时才能出现。一致性测试需要借助于专用的测试系统才能进行,要测试协议实现的某项功能,需要进行两个相互交错的阶段:
·测试系统向被测系统发送一系列的数据包,这称为一致性测试的控制阶段;
·测试系统监控被测系统返回的数据包,与预期的返回数据进行比较,做出测试判定,这称为一致性测试的观察阶段。
一致性测试就是一个控制和观察交互进行的过程,直到做出测试判定为止,这个过程是由测试集预先规定好的。测试集一般采用一种特定的语言进行描述,测试集中定义了测试所需的数据流、测试行为交互、判定规则等,测试系统执行测试集,给出结果。现在的一致性测试中,由于被测协议实现所在系统的多样性,测试集设计时首先要考虑被测协议实现的下层协议类型和测试系统能够支持的下层协议类型,即测试集设计过多地考虑了测试时的下层传输问题,不能够做到独立、通用,例如为运行于以太网之上的网络层协议(IP)开发的测试集不能对运行于点对点链路PPP之上的协议实现进行测试;另外现有测试系统并发测试能力与其所在系统的配置有很大的关系,测试前需要花费相当的精力去配置与传输有关的东西,比如配置观察控制点(Point of Control and Observation,PCO)、上下层协议类型、地址等。也就是说,为某一协议编写的测试集一般只能专用于对运行于某一种类型下层协议之上的协议实现进行测试,测试系统一般只能够安装在特定的系统上、用于专门协议的测试,也正因为如此,尽管树表结合表示法(the tree and tabular combined notation,TTCN)是ISO/IEC9646推荐的测试集描述语言,目前也不存在通用TTCN编译执行器。
发明内容
本发明的目的在于提供一种计算机网络协议测试传输方法。
发明的技术方案:
一种用于计算机网络协议一致性测试的传输方法,其特征在于,采用通信实体和网络接口相结合的方式,测试组件中测试数据的发送/接收不再直接与下层协议和实际的网络交互,而是通过与被测协议相关网络接口调用下层通信实体来实现。
协议测试中采用的下层传输方法应该能够对测试集屏蔽被测协议实现的下层协议类型,即测试集设计者不必过多的考虑被测试协议实现所在系统的下层协议类型,测试人员不必被测试系统所在硬件特征干扰。以此为目标,通过对协议测试中传输问题的描述和分析,提出了一种通信实体和网络接口相结合的下层传输方法,用于测试系统的设计和实现:
·网络接口的概念用于定义逻辑接口的类型和相应的参数,每一个网络接口对象在实际测试时作为一个独立的测试组件使用,相当于一台逻辑测试器;
·通信实体的概念用于向逻辑测试器屏蔽下层服务提供者的类型,用于逻辑测试器数据的发送和接收,通信实体都是嵌套在网络接口中的。
应用这种传输方法,测试组件中测试数据的发送/接收不再直接与下层协议和实际的网络交互,而是通过一个网络接口对象来完成。测试组件的功能通过网络接口对象来完成,其对测试组件的接口相当于一个被测协议数据单元(Protocol Data Unit,PDU)类型的输入/输出队列,从而可对测试集的设计者屏蔽被测协议实现的下层协议类型,为特定协议开发的测试集可用于测试运行于任何类型下层协议之上的协议实现。
每一个网络接口对象中都嵌套一个下层协议通信实体对象,数据包的封装/发送和接收/解封装功能都由通信实体对象调用更下层、直到链路层通信实体对象来完成。对于被测协议实现来说,仅仅根据收到相同层次的数据中的相关信息来判定和区别对方的存在。举例来说,即使网络层协议收到同一台机器发出的两个数据包,如果这两个数据包网络层的源地址不相同,接收者也会认为数据包是由不同的机器发出的。同理,传输控制层协议TCP则根据连接请求的源端口来区分连接请求的发起者。由此,需要并发测试时,在构造网络接口对象时可以采用不同的标识信息,这样就能够利用有限的系统资源来模拟所需的测试组件,同时还能够对测试集的设计者屏蔽下层协议类型乃至连接测试系统和被测系统的链路介质类型。这种传输方法用于计算机网络协议一致性测试,可以达到以下目标:
·测试集与被测协议实现的下层协议类型无关:测试集的设计者不必考虑被测协议实现所在系统的下层协议类型,应用同一套测试集和测试系统可以对运行于任何类型下层协议之上的被测协议实现进行测试,而且测试前基本不需要人工的配置工作;
·并发测试能力与测试系统所在系统的配置无关:并发测试时,测试系统能够支持的并发测试组件的数目与其所在系统的配置无关,能够利用有限的物理接口模拟所有需要的逻辑测试接口(测试组件)。
计算机网络协议测试传输方法还在于,下一层的通信实体对象嵌套在上一层的网络接口对象中,通信实体对象自动检测下层协议类型,对网络接口对象中输出队列的被测协议PDU进行封装发送,并对被测系统返回的数据包进行解封装、初步判断、存放入相应网络接口对象的输入队列中,供测试组件接收并进行测试判定,从而可对测试人员屏蔽测试系统特征,大大减少了测试人员在测试之前的配置工作。
由于被测协议实现仅仅根据收到数据中的相关信息来判定和区别对方的存在,因此在构造网络接口对象时可以采用不同的标识信息,能够使用有限的系统资源模拟并发测试所需的所有测试组件。
附图说明
图1是网络接口的概念和应用模型图。
图2是应用于计算机网络协议测试的传输方法中通信实体类体系的实现图。
图3是并发测试数据包的发送和接收模型图。
具体实施方式
按照互联网协议TCP/IP观点,计算机网络协议分为四个层次:应用层、运输层、网络层、链路/物理层。从协议测试的角度来讲,如果测试网络层协议(IPv4、IPv6等),则需要构造网络层网络接口对象,其下层服务提供者为链路层介质;如果需要测试网络层以上协议(如超文本传输协议http、远程登录协议telnet、路由协议OSPF等),则需要构造TCP、OSPF等类型的网络接口对象,其下层服务提供者为网络层协议。测试集设计和测试系统执行应该与下层协议类型无关,比如对于网络层协议测试来说,不管被测协议实现运行于以太网、点对点链路PPP、还是异步传输模式ATM之上,应用同一套测试集和测试系统都应该能够对它进行测试,所不同的只是测试系统中应该安装与被测系统中被测协议以下部分相同的协议和网络接口。采用面向对象技术实现通信实体和网络接口相结合的传输方法,应该对各层次的通信实体类和网络接口类进行定义,并对它们的功能和应用进行模型化。
1.网络接口实现和概念模型
网络接口是构造测试组件的基础,测试时需要构造与被测协议相当的网络接口对象。用于计算机网络协议测试,测试系统中需要支持IPv4网络接口类、IPv6网络接口类、TCP网络接口类、UDP网络接口类等。一个属于N层的被测协议P1应该定义如下的网络接口类:
并发测试时,为每一个需要的测试组件生成一个相应层次的网络接口对象,它对测试集的设计者屏蔽了被测协议实现的下层服务提供者的信息。对每一个测试组件来说,网络接口被模型化为一个输入队列和一个输出队列,测试集设计者只需要构造被测试协议数据单元PDU放入输出队列,同时从输入队列中取得被测实现返回的被测协议数据单元PDU进行判定即可。
网络接口对象的概念和应用模型见图1,其中:
对一个队列而言,!表示输入;
对一个队列而言,?表示输出;
Top表示队列输出的当前位置;
2.通信实体实现和模型
通信实体作为连接网络接口中输入-/输出队列与下层协议的桥梁,完成输出队列中数据的封装/发送和被测系统返回的下层协议数据的接收/解封装功能,用于计算机网络协议一致性测试的通信实体类体系通过两个层次的组合和继承来实现:
·以协议类型的观点,定义协议类型通信实体类;
·以协议层次的观点,定义协议层次通信实体类;
N层通信实体类组合了所有属于N层的协议类型通信实体对象;属于N层的协议类型通信实体类则继承了N-1层通信实体类;N层通信实体类为属于N+1层的网络接口屏蔽了所有N层协议类型的信息。N层通信实体类应该如下定义:
属于N层的协议类型P1通信实体类定义如下:
在计算机网络协议体系结构中,一致性测试的对象可能包括:网络层协议IPv4、IPv6等,其协议实现可能运行于以太网、异步传输模式ATM、点对点链路PPP或者其它类型的链路层之上;应用层协议,包括基于TCP的应用、基于UDP的应用、ospf等其它的网络层以上协议,其协议实现可能运行于IPv4、IPv6之上。应用于计算机网络协议测试的传输方法中通信实体类体系的实现步骤如下(见图2):
·定义链路层协议类型通信实体类,包括以太网通信实体类FethEntity、异步传输模式通信实体类ATMEntity、点对点链路通信实体类PPPEntity等,它们都能够根据测试系统所在的硬件平台特征自动选择或者由测试人员指定用于与被测系统通信的网络接口、并完成最终的数据包发送/接收工作;
·在已经定义链路层协议类型通信实体类的基础上,通过组合定义链路层通信实体类;
·通过继承定义网络层协议类型通信实体类,包括IPv4通信实体类和IPv6通信实体类;
·在网络层协议类型通信实体类的基础上,通过组合定义网络层通信实体类;
实际测试中,每一个测试组件需要获取被测实现返回给它的数据包进行测试判定,为了使测试组件能够从与它相关的网络接口对象的输入队列中有效获取被测实现返回的数据包,通信实体可以对接收到的下层数据包进行初选后再存放入上层网络接口的输入队列中,最终,每一个网络接口输入队列中仅包括了发送给相应测试组件的数据包,这加快了返回数据的获取和测试结果的判定等工作。通信实体对下层数据进行接收、判断、存储的步骤包括:
·N层通信实体从它的下层数据缓冲区获取数据包,去掉N层首部,得到N+1层协议数据单元PDU;
·通信实体根据创建时由N+1层网络接口对象获得的标识N+1层测试组件的标识信息,对得到的N+1层协议数据单元PDU进行检查,若此协议数据单元PDU属于该测试组件,则把此协议数据单元PDU存放入N+1层网络接口的输入队列中;否则丢弃此数据包,从下层数据缓冲区获取下一个数据包,重复这个过程。
假设被测协议属于N层协议,一个并发测试例的执行需要n个测试组件,需要构造n个网络接口对象,共包含n个N-1层通信实体对象,其数据包的发送/接收模型如图3所示,其中:
每一个N层网络接口相当于一个测试组件;
与N层网络接口对应的通信实体为测试组件实现测试数据的发送和接收;
本发明的方法可广泛应用于计算机网络协议测试之中。
Claims (4)
1.一种用于计算机网络协议测试的传输方法,其特征在于,采用通信实体和网络接口相结合的方式,该方法包括如下步骤:
构造与被测协议相当的网络接口对象;将网络接口模块化为被测协议数据单元的一个输入队列和一个输出队列;定义通信实体对象;下一层的通信实体对象嵌套在上一层的网络接口对象中;通信实体对象自动检测下层协议类型、对网络接口对象中输出队列的被测协议数据单元进行封装发送、并对被测系统能够返回的数据包进行解封装、初步判断、存放入相应网络接口对象的输入队列中,供测试组件接收并进行测试判定。
2.根据权利要求1所述的用于计算机网络协议测试的传输方法,其特征在于,所述测试组件的功能通过网络接口对象来完成,其对测试组件的接口相当于一个被测协议的协议数据单元类型的输入/输出队列,从而可对测试集的设计者屏蔽被测协议实现的下层协议类型,为特定协议开发的测试集可用于测试运行于任何类型下层协议之上的协议实现。
3.根据权利要求1所述的用于计算机网络协议测试的传输方法,其特征在于,所述通信实体对被测系统能够返回的数据包进行解封装、初步判断、存放包括:
N层通信实体从它的下层数据缓冲区获取数据包,去掉N层首部,得到N+1层协议数据单元;
通信实体根据创建时由N+1层网络接口对象获得的标识N+1层测试组件的标识信息,对得到的N+1层协议数据单元进行检查,若此协议数据单元属于该测试组件,则把此协议数据单元存放入N+1层网络接口的输入队列中;否则丢弃此数据包,从下层数据缓冲区获取下一个数据包,重复这个过程。
4.一种应用于计算机网络协议测试的传输方法中通信实体类体系的实现方法,其特征在于,该方法包括以下步骤:
定义链路层协议类型通信实体类,包括以太网通信实体类、异步传输模式通信实体类、点对点链路通信实体类,由测试系统根据所在的硬件平台特征自动选择或者由测试人员指定用于与被测系统通信的网络接口、并完成最终的数据包发送/接收工作;
在已经定义链路层协议类型通信实体类的基础上,通过组合定义链路层通信实体类;
通过继承定义网络层协议类型通信实体类,包括IPv4通信实体类和IPv6通信实体类;
在网络层协议类型通信实体类的基础上,通过组合定义网络层通信实体类。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2003101047933A CN100483976C (zh) | 2003-11-03 | 2003-11-03 | 计算机网络协议测试传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2003101047933A CN100483976C (zh) | 2003-11-03 | 2003-11-03 | 计算机网络协议测试传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1540892A CN1540892A (zh) | 2004-10-27 |
CN100483976C true CN100483976C (zh) | 2009-04-29 |
Family
ID=34333538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2003101047933A Expired - Lifetime CN100483976C (zh) | 2003-11-03 | 2003-11-03 | 计算机网络协议测试传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100483976C (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100370764C (zh) * | 2004-11-16 | 2008-02-20 | 华为技术有限公司 | 协议测试的装置及其实现协议测试的方法 |
CN100389570C (zh) * | 2004-12-21 | 2008-05-21 | 华为技术有限公司 | 一种通信节点真实业务转发功能测试方法和系统 |
CN100389572C (zh) * | 2005-04-11 | 2008-05-21 | 华为技术有限公司 | 一种远程调用通信组件的系统及方法 |
CN102855182B (zh) * | 2011-06-28 | 2016-03-02 | 百度在线网络技术(北京)有限公司 | 一种Web系统测试方法及装置 |
CN102694701B (zh) * | 2012-06-13 | 2015-12-02 | 青岛海信传媒网络技术有限公司 | 基于消息的测试方法及系统 |
CN103746859A (zh) * | 2013-09-09 | 2014-04-23 | 成都雄博科技发展有限公司 | 基于隧道标签和伪线标签的IPv6协议一致性抽象测试方法 |
CN113759877B (zh) * | 2021-09-16 | 2023-05-19 | 中国铁道科学研究院集团有限公司 | 一种列车网络信号测试方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6373822B1 (en) * | 1999-01-08 | 2002-04-16 | Cisco Technology, Inc. | Data network protocol conformance test system |
CN1400751A (zh) * | 2001-08-08 | 2003-03-05 | 中国科学院计算技术研究所 | 通讯协议一致性测试中的虚拟测试系统及方法 |
-
2003
- 2003-11-03 CN CNB2003101047933A patent/CN100483976C/zh not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6373822B1 (en) * | 1999-01-08 | 2002-04-16 | Cisco Technology, Inc. | Data network protocol conformance test system |
CN1400751A (zh) * | 2001-08-08 | 2003-03-05 | 中国科学院计算技术研究所 | 通讯协议一致性测试中的虚拟测试系统及方法 |
Non-Patent Citations (3)
Title |
---|
IPv6协议一致性测试的实现. 李忠诚张玉军.电信技术,第7期. 2003 * |
协议一致性测试执行系统的体系结构研究. 陈建荣,王乐春,龚正虎.计算机工程,第29卷第8期. 2003 * |
计算及网络协议测试及其发展. 毕军,史美林.电信科学,第12卷第7期. 1996 * |
Also Published As
Publication number | Publication date |
---|---|
CN1540892A (zh) | 2004-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lohmann et al. | Analyzing interacting BPEL processes | |
Medina et al. | BRITE: Universal topology generation from a user’s perspective | |
CN100394415C (zh) | 用于捕捉感兴趣的网络数据的协议分析器系统和方法 | |
US7149678B2 (en) | High level executable network abstract machine | |
CN103178996A (zh) | 分布式包交换芯片模型验证系统及验证方法 | |
Babich et al. | Formal methods for specification and analysis of communication protocols | |
CN108075938A (zh) | 一种自动化测试方法和装置 | |
Bochmann et al. | Experience with formal specifications using an extended state transition model | |
CN100483976C (zh) | 计算机网络协议测试传输方法 | |
CN107749807A (zh) | 一种面向nfv的网络功能验证方法及验证系统 | |
CN105871643A (zh) | 基于路由协议的网络运行仿真方法 | |
Salaun et al. | Formal verification of CHP specifications with CADP illustration on an asynchronous network-on-chip | |
West | Protocol validation—principles and applications | |
Alba et al. | Ant colony optimization for model checking | |
Glasser et al. | High-level executable specification of the universal plug and play architecture | |
Feng et al. | A reo model of software defined networks | |
CN110191028A (zh) | 可软件定义的互连设备的测试装置、系统及方法 | |
Naik et al. | Testing communication protocols | |
CN113391996A (zh) | 一种基于工作流程的软件接口组合执行测试方法 | |
Michiels | Component Framework Technology for Adaptable and Manageable Protocol Stacks | |
CN105117342A (zh) | 一种基于面向对象的交换机软件测试用例的测试方法 | |
Gallardo et al. | How Formal Methods Can Contribute to 5G Networks | |
Koné | Conformance testing to real-time communications systems | |
Leister et al. | Exploiting model variability in ABS to verify distributed algorithms | |
EP4186212B1 (en) | Network verification systems and methods |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190117 Address after: 100085 C906-1, 8th floor, Block C, 9th Shangdi Third Street, Haidian District, Beijing Patentee after: CHOICE TECHNOLOGIES (BEIJING) Co.,Ltd. Address before: 100080 No. 6 South Road, Zhongguancun Academy of Sciences, Beijing, Haidian District Patentee before: Institute of Computing Technology, Chinese Academy of Sciences |
|
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20090429 |