一种提高源NAT地址转换有效性的方法及装置与流程

文档序号:31334666发布日期:2022-08-31 08:23阅读:147来源:国知局
一种提高源NAT地址转换有效性的方法及装置与流程
一种提高源nat地址转换有效性的方法及装置
技术领域
1.本发明涉及计算机技术领域,特别是涉及一种提高源nat地址转换有效性的方法及装置。


背景技术:

2.近年来,随着网络技术的不断发展,internet用户不断增加,相应地需要为越来越多的用户进行ip地址分配。但是ipv4地址数量是有限的,为每个用户都分配ipv4地址显然是不可行的,而且ipv4地址已经逐渐耗尽。由此而产生了一种nat(network address translation,网络地址转换)技术,可以将ipv4报文头中的地址转换为另一个地址。通常情况下,利用nat技术将ipv4报文头中的私网地址转换为公网地址,可以实现位于私网的多个用户使用少量的公网地址同时访问internet。因此,nat技术常用来解决ipv4公网地址短缺的问题,同时还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的用户。
3.根据对ipv4报文头部私网地址的转换,nat分为基于源ip地址的nat和基于目的ip地址的nat,简称源nat和目的nat。源nat是指对发起会话连接的ip报文头中的源ip地址进行转换,通过将网络内部的私网地址转换为网络外部的公网地址,来实现网络内部用户访问网络外部的资源。目的nat是指对发起会话连接的ip报文头中的目的ip地址进行转换。其中源nat,nat设备在网络传输过程中需要记录每一个进行了源nat的会话连接,并形成源nat表项以供反向报文进行nat还原处理。通常情况下进行源nat处理,在源nat地址池中选取转换的公网ip地址时,不能确定源nat地址池中哪个公网ip地址是可以实现有效会话连接的,所以这样就会导致源nat会话连接中出现大量无效的会话连接(转换后的公网ip和目标服务之间不能正常建立连接,可能是该公网ip不能到达服务端、也可能是服务端回包不能到达该公网ip)。这样不仅会增加nat表项的查询时间,并且进行nat处理后无法正常进行会话连接,严重影响用户的上网体验。
4.现有技术在源nat选取公网ip地址时,根据hash算法在源nat地址池中随机选取公网ip,由于公网ip地址是根据hash算法在源nat地址池中随机选取的,并不能保证其有效性,即用户使用该公网ip地址未必可以访问internet。
5.有鉴于此,本发明提供一种提高源nat地址转换有效性的方法和装置,降低nat设备无效转换、提升用户的上网体验。


技术实现要素:

6.本发明提供一种提高源nat地址转换有效性的装置,包括:源nat规则配置模块、源nat地址池配置模块、健康检查配置模块、公网ip选取模块;
7.源nat规则配置模块,用于在源nat规则中关联带有健康检查的源nat地址池,即在配置源nat规则时关联源nat地址池;
8.源nat地址配置模块,用于配置nat地址池,在源nat地址池中关联健康检查,以实现实时监控公网ip的有效性;
9.健康检查配置模块,用于配置健康检查,检查网络服务器或链路的服务质量;
10.公网ip选取模块,用于根据配置的健康检查策略、源nat地址池和源nat规则进行健康检查,根据健康检查结果实时感知网络变化,根据网络变化选取源nat地址池中的最佳公网ip,保证所使用的服务器或链路的可用性。
11.如上所述的一种提高源nat地址转换有效性的装置,其中,配置的源nat规则包括名称,转换前的源安全域、源ip地址、目的安全域、目的ip地址、服务,以及转换后的源ip地址;源安全域是指该报文从nat设备哪些接口收到的、为可选项,不选择时表示任意接口;源ip地址是指该报文头中的源ip地址;目的安全域是指该报文从nat设备哪些接口发出的、为可选项,不选择时表示任意接口;目的ip地址是指该报文中的目的ip地址;服务是指该报文是访问internet上的什么业务、为可选项,不选择时表示任意服务;转换后源ip是指经过snat后报文头中的源ip地址、该地址源于源nat地址池。
12.如上所述的一种提高源nat地址转换有效性的装置,其中,配置的源nat地址池包括名称、ip地址和健康检查;ip地址即为源nat地址池公网ip地址,可以是单个ip地址、ip地址段或者ip地址范围;健康检查是指该源nat地址池所关联的健康检查规则名称,为可选项,只有关联了健康检查,在进行选取公网ip地址才能更加准确的选出可用公网ip地址。
13.如上所述的一种提高源nat地址转换有效性的装置,其中,配置的健康检查包括名称、检查方式、目的ip、目的端口、出接口和下一跳;检查方式是指通过什么健康检查协议对目标地址进行检查;目的ip和目的端口是指需要检查的目的ip和目的端口;出接口是指构造的健康检查报文从nat设备哪个接口发出、为可选项,不选择时则自动查找全局路由表确定出接口,当存在等价路由时可能会出现健康检查报文发送接口和接收接口不一致情况;下一跳是指构造的健康检查报文从nat设备发出时发给哪一个ip地址、为可选项,不选择时则自动查找全局路由表确定下一跳ip。
14.如上所述的一种提高源nat地址转换有效性的装置,其中,健康检查协议包括检查方式和对应的检查原理,检查方式至少包括tcp、dns、icmp和简单tcp。
15.如上所述的一种提高源nat地址转换有效性的装置,其中,健康检查协议还包括健康检查发包间隔、失败重试次数、健康检查源ip;健康检查发包间隔即多长时间发起一次健康检查;失败重试次数即本次健康检查失败后重试多少次;健康检查源ip即发送健康检查报文所用源ip,不选择时则遍历源nat地址池中所有公网ip地址,以掌握整个地址池健康状况。
16.如上所述的一种提高源nat地址转换有效性的装置,其中,对于同一条健康检查规则,还可以配置多条侦测节点,即一条健康检查规则可同时检查多个节点健康状况,使得规则配置更加快速、便捷。
17.如上所述的一种提高源nat地址转换有效性的装置,其中,公网ip选取模块根据健康检查结果对源nat地址池中的公网ip进行打分排序,链路状态越优则公网ip越靠前,越优先被选中。
18.本发明还提供一种提高源nat地址转换有效性的方法,包括:
19.在nat设备中配置健康检查,检查网络服务器或链路的服务质量,包括对服务器可用性、链路可用性或链路时延进行探测;配置源nat地址池,在源nat地址池中关联健康检查,以实时监控公网ip的有效性;配置源nat规则,在源nat规则中关联带有健康检查的源
nat地址池,提高选取公网ip的有效性;
20.nat设备根据配置的健康检查策略、源nat地址池和源nat规则进行健康检查,根据健康检查结果实时感知网络变化,根据网络变化选取源nat地址池中的最佳公网ip,保证所使用的服务器或链路的可用性。
21.如上所述的一种提高源nat地址转换有效性的方法,其中,当多个服务器或链路可用时,nat设备根据服务类型选择性能最优的服务器处理业务流量,或根据链路时延大小选择网络时延最小的链路传输业务流量。
22.本发明的有益效果是:采用本发明技术方案,能够提高源nat地址转换有效性,降低nat设备无效转换、提升用户的上网体验。
附图说明
23.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,其中:
24.图1是本发明实施例一提供的一种提高源nat地址转换有效性的装置示意图;
25.图2是健康检查示意图。
具体实施方式
26.下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
27.实施例一
28.如图1所示,本发明实施例一提供一种提高源nat地址转换有效性的装置10,即nat设备,具体包括:源nat规则配置模块11、源nat地址池配置模块12、健康检查配置模块13、公网ip选取模块14。其中:
29.①
源nat规则配置模块11,用于在源nat规则中关联带有健康检查的源nat地址池,即在配置源nat规则时关联源nat地址池;
30.源nat规则的简易配置如下表1所示:
31.表1源nat规则简易配置
[0032][0033]
表中,源安全域是指该报文从nat设备哪些接口收到的、为可选项,不选择时表示
任意接口;源ip地址是指该报文头中的源ip地址;目的安全域是指该报文从nat设备哪些接口发出的、为可选项,不选择时表示任意接口;目的ip地址是指该报文中的目的ip地址;服务是指该报文是访问internet上的什么业务、为可选项,不选择时表示任意服务;转换后源ip是指经过snat后报文头中的源ip地址、该地址源于源nat地址池。
[0034]

源nat地址配置模块12,用于配置nat地址池,在源nat地址池中关联健康检查,以实现监控地址池中公网ip地址与目标业务的连通性,即监控公网ip的有效性;
[0035]
源nat地址池简易配置如下表2所示:
[0036]
表2源nat地址池简易配置
[0037]
序号名称ip地址健康检查1spool_01106.120.100.121-106.120.100.129health_012spool_02116.130.83.230health_023spool_03123.56.238.105health_034spool_04100.101.102.110/24health_04
[0038]
表中,ip地址即为源nat地址池公网ip地址,可以是单个ip地址(如:123.56.238.105)、ip地址段(如:100.101.102.110/24)或者ip地址范围(如:106.120.100.121-106.120.100.129);健康检查是指该源nat地址池所关联的健康检查规则名称,为可选项。只有关联了健康检查,在进行选取公网ip地址才能更加准确的选出可用公网ip地址。
[0039]

健康检查配置模块13,用于配置健康检查,检查网络服务器或链路的服务质量,健康检查可以对服务可用性、链路可用性或链路时延进行探测,为网络服务指令提供必要保障;
[0040]
健康检查简易配置如下表3所示:
[0041]
表3健康检查简易配置
[0042]
序号名称检查方式目的ip目的端口出接口下一跳1health_01tcpdip_0180eth0x.x.x.x2health_02dnsdip_0253eth1x.x.x.x3health_03简单tcpdip_0321eth2x.x.x.x4health_04icmpdip_04-eth3x.x.x.x
[0043]
表中,检查方式是指通过什么健康检查协议对目标地址进行检查;目的ip和目的端口是指需要检查的目的ip和目的端口;出接口是指构造的健康检查报文从nat设备哪个接口发出、为可选项,不选择时则自动查找全局路由表确定出接口,当存在等价路由时可能会出现健康检查报文发送接口和接收接口不一致情况;下一跳是指构造的健康检查报文从nat设备发出时发给哪一个ip地址、为可选项,不选择时则自动查找全局路由表确定下一跳ip。
[0044]
其中,健康检查协议如下表4所示:
[0045]
表4健康检查协议说明
[0046][0047]
表中,健康检查能够支持icmp、tcp、dns、简易tcp等多种方式,以满足不同场景需要,并且健康检查支持指定出接口和下一跳地址,能够满足不同场景需要。
[0048]
如图2所示,更多的,还可以设定健康检查发包间隔,即多长时间发起一次健康检查;失败重试次数即本次健康检查失败后重试多少次;健康检查源ip即发送健康检查报文所用源ip,不选择时则遍历源nat地址池中所有公网ip地址,以掌握整个地址池健康状况。对于同一条健康检查规则,还可以配置多条侦测节点,即一条健康检查规则可同时检查多个节点健康状况,使得规则配置更加快速、便捷。
[0049]

公网ip选取模块14,用于根据配置的健康检查策略、源nat地址池和源nat规则进行健康检查,根据健康检查结果实时感知网络变化,根据网络变化选取源nat地址池中的最佳公网ip,保证所使用的服务器或链路的可用性,提高服务的稳定性和可靠性;
[0050]
具体地,公网ip选取模块根据健康检查结果对源nat地址池中的公网ip进行打分排序,链路状态越优则公网ip越靠前,越优先被选中;当多个服务器或链路可用时,nat设备可以根据服务类型选择性能最优的服务器处理业务流量,或根据链路时延大小选择网络时延最小的链路传输业务流量,从而提高用户的使用体验。
[0051]
实施例二
[0052]
本发明实施例二提供一种提高源nat地址转换有效性的方法,包括:
[0053]
在nat设备中配置健康检查,检查网络服务器或链路的服务质量,包括对服务器可用性、链路可用性或链路时延进行探测;配置源nat地址池,在源nat地址池中关联健康检查,以实时监控公网ip的有效性;配置源nat规则,在源nat规则中关联带有健康检查的源nat地址池,提高选取公网ip的有效性;
[0054]
nat设备根据配置的健康检查策略、源nat地址池和源nat规则进行健康检查,根据健康检查结果实时感知网络变化,根据网络变化选取源nat地址池中的最佳公网ip,保证所使用的服务器或链路的可用性,提高服务的稳定性和可靠性。
[0055]
本技术实施例中,当多个服务器或链路可用时,nat设备可以根据服务类型选择性能最优的服务器处理业务流量,或根据链路时延大小选择网络时延最小的链路传输业务流量,从而提高用户的使用体验。
[0056]
与上述实施例对应的,本发明实施例提供一种提高源nat地址转换有效性的装置,包括:至少一个存储器和至少一个处理器;
[0057]
存储器用于存储一个或多个程序指令;
[0058]
处理器,用于运行一个或多个程序指令,用以执行一种提高源nat地址转换有效性的方法。
[0059]
与上述实施例对应的,本发明实施例提供一种计算机可读存储介质,计算机存储介质中包含一个或多个程序指令,一个或多个程序指令用于被处理器执行一种提高源nat地址转换有效性的方法。
[0060]
本发明所公开的实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机执行上述的一种提高源nat地址转换有效性的方法。
[0061]
在本发明实施例中,处理器可以是一种集成电路芯片,具有信号的处理能力。处理器可以是通用处理器、数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific工ntegrated circuit,简称asic)、现场可编程门阵列(fieldprogrammable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0062]
可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。处理器读取存储介质中的信息,结合其硬件完成上述方法的步骤。
[0063]
存储介质可以是存储器,例如可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。
[0064]
其中,非易失性存储器可以是只读存储器(read-only memory,简称rom)、可编程只读存储器(programmable rom,简称prom)、可擦除可编程只读存储器(erasable prom,简称eprom)、电可擦除可编程只读存储器(electrically eprom,简称eeprom)或闪存。
[0065]
易失性存储器可以是随机存取存储器(random access memory,简称ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,简称sram)、动态随机存取存储器(dynamic ram,简称dram)、同步动态随机存取存储器(synchronous dram,简称sdram)、双倍数据速率同步动态随机存取存储器(double data ratesdram,简称ddrsdram)、增强型同步动态随机存取存储器(enhancedsdram,简称esdram)、同步连接动态随机存取存储器(synchlink dram,简称sldram)和直接内存总线随机存取存储器(directrambus ram,简称drram)。
[0066]
本发明实施例描述的存储介质旨在包括但不限于这些和任意其它适合类型的存储器。
[0067]
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件与软件组合来实现。当应用软件时,可以将相应功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计
算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
[0068]
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1