报文处理方法、装置、网卡及计算机可读存储介质制造方法及图纸

技术编号:29708961 阅读:14 留言:0更新日期:2021-08-17 14:39
本申请涉及数据处理技术领域,提供一种报文处理方法、装置、网卡及计算机可读存储介质,包括:获取待处理报文,并确定待处理报文是否为VxLAN报文;若待处理报文为VxLAN报文,则对VxLAN报文解封装,得到第一报文;确定第一报文对应的目标虚拟网卡,并通过目标虚拟网卡将第一报文发送给Nginx服务器;获取Nginx服务器发送的第二报文,第二报文是Nginx服务器运行目标虚拟网卡对应的Nginx实例对第一报文进行地址转换处理得到的;对第二报文封装,得到第一VxLAN报文,向对应的网络设备发送第一VxLAN报文。提高了Nginx服务器对VxLAN报文处理的效率。本申请还涉及区块链、人工智能技术领域。

【技术实现步骤摘要】
报文处理方法、装置、网卡及计算机可读存储介质
本申请涉及数据处理
,尤其涉及一种报文处理方法、装置、网卡及计算机可读存储介质。
技术介绍
Nginx作为业界开源的七层负载均衡产品,其优异的性能得到了业界广泛的认可。在云计算虚拟化场景下,可以将不同的Nginx部署到同一台网络功能虚拟化(NetworkFunctionsVirtualization,NFV)设备上,通过虚拟扩展局域网(VirtualExtensibleLocalAreaNetwork,VxLAN)报文头部中虚拟网络标识将分属于不同虚拟私有云的流量分流到各自对应的Nginx中进行处理,以达到不同虚拟私有云流量相互隔离的效果。由于Nginx只处理VxLAN隧道内部的报文,所以Nginx在接收到带VxLAN报文之后会通过内核的VxLAN接口对接收到的VxLAN报文进行解封装处理,Nginx处理后的报文需要通过VxLAN发送到远端的设备,在这之前还需要对报文进行VxLAN封装,目前常用封装方式是基于内核协议栈或者虚拟交换机(OpenVSwitch,OVS)的虚拟扩展局域网报文封装和解封装,但是这种方式对设备的CPU消耗较大。
技术实现思路
本申请的主要目的在于提供一种报文处理方法、装置、网卡及计算机可读存储介质,旨在提高对VxLAN报文处理的效率。第一方面,本申请提供一种报文处理方法,应用于物理网卡,所述物理网卡与Nginx服务器连接,所述Nginx服务器部署有多个Nginx实例,所述物理网卡创建有每个所述Nginx实例对应的虚拟网卡,所述方法包括:获取待处理报文,并确定所述待处理报文是否为虚拟扩展局域网VxLAN报文;若所述待处理报文为VxLAN报文,则对所述VxLAN报文进行解封装,得到第一报文;从多个所述虚拟网卡中确定所述第一报文对应的目标虚拟网卡,并通过所述目标虚拟网卡将所述第一报文发送给所述Nginx服务器;获取所述Nginx服务器发送的第二报文,所述第二报文是所述Nginx服务器运行所述目标虚拟网卡对应的Nginx实例对所述第一报文进行地址转换处理得到的;对所述第二报文进行封装,得到第一VxLAN报文,并向所述第一VxLAN报文中的目标IP地址对应的网络设备发送所述第一VxLAN报文。第二方面,本申请还提供一种报文处理装置,应用于物理网卡,所述物理网卡与Nginx服务器连接,所述Nginx服务器部署有多个Nginx实例,所述物理网卡创建有每个所述Nginx实例对应的虚拟网卡,所述报文处理装置包括:第一获取模块,用于获取待处理报文;确定模块,用于确定所述待处理报文是否为虚拟扩展局域网VxLAN报文;报文解封装模块,用于对所述VxLAN报文进行解封装,得到第一报文;所述确定模块,还用于从多个所述虚拟网卡中确定所述第一报文对应的目标虚拟网卡,并通过所述目标虚拟网卡将所述第一报文发送给所述Nginx服务器;报文封装模块,用于对第二报文进行封装,得到第一VxLAN报文;发送模块,用于向所述第一VxLAN报文中的目标IP地址对应的网络设备发送所述第一VxLAN报文。第三方面,本申请还提供一种物理网卡,所述物理网卡与Nginx服务器连接,所述Nginx服务器部署有多个Nginx实例,所述物理网卡创建有每个所述Nginx实例对应的虚拟网卡,所述物理网卡包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如如上的报文处理方法的步骤。第四方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如上述的报文处理方法的步骤。本申请提供一种报文处理方法、装置、网卡及计算机可读存储介质,本申请获取待处理报文,并确定待处理报文是否为虚拟扩展局域网VxLAN报文;若待处理报文为VxLAN报文,则对VxLAN报文进行解封装,得到第一报文;从多个所述虚拟网卡中确定第一报文对应的目标虚拟网卡,并通过目标虚拟网卡将第一报文发送给Nginx服务器;获取Nginx服务器发送的第二报文,第二报文是所述Nginx服务器运行目标虚拟网卡对应的Nginx实例对第一报文进行地址转换处理得到的;对第二报文进行封装,得到第一VxLAN报文,并向第一VxLAN报文中的目标IP地址对应的网络设备发送第一VxLAN报文。通过物理网卡对VxLAN报文进行解封装和封装,可以减少Nginx服务器对的CPU资源的消耗。附图说明为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的一种报文处理方法的步骤流程示意图;图2为本申请实施例提供的另一种报文处理方法的步骤流程示意图;图3为本申请实施例提供的一种报文处理装置的示意性框图;图4为本申请实施例提供的另一种报文处理装置的示意性框图;图5为本申请实施例提供的另一种报文处理装置的示意性框图;图6为本申请实施例提供的一种物理网卡的结构示意性框图。本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。本申请实施例提供一种报文处理方法、装置、网卡及计算机可读存储介质。其中,该报文处理方法可应用于物理网卡中,该物理网卡可以是ISA接口网卡、PCI接口网卡和PCI-X总线网卡等等类型的网卡。下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。请参照图1,图1为本申请实施例提供的一种报文处理方法的步骤流程示意图。如图1所示,该报文处理方法包括步骤S101至步骤S105。步骤S101、获取待处理报文,并确定所述待处理报文是否为虚拟扩展局域网VxLAN报文。获取待处理报文,从待处理报文中提取待处理报文的头部字段信息;若头部字段信息中存在VxLAN头部字段,则确定待处理报文为VxLAN报文;若头部字段信息中不存在VxLAN头部字段,则确定待处理报文不为VxLAN报文。其中,VxLAN头部字段可以是24比特的虚拟网络标识,当然也可以定义为其他的字段,本申请对此不做具体限定。本文档来自技高网...

【技术保护点】
1.一种报文处理方法,其特征在于,应用于物理网卡,所述物理网卡与Nginx服务器连接,所述Nginx服务器部署有多个Nginx实例,所述物理网卡创建有每个所述Nginx实例对应的虚拟网卡,所述方法包括:/n获取待处理报文,并确定所述待处理报文是否为虚拟扩展局域网VxLAN报文;/n若所述待处理报文为VxLAN报文,则对所述VxLAN报文进行解封装,得到第一报文;/n从多个所述虚拟网卡中确定所述第一报文对应的目标虚拟网卡,并通过所述目标虚拟网卡将所述第一报文发送给所述Nginx服务器;/n获取所述Nginx服务器发送的第二报文,所述第二报文是所述Nginx服务器运行所述目标虚拟网卡对应的Nginx实例对所述第一报文进行地址转换处理得到的;/n对所述第二报文进行封装,得到第一VxLAN报文,并向所述第一VxLAN报文中的目标IP地址对应的网络设备发送所述第一VxLAN报文。/n

【技术特征摘要】
1.一种报文处理方法,其特征在于,应用于物理网卡,所述物理网卡与Nginx服务器连接,所述Nginx服务器部署有多个Nginx实例,所述物理网卡创建有每个所述Nginx实例对应的虚拟网卡,所述方法包括:
获取待处理报文,并确定所述待处理报文是否为虚拟扩展局域网VxLAN报文;
若所述待处理报文为VxLAN报文,则对所述VxLAN报文进行解封装,得到第一报文;
从多个所述虚拟网卡中确定所述第一报文对应的目标虚拟网卡,并通过所述目标虚拟网卡将所述第一报文发送给所述Nginx服务器;
获取所述Nginx服务器发送的第二报文,所述第二报文是所述Nginx服务器运行所述目标虚拟网卡对应的Nginx实例对所述第一报文进行地址转换处理得到的;
对所述第二报文进行封装,得到第一VxLAN报文,并向所述第一VxLAN报文中的目标IP地址对应的网络设备发送所述第一VxLAN报文。


2.根据权利要求1所述的报文处理方法,其特征在于,所述确定所述待处理报文是否为虚拟扩展局域网VxLAN报文,包括:
从所述待处理报文中提取所述待处理报文的头部字段信息;
若所述头部字段信息中存在VxLAN头部字段,则确定所述待处理报文为VxLAN报文;
若所述头部字段信息中不存在VxLAN头部字段,则确定所述待处理报文不为VxLAN报文。


3.根据权利要求1所述的报文处理方法,其特征在于,所述从多个所述虚拟网卡中确定所述第一报文对应的目标虚拟网卡,包括:
从所述第一报文中提取VxLAN网络标识和数据传输局域网DSTMAC地址;
根据所述VxLAN网络标识和所述DSTMAC地址,从多个所述虚拟网卡中确定所述目标虚拟网卡。


4.根据权利要求3所述的报文处理方法,其特征在于,所述根据所述VxLAN网络标识和所述DSTMAC地址,从多个所述虚拟网卡中确定所述目标虚拟网卡,包括:
获取预设的VxLAN网络标识和DSTMAC地址,与虚拟网卡之间的流转映射关系表;
从所述流转映射关系表中查询与所述VxLAN网络标识和所述DSTMAC地址对应的虚拟网卡,得到所述目标虚拟网卡。


5.根据权利要求1-4中任一项所述的报文处理方法,其特征在于,所述向所述第一VxLAN报文中的目标IP地址对应的网络设备发送所述第一VxLAN报文之前,还包括:
获取所述第一VxLAN报文的报文长度和VxLAN隧道能够传输报...

【专利技术属性】
技术研发人员:张志平
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东;44

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

1