CN100367722C - 一种通信协议一致性测试系统 - Google Patents
一种通信协议一致性测试系统 Download PDFInfo
- Publication number
- CN100367722C CN100367722C CNB2004100660402A CN200410066040A CN100367722C CN 100367722 C CN100367722 C CN 100367722C CN B2004100660402 A CNB2004100660402 A CN B2004100660402A CN 200410066040 A CN200410066040 A CN 200410066040A CN 100367722 C CN100367722 C CN 100367722C
- Authority
- CN
- China
- Prior art keywords
- protocol
- test
- data
- thread
- message
- 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 - Fee Related
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
一种通信协议一致性测试系统,包括网络适配器驱动模块,测试协议栈处理模块,业务控制模块和测试数据配置管理模块。采用本发明,系统的业务控制模块实现了系统的集中控制,使测试协议栈处理模块和其他模块之间保持很强的独立性,可以多个测试协议栈构建在业务控制之上,之间相互独立,由业务控制负责管理诸多协议栈,使系统具有很强的功能扩展性和可移植性。丰富的协议测试数据统计,使得测试人员能清楚了解被测试协议的交互过程,从而通过测试数据来分析被测试协议是否达到协议一致性要求。
Description
技术领域
本发明涉及数据通信领域中的协议一致性测试,具体涉及以太网数据通信协议一致性测试,以及测试数据统计和分析测试结果。
背景技术
在通信产品研制、生产和应用的各个过程中,需要用各种软件测试工具对通信器件、设备、系统、网络的特性进行协议一致性测试,使之符合相关规范、标准的要求,以确保网络和业务运行的可靠和畅通。在实际应用这些工具在进行以太网数据通信测试工作中,发现现有以太网协议测试工具存在以下局限:
1.现有协议测试工具多是针对某一种协议进行测试,无法进行多种协议一致性测试。且对一些新发布的协议不能迅速、及时地提供支持。
2.目前常用的商用协议测试工具往往是和特定的硬件设备捆绑使用,测试工具对特定硬件设备的依赖性很强,限制了测试工具的使用范围。
发明内容
本发明的目的是为了克服现有以太网通信协议一致性测试系统功能扩展性弱、对特定硬件设备依赖性强的弊端,提出一种新的以太网协议一致性测试系统。该系统的协议一致性测试功能扩展性强。只需按照统一接口增加协议处理模块,就可以实现新的协议测试功能。
本发明包括网络适配器驱动模块,测试协议栈处理模块,业务控制模块和测试数据配置管理模块;
所述网络适配器驱动模块,完成网络适配器物理层初始化,自动检测各种型号的网络适配器,处理以太网上原始数据报文发送和接收,基于源MAC和目的MAC地址的过滤,对网络上各种数据报文统计和打时间标记;
所述业务控制模块负责调度、控制和协调其他各模块的动作;
所述测试协议栈处理模块与被测试协议一致性系统状态机交互,实现被测试协议报文数据处理,测试协议状态机跃迁,被测协议定时器;对外提供协议报文接收和发送接口,协议状态机跃迁接口,协议栈定时器接口和协议测试数据统计结果的接口;
所述测试数据配置管理模块完成被测协议类型配置和相关的测试配置数据管理,以及最后测试数据汇总统计;
其中,所述业务控制模块负责调度、控制和协调其他各模块的动作包括:
线程调度控制和各线程之间同步和互斥;
网路数据接收和过滤;
协议报文分发;
协议定时器处理;
协议测试数据统计和上报功能。
本发明有以下优点:
系统不需要和特定的硬件设备捆绑使用,仅需一台配置有网卡的PC机即可。实现方便,耗费成本低。系统的业务控制模块实现了系统的集中控制,使测试协议栈处理模块和其他模块之间保持很强的独立性,可以多个测试协议栈构建在业务控制之上,之间相互独立,由业务控制负责管理诸多协议栈,使系统具有很强的功能扩展性和可移植性。丰富的协议测试数据统计,使得测试人员能清楚了解被测试协议的交互过程,从而通过测试数据来分析被测试协议是否达到协议一致性要求。
附图说明
图1是本发明的组织结构图;
图2是网络适配器驱动模块的工作流程图;
图3是业务控制模块工作流程图;
图4是测试协议栈处理模块工作流程图;
图5是测试数据配置管理模块工作流程图。
具体实施方式
如图1所示,本发明包括:(1)网络适配器驱动模块,(2)测试协议栈处理模块,(3)业务控制模块,(4)测试数据配置管理模块四个部分组成。
第一部分:网络适配器驱动模块
该模块为整个协议一致性测试系统的底层核心驱动模块,测试系统要求该模块主要完成:(1)网络适配器物理层初始化,能够自动检测到各种型号的网络适配器;(2)能够处理以太网上原始数据报文发送和接收;(3)能够做基于源MAC和目的MAC地址的过滤功能;(4)能够对网络上各种数据报文统计和打时间标记。网络适配器驱动比较依赖于操作系统,本发明的协议一致性测试系统是建立在microsoft windows操作系统上,microsoft公司为保证操作系统与各种厂家的网络适配器兼容,制定了统一的网络设备接口规范(NDIS),并且提供基于NDIS的SDK开发包,也有其他公司提供类似的开发包,如WinPcap和Ntsniff,可以使用这些开放源码的驱动包来开发测试系统的网络适配器驱动模块,从而实现以上几点要求。
第二部分:业务控制模块
业务控制模块为系统其他各个模块提供数据交互的统一接口,负责调度、控制和协调其他各模块的动作。该模块主要实现:
(1)线程调度控制和各线程之间同步和互斥;
(2)网路数据接收和过滤;
(3)协议报文分发;
(4)协议定时器处理;
(5)协议测试数据统计和上报功能。
第三部分:测试协议栈处理模块
测试协议栈处理模块是对要测试对象而实现的测试用例。因为被测试协议对象的不同,这个模块在协议一致性测试系统中要求有很好的可扩展性。本模块要考虑:
(1)确定被测试协议栈(一个或多个被测试对象);
(2)查找RFC和IEEE国际、国内标准中协议的规定,简化协议报文处理、协议定时器处理和状态跃迁控制流程。
第四部分:测试数据配置管理模块
测试数据配置管理模块主要完成被测协议类型配置和相关的测试配置数据管理,以及最后测试数据汇总统计,测试人员可以根据这些测试统计数据,与相关的协议标准比较是否一致,从而检验是否达到被测试协议栈一致性要求。该模块还向用户提供一个操作平台。
图2为网络适配器驱动模块的工作流程图。如图所示,首先对网络适配器做初始化工作,使得软件能识别网卡并将驱动绑定在网卡上面,检查数据接收线程是否运行,该线程由业务控制模块启动,如果线程已经启动则网路适配器驱动开始接收网络协议报文,然后将过滤后的协议报文做测试统计和以消息发送方式将报文发送到业务控制模块中的协议报文分发线程。该模块上层模块是业务控制模块,需为上层提供统一的接收、发送、过滤和网络数据流量统计上报接口。
图3是业务控制模块工作流程图。该模块是整个系统其他模块进行数据交互的枢纽,其他各模块的数据都要经过该模块转发到目的模块,该模块与其他模块通信采用基于消息发送和接收的方式。
1、实现业务控制模块的调度控制部分。需要建立数据接收线程、协议报文分发线程、测试协议栈状态线程、测试协议栈定时器线程和测试数据配置管理线程。各种线程之间数据通信采用同步消息方式,并对全局的数据结构采用互斥信号量保护,与其他各模块的数据通信的消息类型也在此定义。
2、实现业务控制模块中的报文分发部分,由协议报文分发线程完成。一方面将从数据接收线程接收来的数据报文消息进行过滤、并根据测试协议类型分发到相应的测试协议栈处理模块中进行数据处理,另一方面把测试协议栈处理模块处理完成的报文采用统一接口发往网络适配器驱动模块。需测试协议栈处理模块提供协议报文接收接口,需网络适配器驱动模块提供数据发送接口。
3、实现测试协议栈状态跃迁部分,由测试协议栈状态线程完成。该线程依据测试协议状态机的变化,来改变协议运行时候的状态。需由测试协议栈处理模块提供状态机跃迁的接口。
4、实现业务控制模块中的统一协议定时器处理部分,由测试协议栈定时器线程完成。实现在一定的时间间隔下统一对测试协议栈处理模块中的协议计数器定时信号进行处理。需由测试协议栈处理模块提供定时器的接口。
5、实现网路数据报文接收部分,由数据接收线程完成。该线程根据测试协议要求过滤与被测试协议无关的报文,并将接收到的协议报文以消息的方式发送给协议报文分发线程。需网络适配器驱动模块提供数据接收接口。
6、实现测试数据配置管理部分,由测试数据配置管理线程完成。该线程为测试人员提供一个前台控制平台,测试人员通过这个平台下达测试配置数据和显示测试统计结果,监测被测试协议状态变化情况。
7、实现业务控制模块中的数据统计、分析部分。实现数据统计、分析、记录功能,并生成一个日志文件。数据来自于测试协议栈模块提供的接口和网络适配器驱动模块提供的数据统计接口。
该模块对外主要接口是:
(1)业务控制模块线程初始化接口。
(2)测试协议数据统计接口。
(3)测试配置管理数据接口。
图4为测试协议栈处理模块工作流程图。该模块:
1、实现被测试协议报文数据处理,根据被测试协议标准,实现符合该协议报文格式下的响应动作。对外提供协议报文接收和发送接口。
2、实现被测试协议状态机跃迁,根据被测试协议标准,实现在特定状态下的响应动作。对外提供协议状态机跃迁接口。
3、实现被测试协议定时器,可以采用统一的计数器实现,根据被测试协议标准,实现在某一时刻计数器的递增或递减。对外提供协议栈定时器接口。
4、实现协议一致性测试中测试数据统计功能,需要实现以下一些测试数据统计:
(1)协议栈状态机的跃迁变化数据统计
(2)协议栈接收、发送的成功和失败报文数量统计
(3)协议栈时间状态跃迁变化
(4)协议栈中不同类型报文统计
(5)协议栈接收到错误或非法协议报文统计
该模块对外主要接口是:
(1)协议报文接收和发送接口。
(2)协议状态机跃迁接口。
(3)协议栈定时器接口。
(4)协议测试数据统计结果的接口。
图5为测试数据配置管理模块工作流程图。该模块:
1、实现用户数据的设置、读写,并负责将用户配置的数据初始化到以上各个模块中。
2、测试数据汇总统计以及结果文件保存和显示,便于测试人员分析测试结果。测试数据来源于网络驱动模块的和测试协议栈模块上报数据。
3、测试配置数据文件记录,便于测试用例的可回溯性。
该模块对外主要接口是:
(1)测试数据配置初始化接口。
(2)测试配置数据文件和统计结果文件保存接口。
(3)用户前台操作界面接口。
本发明可以按以下方式构建:
首先,编写网络适配器驱动模块。这里有多种实现方法,可以自己利用网络设备接口规范编写驱动,也可以采用开放源码的网络适配器驱动包。一般我们选用开发包完成驱动开发,这样实现网络适配器接收、发送原始报文比较可靠和便利,如采用开放源码的网络适配器驱动包WinPcap,我们在已有的开发包上完成网络适配器驱动的接口,该模块应提供接口:(1)初始化网卡接口(2)发送报文接口(3)接收报文接口。
在完成网络适配器驱动模块编写,并实现报文接收、发送后,进行对被测试协议栈编写。首先要对该协议的标准进行理解,协议的标准是对实现该协议全面描述,通信设备在实现这些协议时候,也是基本按照标准实现的,但我们的目的是测试该协议,为达到更理想的测试效果,就需要对协议精简实现,一般来说协议由三部分组成,协议状态机、协议报文处理、和定时器状态机,所以该模块应提供接口:(1)协议状态机跃迁处理(2)协议报文处理(3)协议定时器的计数器处理。
接下来完成业务控制模块编写,该模块在整个系统中调度其他各个模块接口,其他模块相互之间数据调用均通过业务控制模块来完成,在此模块中要启动三个线程,(1)报文接收器线程,不断接收来自网络适配器报文,并以消息方式发往协议分发处理线程(2)协议分发处理线程,接收来自报文接收线程报文并做过滤,分发到相应的协议栈中处理,该线程接收来自协议栈发送报文消息,通过调用网络适配器发送接口,将报文发送到适配器处理(3)协议状态机和计数器线程,和定时对协议计数器处理,线程通过调用协议状态机跃迁接口循环检测协议状态机状态,并由协议栈处理状态变迁。
最后,完成用户配置数据模块编写,该模块应完成对配置数据文件访问,初始化相关数据,并提供给用户操作界面。
Claims (4)
1.一种通信协议一致性测试系统,包括网络适配器驱动模块,测试协议栈处理模块,业务控制模块和测试数据配置管理模块;
所述网络适配器驱动模块,完成网络适配器物理层初始化,自动检测各种型号的网络适配器,处理以太网上原始数据报文发送和接收,基于源MAC和目的MAC地址的过滤,对网络上各种数据报文统计和打时间标记;
所述业务控制模块负责调度、控制和协调其他各模块的动作;
所述测试协议栈处理模块与被测试协议一致性系统状态机交互,实现被测试协议报文数据处理,测试协议状态机跃迁,被测协议定时器;对外提供协议报文接收和发送接口,协议状态机跃迁接口,协议栈定时器接口和协议测试数据统计结果的接口;
所述测试数据配置管理模块完成被测协议类型配置和相关的测试配置数据管理,以及最后测试数据汇总统计;
其中,所述业务控制模块负责调度、控制和协调其他各模块的动作包括:
线程调度控制和各线程之间同步和互斥;
网路数据接收和过滤;
协议报文分发;
协议定时器处理;
协议测试数据统计和上报功能。
2.权利要求1所述的通信协议一致性测试系统,其特征在于,在业务控制模块中建立数据接收线程、协议报文分发线程、测试协议栈状态线程、测试协议栈定时器线程和测试数据配置管理线程;
所述协议报文分发线程完成报文分发,一方面将从数据接收线程接收来的数据报文消息进行过滤、并根据测试协议类型分发到相应的测试协议栈处理模块中进行数据处理,另一方面把测试协议栈处理模块处理完成的报文采用统一接口发往网络适配器驱动模块;
所述测试协议栈状态线程完成测试协议栈状态跃迁,根据测试协议状态机的变化,来改变协议运行时候的状态;
所述测试协议栈定时器线程实现在一定的时间间隔下统一对测试协议栈处理模块中的协议计数器定时信号进行处理;
所述数据接收线程完成网路数据报文接收,根据测试协议要求过滤与被测试协议无关的报文,并将接收到的协议报文以消息的方式发送给协议报文分发线程;
所述测试数据配置管理线程实现测试数据配置管理,为测试人员提供一个前台控制平台,测试人员通过这个平台下达测试配置数据和显示测试统计结果,监测被测试协议状态变化情况。
3.权利要求1所述的通信协议一致性测试系统,其特征在于,所述测试协议栈处理模块输出协议一致性测试中测试数据统计。
4.权利要求1所述的通信协议一致性测试系统,其特征在于,所述测试数据配置管理模块对外提供测试数据配置初始化接口、测试配置数据文件和统计结果文件保存接口和用户前台操作界面接口;实现用户数据的设置、读写,并负责将用户配置的数据初始化到以上各个模块中;测试数据汇总统计以及结果文件保存和显示;测试配置数据文件记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100660402A CN100367722C (zh) | 2004-12-10 | 2004-12-10 | 一种通信协议一致性测试系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100660402A CN100367722C (zh) | 2004-12-10 | 2004-12-10 | 一种通信协议一致性测试系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1787460A CN1787460A (zh) | 2006-06-14 |
CN100367722C true CN100367722C (zh) | 2008-02-06 |
Family
ID=36784782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100660402A Expired - Fee Related CN100367722C (zh) | 2004-12-10 | 2004-12-10 | 一种通信协议一致性测试系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100367722C (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101262472B (zh) * | 2007-03-07 | 2011-09-28 | 力博特公司 | 一种多功能协议解析器及其实现方法 |
CN101242617B (zh) * | 2008-03-04 | 2011-06-22 | 中兴通讯股份有限公司 | 一种性能统计原始数据的测试系统及测试方法 |
CN101527719B (zh) * | 2009-04-27 | 2012-03-21 | 成都科来软件有限公司 | 一种tcp数据流并行分析方法 |
CN103378994A (zh) * | 2012-04-19 | 2013-10-30 | 北京动力源科技股份有限公司 | 一种通信设备的测试方法及终端 |
CN103268305B (zh) * | 2013-04-23 | 2017-07-25 | 上海斐讯数据通信技术有限公司 | 一种oam协议栈移植方法 |
CN103490953A (zh) * | 2013-09-12 | 2014-01-01 | 清华大学 | 测试rtp协议栈一致性实现的系统以及方法 |
CN103559330B (zh) * | 2013-10-10 | 2017-04-12 | 上海华为技术有限公司 | 数据一致性检测方法及系统 |
CN104219689B (zh) * | 2014-09-16 | 2017-11-14 | 京信通信系统(中国)有限公司 | Lte无线通信空口协议软件自测装置与方法 |
CN104601231B (zh) * | 2015-01-09 | 2018-06-08 | 北京奥普维尔科技有限公司 | 一种测试仪表、系统及方法 |
CN104601230A (zh) * | 2015-01-09 | 2015-05-06 | 北京奥普维尔科技有限公司 | 一种无线测试仪表、及其测试方法 |
CN104618180A (zh) * | 2015-01-09 | 2015-05-13 | 北京奥普维尔科技有限公司 | 一种测试仪表及测试方法 |
CN107480039B (zh) * | 2017-09-22 | 2020-12-04 | 郑州云海信息技术有限公司 | 一种分布式存储系统的小文件读写性能测试方法及装置 |
CN107733741A (zh) * | 2017-10-30 | 2018-02-23 | 中国电力科学研究院有限公司 | 用于协议一致性测试的软件架构方法及平台 |
CN110198250A (zh) * | 2018-02-27 | 2019-09-03 | 江苏迪纳数字科技股份有限公司 | 一种多协议自由组合报文的通讯协议网关性能测试工具 |
CN109450730A (zh) * | 2018-11-09 | 2019-03-08 | 中电科仪器仪表有限公司 | 一种基于标准数据交换格式的动态应用层协议测试方法 |
CN110798384B (zh) * | 2019-11-06 | 2021-09-28 | 中国电子科技集团公司第四十一研究所 | 一种基于协议分层的协议仿真测试系统及方法 |
CN112468381A (zh) * | 2020-12-02 | 2021-03-09 | 杭州和利时自动化有限公司 | 一种数据通讯的方法、系统、设备及可读存储介质 |
CN113422706B (zh) * | 2021-06-18 | 2022-11-25 | 上海怿星电子科技有限公司 | 检测网络协议栈一致性的方法及车辆 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1287309A (zh) * | 1999-11-04 | 2001-03-14 | 深圳市中兴通讯股份有限公司 | 针对嵌入式系统的通用协议测试方法 |
CN1357981A (zh) * | 2000-12-04 | 2002-07-10 | 深圳黎明电脑网络有限公司 | 可进行多种应用协议测试的方法 |
CN1400751A (zh) * | 2001-08-08 | 2003-03-05 | 中国科学院计算技术研究所 | 通讯协议一致性测试中的虚拟测试系统及方法 |
CN1471267A (zh) * | 2002-07-22 | 2004-01-28 | 华为技术有限公司 | 一种网络协议测试方法及其测试系统 |
WO2004017595A2 (fr) * | 2002-07-29 | 2004-02-26 | Qosmos | Procede de reconnaissance et d'analyse de protocols dans des reseaux de donnees |
EP1434386A2 (en) * | 2002-12-19 | 2004-06-30 | NTT DoCoMo, Inc. | Protocol testing system and protocol testing method |
-
2004
- 2004-12-10 CN CNB2004100660402A patent/CN100367722C/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1287309A (zh) * | 1999-11-04 | 2001-03-14 | 深圳市中兴通讯股份有限公司 | 针对嵌入式系统的通用协议测试方法 |
CN1357981A (zh) * | 2000-12-04 | 2002-07-10 | 深圳黎明电脑网络有限公司 | 可进行多种应用协议测试的方法 |
CN1400751A (zh) * | 2001-08-08 | 2003-03-05 | 中国科学院计算技术研究所 | 通讯协议一致性测试中的虚拟测试系统及方法 |
CN1471267A (zh) * | 2002-07-22 | 2004-01-28 | 华为技术有限公司 | 一种网络协议测试方法及其测试系统 |
WO2004017595A2 (fr) * | 2002-07-29 | 2004-02-26 | Qosmos | Procede de reconnaissance et d'analyse de protocols dans des reseaux de donnees |
EP1434386A2 (en) * | 2002-12-19 | 2004-06-30 | NTT DoCoMo, Inc. | Protocol testing system and protocol testing method |
Also Published As
Publication number | Publication date |
---|---|
CN1787460A (zh) | 2006-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100367722C (zh) | 一种通信协议一致性测试系统 | |
US7616568B2 (en) | Generic packet generation | |
EP2888858B1 (en) | Method and apparatus of generalized network controller for a software defined network (sdn) | |
US5881237A (en) | Methods, systems and computer program products for test scenario based communications network performance testing | |
US5838919A (en) | Methods, systems and computer program products for endpoint pair based communications network performance testing | |
CN110083528A (zh) | 测试任务的分配方法、装置、计算机设备及存储介质 | |
CN102064954B (zh) | 一种分布式容错系统、设备和方法 | |
WO2011150715A1 (zh) | 分布式控制系统中采集第三方设备数据的方法及装置 | |
US11843508B2 (en) | Methods and apparatus to configure virtual and physical networks for hosts in a physical rack | |
Gogolev et al. | TSN-enabled OPC UA in field devices | |
CN106100939A (zh) | 网络设备启动时间测试方法及测试控制台 | |
CN103634225A (zh) | 云计算网络虚拟化中的业务带宽扩展方法 | |
Bolla et al. | A closed-form model for the IEEE 802.3 az network and power performance | |
CN102769665B (zh) | 射频测试仪表共享系统及其使用方法 | |
CN102223452A (zh) | 移动终端的tty测试方法及系统 | |
CN109104264A (zh) | 一种数据传输方法和基站 | |
CN102662745B (zh) | 一种虚拟机管理系统与方法 | |
CN104426715B (zh) | 一种分布式测试工具控制方法 | |
CN105487403A (zh) | 一种基于can的运动控制系统建立及其仿真建模方法 | |
Kenyon | High Performance Data Network Design: Design Techniques and Tools | |
CN109450763A (zh) | 一种总线扩展方法、网关和总线扩展系统 | |
CN101247294B (zh) | 测试数据生成方法及装置 | |
CN109426643A (zh) | Usb接口请求调度方法、装置及设备 | |
Kohn et al. | Universal communication architecture for high-dynamic robot systems using QNX | |
EP1830516A1 (en) | A method and a network management apparatus for implementing information service hierarchy inherited relation in the network management interface |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080206 Termination date: 20141210 |
|
EXPY | Termination of patent right or utility model |