[发明专利]一种NAT端口分配在多核下对数据流免锁的实现方法有效
| 申请号: | 202111009736.1 | 申请日: | 2021-08-31 |
| 公开(公告)号: | CN113783973B | 公开(公告)日: | 2023-09-15 |
| 发明(设计)人: | 靳龙 | 申请(专利权)人: | 上海弘积信息科技有限公司 |
| 主分类号: | H04L61/2517 | 分类号: | H04L61/2517;H04L61/2514;H04L67/1023;G06F9/50 |
| 代理公司: | 北京博识智信专利代理事务所(普通合伙) 16067 | 代理人: | 韩立光 |
| 地址: | 201206 上海市浦*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 nat 端口 分配 多核 数据流 实现 方法 | ||
本发明公开了一种NAT端口分配在多核下对数据流免锁的实现方法,驱动程序读取IP数据报文的TCP或UDP的源目的端口,将源目的端口的和做hash计算得到值n,值n对应的CPU核记为CPU核n,然后将数据报文发送给CPU核n的报文收发队列;CPU核n读取报文,经过服务负载模块处理,将目的地址和目的端口进行修改后,提交给NAT模块,NAT模块读取报文的目的端口p,进行hash计算,获得hash值x,通过二元hash,对应二级hash表找到hash队列y,从队列y获取一个未使用端口q返回给服务负载模块;服务负载模块通过NAT模块获取的端口q来修改报文的源端口后,发送报文到网络接口;本发明实现简单,不需要复杂的算法,对于多核高性能服务负载设备的吞吐量有质的提高。
技术领域
本发明涉及通信技术领域,具体是指一种NAT端口分配在多核下对数据流免锁的实现方法。
背景技术
负载均衡是高可用网络基础架构的关键组件,通常用于将工作负载分布到多个服务器来提高网站、应用、数据库或其他服务的性能和可靠性。
负载均衡NAT功能是最基本需求,当一个客户端请求发送给负载均衡设备后,负载均衡设备会将IP报文的目的地址目的端口转化为内网的服务器的IP地址和服务端口,会将IP报文的源地址和源端口修改为本地地址和一个端口。
目前,NAT技术比较成熟,但高性能的需求使设备采用多核处理成为普遍,NAT一个关键技术就是如何将源端口分配和回收,一般做法是将一个地址的65535个端口作为一个资源池,多个CPU核处理数据流过程时,操作同一个地址的端口的申请和释放时,会采用自旋锁锁定资源,该方法实现简单可靠,但是由于使用了自旋锁导致数据流的处理性能下降。
地址转换技术目前广泛应用于互联网。用于隔离Internet和Intranet的技术,目的是保护数据安全和简化网络拓扑,但在多核平台下,由于多个核共享同一个端口资源导致资源的保护,现有技术多使用自旋锁,这导致处理数据流的性能下降。
现有技术使用最直观和易于理解的技术,就是给多核共享的地址端口资源加自旋锁提供保护,一个显著的问题就是,如果多个核同时申请或释放同一个地址的端口时,多个核只能排队顺序执行,导致设备对数据的吞吐性能下降。
所以,一种NAT端口分配在多核下对数据流免锁的实现方法成为人们亟待解决的问题。
发明内容
本发明的目的是在多核下实现无锁技术对共享资源的申请和释放,从而提供设备对NAT的高速处理。通过对一个地址端口资源进行分块,将资源块预分配给各个处理核,同一个数据流通过源目的端口和的HASH值固定一个核处理,最终实现无锁NAT。
为实现上述目的,本发明提供的技术方案为:一种NAT端口分配在多核下对数据流免锁的实现方法,包括以下步骤:
步骤1、驱动程序读取IP数据报文的TCP或UDP的源目的端口,将源目的端口的和做hash计算得到值n,值n对应的CPU核记为CPU核n,然后将数据报文发送给CPU核n的报文收发队列;
步骤2、CPU核n读取报文,经过服务负载模块处理,将目的地址和目的端口进行修改后,提交给NAT模块,NAT模块读取报文的目的端口p,进行hash计算,获得hash值x,通过二元hash,对应二级hash表找到hash队列y,从队列y获取一个未使用端口q返回给服务负载模块;
步骤3、服务负载模块通过NAT模块获取的端口q来修改报文的源端口后,发送报文到网络接口;
步骤4、客户端发送给负载均衡设备的报文和服务器响应给负载均衡设备的报文的源目的端口和的hash值不变,同一个数据流被绑定到了一个固定的CPU核处理;对该数据流的处理不涉及到锁,从而实现了免锁。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海弘积信息科技有限公司,未经上海弘积信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111009736.1/2.html,转载请声明来源钻瓜专利网。





