一种基于VPP和DPDK的KNI机制实现NATALG处理的方法技术

技术编号:37555962 阅读:17 留言:0更新日期:2023-05-15 07:39
本发明专利技术涉及边缘计算网关技术领域,具体为一种基于VPP和DPDK的KNI机制实现NAT ALG处理的方法,包括以下步骤:VPP引入DPDK的kni机制;在linux内核eth0接口收到的数据包要转给eth1;linux系统需要加载ip_conntrack_ftp和ip_nat_ftp内核模块,同时配置FTP的NATALG处理规则;有益效果为:本发明专利技术提出的基于VPP和DPDK的KNI机制实现NAT ALG处理的方法采用VPP架构实现能够满足用户更高更快的数据带宽要求。边缘计算网关工作在5G核心网数据面的UPF网元和应用服务器之间,在边缘计算网关配置SNAT规则,把不同的UE用户访问导向应用服务器。器。器。

【技术实现步骤摘要】
一种基于VPP和DPDK的KNI机制实现NAT ALG处理的方法


[0001]本专利技术涉及边缘计算网关
,具体为一种基于VPP和DPDK的KNI机制实现NAT ALG处理的方法。

技术介绍

[0002]边缘计算网关作为核心网数据面流量分发的重要网络节点,负责将用户的数据包,按照流量负载均衡的需要,发往多个不同的APP服务器。同时把用户UE IP做源地址转换(SNAT),转换为边缘计算网关的出口(和APP服务器的接入口)IP地址。下行数据包目的IP地址是边缘计算网关网口的IP地址,便能够路由到边缘计算网关,边缘计算网关替换目的ip地址为UE IP地址,随后把数据包发到UE。
[0003]现有技术中,(2)边缘计算网关对UE的上行数据包做了SNAT之后,有些特殊协议的数据访问会不通,这些协议包括FTP、SIP、H323。这些协议有个共同点,就是数据连接的建立依赖控制连接交互的应用层载荷信息(IP地址和端口号)。比如UE通过FTP应用获取数据就分为控制连接和数据连接,在控制连接阶段,UE会给FTP服务器发送一个PORT报文,PORT数据包在应用层载荷里携带一个IP地址和端口号(一般为UE的ip地址),通知FTP服务器和UE的这个IP和端口号交互数据。在数据连接阶段,FTP服务器会和UE的这个ip地址建立连接并传输数据。
[0004]但是,UE的ip地址A经过边缘计算网关SNAT后已经变成了ip地址B,FTP服务器和ip地址A直接建立数据连接是不通的,它只能和ip地址B建立数据连接。这就要求我们在控制连接把PORT报文应用层载荷的IP地址A替换为IP地址B,通知FTP服务器和ip地址B建立数据连接。同样的,SIP和H323协议也存着这种问题。

技术实现思路

[0005]本专利技术的目的在于提供一种基于VPP和DPDK的KNI机制实现NAT ALG处理的方法,以解决上述
技术介绍
中提出的问题。
[0006]为实现上述目的,本专利技术提供如下技术方案:一种基于VPP和DPDK的KNI机制实现NAT ALG处理的方法,所述处理的方法包括以下步骤:
[0007]VPP引入DPDK的kni机制;
[0008]在linux内核eth0接口收到的数据包要转给eth1;
[0009]linux系统需要加载ip_conntrack_ftp和ip_nat_ftp内核模块,同时配置FTP的NATALG处理规则。
[0010]优选的,VPP程序运行前,先在linux内核插入rte_kni.ko模块,VPP程序启动后,会在Linux系统虚拟出两个网卡,分别对应边缘计算网关的入接口和出接口。
[0011]优选的,用iptables在linux系统配置和VPP相同的SNAT转换规则,并配置NAGALG的相关转换规则。
[0012]优选的,UE访问APP应用服务器的上行数据包,VPP的入接口Eth_VIP接收到数据包
后,如果数据包需要做ALG处理,把数据包通过DPDK的kni通道传给内核的eth0接口,数据包做完SNAT和ALG处理后,通过eth1接口传给VPP的出接口Eth_APP口,从边缘计算网关发送出去,下行数据包从反方向原路返回处理。
[0013]优选的,eth1接口收到的数据包要转给eth0,需要借助的linux系统的路由信息和arp缓存信息,VPP配置的路由信息要同步配置到linux系统,VPP学习到的arp缓存要同步配置到linux系统。
[0014]优选的,对于FTP应用,linux系统需要加载ip_conntrack_ftp和ip_nat_ftp内核模块,同时配置FTP的NATALG处理规则,把目的端口号或源端口号为21的数据包导向内核的ftphelper模块处理。
[0015]优选的,对于H323应用,linux系统需要加载ip_conntrack_h323和ip_nat_h323内核模块,同时配置H323的NATALG处理规则,把目的端口号或源端口号为1720的数据包导向内核的Q.931helper模块处理。
[0016]优选的,对于SIP应用,linux系统需要加载ip_conntrack_sip和ip_nat_sip内核模块,同时配置SIP的NATALG处理规则,把目的端口号或源端口号为5060的数据包导向内核的sip helper模块处理。
[0017]与现有技术相比,本专利技术的有益效果是:
[0018]本专利技术提出的基于VPP和DPDK的KNI机制实现NAT ALG处理的方法采用VPP架构实现能够满足用户更高更快的数据带宽要求。边缘计算网关工作在5G核心网数据面的UPF网元和应用服务器之间,在边缘计算网关配置SNAT规则,把不同的UE用户访问导向应用服务器。VPP结合DPDK的kni机制,把FTP/H323/SIP的控制连接数据包导入linux内核做ALG处理,业务数据连接在VPP处理。既实现了ALG处理,保证FTP/H323/SIP的相关应用能够正常访问建立,其后的业务数据访问也能在VPP高性能处理。
附图说明
[0019]图1为本专利技术方法流程图。
具体实施方式
[0020]为了使本专利技术的目的、技术方案进行清楚、完整地描述,及优点更加清楚明白,以下结合附图对本专利技术实施例进行进一步详细说明。应当理解,此处所描述的具体实施例是本专利技术一部分实施例,而不是全部的实施例,仅仅用以解释本专利技术实施例,并不用于限定本专利技术实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0021]实施例一
[0022]请参阅图1本专利技术提供一种技术方案:一种基于VPP和DPDK的KNI机制实现NAT ALG处理的方法,所述处理的方法包括以下步骤:
[0023]VPP引入DPDK的kni机制;VPP程序运行前,先在linux内核插入rte_kni.ko模块,VPP程序启动后,会在Linux系统虚拟出两个网卡,分别对应边缘计算网关的入接口和出接口;用iptables在linux系统配置和VPP相同的SNAT转换规则,并配置NAGALG的相关转换规则;
[0024]在linux内核eth0接口收到的数据包要转给eth1;UE访问APP应用服务器的上行数据包,VPP的入接口Eth_VIP接收到数据包后,如果数据包需要做ALG处理,把数据包通过DPDK的kni通道传给内核的eth0接口,数据包做完SNAT和ALG处理后,通过eth1接口传给VPP的出接口Eth_APP口,从边缘计算网关发送出去,下行数据包从反方向原路返回处理;
[0025]linux系统需要加载ip_conntrack_ftp和ip_nat_ftp内核模块,同时配置FTP的NATALG处理规则,eth1接口收到的数据包要转给eth0,需要借助的linux系统的路由信息和arp缓存信息,VPP配置的路由信息要同步配置到linux系统,VPP学习到的arp缓存要同步配置到linux本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于VPP和DPDK的KNI机制实现NAT ALG处理的方法,其特征在于:所述处理的方法包括以下步骤:VPP引入DPDK的kni机制;在linux内核eth0接口收到的数据包要转给eth1;linux系统需要加载ip_conntrack_ftp和ip_nat_ftp内核模块,同时配置FTP的NATALG处理规则。2.根据权利要求1所述的一种基于VPP和DPDK的KNI机制实现NAT ALG处理的方法,其特征在于:VPP程序运行前,先在linux内核插入rte_kni.ko模块,VPP程序启动后,会在Linux系统虚拟出两个网卡,分别对应边缘计算网关的入接口和出接口。3.根据权利要求2所述的一种基于VPP和DPDK的KNI机制实现NAT ALG处理的方法,其特征在于:用iptables在linux系统配置和VPP相同的SNAT转换规则,并配置NAGALG的相关转换规则。4.根据权利要求3所述的一种基于VPP和DPDK的KNI机制实现NAT ALG处理的方法,其特征在于:UE访问APP应用服务器的上行数据包,VPP的入接口Eth_VIP接收到数据包后,如果数据包需要做ALG处理,把数据包通过DPDK的kni通道传给内核的eth0接口,数据包做完SNAT和ALG处理后,通过eth1接口传给VPP的出接口Eth_APP口,从边缘计算网关发送出去,下行数据包从反方向原路返回处理。5.根据权利要求1所述的一种基于VPP和...

【专利技术属性】
技术研发人员:刘康郄海亮
申请(专利权)人:浪潮通信技术有限公司
类型:发明
国别省市:

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

1