【技术实现步骤摘要】
数据转发方法、装置、设备及存储介质
[0001]本申请涉及通信
,尤其涉及一种数据转发方法、装置、设备及存储介质。
技术介绍
[0002]网络地址转换(Network Address Translation,NAT)网关是一种将虚拟私有云(Virtual Private Cloud,VPC)中的内网IP地址和公网IP地址进行转换的网关,是实现VPC内无公网IP的云资源访问互联网的一种实现方式。NAT网关处于互联网和VPC的边界,适用在私有网络内部,部分资源共用公网出口,可以节约带宽与流量资源。
[0003]在多核中央处理器(Central Processing Unit/Processor,CPU),网卡多队列架构服务器中,NAT网关拥有多个工作线程,每个工作线程运行在单独的CPU核上独占网卡中的一个接收队列(或发送队列)。这种架构的主要目的是增加系统吞吐量、增强伸缩性、非关联会话转发效率高、资源独立。
[0004]在这种情况下,如果有大量跨线程处理任务,则数据转发性能就会急速下降。因此,当前NAT网关 ...
【技术保护点】
【技术特征摘要】
1.一种数据转发方法,其特征在于,所述方法包括:当网络地址转换NAT网关配置源地址转换SNAT时,基于所述NAT网关对应的多个工作线程的数量,将公共互联网协议IP地址对应的多个端口平均划分为多组端口,每组端口包括至少一个端口;确定所述多个工作线程中每个工作线程对应的一组端口,得到目标流表,并将所述目标流表下发至目标网卡,一个工作线程对应一组端口;当接收到目标数据时,基于所述目标数据对应的目的IP地址和目的端口,从所述目标流表中确定所述目标数据对应的目标工作线程,并通过所述目标工作线程转发所述目标数据。2.根据权利要求1所述的方法,其特征在于,所述多个工作线程中的每个工作线程对应一个线程编号,所述公共IP地址对应的多个端口中的每个端口对应一个端口编号,所述目标流表包括多个流表,一个工作线程对应一个流表;所述确定所述多个工作线程中每个工作线程对应的一组端口,得到目标流表,包括:针对所述多个工作线程中的第一个工作线程,基于每个端口对应的端口编号,从所述第一个工作线程对应的第一组端口中确定出前N个端口,所述前N个端口为公共服务对应的端口,N为正整数;基于所述第一组端口中除所述前N个端口之外的其他端口,确定所述第一个工作线程对应的流表。3.根据权利要求1或2所述的方法,其特征在于,所述目标流表包括:起始端口编号和目标掩码;所述基于所述NAT网关对应的多个工作线程的数量,将公共互联网协议IP地址对应的多个端口平均划分为多组端口,包括:基于所述NAT网关对应的所述多个工作线程中的每个工作线程对应的线程编号、所述公共IP地址对应的多个端口中的每个端口对应的端口编号,从所述公共IP地址对应的多个端口中确定出每个工作线程对应的所述起始端口编号;基于所述多个工作线程的数量和所述公共IP地址对应的多个端口的数量,确定所述目标掩码;基于所述多个工作线程中的每个工作线程对应的所述起始端口编号和所述目标掩码,确定每个工作线程对应的一组端口。4.根据权利要求2所述的方法,其特征在于,所述针对所述多个工作线程中的第一个工作线程,基于每个端口对应的端口编号,从所述第一个工作线程对应的第一组端口中确定出前N个端口,包括:针对所述多个工作线程中的第一个工作线程,基于每个端口对应的端口编号,将所述第一个工作线程对应的第一组端口中包括的端口划分为多个子组,所述多个子组中的第一个子组包括所述前N个端口。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:基于所述第一个工作线程对应的第一组端口中包括的每个端口对应的端口编号,确定所述多个子组中每个子组对应的起始端口编号和子掩码;基于所述多个子组中的每个子组对应的所述起始端口编号和所述子掩码,确定所述第
一个工作线程对应的流表。6.一种数据转发装置,其特征在于,所述数据转发装置包括:处理单元和转发单元;所述处理单元,用于当网络地址转换NAT网关配置源地址转换SNAT时,基于所述NAT网关对应的多个工作线程的数量,将公共互联网协议IP地址对应的多个端口平...
【专利技术属性】
技术研发人员:李劭哲,马魁,陈晓明,林雪峰,刘勇,陈概华,王骏飞,兰飞,
申请(专利权)人:联通数字科技有限公司联通云数据有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。