摘要:针对我国当前网络互连、互通的迫切需求,提出了一种通用的网络协议一致性测试平台的设计方案。通过对通用平台硬件结构和软件设计的说明,阐述了通用平台的工作过程和测试方法,为网络协议一致性测试提出了有效的解决方案。
关键词:通用平台;协议;一致性测试
前言
计算机网络协议一致性测试是检验计算机网络各部分正确互连、互通和互操作的关键技术,用来验证产品协议实现与相应协议标准之间的一致性。即在同一网络协议标准下检验不同的待测设备是否在相同的外部输入下,输出相同的结果。
目前, 我国网络产品检测的技术水平和能力与国际上存在较大差距,协议一致性测试产品的设计大多停留在测试方法的理论研究上,在协议测试的通用平台方面还缺乏较好的解决方案。
1 网络协议一致性测试概述
网络协议的一致性测试是一种功能性的黑盒测试,通常包括静态测试和动态测试两类。静态测试是指协议实现者向测试方提交“协议实现一致性声明”与协议中的静态一致性要求相比较,动态测试是运行测试集对DUT(DevICe under Test)进行测试。
协议一致陛测试包括三个阶段:第一阶段是测试生成,为特定协议产生独立于所有协议实现的抽象测试集;第二阶段是测试实现,把抽象测试集中的测试例转换成可执行的测试例;第三阶段为测试执行,在特定的DUT上执行测试用例。
通用网络协议一致性测试平台用于动态测试,也分为三个阶段:第一阶段是对一个指定的协议生成一个测试套集,根据协议的要求,这个测试套集可以在实现前对收发双方进行的交互进行完全设定,或者在某些需要双方互动(字段值需要对方的数据来进行填写)的字段给出一个变量。第二阶段是按照这个测试套集对被测设备的协议实现(DUT)进行黑盒测试;第三个阶段是通过比较DUT的实际输出与预期输出的异同,从而实现网络协议的一致性测试。
通用平台对各个不同的协议可支持生成不同的测试套集,分别进行测试和一致性对比。
2 通用平台组成
通用平台由控制台、测试机两部分组成。其中控制台负责配置测试套集的策略、测试结果的统计分析及人机交互;测试机负责生成或接收测试套集,然后生成测试流发送到被测设备;并从被测设备接收测试数据;然后将数据返回控制台。如图1所示。
2.1 控制台
控制台硬件可以是一台PC机,其网卡与测试机控制口相连。在高层通过人机对话界面,对协议、算法及网络参数进行配置,对测试套集生成模式及使用方式等进行策略设置;通过驱动程序与测试机进行通信,向测试机输入测试套集的参数配置,并接收测试机输出的结果;并对测试结果进行统计分析。
软件模块包括界面模块、协议接口模块、算法接口模块、网络接口模块、通信模块、统计分析模块。
2.2 测试机
2.2.1 硬件组成
测试机硬件采用高性能、高可靠性、高稳定性的嵌入式多核处理器平台。配置高速100M、1000M自适应以太网口,可扩展的大容量DDR2内存和大容量的Flash空间。硬件框图如图2所示,多核处理器平台的核心部件为CPU、CPLD和FPGA。