网络地址转换方法及装置与流程

文档序号:12135522阅读:230来源:国知局
网络地址转换方法及装置与流程

本申请涉及网络通信技术领域,尤其涉及一种网络地址转换方法及装置。



背景技术:

随着互联网的发展和网络应用的增多,网络之间互联的协议(Internet Protocol,IP)地址资源已经严重匮乏,其中,网络之间互联的协议简称为

“网协”。目前,网络地址转换(Network Address Translation,NAT)技术是解决IP地址资源严重匮乏的最主要、最有效的技术手段。

现有技术中,在盒式设备聚合双主模式下,可以在防火墙外网侧的全局接口上配置动态NAT444。其中,盒式设备聚合双主模式是指堆叠的两台盒式设备优先级相同,流量可在两个盒式设备的业务板上经过,两个盒式设备的业务板均可进行业务处理。

在双主模式下,每一业务板会为由该业务板处理的流量分配公网IP地址和端口块,将该流量的源IP地址替换为该分配的公网IP地址,源端口替换为该分配的端口块中的端口。并且,该业务板会将为由该业务板处理的流量分配公网IP地址和端口块备份至其他业务板上。

当不同内网用户发送的流量分别经由不同的业务板进行处理时,可能会出现被分配到相同端口块的情形,这样当业务板之间互相备份公网IP地址和端口块时,就会出现针对某一业务板的端口块统计使用量大于端口块实际使用量,从而导致端口块浪费的问题。

比如:假设业务板1和业务板2为双主模式下的两个业务板,并预先分配两个端口块(即端口块1和端口块2,端口块1的范围为9~12,端口块2的范围为13~16)给业务板1和业务板2,且限定业务板1使用端口块的低位,业务板2使用端口块的高位,以避免端口冲突。用户1的IP地址为192.168.1.10,并经过业务板1访问外网服务器时,被分配的公网IP地址为15.1.1.10,端口块为端口块1;用户2的IP地址为192.168.2.10,并经过业务板2访问外网服务器时,被分配的公网IP地址为15.1.1.11,端口块为端口块1。而端口块2未被业务板1和业务板2使用。当业务板1和业务板2互相备份后,以业务板1为例,业务板1会记录IP地址192.168.1.10、公网IP地址15.1.1.10及端口块1的对应关系,IP地址192.168.2.10、公网IP地址15.1.1.11及端口块1的对应关系,则在统计业务板1的端口块使用量时,是根据上述记录进行统计的。由于有两条记录,会认为业务板1已使用2个端口块,即业务板1的端口块统计使用量为2。那么根据业务板1的端口块统计使用量,会认为业务板1的端口块已经全部被分配,当再有其他流量流经业务板1时将无法正常处理,而业务板1的端口块实际使用量应为1,实际上业务板1只使用了端口块1并未使用端口块2,这样便造成了浪费端口块资源。



技术实现要素:

本申请提供一种网络地址转换方法及装置,以解决现有技术中针对某一业务板的端口块统计使用量大于端口块实际使用量,从而导致端口块浪费的问题。

根据本申请实施例的第一方面,提供了一种网络地址转换方法,所述方法包括:

接收内网用户发送的用于向公网设备发起连接的第一报文;

为所述第一报文的源IP地址分配对应的第一公网IP地址和端口块;

若确定所分配的端口块没有进行过拆分处理,则将所述端口块拆分为至少两个小端口块,并根据预设分配规则将各个小端口块分配至对应的业务板,分配至对应的业务板后的小端口块的状态为激活状态,以使各业务板根据小端口块的状态确定端口块统计使用量;

利用所述第一公网IP地址和分配至本地的小端口块中的公网端口对所述第一报文进行网络地址转换。

根据本申请实施例的第二方面,提供了一种网络地址转换装置,所述装置包括:

接收单元,用于接收内网用户发送的用于向公网设备发起连接的第一报文;

第一分配单元,用于为所述第一报文的源IP地址分配对应的第一公网IP地址和端口块;

第二分配单元,用于若确定所分配的端口块没有进行过拆分处理,则将所述端口块拆分为至少两个小端口块,并根据预设分配规则将各个小端口块分配至对应的业务板,分配至对应的业务板后的小端口块的状态为激活状态,以使各业务板根据小端口块的状态确定端口块统计使用量;

第一网络地址转换单元,用于利用所述第一公网IP地址和分配至本地的小端口块中的公网端口对所述第一报文进行网络地址转换。

应用本申请实施例,当接收到内网用户发送的用于向公网设备发起连接的第一报文,并为第一报文的源IP地址分配对应的第一公网IP地址和端口块之后,不是直接利用第一公网IP地址和所分配的端口块中的公网端口进行网络地址转换,而是先判断该所分配的端口是否经过拆分处理,若确定所分配的端口块没有进行过拆分处理,会将该端口块拆分为至少两个小端口块,并根据预设分配规则将各个小端口块分配至对应的业务板,分配至对应的业务板后的小端口块的状态为激活状态,以使各业务板根据小端口块的状态确定端口块统计使用量,以及利用第一公网IP地址和分配至本地的小端口块中的公网端口对所述第一报文进行网络地址转换,这样避免了出现某一业务板的端口块统计使用量大于端口块实际使用量的情形,从而提高了端口块利用率。

附图说明

图1是应用本申请实施例网络地址转换的应用场景示意图;

图2是本申请网络地址转换方法的一个实施例流程图;

图3是本申请网络地址转换方法的另一个实施例流程图;

图4是本申请网络地址转换装置所在设备的一种硬件结构示意图;

图5是本申请网络地址转换装置的一个实施例框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

参见图1,为应用本申请实施例网络地址转换的应用场景示意图。该应用场景包括内网主机1、内网主机2、内网主机3、交换机1、交换机2、防火墙设备1、防火墙设备2和外网服务器。

若内网用户1需要访问外网服务器时,可以通过内网主机1向公网发起连接;同理,若内网用户2需要访问外网服务器时,可以通过内网主机2向公网发起连接,若内网用户3需要访问外网服务器时,可以通过内网主机3向公网发起连接。

交换机1和交换机2为链路中的上下行的交换机。

防火墙设备1、防火墙设备2是基于双主模式下的网关设备,并利用堆叠线进行了智能弹性架构II(Intelligent Resilient Framework II,IRF2)的堆叠。并且,IRF2堆叠后的防火墙设备1和防火墙设备2可以相当于一台“虚拟设备”。

下面结合附图对本申请网络地址转换实施例进行详细描述。

参见图2,为本申请网络地址转换方法的一个实施例流程图,该方法可以应用于IRF2堆叠环境下的NAT网关设备的业务板上,该业务板能够处理NAT444业务,并启动了业务板备份功能、端口块拆分功能等,如图1中的防火墙设备1上的业务板1或防火墙设备2上的业务板2。该网络地址转换方法可以包括以下步骤:

步骤210,接收内网用户发送的用于向公网设备发起连接的第一报文。

步骤220,为第一报文的源IP地址分配对应的第一公网IP地址和端口块。其中,第一报文的源IP地址为内网用户的私网IP地址。

具体地,业务板在为第一报文的源IP地址分配对应的第一公网IP地址和端口块,可以通过端口块静态映射和端口块动态映射这两种方式实现:

第一、端口块静态映射。该端口块静态映射是指:根据配置自动计算私网IP地址到公网IP地址、端口块的静态映射关系,并创建静态端口块表项。当私网IP地址成员中的某个私网IP地址向公网发起新建连接时,根据私网IP地址匹配静态端口块表项,获取对应的公网IP地址和端口块,并从端口块中动态为其分配一个公网端口,对报文进行地址转换。

第二、端口块动态映射。该端口块动态映射是指:从所匹配的动态地址转换配置引用的NAT地址组中获取一个公网IP地址,从该公网IP地址中动态分配一个端口块,创建动态端口块表项,然后从端口块表项中动态分配一个公网端口,进行地址转换。对该用户后续连接的转换,均从生成的动态端口块表项中分配公网端口。当该用户的所有连接都断开时,回收为其分配的端口块资源,删除相应的动态端口块表项。

步骤230,若确定所分配的端口块没有进行过拆分处理,则将所述端口块拆分为至少两个小端口块,并根据预设分配规则将各个小端口块分配至对应的业务板,分配至对应的业务板后的小端口块的状态为激活状态,以使各业务板根据小端口块的状态确定端口块统计使用量。

具体地,业务板对端口块进行拆分时,可以根据业务板的总数量来确定将端口块分为多少个小端口块。比如:如图1所示,防火墙设备1和防火墙设备2可以相当于一台“虚拟设备”,该“虚拟设备”包括2个业务板即业务板1和业务板2,故此,对端口块进行拆分时,需要将一个端口块拆分为2个小端口块。

另外,对端口块进行拆分时,还可以根据预设拆分规则来确定拆分后的各个小端口块的端口号范围。

比如:如图1所示,预设拆分规则可以是平均划分,若端口块的端口号范围为9至12,将该端口块平均拆分为2个小端口块后,其中一个小端口块的端口号范围为9至10,且定义为低位小端口块;另一个小端口块的端口号范围为11至12,且定义为高位小端口块。

若预设分配规则中业务板1是指定分配低位小端口块的业务板,就可以将拆分出的低位小端口块分配至业务板1,低位小端口块在业务板1上的状态为激活状态,再将拆分出的高位小端口块分配至业务板2,高位小端口块在业务板2上的状态为激活状态;同理,若预设分配规则中业务板1是指定分配高位小端口块的业务板,就可以将拆分出的高位小端口块分配至业务板1,高位小端口块在业务板1上的状态为激活状态,再将拆分出的低位小端口块分配至业务板2,低位小端口块在业务板2上的状态为激活状态。

至于3个以上业务板的情形,与2个业务的情形类似,只是拆分时使用的拆分规则可能不同,但最终是将端口块拆分为与业务板的总数量相同个数的小端口块,并根据预设分配规则将各个小端口块分配至对应的业务板,且分配至对应的业务板后的小端口块的状态为激活状态。

另外,对应的业务板接收到分配至本地的小端口块后,可以根据小端口块的状态确定端口块统计使用量。

比如:假设业务板1和业务板2为双主模式下的两个业务板,并预先分配两个端口块(即端口块1和端口块2,端口块1的范围为9~12,端口块2的范围为13~16)给业务板1和业务板2,且限定业务板1使用端口块中的低位小端口块,业务板2使用端口块中的高位小端口块。

用户1的IP地址为192.168.1.10,并经过业务板1访问外网服务器时,被分配的公网IP地址为15.1.1.10,端口块为端口块1。若端口块1没有被拆分,则将端口块1中的低位小端口块分配给业务板1、且将端口块1中的高位小端口块分配给业务板2。由于业务板1被分配到的是端口块1中的低位小端口块,且低位小端口块的状态为激活状态,这样在统计业务板1的端口块使用量时,可以根据该低位小端口块的状态来确定。

用户2的IP地址为192.168.2.10,并经过业务板2访问外网服务器时,被分配的公网IP地址为15.1.1.11,端口块为端口块1。若端口块1已经被拆分,业务板2被分配到的是端口块1中的高位小端口块、且高位小端口块的状态为激活状态,这样在统计业务板2的端口块使用量时,可以根据该高位小端口块的状态来确定。

即使业务板1和业务板2互相备份后,在统计业务板1的端口块使用量时,也只有端口块1中的低位小端口块处于激活状态,即业务板1的端口块统计使用量为1,而业务板1的端口块实际使用量也为1,从而保证了端口块统计使用量的正确率。

步骤240,利用第一公网IP地址和分配至本地的小端口块中的公网端口对所述第一报文进行网络地址转换。

具体地,对内网用户的连接报文即第一报文进行地址转换时,将第一报文的源IP地址转换为第一公网IP地址,将源端口转换为配至本地的小端口块中的公网端口。

由上述实施例可见,当接收到内网用户发送的用于向公网设备发起连接的第一报文,并为第一报文的源IP地址分配对应的第一公网IP地址和端口块之后,不是直接利用第一公网IP地址和所分配的端口块中的公网端口进行网络地址转换,而是先判断该所分配的端口是否经过拆分处理,若确定所分配的端口块没有进行过拆分处理,会将该端口块拆分为至少两个小端口块,并根据预设分配规则将各个小端口块分配至对应的业务板,分配至对应的业务板后的小端口块的状态为激活状态,以使各业务板根据小端口块的状态确定端口块统计使用量,以及利用第一公网IP地址和分配至本地的小端口块中的公网端口对所述第一报文进行网络地址转换,这样避免了出现某一业务板的端口块统计使用量大于端口块实际使用量的情形,从而提高了端口块利用率。

参见图3,为本申请网络地址转换方法的另一个实施例流程图,该方法可以应用于包括基于双主模式下的网关设备的业务板上,该业务板能够处理NAT444业务,并启动了业务板备份功能、端口块拆分功能等,如图1中的防火墙设备1上的业务板1或防火墙设备2上的业务板2。该网络地址转换方法可以包括以下步骤:

步骤310,接收内网用户发送的用于向公网设备发起连接的第一报文。

步骤320,为第一报文的源IP地址分配对应的第一公网IP地址和端口块。其中,第一报文的源IP地址为内网用户的私网IP地址。

步骤330,判断所分配的端口块是否进行过拆分处理,若是,则执行步骤340;若否,则执行步骤350。

步骤340,利用第一公网IP地址和所分配的端口块经过拆分处理后分配至本地的小端口块中的公网端口对第一报文进行网络地址转换,流程结束。

步骤350,将端口块拆分为至少两个小端口块,并根据预设分配规则将各个小端口块分配至对应的业务板,分配至对应的业务板后的小端口块的状态为激活状态,以使各业务板根据小端口块的状态确定端口块统计使用量。

步骤360,利用第一公网IP地址和分配至本地的小端口块中的公网端口对所述第一报文进行网络地址转换。

步骤370,将分配至本地的小端口块备份到其他业务板,备份到其他业务板后的小端口块在其他业务板的状态为未激活状态。

步骤380,接收分配至其他业务板上的小端口块的备份,备份到本地的小端口块在本地的状态为未激活状态,流程结束。

在图1所示应用场景中,堆叠环境下的防火墙设备的内网出接口上配置了动态NAT444,公网地址为:15.1.1.10-15.1.1.20,端口块大小为4,端口号范围为1-65535。同时,开启端口块拆分功能,指定业务板1为低位端口块和端口号所在的业务板,指定业务板2为高位端口块和端口号所在的业务板。

当内网用户1、内网用户2、内网用户3向公网发起首次连接时,经过图3所示的网络地址转换处理后,得到备份后的业务板1的端口块表项和业务板2的端口块表项。其中,备份后的业务板1的端口块表项如表1所示,备份后的业务板2的端口块表项如表2所示:

表1

表2

其中,激活(Active)状态对应的小端口块是业务板1上的小端口块,未激活(Inactive)状态对应的小端口块是业务板2上的小端口块。

由上述实施例可见,通过将端口块拆分为至少两个小端口块,并根据预设分配规则将各个小端口块分配至对应的业务板,分配至对应的业务板后的小端口块的状态为激活状态,以及将分配至本地的小端口块备份到其他业务板,备份到其他业务板后的小端口块在其他业务板的状态为未激活状态,以及接收分配至其他业务板上的小端口块的备份,备份到本地的小端口块在本地的状态为未激活状态,使得各个业务板包括的小端口块之间互不影响,分配的小端口块为激活状态,备份的小端口块为非激活状态,这样不会出现不同内网用户被分配到相同端口块的情形,也不会出现处于激活状态的小端口块数量大于总的端口块数量的情形,还不会影响端口块利用率的正确统计,进而提高了网络地址转换的效率和准确度。

与前述网络地址转换方法实施例相对应,本申请还提供了网络地址转换装置的实施例。

本申请网络地址转换装置的实施例可以应用在网络设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本申请网络地址转换装置所在设备的一种硬件结构示意图,除了图4所示的处理器、网络接口、内存以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等;从硬件结构上来讲该设备还可能是分布式的设备,可能包括多个接口卡,以便在硬件层面进行网络地址转换的扩展。

参见图5,为本申请网络地址转换装置的一个实施例框图,该装置可以应用于IRF2堆叠环境下的NAT网关设备的业务板上,该业务板能够处理NAT444业务,并启动了业务板备份功能、端口块拆分功能等,如图1中的防火墙设备1或防火墙设备2,并可以用于执行图2所示的网络地址转换方法,该装置可以包括:接收单元51、第一分配单元52、第二分配单元53,和第一网络地址转换单元54。

接收单元51,用于接收内网用户发送的用于向公网设备发起连接的第一报文;

第一分配单元52,用于为所述第一报文的源IP地址分配对应的第一公网IP地址和端口块;

第二分配单元53,用于若确定所分配的端口块没有进行过拆分处理,则将所述端口块拆分为至少两个小端口块,并根据预设分配规则将各个小端口块分配至对应的业务板,分配至对应的业务板后的小端口块的状态为激活状态,以使各业务板根据小端口块的状态确定端口块统计使用量;

第一网络地址转换单元54,用于利用所述第一公网IP地址和分配至本地的小端口块中的公网端口对所述第一报文进行网络地址转换。

由上述实施例可见,当接收到内网用户发送的用于向公网设备发起连接的第一报文,并为第一报文的源IP地址分配对应的第一公网IP地址和端口块之后,不是直接利用第一公网IP地址和所分配的端口块中的公网端口进行网络地址转换,而是先判断该所分配的端口是否经过拆分处理,若确定所分配的端口块没有进行过拆分处理,会将该端口块拆分为至少两个小端口块,并根据预设分配规则将各个小端口块分配至对应的业务板,分配至对应的业务板后的小端口块的状态为激活状态,以使各业务板根据小端口块的状态确定端口块统计使用量以及利用第一公网IP地址和分配至本地的小端口块中的公网端口对所述第一报文进行网络地址转换,这样避免了出现某一业务板的端口块统计使用量大于端口块实际使用量的情形,从而提高了端口块利用率。

在一个可选的实现方式中,所述装置还包括:第二网络地址转换单元(图5中未示出)。

第二网络地址转换单元,用于若确定所分配的所述端口块已经进行过拆分处理,则利用所述第一公网IP地址和所述端口块经过拆分处理后分配至本地的小端口块中的公网端口对所述第一报文进行网络地址转换。

在另一个可选的实现方式中,所述装置还可以包括:第一备份单元(图5中未示出)。

第一备份单元,用于将分配至本地的小端口块备份到其他业务板,备份到其他业务板后的小端口块在其他业务板的状态为未激活状态。

在另一个可选的实现方式中,所述装置还可以包括:第二备份单元(图5中未示出)。

第二备份单元,用于接收分配至其他业务板上的小端口块的备份,备份到本地的小端口块在本地的状态为未激活状态。

由上述实施例可见,通过将端口块拆分为至少两个小端口块,并根据预设分配规则将各个小端口块分配至对应的业务板,分配至对应的业务板后的小端口块的状态为激活状态,以及将分配至本地的小端口块备份到其他业务板,备份到其他业务板后的小端口块在其他业务板的状态为未激活状态,以及接收分配至其他业务板上的小端口块的备份,备份到本地的小端口块在本地的状态为未激活状态,使得各个业务板包括的小端口块之间互不影响,分配的小端口块为激活状态,备份的小端口块为非激活状态,这样不会出现不同内网用户被分配到相同端口块的情形,也不会出现处于激活状态的小端口块数量大于总的端口块数量的情形,还不会影响端口块利用率的正确统计,进而提高了网络地址转换的效率和准确度。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1