协议处理系统和协议数据处理方法与流程

文档序号:25279894发布日期:2021-06-01 17:26阅读:75来源:国知局
协议处理系统和协议数据处理方法与流程

本发明涉及协议处理技术领域,具体而言,涉及一种协议处理系统和协议数据处理方法。



背景技术:

现有的网络协议大多是多标准协议,需要进行多步骤协作完成协议功能,即使是单标准协议,也需要多步骤完成协议功能。

在针对网络协议设计芯片时,往往采用单模块设计,在一个芯片上完成网络协议的所有功能,这种芯片设计方式导致芯片的验证阶段比较复杂,很难发现芯片设计的问题,降低了芯片设计的效率,导致芯片设计失败的风险增大。



技术实现要素:

本发明的目的在于,针对上述现有技术中的不足,提供一种协议处理系统和协议数据处理方法,以便提高芯片设计的效率。

为实现上述目的,本申请实施例采用的技术方案如下:

第一方面,本申请实施例提供了一种协议处理系统,包括:依次通信连接的多个处理单元,相邻两个处理单元采用预设的硬件数据通路通信连接;

所述多个处理单元中依次配置有预设网络协议的多个处理模块,以依次实现所述预设网络协议的协议数据的处理,得到所述协议数据对应的目标数据。

可选的,所述硬件数据通路为:pcie接口、通用串行总线接口、或者网络接口。

可选的,每个处理单元为:一个处理核、一个处理芯片、一个处理终端、或者一个处理服务器。

可选的,若所述每个处理单元为一个处理芯片,则所述每个处理芯片为:现场可编程逻辑门阵列芯片、专用集成电路芯片,或者可重构芯片。

第二方面,本申请实施例还提供一种协议数据处理方法,应用于上述任一所述的协议处理系统中的各处理单元,所述方法包括:

依次由所述多个处理单元基于预先配置的对应处理单元中的处理模块对输入的待处理的协议数据进行处理;

输出所述多个处理单元中最后一个处理单元处理后的目标数据。

可选的,所述依次由所述多个处理单元基于预先配置的对应处理单元中的处理模块对输入的待处理的协议数据进行处理,包括:

采用所述多个处理单元中第一个处理单元中预先配置的处理模块,基于预先定义的所述第一个处理单元的数据格式以及命令格式,对所述协议数据和预设的默认命令字进行处理,得到所述第一个处理单元对应的目标数据输出格式的数据,和目标命令输出格式的命令字,并输出至第二个处理单元,直至所述最后一个处理单元处理完成;

其中,所述协议数据的格式为所述数据格式定义的输入数据格式,所述目标数据输出格式为所述数据格式定义的输出数据格式;

所述默认命令字为空命令字,所述默认命令字的格式为所述命令格式定义的输入命令格式,所述目标命令输出格式为所述命令格式定义的输出命令格式。

可选的,所述协议处理系统中处理单元的数量为:预先基于预设的处理单元数量限制条件,以及所述预设网络协议的预设处理模块划分规则确定得到的。

可选的,所述预设网络协议为多个网络协议,所述每个处理单元中的处理模块为:所述多个网络协议中至少一个网络协议的处理模块,不同处理单元中的处理模块分别为:不同的网络协议的处理模块。

可选的,所述预设网络协议为一个网络协议,所述每个处理单元中的处理模块为:所述一个网络协议中至少一个功能点的处理模块,不同处理单元中的处理模块分别为:不同功能点的处理模块。

可选的,所述预设网络协议为:互联网协议安全加密协议,所述多个处理单元中依次配置的所述多个处理模块依次为:合法性校验模块、添加字段模块、加密模块,以及完整性校验模块。

本申请的有益效果是:

本申请提供的协议处理系统和协议数据处理方法,包括依次通信连接的多个处理单元,相邻两个处理单元采用预设的硬件数据通路通信连接,多个处理单元中依次配置有预设网络协议的多个处理模块,以依次实现预设网络协议的协议数据的处理,得到协议数据对应的目标数据。本申请提供的方案,通过多个处理单元对输入的待处理的协议数据进行处理,并通过多个处理单元中最后一个处理单元输出处理后的目标数据,以实现多个处理单元的分工协作,使得每个处理单元的结构简单,便于验证,提高芯片设计的效率。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的第一种协议处理系统的结构示意图;

图2为本申请实施例提供的第一种协议数据处理方法的流程示意图;

图3为本申请实施例提供的第二种协议数据处理方法的流程示意图;

图4为本申请实施例提供的第二种协议处理系统的结构示意图;

图5为本申请实施例提供的一种ipsec协议数据处理的示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。

因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在本申请的描述中,需要说明的是,若出现术语“上”、“下”、等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该申请产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。

此外,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

需要说明的是,在不冲突的情况下,本申请的实施例中的特征可以相互结合。

图1为本申请实施例提供的第一种协议处理系统的结构示意图;如图1所示,该系统包括:依次通信连接的多个处理单元10,相邻两个处理单元10采用预设的硬件数据通路通信连接。

多个处理单元10中依次配置有预设网络协议的多个处理模块11,以依次实现预设网络协议的协议数据的处理,得到协议数据对应的目标数据。

具体的,处理单元10为硬件数据处理单元,具有数据处理功能的集成电路、微处理器或现场可编程门阵列,每个处理单元10的数据处理功能不同,硬件数据通路为连接两个处理单元10的数据传输接口,使数据在两个处理单元10之间进行传输的路径,用于将数据依次传输至多个依次连接的处理单元10,对数据进行处理。处理单元10上配置有处理模块11,处理模块11为软件数据处理模块,可基于预设网络协议对协议数据进行处理,以实现处理单元10的数据处理功能,将输入至处理单元10的协议数据转换为目标数据输出。

在一种可选实时方式中,硬件数据通路为:pcie接口、通用串行总线接口、或者网络接口。

具体的,pcie(peripheralcomponentinterconnectexpress)接口为一种高速串行计算机扩展总线标准,为一种串行总线接口,即两个处理单元10之间串行总线接口进行协议数据的传输,具有数据传输速率快的优点。

pcie接口采用分层结构对协议数据进行处理,pcie接口包括事务层、数据链路层和物理层,当协议数据通过处理单元10中处理模块11的处理输出目标数据,通过pcie接口传输至下一个处理单元10之前,在事务层形成数据层包,存储在发送缓冲器中,等待推向下层;在数据链路层在数据层包上再串接一些附加信息,用于对数据层包进行错误检查,形成数据链路层包;在物理层,对数据链路层包进行编码,并发送给下一个处理单元10,下一个处理单元10先通过物理层拆包,得到数据链路层包,在经过数据链路层拆包得到数据层包,再经过事务层提取出目标数据。

通用串行总线接口(universalserialbus,usb)以数据包为单位进行数据传输,数据传输包括三个阶段,第一阶段发送令牌包,定义了数据传输的类型以及下一个处理单元10的地址,第二阶段发送数据包,负责运输和传输数据包中的目标数据,第三阶段发送握手数据包,握手阶段对处理单元10发送一个反馈信号,通知处理单元10目标数据已被下一个处理单元10正确接收。

网络接口采用网线连接两个处理单元10,并根据网络接口类型进行数据传输。示例的,惯用的网络接口包括rj-450接口、rj-11接口、fddi接口、console接口等。

硬件数据通路除了可以采用上述pice接口、通用串行总线接口、或者网络接口外,还可以采用其他的数据传输接口,硬件数据通路的选择,可以结合实际的硬件环境,如硬件对接口的支持种类、传输速率以及硬件成本等各项功能指标决定,本申请对此不做限制。

在一种可选实施方式中,每个处理单元为一个处理核、一个处理芯片、一个处理终端、或者一个处理服务器。

具体的,若每个处理单元为一个处理核,则该协议处理系统包括多个依次通信连接的处理核,相邻两个处理核采用预设的硬件数据通路通信连接,每个处理核上集成有预设网络协议的多个处理模块。

若每个处理单元为一个处理芯片,则该协议处理系统包括多个依次通信连接的处理芯片,相邻两个处理芯片采用预设的硬件数据通路通信连接,每个处理芯片上集成有预设网络协议的多个处理模块。

若每个处理单元为一个处理终端,则该协议处理系统包括多个依次通信连接的处理终端,相邻两个处理终端采用预设的硬件数据通路通信连接,每个处理终端上集成有预设网络协议的多个处理模块。

若每个处理单元为一个处理服务器,则该协议处理系统包括多个依次通信连接的处理服务器,相邻两个处理服务器采用预设的硬件数据通路通信连接,每个处理服务器上集成有预设网络协议的多个处理模块。

在一种可选实施方式中,若每个处理单元为一个处理芯片,则每个处理芯片为:现场可编程逻辑门阵列芯片、专用集成电路芯片,或者可重构芯片。

具体的,现场可编程逻辑门阵列(field-programmablegatearray,fpga)芯片是一种可编程器件,可通过软件工具更改、配置器件内部的连接结构和逻辑,以实现本申请实施例的功能,实现预设网络协议的协议数据的处理,得到协议数据对应的目标数据。

专用集成电路(applicationspecificintegratedcircuit,asic)芯片是一种为实现本申请实施例的功能,以实现预设网络协议的协议数据的处理,得到协议数据对应的目标数据而专门设计的集成电路芯片,与通用集成电路芯片相比具有体积更小、功耗更低、可靠性提高、性能提高、保密性增强、成本降低等优点。

可重构芯片具备软件、硬件双编程的特性,硬件架构和功能随软件变化而实时动态变化,以实现本申请实施例的功能,实现预设网络协议的协议数据的处理,得到协议数据对应的目标数据。

每个处理单元可以根据应用灵活性、应用范围、设计成本、功耗比进行芯片的选择,本申请对此不做限制。

本申请实施例提供的协议处理系统,包括依次通信连接的多个处理单元,相邻两个处理单元采用预设的硬件数据通路通信连接,多个处理单元中依次配置有预设网络协议的多个处理模块,以依次实现预设网络协议的协议数据的处理,得到协议数据对应的目标数据。本申请实施例提供的系统,通过多个处理单元对输入的待处理的协议数据进行处理,并通过多个处理单元中最后一个处理单元输出处理后的目标数据,以实现多个处理单元的分工协作,使得每个处理单元的结构简单,便于验证,提高芯片设计的效率。

在上述任一实施例的基础上,本申请实施例还提供一种协议数据处理方法,应用于上述任一实施例中的协议处理系统中的各处理单元,图2为本申请实施例提供的第一种协议数据处理方法的流程示意图,如图2所示,该方法包括:

s100:依次由多个处理单元基于预先配置的对应处理单元中的处理模块对输入的待处理的协议数据进行处理。

具体的,每个处理单元10上预先配置有处理模块11,用于对待处理的协议数据进行处理,每个处理模块11对待处理的协议数据所进行的处理不同,可根据预设网络协议预先配置每个处理单元10对应的处理模块11的功能。处理模块11对待处理的协议数据的处理是将待处理的协议数据转换为预设格式的协议数据,并输出给下一个处理单元10。

s200:输出多个处理单元中最后一个处理单元处理后的目标数据。

具体的,每个处理单元10的处理模块11将待处理的协议数据转换为预设格式的协议数据并发送给下一个处理单元10,直到最后一个处理单元10的处理模块将上一个处理单元10发送的预设格式的协议数据处理为预设格式的目标数据进行输出。

本申请实施例提供的协议数据处理方法,依次由多个处理单元基于预先配置的对应处理单元中的处理模块对输入的待处理的协议数据进行处理,输出多个处理单元中最后一个处理单元处理后的目标数据。本申请实施例提供的方法,通过多个处理单元对输入的待处理的协议数据进行处理,并通过多个处理单元中最后一个处理单元输出处理后的目标数据,以实现多个处理单元的分工协作,使得每个处理单元的结构简单,便于验证,提高芯片设计的效率。

在上述实施例的基础上,本申请实施例还提供一种协议数据处理方法,图3为本申请实施例提供的第二种协议数据处理方法的流程示意图,如图2所示,上述s100包括:

s101:采用多个处理单元中第一个处理单元中预先配置的处理模块,基于预先定义的第一个处理单元的数据格式以及命令格式,对协议数据和预设的默认命令字进行处理,得到第一个处理单元对应的目标数据输出格式的数据,和目标命令输出格式的命令字,并输出至第二个处理单元,直至最后一个处理单元处理完成。

其中,协议数据的格式为数据格式定义的输入数据格式,目标数据输出格式为数据格式定义的输出数据格式,默认命令字为空命令字,默认命令字的格式为命令格式定义的输入命令格式,目标命令输出格式为命令格式定义的输出命令格式。

具体的,基于预设网络协议,预先定义每个处理单元10的数据格式和命令格式,将协议数据和空命令字经过第0个硬件数据通路输入至第一个处理单元10,经过第一个处理模块11的处理,得到第一个处理单元10对应的目标数据输出格式的数据和目标命令输出格式的命令字,目标命令输出格式的命令字用于根据处理模块11对协议数据的处理得到的目标数据输出格式的数据进行描述,并将目标数据输出格式的数据和目标命令输出格式的命令字通过第1个硬件数据通路输出至第二个处理单元10进行处理,直至最后一个处理单元10处理完成。

数据格式和命令字格式的定义可遵循有效性、时间效率和空间效率原则,有效性原则指目标命令输出格式的命令对目标数据输出格式的数据的描述信息准确全面;时间效率指处理单元对协议数据的处理得到的目标数据输出格式的数据需保证下一个处理单元对数据的解析方面,提高数据解析速度;空间效率指目标数据输出格式的数据和目标命令输出格式的命令字所占用的数据空间小,不会造成处理单元的负担。

上述s200包括:

s201:输出多个处理单元中最后一个处理单元处理后的目标数据输出格式的数据和目标命令输出格式的命令字。

具体的,最后一个处理单元10处理完成后经过第n个硬件数据通路输出最后一个处理单元对应的目标数据输出格式的数据和目标命令输出格式的命令字。

本申请实施例提供的协议数据处理方法,通过采用多个处理单元中第一个处理单元中预先配置的处理模块,基于预先定义的第一个处理单元的数据格式以及命令格式,对协议数据和预设的默认命令字进行处理,得到第一个处理单元对应的目标数据输出格式的数据,和目标命令输出格式的命令字,并输出至第二个处理单元,直至最后一个处理单元处理完成,输出最后一个处理单元处理后的目标数据输出格式的数据和目标命令输出格式的命令字。通过本申请实施例提供的方法,可通过命令字对数据进行描述,提高处理单元对协议数据的解析速度,提高数据处理效率。

在一种可选实施方式中,协议处理系统中处理单元10的数量为:预先基于预设的处理单元数量限制条件,以及预设网络协议的预设处理模块划分规则确定得到的。

具体的,为保证协议处理系统对协议处理处理的效率,确保处理单元之间的处理逻辑,同时又要确保协议处理系统的设计成本,协议处理系统中处理单元10的数量不能随意设置。预设的处理单元数量限制条件包括协议处理系统的设计成本限制条件和协议处理系统的设计体积限制条件,预设网络协议的预设处理模块划分规则为根据预设网络协议的协议功能对预设网络协议划分,在预设处理模块上实现划分后的协议功能,每个处理模块对应一个处理单元,预设处理模块之间保证高内聚、低耦合。

预先基于预设的处理单元数量限制条件确定处理单元数量范围,再根据处理单元数量范围,对预设网络协议的协议功能进行划分,以确定处理单元的数量。

在一种可能的实现方式中,预设网络协议为多个网络协议,每个处理单元中的处理模块为:多个网络协议中的至少一个网络协议的处理模块,不同处理单元中的处理模块分别为:不同的网络协议的处理模块。

具体的,若预设网络协议中包括多个网络协议,则根据预先基于预设的处理单元数量限制条件确定的处理单元数量范围,按照多个网络协议的数据处理逻辑顺序对多个网络协议进行拆分,多个网络协议的拆分原则为高内聚、低耦合,即将内聚性高、耦合性低的网络协议拆分为一个整体,集成在一个处理模块上,使得每个处理模块上配置至少一个网络协议,不同处理模块上配置的网络协议不同,按照多个网络协议的数据处理逻辑顺序对多个处理模块进行排序,并通过硬件数据通路连接得到协议处理系统。

通过对多个网络协议的拆分,在多个处理单元上实现不同网络协议的功能,使得每个处理单元所要实现的功能简单,便于硬件实现,且每个处理单元的功能内聚,逻辑清晰,便于对处理单元的进行测试验证。

在另一种可能的实现方式中,预设网络协议为一个网络协议,每个处理单元中的处理模块为:一个网络协议中至少一个功能点的处理模块,不同处理单元中的处理模块分别为:不同功能点的处理模块。

具体的,若预设网络协议为一个网络协议,则根据预先基于预设的处理单元数量限制条件确定的处理单元数量范围,按照一个网络协议的数据处理逻辑顺序对一个网络协议的功能点进行拆分,一个网络协议的功能点的拆分原则为高内聚、低耦合,即将内聚性高、耦合性低的功能点拆分为一个整体,集成在一个处理模块上,使得每个处理模块上配置至少一个功能点,不同处理模块上配置的功能点不同,按照一个网络协议的数据处理逻辑顺序对多个处理模块进行排序,并通过硬件数据通路连接得到协议处理系统。

通过对一个网络协议的多个功能点的拆分,在多个处理单元上实现一个网络协议的不同的功能,使得每个处理单元所要实现的功能简单,便于硬件实现,且每个处理单元的功能内聚,逻辑清晰,便于对处理单元的进行测试验证。

在上述任一实施例的基础上,本申请实施例还提供一种协议数据处理方法,预设网络协议为:互联网协议安全加密协议,多个处理单元中依次配置的多个处理模块依次为:合法性校验模块、添加字段模块、加密模块,以及完整性校验模块。

具体的,预设网络协议为:互联网协议安全加密协议(ipsecurity,ipsec),则按照该互联网协议安全加密协议的功能点进行拆分,得到合法性校验功能、添加字段功能、加密功能以及完整性校验功能,在多个处理单元的多个处理模块依次配置合法性校验功能、添加字段功能、加密功能以及完整性校验功能,得到合法性校验模块、添加字段模块、加密模块,以及完整性校验模块。

在上述实施例的基础上,本申请实施例提供一种协议处理系统的应用示例,图4为本申请实施例提供的第二种协议处理系统的结构示意图,如图4所示,每个处理单元为一个处理芯片,硬件数据通路采用pcie接口,多个处理芯片采用pcie接口依次通信连接,多个处理芯片中依次配置有互联网协议安全加密协议的多个处理模块:合法性校验模块11-1、添加字段模块11-2、加密模块11-3,以及完整性校验模块11-4,以依次实现互联网协议安全加密协议的协议数据的处理,得到协议数据对应的目标数据。

基于该协议处理系统的协议数据处理方法,依次由多个处理单元基于预先配置的对应处理单元中的合法性校验模块11-1、添加字段模块11-2、加密模块11-3,以及完整性校验模块11-4,对输入的待处理的协议数据进行处理,并实处多个处理单元中最后一个处理单元处理后的目标数据。

具体的,图5为本申请实施例提供的一种ipsec协议数据处理的示意图,如图5所示,针对互联网协议安全加密协议,输入的待处理的协议数据为ip数据包,将该ip数据包输入至合法性校验模块11-1,对ip数据包中的包头hdr和载荷payload的合法性进行校验,若校验通过则将ip数据包通过pcie接口发送至添加字段模块11-2,添加字段模块11-2用于对ip数据包中的数据添加esp(encapsulatingsecuritypayload,报文安全封装协议)包的包头字段esp-hdr并进行封装,并在封装时增加预留字段,将封装后的ip数据包通过pcie接口发送至加密模块11-3,用于对ip数据包中的载荷payload进行加密,并将加密后的ip数据包通过pcie接口发送至完整性校验模块11-4,对加密后的ip数据包中的内容进行完整性校验,通过完整性校验后在预留字段中添加数据校验码hmac3,并输出ipsec数据包。

以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(applicationspecificintegratedcircuit,简称asic),或,一个或多个微处理器(digitalsingnalprocessor,简称dsp),或,一个或者多个现场可编程门阵列(fieldprogrammablegatearray,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessingunit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文:read-onlymemory,简称:rom)、随机存取存储器(英文:randomaccessmemory,简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。

上仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1