中国电子科技集团第三十研究所 张颖 石鑫 张一 肖良木
本文以国产化网络平台为基础,以启动自检、网络处理典型功能和流程为研究对象,探索和总结国产化平台的测试方法,作为提升国产化设备平台测试技术的重要参考。
当前主流产品中,从发货比例及平台设计架构普适性考虑,优选具有代表性的通用隔离平台,即国产化系列网络机平台进行研究。本文以国产化网络机平台为基础,挑选平台的典型流程和功能为例进行研究,作为平台测试方法的探索和尝试。
设备平台测试内容,按照先整体后局部可分为整机和板级。限于篇幅,以下从典型性和通用性角度挑选两个典型流程和功能进行技术研究介绍:(1)平台启动自检专题:启动自检是平台工作的首要环节,验证整机部件检测程序检错和容错的能力,内容包含平台启动、部件自检、固件双备份等。(2)平台网络处理专题:本专题是平台为上层应用提供网络处理和协议栈处理功能,内容包含协议预处理、规则匹配、网络转发功能等[1]。
2.1.1 原理分析
平台启动自检流程,是设备上电启动到平台应用正常工作的全过程,涉及的内容包括Uboot 自检、操作系统初始化和应用及驱动程序加载三个环节。首先是Uboot 自检环节;其次是操作系统初始化;最后是平台应用及各类驱动加载环节。
整个专题主要针对平台启动自检流程的测试方法进行探索和研究,研究内容包括:(1)平台启动方式:分为冷启动和热启动;(2)平台启动业务分支:合法性验证,进入不同分支;(3)启动异常处理:不同启动阶段异常处理。
2.1.2 研究内容
专题研究的具体内容如表1 所示。
表1 专题研究内容Tab.1 The research contents
2.1.3 测试方法本节主要对启动自检流程的测试方法进行分析。
(1)前置条件。设备正常开机上电,启动流程所涉及的软硬件已就绪。
(2)构建思路。通过Shell 脚本命令执行构造平台热启动,手动或开关机测试仪构造平台冷启动,在启动过程的各个环节构造异常,观察设备的正常和异常流程处理是否符合设计预期。
(3)测试方法。设备正常启动引导,通过启动程序执行,修改启动程序脚本,使设备处于各个环节,观察设备是否按照设计做出相应处理。
不同组部件的异常构造方法各有不同,主要归纳为以下几类方法:
1)物理方法:针对内存、外存组件,采用的是手动拔插存储器件,通过观察串口打印输出和液晶显示确认自检结果。
2)脚本方法:首先是修改自检脚本:针对管理板、EMC 模块、安防模块,采用的是修改Shell 自检脚本的标记位,构造上述模块自检失败,通过观察串口打印输出和液晶显示确认自检结果;其次是修改启动脚本:针对FPGA 程序,采用的是修改启动脚本,构造FPGA 程序不加载,通过观察串口打印输出和液晶显示确认自检结果。
3)工具方法:针对噪声源芯片,采用的是拨动拨码开关,通过观察串口打印输出和液晶显示确认自检结果。
4)命令方法:针对内核、CPLD、System 组件,采用的是命令行改写存储区,通过观察串口打印输出确认自检结果[2]。
(4)结果观察。主要分为以下几种方法:
1)物理方法:手动拔插存储器件,观察到设备串口打印缺少组部件,液晶屏有相应提示,设备无法正常启动。
2)脚本方法:首先是修改自检脚本,管理板、EMC模块、安防模块等异常时,设备无法正常启动;其次是修改启动脚本,FPGA 程序不加载,设备启动但无法调用FPGA 接口。
3)工具方法:拨动拨码开关构造噪声源异常,设备无法正常启动,报随机源异常。
4)命令方法:破坏内核、CPLD、System 组件的存储区数据,设备检测到异常并触发恢复机制。
2.1.4 测试试验及效果
测试试验的内容及最终验证结果如表2 所示。
表2 试验内容及效果Tab.2 The test contents and results
2.2.1 原理分析
本专题涉及到平台网络业务数据处理流程,包含平台协议预处理、规则匹配、网络转发处理等。以设备工作过程涉及的业务数据流向为例进行简要介绍。
(1)数据内网单元到外网单元方向处理过程:内网单元收到数据→白名单模块处理→协议预处理→规则匹配、封装处理→路由/桥处理、ARP 处理→隔离模块处理→外网单元分片发出数据。
(2)数据外网单元到内网单元方向处理过程:是以上的逆过程。
2.2.2 研究内容
专题研究的具体内容如表3 所示。
表3 专题研究内容Tab.3 The research contents
2.2.3 测试方法
本节主要是探究业务数据在设备中的处理过程,通过工具-网络测试仪对其进行测试,以达到测试数据处理过程的正确性。
(1)测试目标。通过使用IXIA 网络测试仪进行数据传输测试,用例覆盖等价类和边界值等测试条件。
(2)测试组网。测试环境拓扑图如图1 所示。
图1 测试环境拓扑图Fig.1 Test environment topology diagram
(3)前置条件。设备进入工作状态。
(4)构建思路。主要有以下几点:
1)放开策略:放开规则表策略,使构造的网络数据包能够经被测设备转发。
2)规则确认:通过设备后台命令查看规则表,确认数据包是否符合规则进行匹配处理。
3)构造数据:使用工具-网络测试仪构造网络数据包,覆盖不同数据包大小:数据包长从64 到1518 逐一递增,覆盖边界,超过MTU 分片;覆盖不同报文协议号:ALL。
(5)测试方法。主要有以下几点:
1)策略配置:通过rulecfg 命令在设备后台配置规则策略,放开规则表策略,使构造的网络数据包能够经被测设备转发。
2)IXIA 参数设置:覆盖不同数据包大小:数据包长从64 到1518 逐一递增,覆盖边界,超过MTU 分片;覆盖不同报文协议号:ALL;流量大小按照最大支持带宽1000M 设置。
3)设备后台通过tcpdump 工具抓包,分别抓取内网口、外网口、网桥上的数据包,确认数据通断及数据流向。
(6)结果观察。主要有以下几点:
1)策略配置:通过rulecfg 命令查看到策略配置生效。
2)测试仪设置:配置的数据包覆盖不同的包长和不同的协议号,流量跑满限速。
3)规则处理:按照规则匹配处理数据包,规则匹配,数据包通;规则不匹配,数据包不通。
4)网络转发测试:内网单元发外网单元收,即数据包流向,内网到外网。规则匹配,数据包通;规则不匹配,数据包不通。
5)网络转发测试:外网单元发内网单元收,即数据包流向,外网到内网。规则匹配,数据包通;规则不匹配,数据包不通。
6)设备后台通过tcpdump 工具抓包,分别抓取内网口、外网口、网桥上的数据包,确认数据包的通断及数据流向是否符合设计预期。
2.2.4 测试试验及效果
测试试验的内容及最终验证结果如表4 所示。
表4 试验内容及效果Tab.4 The test contents and results
通过全国产化网络机平台启动自检及网络处理专题的研究,我们积累了平台设备典型功能和流程的测试方法,作为后续持续优化和开展平台类测试的技术基础和经验参考。