报文处理方法、设备、系统及存储介质技术方案

技术编号:33841149 阅读:32 留言:0更新日期:2022-06-18 10:23
本申请实施例提供一种报文处理方法、设备、系统及存储介质。在本申请实施例中,可编程器件可将待处理报文的报文头提供给CPU进行处理;并对CPU处理完成的报文头和待处理报文的有效载荷部分进行拼接,得到目标报文,既利用可编程器件硬件的高性能处理报文的有效载荷部分,又可以利用CPU中软件的灵活性处理报文头部处理复杂的事务逻辑,由于报文头长度较短,所以CPU软件处理不会因为长报文拷贝处理损失性能,因此,有助于提高网络转发性能。有助于提高网络转发性能。有助于提高网络转发性能。

【技术实现步骤摘要】
报文处理方法、设备、系统及存储介质


[0001]本申请涉及通信
,尤其涉及一种报文处理方法、设备、系统及存储介质。

技术介绍

[0002]近些年由于网络功能虚拟化(NFV)应用的增多,用户事务对性能要求不断增加,100G网卡的逐渐普及,随着网卡性能和带宽的不断提升,软件转发已无法满足日益增长的网络需求。为了提高物理机的网络转发性能,智能网卡(smart NIC)应用而生。
[0003]现有技术中,通过将宿主的部分功能或全部功能卸载到网卡上,利用网卡CPU进行网络转发,转发性能较低。

技术实现思路

[0004]本申请的多个方面提供一种报文处理方法、设备、系统及存储介质,用以提高网络转发性能。
[0005]本申请实施例提供一种报文处理系统,包括:中央处理器和可编程器件;所述可编程器件与所述中央处理器通信连接;
[0006]所述可编程器件,用于将获取到的待处理报文的报文头提供给所述中央处理器;
[0007]所述中央处理器,用于对所述报文头进行处理,以得到目标报文头;并将所述目标报文头提供给所述可编程器件;
[0008]所述可编程器件,还用于将所述目标报文头与所述待处理报文的有效载荷部分进行拼接,以得到目标报文;并将所述目标报文转发至所述目标报文头指向的目标节点。
[0009]本申请实施例还提供一种数据处理系统,包括:部署于指定物理空间中的多台物理设备;所述多台物理设备通信连接;
[0010]第一物理设备,用于获取待处理数据;并所述待处理数据中的至少部分数据提供给其它物理设备;所述第一物理设备为所述多台物理设备中的任一设备
[0011]所述其它物理设备,用于对所述至少部分数据进行处理,以得到数据处理结果;将所述数据处理结果提供给所述第一物理设备;
[0012]所述第一物理设备,用于根据所述数据处理结果,确定工作模式。
[0013]本申请实施例还提供一种报文处理方法,适用于可编程器件,包括:
[0014]获取待处理报文;
[0015]将所述待处理报文的报文头提供给与所述可编程器件通信连接的中央处理器,以供所述中央处理器对所述报文头进行处理得到目标报文头并返回;
[0016]将所述目标报文头与所述待处理报文的有效载荷部分进行拼接,以得到目标报文;
[0017]将所述目标报文转发至所述目标报文头指向的目标节点。
[0018]本申请实施例还提供一种报文处理方法,适用于中央处理器,包括:
[0019]获取与所述中央处理器通信连接的可编程器件提供的待处理报文的报文头;
[0020]对所述报文头进行处理,以得到目标报文头;
[0021]将所述目标报文头提供给所述可编程器件,以供所述可编程器件将所述目标报文头与所述待处理报文的有效载荷部分进行拼接得到目标报文并转发。
[0022]本申请实施例还提供一种网络设备,包括:可编程器件;所述可编程器件可与中央处理器通信连接;所述可编程器件,用于执行上述由可编程器件执行报文处理方法中的步骤。
[0023]本申请实施例还提供一种网络设备,包括:存储器和中央处理器,所述存储器用于存储计算机程序;所述中央处理器可与可编程器件通信连接;
[0024]所述中央处理器耦合至所述存储器,用于执行所述计算机程序以用于执行上述由中央处理器执行报文处理方法中的步骤。
[0025]本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行上述各报文处理方法中的步骤。
[0026]在本申请实施例中,可编程器件将待处理报文的报文头提供给CPU进行处理;并对CPU处理完成的报文头和待处理报文的有效载荷部分进行拼接,得到目标报文,既利用可编程器件硬件的高性能处理报文的有效载荷部分,又可以利用CPU中软件的灵活性处理报文头部处理复杂的事务逻辑,由于报文头长度较短,所以CPU软件处理不会因为长报文拷贝处理损失性能,因此,有助于提高网络转发性能。
附图说明
[0027]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0028]图1a为本申请实施例提供的报文处理系统的结构示意图;
[0029]图1b为本申请实施例提供的网卡的结构示意图;
[0030]图1c和图1d为本申请实施例提供的报文处理过程示意图;
[0031]图1e为本申请实施例提供的网卡针对宿主物理机发出的报文进行处理的过程示意图;
[0032]图1f为本申请实施例提供的网卡针对宿主物理机接收到的报文进行处理的过程示意图;
[0033]图2a为本申请实施例提供的一种网络设备的结构示意图;
[0034]图2b为本申请实施例提供的计算机设备的结构示意图;
[0035]图2c为本申请实施例提供的另一种网络设备的结构示意图;
[0036]图3和图4为本申请实施例提供的报文处理方法的流程示意图;
[0037]图5为本申请实施例提供的数据处理系统的结构示意图。
具体实施方式
[0038]为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做
出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0039]针对现有硬件卸载方案网络转发性能较低的技术问题,在本申请一些实施例中,可编程器件将待处理报文的报文头提供给CPU进行处理;并对CPU处理完成的报文头和待处理报文的有效载荷部分进行拼接,得到目标报文,既利用可编程器件硬件的高性能处理报文的有效载荷部分,又可以利用CPU中软件的灵活性处理报文头部处理复杂的事务逻辑,由于报文头长度较短,所以CPU软件处理不会因为长报文拷贝处理损失性能,因此,有助于提高网络转发性能。
[0040]以下结合附图,详细说明本申请各实施例提供的技术方案。
[0041]应注意到:相同的标号在下面的附图以及实施例中表示同一物体,因此,一旦某一物体在一个附图或实施例中被定义,则在随后的附图和实施例中不需要对其进行进一步讨论。
[0042]图1a为本申请实施例提供的报文处理系统的结构示意图。如图1a所示,该系统包括:中央处理器(CPU)11和可编程器件12。其中,CPU 11和可编程器件12通信连接。可选地,CPU 11和可编程器件12可通过数据总线通信连接。数据总线可为串行接口数据总线,例如PCIe串行接口、USB串行接口、RS485接口或RS232接口等等,但不限于此。
[0043]在本实施例中,CPU 11可为独立的芯片,也可为片上芯片系统(System on Chip,SoC)集成的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种报文处理系统,其特征在于,包括:中央处理器和可编程器件;所述可编程器件与所述中央处理器通信连接;所述可编程器件,将获取到的待处理报文的报文头提供给所述中央处理器;所述中央处理器,用于对所述报文头进行处理,以得到目标报文头;并将所述目标报文头提供给所述可编程器件;所述可编程器件,还用于将所述目标报文头与所述待处理报文的有效载荷部分进行拼接,以得到目标报文;并将所述目标报文转发至所述目标报文头指向的目标节点。2.根据权利要求1所述的系统,其特征在于,所述中央处理器,还用于:生成对所述报文头进行处理的流表;并将所述对所述报文头进行处理的流表提供给所述可编程器件;所述可编程器件,用于将所述对所述报文头进行处理的流表存储至本地。3.根据权利要求1所述的系统,其特征在于,所述可编程器件,还用于:获取所述报文头中的数据流标识;将所述数据流标识在本地存储的流表中进行匹配;若所述本地存储的流表中不存在所述数据流标识,则确定本地不存在针对所述待处理报文进行处理的流表;所述可编程器件,在将所述报文头提供给所述中央处理器时,具体用于:在本地不存在针对所述待处理报文进行处理的流表的情况下,将所述报文头提供给所述中央处理器。4.根据权利要求3所述的系统,其特征在于,所述可编程器件,还用于:若在本地存储的流表中存在与所述数据流标识匹配的流表,则将匹配中的流表作为目标流表;按照所述目标流表的流表项记录的处理方式对所述待处理报文进行处理,以得到所述目标报文。5.根据权利要求3所述的系统,其特征在于,所述可编程器件存储有需要将完整报文提供给所述中央处理器的过滤条件;所述可编程器件还用于:基于所述数据流标识和所述过滤条件,判断是否需要将完整的待处理报文提供给所述中央处理器;若判断结果为否,则将所述待处理报文的报文头提供给所述中央处理器。6.根据权利要求5所述的系统,其特征在于,所述过滤条件包括:需要将完整报文提供至所述中央处理器的报文的数据流标识中的一个或多个、目的网络地址以及源网络地址中的至少一种。7.根据权利要求6所述的系统,其特征在于,所述过滤条件包括:目的网络地址以及源网络地址;所述可编程器件在判断是否需要将完整的待处理报文提供给所述中央处理器时,具体用于:从所述待处理报文的报文头中解析出目的IP地址和源IP地址;从所述目的IP地址和源IP地址中获取所述待处理报文的目的网络地址和源网络地址;将所述待处理报文的目的网络地址和源网络地址在所述过滤条件中的目的网络地址以及源网络地址进行匹配;若匹配中,则将完整的待处理报文提供给所述中央处理器进行处理。8.根据权利要求3所述的系统,其特征在于,所述数据流标识为所述报文头中的五元组信息。
9.根据权利要求1

8任一项所述的系统,其特征在于,所述可编程器件为FPGA、CPLD或ASIC。10.根据权利要求1

8任一项所述的系统,其特征在于,所述中央处理器集成于片上系统或微控制单元。11.根据权利要求1

8任一项所述的系统,其特征在于,所述中央处理器和所述可编程器件部署于同一网络设备上;或者,所述中央处理器和所述可编程器件部署于不同的网络设备。12.根据权利要求11所述的系统,其特征在于,所述中央处理器和所述可编程器件部署于网卡、网关或路由器中。13.根据权利要求12所述的系统,其特征在于,在所述中央处理器和所述可编程器件部署于网卡中的情况下,所述网卡还包括:网络接口和总线接口;所述网卡通过所述总线接口安装于宿主物理机上;所述网络接口用于接收其它物理机向所述宿主物理机发送的报文,并转发所述宿主物理机发出的报文。14.一种报文处理方法,适用于可编程器件,其特征在于,包括:获取待处理报文;将所述待处理报文的报文头提供给与所述可编程器件通信连接的中央处理器,以供所述中央处理器对所述报文头进行处理得到目标报文头并返回;将所述目标报文头与所述待处理报文的有效载荷部分进行拼接,以得到目标报文;将所述目标报文转发至所述目标报文头指向的目标节点。15.根据权利要求14所述的方法,其特征在于,还包括:获取所述中央处理器对所述报文头进行处理的流表,并存储至本地。16.根据权利要求14所述的方法,其特征在于,所述待处理报文的报文头提供给与所述可编程器件通信连接的中央处理器,包括:在本地不存在针对所述待处理报文进行处理的流表的情况下,将所述报文头提供给所述中央处理器。17.根据权利要求16所述的方法,其特征在于,还包括:获取所述报文头中的数据流标识...

【专利技术属性】
技术研发人员:吕怡龙
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1