当前位置:文档之家› NTCIP协议一致性测试工具研究及实现

NTCIP协议一致性测试工具研究及实现

The Research and Practice on Conformance Test of NTCIP
Chen Lei Zhou Run-song Zhaiyan-fen Jian Wei (China Software Testing Center Beijing 100048 )
【Abstract】This paper analysis the status of NTCIP protocol. And internal status that about the conformance test tool of protocol for NTCIP protocol is blank. So this paper analysis NTCIP protocol and this protocol proof method. NTCIP protocol set and get message by SNMP protocol. The conformance test tool for NTCIP is base on this theory. This paper introduces the work that is base on the research and practice on conformance test of NTCIP Based on SNMP and introduces the design method for this testing tool. And this testing tool is base on SNMP++. It can analyze MIB file, build MIB tree, send SNMP message, and manage test cases. This testing tool sends and gets NTCIP massage by SNMP protocol. Then the testing tool validates the message’s correctness. This testing tool fills internal gap. 【Key words】NTCIP,SNMP,SNMP++,MIB File,Conformance test of Protocol
2. 关键技术
2.1 NTCIP 简介
NTCIP 协 议 是 由 联 邦 公 路 局 (Federal Highway Administration)、交通工程师学会 ITE(Institute of Transportation Engineers)、美 国 周 公 路 及 运 输 官 员 协 会 AASHTO(American Association of State Highway and Transportation Officials ) 与 美国国家电气制造协会 NEMA(National Electrical Manufacturers Association) 共同组成的 NTCIP 联合委员会经过多年研究制 定而成的。NTCIP 的核心目标是为运输业制定一整套通信标 准,解决 ITS 的众多电子设备、众多信息系统的互换性和互操 作性差的问题。[1] 通过统一的标准,NTCIP 扫除了不同部门 在协调上的障碍,允许统一通讯线路上存在不同的设备种类
3.2 SNMP 发送 / 接收 本工具利用 SNMP++ 设计了报文的发送和接收两种操
作,通过对不同步骤的多个操作进行封装,然后连接服务器,发 送 SNMP 报文,并取得返回结果,同时对访问超时次数进行了 限制,但访问超时次数超过固定阀值的时候,工具自动返回错 误提示。首先要先设定被访问主机的地址、访问端口号 161, 同时设定 SNMP 协议的版本号,设定报文重发次数以及超时 限制阀值。然后对选中的要验证的 MIB 树的节点的编码(Oid 号),及其设定值。最后通过 socket 将 set 报文发送到被测机, 如果出现超时等原因不能发送的,当重发次数小于设定值的时 候将会重发报文,具体流程如图 3 所示,其中空白的圆形为算 法的起始位和椭圆方框为算法的结束位置。
测试分析·Testing and Analysis
NTCIP协议一致性测试工具 研究及实现
陈磊 周润松 翟艳芬 简炜 ( 中国软件评测中心 北京 100048)
【摘要】通过分析 NTCIP 协议一致性测试工具的现状,发现该协议一致性测试工具在国内的空白局面,因此通过分析 NTCIP 协议族 及其协议验证方法,发现 NTCIP 协议是通过 SNMP 协议发送和接受报文,基于上述理论,设计开发了 NTCIP 协议一致性测试工具。 本文介绍了基于 SNMP 协议的 NTCIP 协议一致性测试的研究工作,并介绍了该研究中设计和实现的协议一致性检测工具,该工具 主要应用了 SNMP++ 进行开发,实现了 MIB 文件的解析、MIB 树的生成、SNMP 报文组包发送接收及其验证和测试用例管理等功能, 本工具通过 SNMP 协议发送和接受 NTCIP 报文,验证结果的正确性,在该领域填补了国内空白。 【关键词】NTCIP ;SNMP ;SNMP++ ;MIB 文件 ;协议一致性测试 【中图法分类号】TP319 【文献标识码】A
图 3 发送报文流程图
图 4 接收报文流程图
信息安全与技术ɾ2011.01ɾ89ɾ
Testing and Analysis·测试分析
图 5 测试工具界面截图
本工具提供了测试案例管理部分功能,运行测试工程师通过保 存导入以前设计好的测试用例快速完成测试,并且在测试案例 管理部分可以对测试用例的详细步骤进行简单的修改,满足了 智能交通 NTCIP 协议一致性测试工具的需求。
4. 结束语
本文介绍了 NTCIP 协议一致性测试工具的设计和实现 过程,同时对其实现方法和实现流程进行了简单的介绍,并在 最后对该工具的运行结果进行了简单的介绍,但是该工具还存 在一些易用性上和对单步测试步骤的分布调试上的设计等问 题,有待下一步完善。
SNMP 是由一系列协议和规范组成的,它们提供了一种 从网络上的设备中收集网络管理信息的方法。它主要包括三 个部分 :管理信息结构 SMI、管理信息库 MIB、简单网络管理 协议 SNMP ;为了有效地对网络进行管理,SNMP 模型必须定 义大量的变量来描述网络上硬件及软件的运行状态和统计信 息。[4] 在 SNMP 中,这些变量叫做对象,网络的所有对象在 管理信息库 MIB 中定义 [5]。
Else If( 当前行含有注释 ) 删除注释部分 ;
读取对应的 MIB 文件 ; 调用 MIB 解析函数,生成 MIB 树 ; } 通过 SNMP++ 完成了对 MIB 文件的解释,首先通过读 取 MIB 文件的内容,分析判断读取内容是不是辅助访问点,在
ɾ88ɾ2011.01ɾ信息安全与技术
测试分析·Testing and Analysis
在 get 操作中,首先要设定被访问被测级的 IP 地址及其 端口号,同时设定 SNMP 协议的版本号、报文重发次数以及超 时限制阀值。其次对选中的要验证的 MIB 树的节点的编码 (Oid 号)及其设定值。然后通过 socket 将 get 报文发送到被 测机,同时解析返回报文,显示得到报文结果信息,如果出现超 时等原因不能发送的,当重发次数小于设定值的时候将会重发 报文。具体流程如图 4 所示,其中空白的圆形为算法的起始位
1. 引言
进入 21 世纪以来,智能交通领域得到了快速的发展,美国 对于智能交通领域制定了相关的 NTCIP 协议,来解决该领域 的互换性和互操作性的问题。近些年来,我国在该领域也有了 突飞猛进的发展,但是在该领域测试方法上还处于起步阶段, 测试工具更是空白。鉴于此,本研究的目的就是为了能够保证 国内该领域产品的互换性和互操作性,解决各种设备的规范 化、标准化问题。
MIBlist 文件解析算法伪代码如下 : 打开 MIBlist 文件 ; HTREEITEM HRoot ;// 根结点句柄 If(HRoot 不为空 ) {
遍历清空树节点 ; } While(读取 MIBList 文件且不是最后一行) {
If( 当前行是空行 ) Continue;
Else If( 当前行是注释行 ) Continue;
设定,预判返回结果,对于预期结果与实际返回值不相符的或 者是操作错误的该工具将会高亮显示,可以让工程师更加醒目 的发现问题。 3.3 NTCIP 协议一致性测试工具实现
本工具要先建立测试用例,然后添加测试步骤,同时设计 测试项,通过封装一个步骤下的所有测试项,完成测试。同时
图 2 MIB 文件流程图
SNMP 体系包括管理体系结构和协议体系结构。SNMP 由最初的 SNMPv1 开始,经历了三个发展阶段。但不论是 SNMPv1、SNMPv2c 还是 SNMPv3,它们的网络管理体系结 构都有相同的基本结构和组成部分。此外,它们的协议规范也 遵循相同的体系结构。[6] 2.3 SNMP++ 简介
SNMP++ 是 一 套 开 源 并 且 免 费 的 C++ 类 库。 它 为 网 络管理应用的开发者提供高效、安全、易用的 SNMP 服务。 SNMP++ 最初由 HP 公司开发,现由 Frank Fock 组织维护 和升级。SNMP 编程涉及的所有数据结构全部被封装在相应 的类中,所有的底层操作细节对使用者来说是完全透明的,从 而简化了 SNMP 网络管理软件开发的复杂性,也缩短了系统 开发周期 [7]。
由于对于智能交通领域的 MIB 文件是一个文件集合,
在 MIBlist 文件中存储了 MIB 树的前后关系,因此要先解析 MIBlist 文件,然后再对每次读取的 MIB 文件进行解析,具体 解析和生成 MIB 树流程如图 1 所示,其中空白的圆形为算法 的起始位和椭圆方框为算法的结束位置。
图 1 解析 MFra Baidu bibliotekBlist 文件流程图
3. 基于 SNMP 的 NTCIP 协议一致性测试工具的实现
3.1 MIB 文件的解析和 MIB 树的建立 通过 MIB(Management Information Base,MIB)浏览器
可以查询和设置 MIB 变量的值,方便网络的管理。实现 MIB 浏览器的难点在于对 MIB 文件的分析 [8,9],本文通过分析 MIB 文件的语法结构,应用 SNMP++ 完成了 MIB 文件的解析。
信息安全与技术ɾ2011.01ɾ87ɾ
Testing and Analysis·测试分析
和制造商生产的产品,NTCIP 的应用一般分为两大类 :中心 到 外 场(Center-to-Field,C2F)及 中 心 到 中 心(Center-toCenter,C2C)的 应 用。NTCIP 协 议 除 了 可 分 为 C2C 及 C2F 通信两大类之外,也可以按类似互联网 OSI 参考模型那样分层 来研究,从下到上共可分为 :信息层(Information Level)、应用 层 (Application Level)、传 输 层 (Transport Level)、子 网 络 层 (Sub-network Level)、实体层 (Plant Level)。NTCIP 除了在 应用层自行制定了 STMP 及 SNMP,并在子网络层还自行制定 了 PMPP,但 NTCIP 并不打算在这个领域发展新的标准,只是 选择 ITS 中要采用的那些标准以及这些标准与其他标准间的配 合,其中应用层的 SNMP 是本研究的重点 [2, 3]。 2.2 SNMP 简介
进行具体的解析处理。如果不是在判断是不是配管理节点定 义,容纳后进行对应关键字解析,并将其 OID 号保存到 MIB 树对应节点上。具体流程如图 2 所示 , 其中空白的圆形为算 法的起始位和椭圆方框为算法的结束位置。
和椭圆方框为算法的结束位置。 在 NTCIP 协议一致性测试工具中,可以通过预期返回值
相关主题