[发明专利]一种NAT端口分配在多核下对数据流免锁的实现方法有效
| 申请号: | 202111009736.1 | 申请日: | 2021-08-31 |
| 公开(公告)号: | CN113783973B | 公开(公告)日: | 2023-09-15 |
| 发明(设计)人: | 靳龙 | 申请(专利权)人: | 上海弘积信息科技有限公司 |
| 主分类号: | H04L61/2517 | 分类号: | H04L61/2517;H04L61/2514;H04L67/1023;G06F9/50 |
| 代理公司: | 北京博识智信专利代理事务所(普通合伙) 16067 | 代理人: | 韩立光 |
| 地址: | 201206 上海市浦*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 nat 端口 分配 多核 数据流 实现 方法 | ||
1.一种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返回给服务负载模块;
其中二级hash表的源端口和目的端口有一定的对应关系,当目的端口转化为某一个端口后,源端口必须转化为特定端口,源目的端口和的hash值不变;
步骤3、服务负载模块通过NAT模块获取的端口q来修改报文的源端口后,发送报文到网络接口;
步骤4、客户端发送给负载均衡设备的报文和服务器响应给负载均衡设备的报文的源目的端口和的hash值不变,同一个数据流被绑定到了一个固定的CPU核处理;对该数据流的处理不涉及到锁,从而实现了免锁。
2.根据权利要求1所述的一种NAT端口分配在多核下对数据流免锁的实现方法,其特征在于:所述步骤1中的IP数据报文可以被均匀的hash到不同的CPU核,分配到一个CPU核的IP报文获取的转化端口能够均匀的从N个hash节点队列请求端口资源,将端口资源实现分配给各个CPU核。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海弘积信息科技有限公司,未经上海弘积信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111009736.1/1.html,转载请声明来源钻瓜专利网。





