CN110290105B - 一种异构协议转换的验证平台和方法 - Google Patents
一种异构协议转换的验证平台和方法 Download PDFInfo
- Publication number
- CN110290105B CN110290105B CN201910390241.4A CN201910390241A CN110290105B CN 110290105 B CN110290105 B CN 110290105B CN 201910390241 A CN201910390241 A CN 201910390241A CN 110290105 B CN110290105 B CN 110290105B
- Authority
- CN
- China
- Prior art keywords
- protocol
- protocol conversion
- module
- packet
- sequence
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
Abstract
本发明提供了一种异构协议转换的验证平台和方法,包括:配置管理模块、包驱动模块、协议转换模块、参考模型和输出监测模块,配置管理模块用于对协议转换模块的工作参数和环境变量进行配置;包驱动模块用于将激励序列切分为源协议包,并将其转化为输入比特流,并将输入比特流转换成每个时钟周期对应的输入数据;协议转换模块用于对激励序列进行协议转换;参考模型从更高抽象层次实现异构协议转换类型的功能,将源协议的每个输入包转换为目标协议的包,得到预期输出包;输出监测模块用于对协议转换模块输出的数据进行采样,得到实际输出包,并将实际输出包与预期输出包进行字段比对。本发明解决了对异构协议转换的验证效率较低的技术问题。
Description
技术领域
本发明涉及数字交换通信技术领域,尤其是涉及一种异构协议转换的验证平台和方法。
背景技术
随着数字交换技术的迅猛发展,在高性能计算、数据中心、边缘计算、无线通信等应用领域需要实现异构协议的互连互通,并且要求异构协议之间的相互通信的满足高吞吐率、低延时等特性。传统的单一协议交换设备支持的协议类型固定,为了实现异构协议之间的数据交互,通常采用特定的桥接设备以实现两种特定协议的语义或格式转换,引入桥接设备会导致协议转换结构单一、系统延时较大,并且不利于复杂系统的升级和维护。
当复杂系统的组网包含三种及以上的异构协议时,如整个组网系统中包含RapidIO、FC、Ethernet三种异构协议,对应多种验证场景,采用桥接设备的方式进行直接功能验证时,会增加系统定位问题的复杂度,极大地浪费了人力和物力。
针对上述问题,还未提出有效的解决方案。
发明内容
有鉴于此,本发明的目的在于提供一种异构协议转换的验证平台和方法,以缓解了现有技术对异构协议转换的验证效率较低的技术问题。
第一方面,本发明实施例提供了一种异构协议转换的验证平台,该平台包括:配置管理模块,包驱动模块,协议转换模块,参考模型和输出监测模块,其中,所述配置管理模块用于对所述协议转换模块的工作参数和执行测试用例的环境变量进行配置,其中,所述工作参数包括:初始化配置参数,用于表征所述协议转换模块输出的数据的协议类型的参数,用于表征所述验证平台工作步骤的参数;所述包驱动模块用于将所述待转换源协议序列转换为激励序列,并将所述激励序列发送给所述参考模型和所述协议转换模块;所述协议转换模块用于基于所述工作参数和所述环境变量,对所述激励序列进行协议转换;所述参考模型用于基于所述用于表征所述协议转换模块输出的数据的协议类型的参数和预设协议转换模型,对所述激励序列进行异构协议转换,得到预期输出包,并将所述预期输出包发送给所述输出监测模块;所述输出监测模块用于按照预设时钟周期对所述协议转换模块输出的数据进行采样,得到实际输出包,并将所述实际输出包与所述预期输出包进行字段比对,得到比对结果,其中,所述比对结果用于表征所述协议转换模块对所述待转换源协议序列的协议转换是否成功。
进一步地,所述配置管理模块包括:存储器配置模块,源协议序列管理模块,调度管理模块和环境配置模块,其中,所述存储器配置模块用于对所述协议转换模块进行初始化配置;所述源协议序列管理模块用于配置所述用于表征所述协议转换模块输出的数据的协议类型的参数;所述调度管理模块用于配置所述表征激励序列的执行步骤的参数;所述环境配置模块用于配置所述执行测试用例的环境变量。
进一步地,所述包驱动模块包括:比特流转换模块和发送模块,其中,
所述比特流转换模块用于将特定规则的待转换序列切分成为源协议的包,根据协议包格式转化成输入比特流信息;
所述发送模块用于基于所述协议转换模块的输入接口时序,将所述比特流信息转换为每个时钟周期所对应的输入数据;并将所述输入数据发送给所述参考模型和所述协议转换模块。
进一步地,所述输出监测模块包括:协议输出监测模块和计分板,其中,所述协议输出监测模块用于按照所述预设时钟周期对所述协议转换模块输出的数据进行采样,得到所述实际输出包;所述计分板用于对所述实际输出包与所述预期输出包进行字段比对,生成比对结果。
进一步地,所述包驱动模块采用面向对象编程的方法和嵌套约束的方式构建所述激励序列。
进一步地,所述验证平台采用构建虚拟子网的方式对所述验证平台所处的异构协议网络空间进行简化。
第二方面,本发明实施例提供了一种异构协议转换的验证方法,该方法包括:获取待转换源协议序列,协议转换设备的工作参数和测试用例的环境变量,其中,所述工作参数包括:初始化配置参数,用于表征所述协议转换模块输出的数据的协议类型的参数,用于表征所述验证平台工作步骤的参数;基于所述协议转换设备的输入接口时序,将所述待转换源协议序列转换为激励序列;将所述激励序列发送给所述协议转换设备,以使所述协议转换设备基于所述工作参数和所述环境变量对所述激励序列进行协议转换,生成转换数据;基于预设参考模型和所述用于表征所述协议转换模块输出的数据的协议类型的参数,对所述激励序列进行异构协议转换,得到预期输出包;按照预设时钟周期对所述转换数据进行时序采样,生成实际输出包;对所述实际输出包和所述预设输出包进行字段比对,得到比对结果,其中,所述比对结果用于表征所述协议转换模块对所述待转换源协议序列的异构协议转换是否成功。
进一步地,基于预设参考模型,所述工作参数和所述环境变量,对所述激励序列进行异构协议转换,得到预期输出包包括:判断所述激励序列是否需要丢包;若否,则判断所述激励序列是否需要旁路;若否,则判断所述激励序列是否需要跨异构协议多播;若否,则基于所述用于表征所述协议转换模块输出的数据的协议类型的参数,所述激励序列进行异构协议转换,得到异构协议转换预期输出包;判断所述激励序列是否需要产生响应包;若是,则计算所述激励序列的预期响应包,并将所述响应包也确定为为所述预期输出包。
进一步地,所述方法还包括:若判断出所述激励序列需要丢包,则丢弃所述激励序列;若判断出所述激励序列需要旁路,则将所述激励序列作为所述预期输出包;若判断出所述激励序列需要跨异构协议多播,则计算多播组中每个目标协议对应的协议转换预期输出包;若判断出所述激励序列需要产生响应包,则计算所述激励序列的预期响应包,并将所述响应包也确定为所述预期输出包。
进一步地,基于所述协议转换设备的输入接口时序,将所述待转换源协议序列转换为激励序列,包括:将所述待转换源协议序列转换为比特流信息;基于所述协议转换设备的输入接口时序,将所述比特流信息转换为所述激励序列。
在本发明实施例中,通过配置管理模块用对协议转换模块的工作参数和执行测试用例的环境变量进行配置;包驱动模块将待转换源协议序列转换为激励序列,并将激励序列发送给参考模型和协议转换模块;协议转换模块基于工作参数和环境变量,对激励序列进行协议转换;参考模型基于用于表征所述协议转换模块输出的数据的协议类型的参数和预设协议转换模型,将激励序列转换为预期输出包,并将预期输出包发送给输出监测模块;输出监测模块按照预设时钟周期对协议转换模块输出的数据进行采样,得到实际输出包,并将实际输出包与预期输出包进行字段比对,得到比对结果,达到了对异构协议转换结果进行验证的目的。
本实施例中,通过参考模生成异构协议转换的预期输出包,输出监测模块将预期输出包和协议转换模块生成的实际输出包进行字段比对,从而确定出协议转换模块进行的异构协议转换是否正确,进而解决了现有技术中采用EDA仿真验证和FPGA原型验证进行异构协议转换时验证效率较低的技术问题,从而实现提高异构协议转换时验证效率的技术效果。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种异构协议转换的验证平台的示意图;
图2为本发明实施例提供的另一种异构协议转换的验证平台的示意图;
图3为本发明实施例提供的一种异构协议转换的验证方法的流程图;
图4为本发明实施例提供的参考模型工作步骤的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
根据本发明实施例,提供了一种异构协议转换的验证平台的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种异构协议转换的验证平台的示意图,如图1所示,该平台包括:配置管理模块10,包驱动模块20,协议转换模块30,参考模型40和输出监测模块50,其中,
所述配置管理模块10用于对所述协议转换模块的工作参数和执行测试用例的环境变量进行配置,其中,所述工作参数包括:初始化配置参数,用于表征所述协议转换模块输出的数据的协议类型的参数,用于表征所述验证平台工作步骤的参数;
所述包驱动模块20用于将所述待转换源协议序列转换为激励序列,并将所述激励序列发送给所述参考模型和所述协议转换模块;
所述协议转换模块30用于基于所述工作参数和所述环境变量,对所述激励序列进行协议转换;
所述参考模型40用于基于所述用于表征所述协议转换模块输出的数据的协议类型的参数和预设协议转换模型,对所述激励序列进行异构协议转换,得到预期输出包,并将所述预期输出包发送给所述输出监测模块;
所述输出监测模块50用于按照预设时钟周期对所述协议转换模块输出的数据进行采样,得到实际输出包,并将所述实际输出包与所述预期输出包进行字段比对,得到比对结果,其中,所述比对结果用于表征所述协议转换模块对所述待转换源协议序列的异构协议转换是否成功。
本实施例中,通过参考模生成异构协议转换的预期输出包,输出监测模块将预期输出包和协议转换模块生成的实际输出包进行字段比对,从而确定出协议转换模块进行的异构协议转换是否正确,进而解决了现有技术中采用EDA仿真验证和FPGA原型验证进行异构协议转换时验证效率较低的技术问题,从而实现提高异构协议转换时验证效率的技术效果。
需要说明的是,FPGA原型验证进行异构协议转换的验证就是采用各个协议的终端设备对异构协议转换之间的互连互通进行FPGA原型验证,如采用RapidIO终端设备和FC终端设备,用于验证RapidIO到FC协议之间的互相转换,这样的验证思路并没有错误,但是一旦功能验证不通过或者与预期不符,由于FPGA验证定位问题比较困难,而且有些问题并非硬件逻辑设计或功能问题,而是由于配置流程和测试用例所致,所以这种验证方案会引起人力和物力的浪费。
采用EDA仿真验证进行异构协议转换验证是先进行EDA仿真验证,再进行FPGA验证。对于异构协议转换,搭建EDA仿真验证平台需要考虑的因素较多,例如需要考虑源协议各数据报文之间的约束关系、不同源协议和目标协议各字段之间的映射、大规模随机测试等因素,如果验证平台搭建不够合理,或者验证因素考虑不够周全,例如在验证平台搭建的初期没有考虑大规模随机测试,由于异构协议转换的验证空间及规模较大,验证平台架构的不合理一方面会导致整个功能验证收敛较慢,另一方面,随着功能验证的深入,也会导致验证平台的维护变得异常困难,这样验证人员在验证平台维护方面所投入的时间和精力就较大,而在测试用例开发和问题定位投入的时间和精力就相对有限,不利于整个项目的研发。
上述的验证平台尤其适用于EDA仿真验证平台的架构设计,采用本专利的技术方案,可以简化验证平台搭建,有利于验证平台维护和扩展,并且能够快速实现验证功能收敛,缩短验证周期。
在本发明实施例中,如图2所示,所述配置管理模块10包括:存储器配置模块11,源协议序列管理模块12,调度管理模块13和环境配置模块14,其中,
所述存储器配置模块11用于对所述协议转换模块进行初始化配置;
所述源协议序列管理模块12用于配置所述用于表征所述协议转换模块输出的数据的协议类型的参数;
所述调度管理模块13用于配置所述表征所述验证平台工作步骤的参数;
所述环境配置模块14用于配置所述执行测试用例的环境变量。
在本发明实施例中,通过存储器配置模块对协议转换模块进行初始化配置;通过源协议序列管理模块配置用于表征所述协议转换模块输出的数据的协议类型的参数,即表明协议转换模块进行协议转换后得到的数据的协议类型,例如Ethernet协议的UDP包、FC协议的Sequence序列等。
上述的验证平台工作步骤包括:协议转换模块先完成配置与初始化再进行发包操作,控制协议转换模块的多个端口并行执行发包等。
需要说明的是,上述环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,例如配置协议转换模块各个端口的协议类型、发包之间是否有间隔等。该环境变量在每个测试用例运行时只执行一次,在后期的大规模随机测试中,针对每个测试用例可以通过脚本控制单个测试用例执行多个不同的随机种子,可以达到随机测试的预期效果。
在本发明实施例中,所述包驱动模块20包括:第一转换模块21,第二转换模块22和发送模块23,其中,
所述第一转换模块用于将所述待转换源协议序列转换为转换为比特流信息;
所述第二转换模块用于所述协议转换模块的输入接口时序,将所述比特流信息转换为激励序列;
所述发送模块用于将所述激励序列发送给所述参考模型和所述协议转换模块。
在本发明实施例中,为了得到供协议转换模块和参考模型使用的激励序列,包驱动模块首先将待转换源协议序列转换为转换为比特流信息,接着将比特流信息按照待测协议转换模块的输入接口时序转换成激励序列,最后将激励序列发送给参考模型和协议转换模块。
需要说明的是,通过设置包驱动模块后,不需要在协议转换模块的输入端设置输入监测模块,从而简化了验证平台。
另外还需要说明的是,包驱动模块采用面向对象编程的方法和嵌套约束的方式构建激励序列,具体描述如下:
利用面向对象编程的思想构建异构协议的输入激励。在本专利实现方案中,主要指提取各异构协议的公共属性,用这些公共特性构建基类,在此基础之上再根据各异构协议的私有属性构建派生类。例如,在支持RapidIO、FC和Ethernet三种异构协议的系统中,可提取它们进行协议转换的公共属性,如优先级、单播/多播指示、目的端口等信息作为基类(base_packet),再由基类扩展成三个子类srio_packet、fc_packet和eth_packet。这样实现的主要目的是便于验证平台的扩展和维护,如果需要修改某一协议类型的激励或者再另外增加支持新的协议类型时,采用这种架构有利于快速更新验证平台以满足新的需求。
采用嵌套约束的方式实现带约束的测试激励序列,有利于激励序列的扩展与维护。嵌套约束的激励扩展是指通过约束一个基本的输入激励(srio_base_seq、fc_base_seq或eth_base_seq)的某些特定属性,如Payload总长度、目的端口类型等,可以得到测试用例所对应的激励(srio_sequence、fc_sequence或eth_sequence)。在本专利方案中,采用嵌套约束还包含基本输入激励的构建方式,基本输入激励的构建采用先切包再约束到每一个最基本单元包的各字段。例如,输入激励的源协议为Ethernet UDP报文,如图3所示,在eth_base_seq中根据Payload总长度按照Ethernet UDP协议切分成多个分片,每个连续分片之间满足特定的约束关系,例如第一个分片的偏移地址是0、后续分片的偏移地址与前一分片偏移地址和Payload长度有关联、每个分片的源MAC和目的MAC字段都相同等约束关系,通过在切包时将这些约束关系都提前考虑进去,而在发包时则通过约束每个eth_item的各个字段与按指定规则切包的各字段一致。
在本发明实施例中,如图2所示,所述输出监测模块50包括:协议输出监测模块51和计分板52,其中,
所述协议输出监测模块51用于按照所述预设时钟周期对所述协议转换模块输出的数据进行采样,得到所述实际输出包;
所述计分板52用于对所述实际输出包与所述预期输出包进行字段比对,生成比对结果。
在本发明实施例中,协议输出监测模块按照预设时钟周期对所述协议转换模块输出的数据进行采样,得到实际输出包,然后将实际输出包发送给计分板,以使计分板对实际输出包和预期输出包进行逐个字段的比对,从而生成用于表征所述协议转换模块对所述待转换源协议序列的异构协议转换是否成功的比对结果。
另外还需要说明的是,本验证平台采用构建虚拟子网的方式对验证平台所处的异构协议网络空间进行优化,具体如下:
采用虚拟子网的方式对异构协议网络空间进行简化,方便验证平台实现,加速功能验证。异构协议转换的实现目标包括源协议到目标协议包头各字段的映射和Payload的转换,而包头各字段的映射与映射算法和网络空间大小相关,映射算法通常可以采用比较成熟的查找算法,如Hash算法进行实现;本发明专利中,为了简化异构协议网络空间,将每种源协议划分为一个虚拟子网,合理地选择虚拟子网的终端节点数目,可以实现接近于实际应用场景的异构协议转换。如图4所示,在支持RapidIO、FC和Ethernet三种异构协议互相转换的系统中,系统设计性能为最大支持256个会话的协议转换,本发明在验证平台实现时,考虑到每种协议的包类型在发包时都具有SrcID和DestID字段,将整个系统划分成三个虚拟子网:RapidIO子网、FC子网和Ethernet子网,三类子网的终端节点数分别为M、N和P,最大支持的协议转换会话数S为:
S=2×M×(M-1)+2×N×(N-1)+2×P×(P-1)
上式中,M×(M-1)表示在RapidIO虚拟子网中,如果选定某一个终端节点,相当于获得其SrcID信息,此时其包字段中的DestID信息可以从RapidIO虚拟子网中的剩余(M-1)个节点中随机选择,2×M×(M-1)表示当前包既可向FC协议转换也可向Ethernet协议转换;同理可知,表达式中2×N×(N-1)和2×P×(P-1)的含义。假定在验证平台实现时选择M=8,N=7, P=6,则该在异构协议网络空间最大支持的协议转换会话数为256,能够验证系统最大支持的会话数256。
实施例二:
本发明实施例还提供了一种异构协议转换的验证方法,该异构协议转换的验证方法可以由上述的异构协议转换的验证平台执行,该方法的具体描述如下:
如图3所示,图3为异构协议转换的验证方法的流程图,该异构协议转换的验证方法包括:
步骤S102,获取待转换源协议序列,协议转换设备的工作参数和测试用例的环境变量,其中,所述工作参数包括:初始化配置参数,用于表征所述协议转换模块输出的数据的协议类型的参数,用于表征验证平台工作步骤的参数;
步骤S104,基于所述协议转换设备的输入接口时序,将所述待转换源协议序列转换为激励序列;
步骤S106,将所述激励序列发送给所述协议转换设备,以使所述协议转换设备基于所述工作参数和所述环境变量对所述激励序列进行协议转换,生成转换数据;
步骤S108,基于预设参考模型和所述用于表征所述协议转换模块输出的数据的协议类型的参数,对所述激励序列进行异构协议转换,得到预期输出包;
步骤S110,按照预设时钟周期对所述转换数据进行时序采样,生成实际输出包;
步骤S112,对所述实际输出包和所述预设输出包进行字段比对,得到比对结果,其中,所述比对结果用于表征所述协议转换模块对所述待转换源协议序列的异构协议转换是否成功。
本实施例中,通过参考模生成异构协议转换的预期输出包,输出监测模块将预期输出包和协议转换模块生成的实际输出包进行字段比对,从而确定出协议转换模块进行的异构协议转换是否正确,进而解决了现有技术中采用EDA仿真验证和FPGA原型验证进行异构协议转换时验证效率较低的技术问题,从而实现提高异构协议转换验证效率的技术效果。
优选地,如图4所示,步骤S108还包括:判断所述激励序列是否需要丢包;若否,则判断所述激励序列是否需要旁路;若否,则判断所述激励序列是否需要跨异构协议多播;若否,则基于所述用于表征所述协议转换模块输出的数据的协议类型的参数,所述激励序列进行异构协议转换,得到协议转换预期输出包;判断所述激励序列是否需要产生响应包;若是,则计算所述激励序列的预期响应包,并将所述响应包也确定为为所述预期输出包。
优选地,如图4所示,所述方法还包括:若判断出所述激励序列需要丢包,则丢弃所述激励序列;若判断出所述激励序列需要旁路,则将所述激励序列作为所述预期输出包;若判断出所述激励序列需要跨异构协议多播,则计算多播组中每个目标协议对应的预期输出包;若判断出所述激励序列包需要产生响应包,则将所述中间输出包确定为所述预期输出包。
优选地,步骤S104包括如下步骤:将所述待转换源协议序列转换为比特流信息;基于所述协议转换设备的输入接口时序,将所述比特流信息转换为所述激励序列。另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (6)
1.一种异构协议转换的验证平台,其特征在于,包括:配置管理模块、包驱动模块、协议转换模块、参考模型和输出监测模块,其中,所述包驱动模块包括第一转换模块、第二转换模块和发送模块;所述输出监测模块包括协议输出监测模块和记分板;
所述配置管理模块,用于对所述协议转换模块的工作参数和测试用例执行的环境变量进行配置,其中,所述工作参数包括:初始化配置参数,用于表征所述协议转换模块输出的数据的协议类型的参数,用于表征所述验证平台工作步骤的参数;
所述包驱动模块,用于采用面向对象编程的方法和嵌套约束的方式将待转换源协议序列转换为激励序列,并将所述激励序列发送给所述参考模型和所述协议转换模块;具体为:所述第一转换模块,用于将待转换源协议序列转换为比特流信息;所述第二转换模块,用于基于所述协议转换模块的输入接口时序,将所述比特流信息转换为激励序列;所述发送模块,用于将所述激励序列发送给所述参考模型和所述协议转换模块;所述采用面向对象编程的方法将待转换源协议序列转换为激励序列,是指提取各异构协议的公共属性,采用公共属性构建基类,根据各异构协议的私有属性构建派生类;所述采用嵌套约束的方式将待转换源协议序列转换为激励序列,是指先构建基本输入激励,通过约束所述基本输入激励的指定属性得到测试用例对应的激励;其中,所述构建基本输入激励具体为:先将待转换源协议序列切分为多个基本单元包,再约束到每一个基本单元包的各字段;
所述协议转换模块,用于基于所述工作参数和所述环境变量,对所述激励序列进行协议转换;
所述参考模型,用于基于所述用于表征所述协议转换模块输出的数据的协议类型的参数和预设协议转换模型,对所述激励序列进行异构协议转换,得到预期输出包,并将所述预期输出包发送给所述记分板;
所述协议输出监测模块,用于按照所述预设时钟周期对所述协议转换模块输出的数据进行采样,得到实际输出包,并将所述实际输出包发送给所述记分板;所述记分板,用于对所述实际输出包与所述预期输出包进行字段比对,生成比对结果;其中,所述比对结果用于表征所述协议转换模块对所述待转换源协议序列的异构协议转换是否成功。
2.根据权利要求1所述的平台,其特征在于,所述配置管理模块包括:寄存器配置模块,存储器配置模块,源协议序列管理模块,调度管理模块和环境配置模块,其中,
所述存储器配置模块用于配置所述协议转换模块的初始化配置参数;
所述源协议序列管理模块用于配置所述用于表征所述协议转换模块输入数据的协议类型的参数;
所述调度管理模块用于配置所述表征所述验证平台工作步骤的参数;
所述环境配置模块用于配置所述执行测试用例的环境变量。
3.根据权利要求1所述的平台,其特征在于,所述验证平台采用构建虚拟子网的方式对所述验证平台所处的异构协议网络空间进行简化。
4.一种异构协议转换的验证方法,其特征在于,包括:
获取待转换源协议序列,待验证协议转换模块的工作参数和测试用例执行的环境变量,其中,所述工作参数包括:初始化配置参数,用于表征所述协议转换模块输出的数据的协议类型的参数,用于表征验证平台工作步骤的参数;
采用面向对象编程的方法和嵌套约束的方式将所述待转换源协议序列转换为激励序列,具体为:先将所述待转换源协议序列转换为比特流信息,然后基于所述协议转换模块的输入接口时序,将所述比特流信息转换为激励序列;所述采用面向对象编程的方法将待转换源协议序列转换为激励序列,是指提取各异构协议的公共属性,采用公共属性构建基类,根据各异构协议的私有属性构建派生类;所述采用嵌套约束的方式将待转换源协议序列转换为激励序列,是指先构建基本输入激励,通过约束所述基本输入激励的指定属性得到测试用例对应的激励;其中,所述构建基本输入激励具体为:先将待转换源协议序列切分为多个基本单元包,再约束到每一个基本单元包的各字段;
将所述激励序列发送给所述协议转换模块和预设参考模型,以使所述协议转换模块基于所述工作参数和所述环境变量对所述激励序列进行协议转换,然后按照预设时钟周期对转换数据进行采样,生成实际输出包;并基于预设参考模型和所述用于表征所述协议转换模块输出的数据的协议类型的参数,对所述激励序列进行异构协议转换,得到预期输出包;
对所述实际输出包和所述预设输出包进行字段比对,得到比对结果,其中,所述比对结果用于表征所述协议转换模块对所述待转换源协议序列的异构协议转换是否成功。
5.根据权利要求4所述的方法,其特征在于,基于预设参考模型,所述工作参数和所述环境变量,对所述激励序列进行异构协议转换,得到预期输出包包括:
判断所述激励序列是否需要丢包;
若否,则判断所述激励序列是否需要旁路;
若否,则判断所述激励序列是否需要跨异构协议多播;
若否,则基于所述用于表征所述协议转换模块输出的数据的协议类型的参数,对所述激励序列进行异构协议转换,得到协议转换预期输出包;
判断所述激励序列是否需要产生响应包;
若是,则计算所述预期输出包的响应包,并将所述响应包也确定为所述预期输出包。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若判断出所述激励序列需要丢包,则丢弃所述激励序列;
若判断出所述激励序列需要旁路,则将所述激励序列作为所述预期输出包;
若判断出所述激励序列需要跨异构协议多播,则计算多播组中每种目标协议的预期转换包;
若判断出所述激励序列需要产生响应包,则将所述响应包也确定为所述预期输出包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910390241.4A CN110290105B (zh) | 2019-05-10 | 2019-05-10 | 一种异构协议转换的验证平台和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910390241.4A CN110290105B (zh) | 2019-05-10 | 2019-05-10 | 一种异构协议转换的验证平台和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110290105A CN110290105A (zh) | 2019-09-27 |
CN110290105B true CN110290105B (zh) | 2022-01-21 |
Family
ID=68001779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910390241.4A Active CN110290105B (zh) | 2019-05-10 | 2019-05-10 | 一种异构协议转换的验证平台和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110290105B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111031015B (zh) * | 2019-11-29 | 2022-05-06 | 天津市滨海新区信息技术创新中心 | 混合协议转换设计的验证方法、装置、设备及存储介质 |
CN111221752B (zh) * | 2020-01-02 | 2021-07-23 | 飞腾信息技术有限公司 | 一种soc中模块接口时序的优化方法 |
CN115618800B (zh) * | 2022-11-14 | 2023-05-12 | 沐曦集成电路(上海)有限公司 | 基于dpi的gpu联合仿真系统 |
CN116775390A (zh) * | 2023-06-19 | 2023-09-19 | 海光信息技术(成都)有限公司 | 接口协议转换验证系统及方法、电子设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530216A (zh) * | 2013-10-12 | 2014-01-22 | 江苏华丽网络工程有限公司 | 一种基于uvm验证方法学的pcie验证方法 |
CN104657555A (zh) * | 2015-02-11 | 2015-05-27 | 北京麓柏科技有限公司 | 一种基于uvm验证方法学的toe的验证方法及平台 |
CN105528285A (zh) * | 2014-10-27 | 2016-04-27 | 青岛金讯网络工程有限公司 | 一种pcie验证方法 |
CN105718344A (zh) * | 2016-01-19 | 2016-06-29 | 中国电子科技集团公司第三十八研究所 | 一种基于uvm的fpga通用可配置uart协议的验证方法 |
CN106021044A (zh) * | 2016-05-10 | 2016-10-12 | 中国电子科技集团公司第三十八研究所 | 可重用spi总线协议模块验证环境平台及其验证方法 |
CN106713280A (zh) * | 2016-11-30 | 2017-05-24 | 北京得瑞领新科技有限公司 | 一种激励信号处理方法、装置及模块验证系统 |
CN106709120A (zh) * | 2015-11-18 | 2017-05-24 | 青岛海日安电子有限公司 | 一种pcie验证方法 |
-
2019
- 2019-05-10 CN CN201910390241.4A patent/CN110290105B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530216A (zh) * | 2013-10-12 | 2014-01-22 | 江苏华丽网络工程有限公司 | 一种基于uvm验证方法学的pcie验证方法 |
CN105528285A (zh) * | 2014-10-27 | 2016-04-27 | 青岛金讯网络工程有限公司 | 一种pcie验证方法 |
CN104657555A (zh) * | 2015-02-11 | 2015-05-27 | 北京麓柏科技有限公司 | 一种基于uvm验证方法学的toe的验证方法及平台 |
CN106709120A (zh) * | 2015-11-18 | 2017-05-24 | 青岛海日安电子有限公司 | 一种pcie验证方法 |
CN105718344A (zh) * | 2016-01-19 | 2016-06-29 | 中国电子科技集团公司第三十八研究所 | 一种基于uvm的fpga通用可配置uart协议的验证方法 |
CN106021044A (zh) * | 2016-05-10 | 2016-10-12 | 中国电子科技集团公司第三十八研究所 | 可重用spi总线协议模块验证环境平台及其验证方法 |
CN106713280A (zh) * | 2016-11-30 | 2017-05-24 | 北京得瑞领新科技有限公司 | 一种激励信号处理方法、装置及模块验证系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110290105A (zh) | 2019-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110290105B (zh) | 一种异构协议转换的验证平台和方法 | |
US10193760B2 (en) | Hybrid SDN controller | |
Alderson et al. | Understanding internet topology: principles, models, and validation | |
US9065770B2 (en) | Traffic item impairment emulation | |
Yazdinejad et al. | Efficient design and hardware implementation of the OpenFlow v1. 3 Switch on the Virtex-6 FPGA ML605 | |
CN105103494B (zh) | 网络交换机仿真 | |
Baumgart et al. | OverSim: A scalable and flexible overlay framework for simulation and real network applications | |
US10728139B2 (en) | Flexible software-defined networking (SDN) protocol for service provider networks | |
US8773984B2 (en) | Method and system for measuring network convergence time | |
US11272396B2 (en) | Frame aggregation method, network setting frame sending method, and device | |
US20100095019A1 (en) | Virtual Interface | |
EP2456128B1 (en) | Testing packet fragmentation | |
CN104704779A (zh) | 用于加速软件定义网络中的转发的方法和设备 | |
US10908942B2 (en) | Virtualization device | |
CN109274603B (zh) | 异构协议数据之间基于软件定义的互连方法和装置 | |
US20210329004A1 (en) | Network verification method and apparatus | |
CN113114509B (zh) | 一种在sdn网络环境中进行报文转发仿真的方法及设备 | |
Wen et al. | Protocol function block mapping of software defined protocol for 5G mobile networks | |
EP2928129B1 (en) | Method and network devices for determining an administrative domain in a virtual cluster | |
EP2763352B1 (en) | Communication device, communication method, and program | |
Hegr et al. | OpenFlow deployment and concept analysis | |
WO2023115367A1 (zh) | 一种多协议数据传输方法及装置、网络和存储介质 | |
Kipongo | Efficient topology discovery protocol using IT-SDN for software-defined wireless sensor networks | |
KR100821401B1 (ko) | 네트워크의 설계 및 기술을 위한 시스템 및 방법 | |
Kataria et al. | Programmable Data Plane for New IP using eXpress Data Path (XDP) in Linux |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |