一种协议仿真测试装置的制作方法

文档序号:7951697阅读:400来源:国知局
专利名称:一种协议仿真测试装置的制作方法
技术领域
本发明涉及仿真测试领域,尤其涉及一种能够处理大流量数据的协议仿真测试装置。
背景技术
协议仿真测试在国际上有标准的测试和测试控制符(Testing and TestControl Notation,TTCN)脚本语言支持。TTCN脚本语言的产生是为了满足协议测试的需要。目前TTCN脚本语言已经发展到了第三个版本TTCN-3。
TTCN-2脚本语言主要提供了7条控制指令REPEAT指令(循环指令);GOTO指令(跳转指令);SEND指令(发送协议报文指令);RECEIVE指令(接收协议报文指令);TIMEOUT指令(定时指令);OTHERWISE指令(其他非预期状态指令);PASS FAIL INCONC指令(结果判断指令);这7条控制指令基本上能够完成所有的协议仿真测试的需求。目前协议仿真测试大部分由基于上述控制指令的纯软件实现。这种纯软件的测试方案最大缺点就是受软件设计结构和软件运行的局限,无法实现大流量数据的仿真测试,因此无法获知被测试设备突发大流量数据情况下的协议测试结果,如压力测试、异常测试或协议攻击等。

发明内容
本发明提供一种协议仿真测试装置,用以解决现有技术中软件协议仿真测试无法实现大流量数据情况下的仿真测试问题。
本发明的协议仿真测试装置包括指令输入单元、发送单元、接收单元、核心处理单元和结果输出单元;所述指令输入单元接收输入的测试指令,向所述发送单元、接收单元和核心处理单元发送相应的控制指令和协议特征信息;所述发送单元根据所述控制指令和协议特征信息生成请求数据包;接收所述核心处理单元的控制信号,将请求数据包发送到被测试设备;所述接收单元根据所述协议特征信息配置应答数据包的适配规则;根据所述控制指令从被测试设备接收符合适配规则的应答数据包,并发送到所述核心处理单元;所述核心处理单元在接收到所述控制指令后发送控制信号到所述发送单元;在接收到应答数据包后判断接收到的应答数据包的响应时间是否超时,并将判断结果输出到所述结果输出单元;所述结果输出单元接收并输出判断结果。
本发明的上述装置,还包括一定时器,向所述发送单元和所述接收单元提供时间信息;所述发送单元接收所述核心处理单元的控制信号,从所述定时器获取当前时间信息,并添加到所述请求数据包中;所述接收单元接收到应答数据包后,从所述定时器获取当前时间信息,并添加到应答数据包中;所述核心处理单元根据应答数据包中的时间信息计算该应答数据包的响应时间。
根据本发明的上述装置,所述指令输入单元包括指令处理模块和特征信息存储模块;所述指令处理模块接收输入的测试指令,生成并发送相应控制指令到所述发送单元、接收单元和核心处理单元;并根据输入的测试指令确定出测试的协议类型,将协议类型信息发送到所述特征信息存储模块;
所述特征信息存储模块将本地存储的对应协议类型的特征信息发送到所述发送单元、接收单元和核心处理单元。
根据本发明的上述装置,所述发送单元包括数据发送模块和物理接口模块;所述数据发送模块根据所述控制指令和所述协议特征信息生成请求数据包;接收所述核心处理单元的控制信号,将当前时间作为发送时间,添加到请求数据包,并将请求数据包发送到所述物理接口模块;所述物理接口模块将请求数据包转换为适合所述被测试接收数据格式发送到被测试设备。
所述发送单元还包括一数据修正模块,从所述数据发送模块获取要修正的请求数据包,根据所述核心处理单元发送的修正指令进行相应修正后发送到所述物理接口模块。
根据本发明的上述装置,所述接收单元包括模板适配模块和物理接口模块;所述物理接口模块从被测试设备接收应答数据包,发送到所述模板适配模块;所述模板适配模块根据所述适配规则配置适配模板;若应答数据包与适配模板匹配,则在应答数据包中添加当前的时间信息,发送到所述核心处理单元;否则,将该应答数据包丢弃。
所述模板适配模块根据所述协议特征信息对应的一种或多种数据报文配置一个或多个适配模板。
所述接收单元还包括一个统计模块,与所述模板适配模块连接;所述模板适配模块若判断应答数据包与适配模板匹配,则发送匹配成功信息到所述统计模块;否则,发送匹配失败信息到所述统计模块;所述统计模块分别对匹配成功和匹配失败的数据包个数进行统计,并将统计信息发送到结果输出单元。
根据本发明的上述装置,所述核心处理单元包括核心处理模块;所述核心处理模块将所述应答数据包的到达时间减去发送时间,得到该应答数据包的响应时间,与所述协议特征信息所规定的响应时间进行比较,若该应答数据包的响应时间大于规定的响应时间,则判断该应答数据包超时,否则,判断该应答数据包正常接收,并将判断结果输出到所述结果输出单元。
所述核心处理单元还包含一个过程信息存储模块,与所述核心处理模块和所述发送单元连接;若核心处理模块根据所述控制指令或所述协议特征信息决定将请求数据包进行修正后再次发送,则通知所述过程信息存储模块从所述发送单元获取要修正的请求数据包,对照该请求数据包和上一次接收的应答数据包的内容,生成修正指令,发送到所述发送单元;所述发送单元根据该修正指令对所述请求数据包进行修正后发送到被测试设备。
根据本发明的上述装置,所述指令输入单元、发送单元、接收单元、核心处理单元和结果输出单元由逻辑电路或专用集成电路实现。
本发明的有益效果如下(1)本发明的协议仿真测试装置能够完成软件仿真测试的所有功能,由于本发明协议仿真测试装置各单元之间相互独立、并发处理,因此只要选用相应的逻辑电路或集成电路,就可使各单元都具备被测设备的极限速率的处理能力,因此可实现被测设备在极限速率情况下的协议仿真测试。
(2)本发明的协议仿真测试装置按照功能划分为指令输入单元、发送单元、接收单元、核心处理单元和结果输出单元,各个单元功能独立,整体结构清晰,易于硬件实现。


图1为本发明协议仿真测试装置结构示意图;
图2为本发明协议仿真测试装置的指令输入单元的结构示意图;图3为本发明协议仿真测试装置的发送单元的结构示意图;图4为本发明协议仿真测试装置的接收单元的结构示意图;图5为本发明协议仿真测试装置的核心处理单元的结构示意图。
具体实施例方式
参见图1,为本发明协议仿真装置结构示意图,具体包括指令输入单元、发送单元、接收单元、核心处理单元、结果输出单元和定时器。
所述指令输入单元如图2所示,包括指令处理模块和特征信息存储模块。指令处理模块接收输入的测试指令,分别生成发送给发送单元、接收单元和核心处理单元的控制指令,并分别发送到发送单元、接收单元和核心处理单元;发送到发送单元和接收单元的控制指令至少包含测试指令发送设备和被测试设备的地址信息,命令发送单元向指定的被测设备发送请求数据包,命令接收单元从该指定的被测设备接收应答数据包;发送到核心处理单元的控制指令至少包含发送参数信息,命令核心处理单元按照发送参数规定的时间间隔和发送次数向发送单元发送控制信号,控制发送单元进行数据包发送;同时,指令处理模块还要根据输入的测试指令确定所要测试的协议类型(完成一个测试指令可能需要多种协议配合实现,但测试过程只能跟踪和分析处理一种协议,因此要针对测试指令确定需要测试的协议类型,测试指令和协议类型的对应关系可预先存储在指令处理模块中),并将确定出的协议类型发送到特征信息存储模块。特征信息存储模块从本地存储的各种协议的特征信息中查询到该类型协议的特征信息,将其发送到发送单元、接收单元和核心处理单元。协议特征信息至少包含该协议对应的一种或多种数据报文的数据匹配规则和规定的响应时间;发送到接收单元的特征信息至少包含数据匹配规则,发送到核心处理单元的特征信息至少包含规定的响应时间。
所述发送单元如图3所示,包括数据发送模块和物理接口模块。数据发送模块接收到指令输入单元的控制指令后,根据其中的地址信息和接收到的协议特征信息生成请求数据包,请求数据包的个数根据测试协议的特征可以为一个或多个;数据发送模块接收到核心处理单元的控制信号后,从定时器获取当前的时间信息作为发送时间,添加到请求数据包,并将请求数据包发送到物理接口模块。物理接口模块将请求数据包打包为适合被测设备或被测设备所在网络传输的数据帧,并发送到控制指令所指定地址的被测试设备。
针对某些协议测试过程中需要循环发送或跳转的情况,发送单元还可包含一个数据修正模块,用来接收核心处理单元的修正指令,从数据发送模块获取要修正的请求数据包到该数据修正模块中存储,按照修正指令对该请求数据包进行修正后,发送到物理接口模块,并由其发送到指定地址的被测设备。
所述接收单元如图4所示,包括模板适配模块和物理接口模块。模板适配模块接收到特征信息后,根据适配规则配置适配模板。由于一种协议可对应一种或多种数据报文,每种数据报文有各自的适配规则,因此模板适配模块针对一种或多种数据报文配置一个或多个适配模板。各种类型协议的适配模板可预先设置在模板适配模块中,当模板适配模块接收到特征信息后,从中选用相应的适配模板。物理接口模块根据控制指令,从指定地址的被测设备接收应答数据包的数据帧,并将该数据帧恢复为应答数据包,发送到模板适配模块。模板适配模块接收到应答数据包后,从定时器获取当前的时间作为该应答数据包的到达时间,添加到应答数据包中,并将应答数据包与适配模板进行数据匹配判断,若应答数据包与适配模板匹配,则将该应答数据包发送到所述核心处理单元;否则,将应答数据包丢弃。模板适配模块也可以先对接收到的应答数据包进行数据匹配判断,对判断为匹配的应答数据包,在其中添加当前的时间信息,对判断为不匹配的应答数据包直接丢弃。接收单元还可包含一个统计模块,模板适配模块每接收和丢弃一个应答数据包都发送相应的信息给该统计模块,由其进行记录和统计(如对接收或丢弃的应答数据包的个数进行统计),统计模块将统计结果发送到结果输出单元。
所述核心处理单元包括核心处理模块,核心处理模块接收指令输入单元的控制指令后,按照规定的时间间隔和发送次数向发送单元的数据发送模块发送控制信号,控制数据发送模块发送请求数据包。所述核心处理模块在接收到接收单元发送的应答数据包后,将应答数据包中的到达时间减去发送时间,得到该应答数据包的实际响应时间,与从指令输入单元接收到的该协议规定的响应时间进行比较,若应答数据包的响应时间小于等于规定的响应时间,则判断该应答数据包正常接收;否则,判断该应答数据包超时接收,核心处理模块将判断结果输出到结果输出单元。
针对某些协议测试过程中需要循环发送或跳转的情况,核心处理单元还可包含一个过程信息存储模块,如图5所示。核心处理模块接收到应答数据包后,根据控制指令或协议特征信息发现测试还未完成,需要根据返回的应答信息对请求数据包进行修正后再次发送,此时,通知过程信息存储模块从发送单元的数据发送模块中获取要修正的请求数据包存储到过程信息存储模块,然后,核心处理模块根据应答数据包的内容信息,确定对该请求数据包的哪些数据进行修正(如目标地址信息或请求的内容信息),并将具体修正过程生成数据修正指令,发送到发送单元的数据修正模块,发送单元进行数据修正后,发送到指定的被测设备。
所述结果输出单元接收核心处理单元中的核心处理模块和接收单元中的统计模块输出的测试结果信息,并进行处理,将所有应答数据包的测试结果或/和统计结果进行显示或输出。
所述定时器为发送单元和接收单元提供时间信息。
上述指令输入单元、发送单元、接收单元和核心处理单元由逻辑电路组或专用集成电路组构成。例如指令输入单元中的特征信息存储模块由可读可写存储器实现,为了达到测试大流量数据的要求,最好选用快速可读可写存储器;发送单元的物理接口模块和接收单元的物理接口模块针对同步数字系列包(Packet Over SDH,POS)接口的网络或设备,可选用同步数字系列(Synchronous Digital Hierarchy,SDH)的物理层芯片,针对以太网接口的网络或设备,可选用媒体接入控制(Media Access Control,MAC)芯片。
发送单元和接收单元的逻辑电路组或专用集成电路组需具备与被测设备相应的极限速率的处理能力。例如,被测设备为100Mbps以太网中的主机,发送单元和接收单元的逻辑电路组或专用集成电路组需具备100Mbps的数据处理能力。
下面以在100Mbps的以太网中PING协议测试为例,结合上述协议仿真装置,对其工作流程进行详细描述。
在指令输入单元输入指令Ping 192.168.10.10(本实施例假设协议仿真测试装置的IP地址为192.168.10.1)指令输入单元的指令处理模块根据接收到的Ping指令,确定所要测试的协议类型为TCP/IP,并将TCP/IP的标识信息发送到指令输入单元的特征信息存储模块。特征信息存储模块根据TCP/IP标识,将预先存储于本地的TCP/IP的特征信息发送到发送单元、接收单元和核心处理单元。发送到接收单元的特征信息至少包括TCP/IP的各种数据报文的数据匹配规则,发送到核心处理单元的特征信息至少包括TCP/IP协议规定的响应时间;同时,指令处理模块接收Ping指令后,分别针对发送单元、接收单元和核心处理单元生成控制指令并发送,命令发送单元生成源IP地址为192.168.10.1和目标IP地址为192.168.10.10的请求数据包,命令接收单元接收源IP地址为192.168.10.10和目标IP地址为192.168.10.1的应答数据包,命令核心处理单元发送控制信号给发送单元;发送单元的数据发送模块接收到控制指令后,根据TCP/IP协议的特征信息和按照控制指令中的地址等信息生成请求数据包;核心处理单元接收到控制指令后,生成控制信号并发送到发送单元的数据发送模块;
发送单元的数据发送模块接收控制信号后,从定时器获取当前的时间作为发送时间,添加到请求数据包的相应位置,然后发送到发送单元的物理接口模块;物理接口模块将请求数据包打包为以太网的数据帧,发送到IP地址为192.168.10.10的网络主机;目标主机接收到请求数据包后返回应答数据包,接收单元的物理接口模块接收源IP地址为192.168.10.10和目标IP地址为192.168.10.1的以太网数据帧,并将其恢复为应答数据包,发送到模板适配模块;模板适配模块此时已根据收到的由指令输入单元发送的TCP/IP协议特征信息配置了TCP/IP协议所对应的传输控制协议(Transmission Control Protocol,TCP)、用户数据报协议(User Datagram Protocol,UDP)、网际协议(InternetProtocol,IP)、地址解析协议(Address Resolution Protocol,ARP)、网际控制消息协议(Internet Control Messages Protocol,ICMP)等数据报文的适配模板;在接收到应答数据包后,将应答数据包与相应的适配模板进行数据匹配判断,若数据匹配,则从定时器获取当前的时间作为该应答包的到达时间,添加到应答数据包中,将应答数据包发送给核心处理单元,并向接收单元的统计模块发送匹配成功信息;否则,将该应答数据包丢弃,并向统计模块发送匹配失败信息;统计模块分别统计匹配成功和匹配失败的应答数据包的个数,并将统计结果发送到结果输出单元;核心处理单元接收到应答数据包后,从中提取发送时间和到达时间,用到达时间减去发送时间得到该应答数据包的实际响应时间,与从指令输入单元接收到的TCP/IP协议所规定的响应时间进行比较,若计算出的响应时间小于等于规定的响应时间,则判断该应答数据包正确接收;否则判断该应答数据包超时;核心处理单元将判断结果发送到结果输出单元;结果输出单元将接收单元丢弃的应答数据包的接收状态确定为未收到,将核心处理单元正确接收的应答数据包的接收状态确定为正常,将核心处理单元超时接收的应答数据包的接收状态确定为超时,并显示所有应答数据包的接收状态和接收个数统计结果。
为了测试100Mbps的以太网主机的满速率情况下的处理能力,可以以100Mbps的速率向协议仿真测试装置发送Ping指令,由于可通过选用相应的逻辑电路或集成电路,使协议仿真测试装置的各个单元都达到100Mbps的数据处理能力,并且各单元之间独立运行、并发处理,因此协议仿真测试装置能够处理100Mbps速率情况下的数据发送、接收及判断,实现满速率情况的测试。
对于复杂的协议仿真测试,例如以太网上的点对点协议(Point to PointProtocol Over Enthternet,PPPOE)的仿真测试,也可以通过上述装置实现。
综上所述,本发明的协议仿真测试装置能够完成软件仿真测试中有关一致性测试的定时关系和数据匹配的测试和判断,由于协议仿真测试装置各单元之间相互独立,能够并发处理数据,因此只要选用相应的逻辑电路或集成电路,就可使各单元都具备被测设备的极限速率的处理能力,因此可实现被测设备的极限速率情况下的协议仿真测试,如压力测试、异常测试或协议攻击等。另外,本发明的协议仿真测试装置划分为指令输入单元、发送单元、接收单元、核心处理单元和结果输出单元,每个单元功能独立,整体结构清晰,易于硬件实现。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种协议仿真测试装置,包括指令输入单元、发送单元、接收单元、核心处理单元和结果输出单元;所述指令输入单元接收输入的测试指令,向所述发送单元、接收单元和核心处理单元发送相应的控制指令和协议特征信息;所述发送单元根据所述控制指令和协议特征信息生成请求数据包;接收所述核心处理单元的控制信号,将请求数据包发送到被测试设备;所述接收单元根据所述协议特征信息配置应答数据包的适配规则;根据所述控制指令从被测试设备接收符合适配规则的应答数据包,并发送到所述核心处理单元;所述核心处理单元在接收到所述控制指令后发送控制信号到所述发送单元;在接收到应答数据包后判断接收到的应答数据包的响应时间是否超时,并将判断结果输出到所述结果输出单元;所述结果输出单元接收并输出判断结果。
2.如权利要求1所述的装置,其特征在于,还包括一定时器,向所述发送单元和所述接收单元提供时间信息;所述发送单元接收所述核心处理单元的控制信号,从所述定时器获取当前时间信息,并添加到所述请求数据包中;所述接收单元接收到应答数据包后,从所述定时器获取当前时间信息,并添加到应答数据包中;所述核心处理单元根据应答数据包中的时间信息计算该应答数据包的响应时间。
3.如权利要求1所述的装置,其特征在于,所述指令输入单元包括指令处理模块和特征信息存储模块;所述指令处理模块接收输入的测试指令,生成并发送相应控制指令到所述发送单元、接收单元和核心处理单元;并根据输入的测试指令确定出测试的协议类型,将协议类型信息发送到所述特征信息存储模块;所述特征信息存储模块将本地存储的对应协议类型的特征信息发送到所述发送单元、接收单元和核心处理单元。
4.如权利要求1所述的装置,其特征在于,所述发送单元包括数据发送模块和物理接口模块;所述数据发送模块根据所述控制指令和所述协议特征信息生成请求数据包;接收所述核心处理单元的控制信号,将当前时间作为发送时间,添加到请求数据包,并将请求数据包发送到所述物理接口模块;所述物理接口模块将请求数据包转换为适合所述被测试接收数据格式发送到被测试设备。
5.如权利要求4所述的装置,其特征在于,所述发送单元还包括一数据修正模块,从所述数据发送模块获取要修正的请求数据包,根据所述核心处理单元发送的修正指令进行相应修正后发送到所述物理接口模块。
6.如权利要求1所述的装置,其特征在于,所述接收单元包括模板适配模块和物理接口模块;所述物理接口模块从被测试设备接收应答数据包,发送到所述模板适配模块;所述模板适配模块根据所述适配规则配置适配模板;若应答数据包与适配模板匹配,则在应答数据包中添加当前的时间信息,发送到所述核心处理单元;否则,将该应答数据包丢弃。
7.如权利要求6所述的装置,其特征在于,所述模板适配模块根据所述协议特征信息对应的一种或多种数据报文配置一个或多个适配模板。
8.如权利要求6所述的装置,其特征在于,所述接收单元还包括一个统计模块,与所述模板适配模块连接;所述模板适配模块若判断应答数据包与适配模板匹配,则发送匹配成功信息到所述统计模块;否则,发送匹配失败信息到所述统计模块;所述统计模块分别对匹配成功和匹配失败的数据包个数进行统计,并将统计信息发送到结果输出单元。
9.如权利要求1所述的装置,其特征在于,所述核心处理单元包括核心处理模块;所述核心处理模块将所述应答数据包的到达时间减去发送时间,得到该应答数据包的响应时间,与所述协议特征信息所规定的响应时间进行比较,若该应答数据包的响应时间大于规定的响应时间,则判断该应答数据包超时,否则,判断该应答数据包正常接收,并将判断结果输出到所述结果输出单元。
10.如权利要求9所述的装置,其特征在于,所述核心处理单元还包含一个过程信息存储模块,与所述核心处理模块和所述发送单元连接;若核心处理模块根据所述控制指令或所述协议特征信息决定将请求数据包进行修正后再次发送,则通知所述过程信息存储模块从所述发送单元获取要修正的请求数据包,对照该请求数据包和上一次接收的应答数据包的内容,生成修正指令,发送到所述发送单元;所述发送单元根据该修正指令对所述请求数据包进行修正后发送到被测试设备。
全文摘要
本发明公开了一种协议仿真测试装置,包括指令输入单元、发送单元、接收单元、核心处理单元和结果输出单元;指令输入单元接收输入的测试指令,向发送单元、接收单元和核心处理单元发送相应的控制指令和协议特征信息;发送单元生成请求数据包,并接受核心处理单元的控制,将请求数据包发送到被测试设备;接收单元配置应答数据包的适配规则,从被测试设备接收符合适配规则的应答数据包,发送到核心处理单元;核心处理单元判断应答数据包的响应时间是否超时,并将判断结果输出到结果输出单元,由其进行显示或输出。采用本发明,可实现对设备进行一致性测试,并且能够实现被测试设备在极限速率的协议仿真测试。
文档编号H04L29/06GK1848777SQ20061000139
公开日2006年10月18日 申请日期2006年1月19日 优先权日2006年1月19日
发明者黄春明 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1