一种报文发送制造技术

技术编号:39670649 阅读:13 留言:0更新日期:2023-12-11 18:36
本申请涉及存储技术领域,提供一种报文发送

【技术实现步骤摘要】
一种报文发送、接收方法、网卡以及计算设备


[0001]本申请涉及存储
,尤其涉及一种报文发送

接收方法

网卡以及计算设备


技术介绍

[0002]智能网卡因其自带的处理器或芯片,可以承担计算机内核所处理的一部分任务
(
如报文头的封装和解封装等
)
,减少了计算机内存和中央处理器
(central processing unit

CPU)
资源的消耗,能够加快数据传输

[0003]在数据传输过程中,发送端设备与接收端设备之间的中间设备
(
如交换机
)
可能需要完成一些任务
(
如带内网络遥测,路由转发等
)
,以满足业务需求和用户需求

目前,为了使得中间设备明确所执行的任务,发送端设备在发送数据之前,可以先向中间设备发送报文,该报文用于向该中间设备指示与这些任务相关的信息,之后发送端设备再向该中间设备发送数据

可见,由于发送端设备需要额外向中间设备发送报文来指示任务相关的信息,导致网络资源开销较大

[0004]可见,如何以较少的资源开销向中间设备发送与任务相关的信息,是需要解决的技术问题


技术实现思路

[0005]本申请实施例提供一种报文发送

接收方法

网卡以及计算设备,用于以较少的资源开销向中间设备发送该中间设备相关的任务信息

[0006]第一方面,本申请提供一种报文发送方法,应用于第一设备内的第一网卡,该第一设备还包括第一处理器

在该方法中:接收来自第一处理器的第一命令,该第一命令指示有待发送的信息;根据第一命令,获取第一设备存储的队列对上下文,该队列对上下文包括第一任务的信息,第一任务是至少一个中间设备在数据传输过程中所执行的任务,至少一个中间设备是在第一设备与第二设备之间中转信息的设备;为待发送的第一报文添加第一报文头,得到第二报文,以及向第二设备发送该第二报文,第一报文头包括第一任务的信息,且第一报文包括待发送的数据

[0007]本申请实施例中,第一网卡可以将第一任务的信息添加到第一报文头中,并将第一报文头添加到待发送的第一报文中,这样网卡可以利用承载待发送数据的报文将第一任务的信息发送给中间设备,而无需单独向中间设备发送承载第一任务的信息的报文,能够减小资源开销

[0008]在一种可能的实现方式中,队列对上下文还包括第一信息,第一信息用于指示第一报文头在报文中的位置;为待发送的第一报文添加第一报文头,可以为:根据第一信息,为第一报文添加第一报文头

通过上述方式,在报文头封装流程中网卡能够将携带第一任务的信息的第一报文头按照指定位置插入第一报文

[0009]在一种可能的实现方式中,为待发送的第一报文添加第一报文头,得到第二报文,
可以为:将队列对上下文读取到第一网卡的预留存储区域;以及,在预留存储区域中,为第一报文添加第一报文头,得到第二报文

通过上述方式,第一网卡可以在该预留存储区域内完成第二报文的生成,这样可以避免挤占其它流程的存储资源

[0010]在一种可能的实现方式中,队列对上下文还可以包括第二信息,该第二信息用于指示支持通过报文头发送第一任务的信息

通过上述方式,能够标识第一设备是否使能第一网卡将第一任务的信息插入待发送数据的报文中

[0011]在一种可能的实现方式中,根据第一命令,获取第一设备中的队列对上下文,可以为:根据第一命令,确定第一命令对应的工作队列入口;以及,根据工作队列入口,读取该队列对上下文

[0012]在一种可能的实现方式中,第一任务包括带内网络遥测和
/
或路由转发

[0013]第二方面,本申请提供一种报文接收方法,应用于第二设备内的第二网卡,在该方法中,接收来自第一设备的第二报文,第二报文包括第一报文头,第二报文头和数据,其中,第一报文头包括第一任务的信息,第一任务是至少一个中间设备在数据传输过程中所执行的任务,至少一个中间设备是在第一设备与第二设备之间中转信息的设备,第二报文头是第二报文中除了第一报文头之外剩余的报文头;根据第二报文,生成元数据,其中,元数据包括第一报文头的长度和第二报文头的预解析信息;以及,根据元数据删除第一报文头,以及根据元数据解析第二报文头得到数据

[0014]在一种可能的实现方式中,根据元数据删除第一报文头,可以为:根据第一报文头的长度,生成第二命令,第二命令指示删除第一报文头;根据第二命令,删除第一报文头

[0015]在一种可能的实现方式中,元数据还包括第一信息,第一信息用于指示第一报文头在报文中的位置;根据第一报文头的长度,生成第二命令,可以为:根据第一报文头的长度和第一信息,生成第二命令

[0016]在一种可能的实现方式中,该方法还可以包括:确定第二报文的报文类型是扩展报文

[0017]在一种可能的实现方式中,第一任务包括带内网络遥测和
/
或路由转发

[0018]第三方面,本申请提供一种报文发送方法,应用于第一设备的第一处理器,该第一设备还包括第一网卡,在该方法中,将第一任务的信息写入队列对上下文,其中,第一任务是至少一个中间设备在数据传输过程中所执行的任务,至少一个中间设备是在第一设备与第二设备之间中转信息的中间设备;以及,根据队列对上下文,向第一网卡发送第一命令,其中,第一命令指示有待发送的信息

[0019]在一种可能的实现方式中,该方法还可以包括:将第一信息写入队列对上下文,其中,第一信息用于指示第一报文头在报文中的位置,第一报文头包括第一任务的信息

[0020]在一种可能的实现方式中,该方法还可以包括:将第二信息写入队列对上下文,其中,第二信息用于指示支持通过报文头发送第一任务的信息

[0021]在一种可能的实现方式中,该方法还可以包括:接收来自用户的第一任务的信息

[0022]在一种可能的实现方式中,根据队列对上下文,向第一网卡发送第一命令,可以为:根据队列对上下文,生成工作队列入口;以及,根据工作队列入口,向第一网卡发送工作队列入口对应的第一命令

[0023]第四方面,本申请提供一种网卡,该网卡设置在第一设备中,该网卡具有实现上述
第一方面以及第一方面的各个可能的实施方式中行为的功能,有益效果可以参见第一方面以及第一方面的各个可能的实施方式中的描述,此处不再赘述

[0024]在一种可能的实现方式中,网卡的结构中可以包括处理器和存储器本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种报文发送方法,其特征在于,应用于第一设备内的第一网卡,所述第一设备还包括第一处理器,所述方法包括:接收来自所述第一处理器的第一命令,其中,所述第一命令指示有待发送的信息;根据所述第一命令,获取所述第一设备存储的队列对上下文,其中,所述队列对上下文包括第一任务的信息,所述第一任务是至少一个中间设备在数据传输过程中所执行的任务,所述至少一个中间设备是在所述第一设备与第二设备之间中转信息的设备;为待发送的第一报文添加第一报文头,得到第二报文,其中,所述第一报文头包括所述第一任务的信息,且所述第一报文包括待发送的数据;向所述第二设备发送所述第二报文
。2.
根据权利要求1所述的方法,其特征在于,所述队列对上下文还包括第一信息,所述第一信息用于指示所述第一报文头在报文中的位置;为待发送的第一报文添加第一报文头,包括:根据所述第一信息,为所述第一报文添加第一报文头
。3.
根据权利要求1或2所述的方法,其特征在于,所述为待发送的第一报文添加第一报文头,得到第二报文,包括:将所述队列对上下文读取到所述第一网卡的预留存储区域;在所述预留存储区域中,为所述第一报文添加所述第一报文头,得到所述第二报文
。4.
根据权利要求1至3中任一项所述的方法,其特征在于,所述队列对上下文还包括第二信息,所述第二信息用于指示支持通过报文头发送所述第一任务的信息
。5.
根据权利要求1至4中任一项所述的方法,其特征在于,根据所述第一命令,获取所述第一设备存储的队列对上下文,包括:根据所述第一命令,确定所述第一命令对应的工作队列入口;根据所述工作队列入口,读取所述队列对上下文
。6.
根据权利要求1至5中任一项所述的方法,其特征在于,所述第一任务包括带内网络遥测和
/
或路由转发
。7.
一种报文接收方法,其特征在于,应用于第二设备内的第二网卡,所述方法包括:接收来自第一设备的第二报文,所述第二报文包括第一报文头,第二报文头和数据,其中,所述第一报文头包括第一任务的信息,所述第一任务是至少一个中间设备在所述数据传输过程中所执行的任务,所述至少一个中间设备是在所述第一设备与所述第二设备之间中转信息的设备,所述第二报文头是所述第二报文中除了所述第一报文头之外剩余的报文头;根据所述第二报文,生成元数据,其中,所述元数据包括所述第一报文头的长度和所述第二报文头的预解析信息;根据所述元数据删除所述第一报文头,以及根据所述元数据解析所述第二报文头得到所述数据
。8.
根据权利要求7所述的方法,其特征在于,根据所述元数据删除所述第一报文头,包括:根据所述第一报文头的长度,生成第二命令,所述第二命令指示删除所述第一报文头;根据所述第二命令,删除所述第一报文头

9.
根据权利要求8所述的方法,其特征在于,所述元数据还包括第一信息,所述第一信息用于指示所述第一报文头在报文中的位置;根据所述第一报文头的长度,生成第二命令,包括:根据所述第一报文头的长度和所述第一信息,生成所述第二命令
。10.
根据权利要求7至9中任一项所述的方法,其特征在于,所述方法还包括:确定所述第二报文的报文类型是扩展报文
。11.
根据权利要求7至
10
中任一项所述的方法,其特征在于,所述第一任务包括带内网络遥测和
/
或路由转发
。12.
一种网卡,其特征在于,所述网卡设置在第一设备中,所述第一设备还包括第一处理器,所述网卡包括接口和第二处理器;其中,所述接口,用于接收来自所述第一处理器的第一命令,其中,所述第一命令指示有待发送的信息;所述第二处理器,用于根据所述第一命令,获取所述第一设备存储的队列对上下文,其中,所述队列对上下文包括第一任务的信息,所述第一任务是至少一个中间设备在数据传输过程中所执行的任务,所述至少一个中间设备是在所述第一设备与第二设备之间中转信息的设备;以及,为...

【专利技术属性】
技术研发人员:周辉周超张蔚
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1