一种基于TCP连接数的源NATIP分配方法与装置制造方法及图纸

技术编号:36075405 阅读:10 留言:0更新日期:2022-12-24 10:46
本发明专利技术公开了一种基于TCP连接数的源NAT IP分配方法与系统,其方法包括:在网关上接收内网主机发送给服务器的TCP请求包,并从请求包中提取目标服务器的IP和Port;判断目标服务器的IP和Port是否存在于TCP连接的均衡服务器列表中,如不存在,则结束当前进程;如存在,则将目标服务器的IP和Port送入网关的NAT策略中,如主机的IP未命中网关的NAT策略,则结束当前进程;如主机的IP命中网关的NAT策略,则获取NAT IP池内与被命中的服务器已建立连接的TCP连接数量的升序排序列表,计算优先级取得优选NAT IP;将内网的请求包头的IP替换为优选NAT IP,将请求包头的源Port随机替换为与现有会话不重复的Port。本发明专利技术能够在NAT IP与目标IP建立TCP时实现连接数量的负载均衡。立TCP时实现连接数量的负载均衡。立TCP时实现连接数量的负载均衡。

【技术实现步骤摘要】
一种基于TCP连接数的源NAT IP分配方法与装置


[0001]本专利技术属于物联网和数据通信
,尤其涉及一种基于TCP连接数的源NAT IP分配方法与装置。

技术介绍

[0002]在现有的物联网技术中,当大量终端通过集中式网关访问部署在Internet上的服务器,且服务器端针对服务所监听的IP和Port限制其源IP并发最大TCP连接会话数,同时网关上部署的NAT(Network Address Translation)IP池内IP较少时,会导致NAT IP与目标IP建立TCP时连接数量的负载不均衡,导致TCP连接过于集中在某个或部分IP,导致后续这些IP的TCP请求被服务器拒绝。其原因在于:1、网关不能根据目的IP和Port对NAT IP池内IP进行会话负载分担,导致NAT IP到目的IP的TCP会话数不均衡;2、部分NAT IP的会话数大于服务端的源IP并发最大TCP连接会话数限制,导致后续使用这部分NAT IP的终端不能和服务器建立TCP连接;3、现有技术中NAT IP探测方法对上述问题无效。具体来说:当现有的NAT IP探测方法使用ICMP协议将NAT IP作为源,而将服务器IP作为目的探测时,由于服务端对ICMP未采取限制,ICMP探测可达而实际TCP会话无法新建导致探测无效;当现有的NAT IP探测方法使用TCP协议将NAT IP作为源,而将服务器IP作为目的探测时,探测行为本身需要占用TCP会话数,且探测过程需要建立TCP握手,导致持续时间长、不能敏捷地感知可用状态,探测可靠性低。中国专利CN201710958185.0中公开了一种检测NAT地址池中公网IP可用性的方法,其通过探测确定NAT会话连接所用的公网IP是否可用,进而实现源地址网络转换的转换效率提高。但是该方案不涉及提供具体的探测方法,也无法针对TCP连接数进行NAT IP分配。因此,如何开发出一种新型的基于TCP连接数的源NAT IP分配方法,以克服现有技术中存在的上述缺陷,是本领域技术人员需要研究的方向。

技术实现思路

[0003]本专利技术的目的在于提供一种基于TCP连接数的源NAT IP分配方法。能够在NAT IP与目标IP建立TCP时实现连接数量的负载均衡,减少TCP会话过于集中在某个或某些NAT IP、导致被服务器拒绝新建TCP连接的情况。
[0004]其采用的技术方案如下:
[0005]一种基于TCP连接数的源NAT IP分配方法,其包括如下步骤:
[0006]步骤1:在网关上接收内网主机发送给服务器的TCP请求包,并从请求包中提取目标服务器的IP和Port;
[0007]步骤2:判断目标服务器的IP和Port是否存在于TCP连接的均衡服务器列表中,如不存在,则结束当前进程;如存在,则跳转至步骤3;
[0008]步骤3:将目标服务器的IP和Port送入网关的NAT策略中,如主机的IP未命中网关的NAT策略,则结束当前进程;如主机的IP命中网关的NAT策略,则跳转至步骤4;
[0009]步骤4:获取NAT IP池内与被命中的服务器已建立连接的TCP连接数量的升序排序
列表,计算优先级取得优选NAT IP;
[0010]步骤5:将内网的请求包头的IP替换为优选NAT IP,将请求包头的源Port随机替换为与现有会话不重复的Port。
[0011]优选的是,上述基于TCP连接数的源NAT IP分配方法中,所述步骤1包括:
[0012]步骤11:对网关收到来自内网主机的报文进行二次处理,筛选出包头中包含TCP协议标签的报文并丢弃其他报文;
[0013]步骤12:在步骤11筛选出的报文中提取目标服务器的IP和Port;
[0014]步骤13:提取内网主机的TCP请求源IP和Port。
[0015]更优选的是,上述基于TCP连接数的源NAT IP分配方法中,步骤2所述均衡服务器列表包括服务器名称,服务监听的IP和服务监听的Port;所述服务器为具有监听IP、Port功能并且能响应TCP请求的设备或系统。
[0016]进一步优选的是,上述基于TCP连接数的源NAT IP分配方法中,所述步骤4包括:
[0017]步骤41:获取TCP连接的均衡服务器列表;
[0018]步骤42:获取网关当前已存在的NAT转换表,所述NAT转换表为网关与被匹配到的服务器已建立的TCP会话表;
[0019]步骤43:以TCP连接均衡服务器列表中的IP和Port匹配网关的NAT转换表,得到NAT IP与服务器已建立的TCP会话数;
[0020]步骤44:对NAT IP排序,得到关于NAT IP与服务器已建立的TCP会话数的升序序列,并为序列中的记录编号;
[0021]步骤45:将序列中序号为0的NAT IP作为当前新建会话的优选IP。
[0022]为实现上述分配方法,本专利技术进一步公开了一种基于TCP连接数的源NAT IP分配装置,其技术方案如下:
[0023]一种基于TCP连接数的源NAT IP分配装置,其包括:接收模块,服务器列表模块,序列模块和分配模块;
[0024]所述接收模块用于接入网关、在网关上接收内网主机发送给服务器的TCP请求包,并从请求包中提取目标服务器的IP和Port;
[0025]所述服务器列表模块连接接收模块、用于从接收模块获取目标服务器的IP和Port、判断目标服务器的IP和Port是否存在于TCP连接的均衡服务器列表中;
[0026]所述序列模块连接服务器列表模块、用于获取NAT IP池内与被命中的服务器已建立连接的TCP连接数量的升序排序列表,计算优先级取得优选NAT IP;
[0027]所述分配模块连接序列模块、用于将内网的请求包头的IP替换为优选NAT IP,将请求包头的源Port随机替换为与现有会话不重复的Port。
[0028]与现有技术相比,本专利技术的方案能够基于TCP连接数对源NAT IP进行分配,保证了NAT IP向给定范围内服务器建立的TCP连接数量的均衡,同时能够实现有效降低TCP会话过于集中在单个或某部分NAT IP导致被服务器拒绝新建TCP连接概率。
附图说明
[0029]图1为实施例1的系统框图;
[0030]图2为实施例1的工作流程图;
[0031]图3为源NAT IP分配方法参与TCP建立的典型消息流转示意图;
[0032]图4为源NAT IP分配方法中序列模块工作时序列变化的过程说明图;
[0033]图5为源NAT IP分配方法序列计算的流程图。
[0034]各附图标记对应部件名称如下:
[0035]1、接收模块;2、服务器列表模块;3、序列模块;4、分配模块。
具体实施方式
[0036]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于TCP连接数的源NAT IP分配方法,其特征在于,包括如下步骤:步骤1:在网关上接收内网主机发送给服务器的TCP请求包,并从请求包中提取目标服务器的IP和Port;步骤2:判断目标服务器的IP和Port是否存在于TCP连接的均衡服务器列表中,如不存在,则结束当前进程;如存在,则跳转至步骤3;步骤3:将目标服务器的IP和Port送入网关的NAT策略中,如主机的IP未命中网关的NAT策略,则结束当前进程;如主机的IP命中网关的NAT策略,则跳转至步骤4;步骤4:获取NAT IP池内与被命中的服务器已建立连接的TCP连接数量的升序排序列表,计算优先级取得优选NAT IP;步骤5:将内网的请求包头的IP替换为优选NAT IP,将请求包头的源Port随机替换为与现有会话不重复的Port。2.如权利要求1所述基于TCP连接数的源NAT IP分配方法,其特征在于,所述步骤1包括:步骤11:对网关收到来自内网主机的报文进行二次处理,筛选出包头中包含TCP协议标签的报文并丢弃其他报文;步骤12:在步骤11筛选出的报文中提取目标服务器的IP和Port;步骤13:提取内网主机的TCP请求源IP和Port。3.如权利要求1所述基于TCP连接数的源NAT IP分配方法,其特征在于,步骤2所述均衡服务器列表包括服务器名称,服务监听的IP和服务监听的Port;所述服务器为具有监听IP、Port功能并且能响应TCP请求的设...

【专利技术属性】
技术研发人员:陆锦衣赵红伟高婷静
申请(专利权)人:上海量讯物联技术有限公司
类型:发明
国别省市:

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

1