公网地址分配方法及装置转让专利

申请号 : CN201710197311.5

文献号 : CN106878487B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郗二军

申请人 : 新华三技术有限公司

摘要 :

本申请提供一种公网地址分配方法及装置,该方法应用于NAT设备,包括:接收BRAS发送的端口块申请请求,所述端口块申请请求携带有用户的私网IP地址和期望端口块数;根据本地端口块容量表中各个公网IP地址的端口块剩余数和所述期望端口块数,为所述私网IP地址分配目标公网IP地址。因此,本申请可以实可以利用端口块剩余数这一参数来进行公网IP地址和私网IP地址的映射,这样可以尽量避免出现某些公网IP地址的端口块资源已用尽,而某些公网IP地址还有空闲的端口块的情形,从而实现了对各个公网IP地址的均衡使用,提高了公网IP地址的利用率。

权利要求 :

1.一种公网地址分配方法,其特征在于,所述方法应用于网络地址转换NAT设备,所述方法包括:接收远程宽带接入服务器BRAS发送的端口块申请请求,所述端口块申请请求携带有用户的私网IP地址和期望端口块数;

根据本地端口块容量表中各个公网IP地址的端口块剩余数和所述期望端口块数,为所述私网IP地址分配目标公网IP地址。

2.根据权利要求1所述的方法,其特征在于,所述根据本地端口块容量表中各个公网IP地址的端口块剩余数和所述期望端口块数,为所述私网IP地址分配目标公网IP地址,包括:在所述本地端口块容量表中确定目标公网IP地址,并将所述私网IP地址保存至所述目标公网IP地址对应的私网IP地址组中,其中,所述目标公网IP地址为所述本地端口块容量表记录的各个公网IP地址中端口块剩余数最多的一个公网IP地址;

从所述目标公网IP地址的端口块剩余数中减去所述期望端口块数。

3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:从所述目标公网IP地址对应的端口块中选取一个空闲端口块,并将所选取的空闲端口块分配给所述私网IP地址;

当检测到所分配的端口块已耗尽端口时,则从所述目标公网IP地址对应的端口块中选取另一空闲端口块,并将所选取的另一空闲端口块继续分配给所述私网IP地址。

4.根据权利要求3所述的方法,其特征在于,所述方法还包括:接收所述BRAS发送的端口块释放请求,所述端口块释放请求携带有所述私网IP地址和所述期望端口块数;

从所述目标公网IP地址对应的私网IP地址组中删除所述私网IP地址;

释放分配给所述私网IP地址的所有端口块,并将所述目标公网IP地址的端口块剩余数加上所述期望端口块数。

5.根据权利要求3所述的方法,其特征在于,所述方法还包括:统计分配给所述私网IP地址的实际端口块数;

将所述实际端口块数发送至所述BRAS,以使所述BRAS将所述实际端口块数发送至认证服务器,并由所述认证服务器根据所述实际端口块数对所述期望端口块数进行调整。

6.一种公网地址分配方法,其特征在于,所述方法应用于认证服务器,所述认证服务器存储有用户所对应的期望端口块数,所述方法包括:接收远程宽带接入服务器BRAS发送的用户认证请求,所述用户认证请求携带有待认证的用户信息;

当所述用户信息认证通过后,为认证通过的用户生成对应的授权信息,所述授权信息包括授权于用户的期望端口块数;

将所述授权信息发送至所述BRAS,以使所述BRAS根据所述授权信息为用户分配一个私网IP地址,并向网络地址转换NAT设备发送端口块申请请求,所述端口块申请请求携带有所述私网IP地址和所述期望端口块数,以使NAT设备根据本地端口块容量表中各个公网IP地址的端口块剩余数和所述期望端口块数为所述私网IP地址分配目标公网IP地址。

7.根据权利要求6所述的方法,其特征在于,所述方法还包括:接收所述BRAS发送的分配给所述私网IP地址的实际端口块数;

根据所述实际端口块数对所述期望端口块数进行调整。

8.一种公网地址分配装置,其特征在于,所述装置应用于网络地址转换NAT设备,所述装置包括:第一接收单元,用于接收远程宽带接入服务器BRAS发送的端口块申请请求,所述端口块申请请求携带有用户的私网IP地址和期望端口块数;

公网地址分配单元,用于根据本地端口块容量表中各个公网IP地址的端口块剩余数和所述期望端口块数,为所述私网IP地址分配目标公网IP地址。

9.根据权利要求8所述的装置,其特征在于,所述公网地址分配单元包括:公网地址确定子单元,用于在所述本地端口块容量表中确定目标公网IP地址,并将所述私网IP地址保存至所述目标公网IP地址对应的私网IP地址组中,其中,所述目标公网IP地址为所述本地端口块容量表记录的各个公网IP地址中端口块剩余数最多的一个公网IP地址;

计算子单元,用于从所述目标公网IP地址的端口块剩余数中减去所述期望端口块数。

10.根据权利要求8或9所述的装置,其特征在于,所述装置还包括:端口块分配单元,用于从所述目标公网IP地址对应的端口块中选取一个空闲端口块,并将所选取的空闲公网地址分配给所述私网IP地址;

增量端口块分配单元,用于当检测到所分配的端口块已耗尽端口时,则从所述目标公网IP地址对应的端口块中选取另一空闲端口块,并将所选取的另一空闲端口块继续分配给所述私网IP地址。

11.根据权利要求10所述的装置,其特征在于,所述装置还包括:第二接收单元,用于接收所述BRAS发送的端口块释放请求,所述端口块释放请求携带有所述私网IP地址和所述期望端口块数;

删除单元,用于从所述目标公网IP地址对应的私网IP地址组中删除所述私网IP地址;

释放单元,用于释放分配给所述私网IP地址的所有端口块,并将所述目标公网IP地址的端口块剩余数加上所述期望端口块数。

12.根据权利要求10所述的装置,其特征在于,所述装置还包括:统计单元,用于统计分配给所述私网IP地址的实际端口块数;

发送单元,用于将所述实际端口块数发送至所述BRAS,以使所述BRAS将所述实际端口块数发送至认证服务器,并由所述认证服务器根据所述实际端口块数对所述期望端口块数进行调整。

13.一种公网地址分配装置,其特征在于,所述装置应用于认证服务器,所述认证服务器存储有用户所对应的期望端口块数,所述装置包括:第一接收单元,用于接收远程宽带接入服务器BRAS发送的用户认证请求,所述用户认证请求携带有待认证的用户信息;

授权信息生成单元,用于当所述用户信息认证通过后,为认证通过的用户生成对应的授权信息,所述授权信息包括授权于用户的期望端口块数;

发送单元,用于将所述授权信息发送至所述BRAS,以使所述BRAS根据所述授权信息为用户分配一个私网IP地址,并向网络地址转换NAT设备发送端口块申请请求,所述端口块申请请求携带有所述私网IP地址和所述期望端口块数,以使NAT设备根据本地端口块容量表中各个公网IP地址的端口块剩余数和所述期望端口块数为所述私网IP地址分配目标公网IP地址。

14.根据权利要求13所述的装置,其特征在于,所述装置还包括:第二接收单元,用于接收所述BRAS发送的分配给所述私网IP地址的实际端口块数;

调整单元,用于根据所述实际端口块数对所述期望端口块数进行调整。

说明书 :

公网地址分配方法及装置

技术领域

[0001] 本申请涉及通信技术领域,特别涉及一种公网地址分配方法及装置。

背景技术

[0002] 端口块NAT(Network Address Translation,网络地址转换)指的是将每个公网地址的若干端口划分成多个独立的端口块,当用户流量经过NAT设备时,由NAT设备根据用户的私网IP地址为该用户分配公网IP地址和端口块,并且该用户会独占分配到的端口块。
[0003] 目前,一般采用哈希算法来分配公网IP地址,即每个私网IP地址会映射到固定的公网IP地址。
[0004] 但是,采用哈希算法容易造成某些公网IP地址的端口块资源已用尽,而某些公网IP地址还有空闲的端口块,从而造成了部分公网IP地址的端口块的浪费。

发明内容

[0005] 本申请提供一种公网地址分配方法及装置,以解决现有技术中某些公网IP地址的端口块资源已用尽,而某些公网IP地址还有空闲的端口块,从而造成的部分公网地址的端口块的浪费问题。
[0006] 根据本申请实施例的第一方面,提供了一种公网地址分配方法,所述方法NAT设备,所述方法包括:
[0007] 接收BRAS发送的端口块申请请求,所述端口块申请请求携带有用户的私网IP地址和期望端口块数;
[0008] 根据本地端口块容量表中各个公网IP地址的端口块剩余数和所述期望端口块数,为所述私网IP地址分配目标公网IP地址。
[0009] 根据本申请实施例的第二方面,提供了一种公网地址分配方法,所述方法应用于AAA服务器,所述方法包括:
[0010] 接收远程宽带接入服务器BRAS发送的用户认证请求,所述用户认证请求携带有待认证的用户信息;
[0011] 当所述用户信息认证通过后,为认证通过的用户生成对应的授权信息,所述授权信息包括授权于用户的期望端口块数;
[0012] 将所述授权信息发送至所述BRAS,以使所述BRAS根据所述授权信息为用户分配一个私网IP地址,并向网络地址转换NAT设备发送端口块申请请求,所述端口块申请请求携带有所述私网IP地址和所述期望端口块数。
[0013] 根据本申请实施例的第三方面,提供了一种公网地址分配装置,所述装置应用于NAT设备,所述装置包括:
[0014] 第一接收单元,用于接收远程宽带接入服务器BRAS发送的端口块申请请求,所述端口块申请请求携带有用户的私网IP地址和期望端口块数;
[0015] 公网地址分配单元,用于根据本地端口块容量表中各个公网IP地址的端口块剩余数和所述期望端口块数,为所述私网IP地址分配目标公网IP地址。
[0016] 根据本申请实施例的第四方面,提供了一种公网地址分配装置,所述装置应用于认证服务器,所述认证服务器存储有用户所对应的期望端口块数,所述装置包括:
[0017] 第一接收单元,用于接收远程宽带接入服务器BRAS发送的用户认证请求,所述用户认证请求携带有待认证的用户信息;
[0018] 授权信息生成单元,用于当所述用户信息认证通过后,为认证通过的用户生成对应的授权信息,所述授权信息包括授权于用户的期望端口块数;
[0019] 发送单元,用于将所述授权信息发送至所述BRAS,以使所述BRAS根据所述授权信息为用户分配一个私网IP地址,并向网络地址转换NAT设备发送端口块申请请求,所述端口块申请请求携带有所述私网IP地址和所述期望端口块数。
[0020] 应用本申请实施例,通过接收BRAS发送的端口块申请请求,所述端口块申请请求携带有用户的私网IP地址和期望端口块数;根据本地端口块容量表中各个公网IP地址的端口块剩余数和所述期望端口块数,为所述私网IP地址分配目标公网IP地址,使得NAT设备可以利用端口块剩余数这一参数来进行公网IP地址和私网IP地址的映射,这样可以尽量避免出现某些公网IP地址的端口块资源已用尽,而某些公网IP地址还有空闲的端口块的情形,从而实现了对各个公网IP地址的均衡使用,提高了公网IP地址的利用率。

附图说明

[0021] 图1是公网地址分配方法的应用场景示意图;
[0022] 图2是本申请公网地址分配方法的一个实施例流程图;
[0023] 图3是本申请公网地址分配方法的另一个实施例流程图;
[0024] 图4是本申请公网地址分配方法的另一个实施例流程图;
[0025] 图5是本申请公网地址分配方法的一个实施例流程图;
[0026] 图6是本申请公网地址分配装置所在设备的一种硬件结构示意图;
[0027] 图7是本申请公网地址分配装置的一个实施例框图;
[0028] 图8是本申请公网地址分配装置的一个实施例框图。

具体实施方式

[0029] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0030] 在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0031] 应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
[0032] 图1是公网地址分配方法的应用场景示意图。如图1所示,该应用场景包括用户端、BRAS(Broadband Remote Access Server,远程宽带接入服务器)、NAT设备和认证服务器。其中,认证服务器可以是AAA(Authentication、Authorization、Accounting,验证、授权和记账)服务器。
[0033] BRAS指的是通过PPPoE(Point-to-Point Protocol over Ethernet,以太网上的点对点协议)、IPoE等接入技术将用户接入运营商网络的网络设备,并为上线用户分配私网IP地址。
[0034] NAT设备可以为集成在BRAS上的NAT444网关插卡,并用于为上线用户分配公网IP地址和端口块。
[0035] 认证服务器可以为RADIUS(Remote Authentication Dial In User Service,远端用户拨入验证服务)服务器,并用于上线用户信息进行认证。
[0036] 现有技术中,NAT设备会根据端口块NAT配置划分好端口块,所有端口块使用状态为空闲(idle)状态。当BRAS检测到用户端发起上线请求,并且该上线请求通过AAA服务器的认证和授权后,BRAS会为该上线用户分配私网IP地址,并向NAT设备发送用户上线通知,该用户上线通知中包括上线用户的私网IP地址;然后,NAT设备会为上线用户的私网IP地址分配公网IP地址和端口块,并将端口块信息通知给BRAS,并记录该端口块为激活(active)状态。
[0037] 目前,一般采用哈希算法来分配公网IP地址,即每个私网IP地址会映射到固定的公网IP地址。
[0038] 但是,采用哈希算法容易造成某些公网IP地址的端口块资源已用尽,而某些公网IP地址还有空闲的端口块,从而造成了部分公网IP地址的端口块的浪费。
[0039] 为了解决上述问题,本申请实施例中提供了一种公网地址分配方法,以及一种可以应用该方法的公网地址分配装置。
[0040] 下面结合附图对本申请公网地址分配实施例进行详细描述。
[0041] 参见图2,为本申请公网地址分配方法的一个实施例流程图,该方法可以应用于NAT设备,比如,图1中的NAT设备,并且该NAT设备可以具体为集成在BRAS上的NAT444网关插卡。如图2所示,该公网地址分配方法包括以下步骤210-220:
[0042] 步骤210,接收BRAS发送的端口块申请请求,该端口块申请请求携带有用户的私网IP地址和期望端口块数。
[0043] 本申请实施例中,当BRAS检测到用户发起的上线请求后,会向认证服务器发送用户认证请求,该用户认证请求携带有待认证的用户信息,当用户信息认证通过后,认证服务器会将生成的授权信息返回BRAS。基于该授权信息BRAS为用户分配一个私网IP地址,并获取授权信息中携带的期望端口块数。之后,由BRAS向NAT设备发送端口块申请请求,该端口块申请请求携带有用户的私网IP地址和期望端口块数,最后由NAT设备根据用户的私网IP地址和期望端口块数为用户分配公网IP地址。
[0044] 其中,在认证服务器中,存储有用户信息和对应的期望端口块数,当认证服务器查找到自身存储有接收到的认证请求中携带的用户信息时,则通过认证。并且,期望端口块数是认证服务器的一个新增属性,该属性表明上线用户期望的网络业务访问需求量。
[0045] 步骤220,根据本地端口块容量表中各个公网IP地址的端口块剩余数和期望端口块数,为私网IP地址分配目标公网IP地址。
[0046] 本申请实施例中,NAT设备会提前创建一个端口块容量表,并实时维护该端口块容量表。并且,已创建的端口块容量表中可以包括但不限于以下信息:公网IP地址、端口块总数、端口块剩余数和私网IP地址组。
[0047] 其中,每个公网IP地址对应的表项中:
[0048] 端口块总数指的是该公网IP地址对应的端口块总数量,比如,该公网IP地址的端口总数为65535个,设定每个端口块大小为255个,则该公网IP地址的端口可以划分为257个端口块,即该公网IP地址对应的端口块总数为257。
[0049] 端口块剩余数指的是预留出一部分端口块分配给上线用户后剩余的端口块个数。比如,若预留出5个端口块分配给上线用户后剩余252个端口块,则端口块剩余数为252;若继续预留出10个端口块分配给上线用户后剩余242个端口块,则端口块剩余数为242。
[0050] 私网IP地址组用于保存该公网IP地址对应的一个或多个私网IP地址,每个私网IP地址代表着一个上线用户。
[0051] 本申请中,可以为多个上线用户分配同一公网IP地址,因此,同一个公网IP地址可以对应多个私网IP地址(即公网IP地址与私网IP地址之间可以是一对多的关系);但是,针对每个私网IP地址来说,每个私网IP地址只对应一个公网IP地址(即私网IP地址与公网IP地址之间是一对一的关系),并且在后述为该私网IP地址代表着的上线用户分配一个或多个端口块时,也是从对应的公网IP地址的端口块中选取,而不能从其他公网IP地址的端口块中选取。
[0052] 另外,在初始状态下,每个公网IP地址对应的端口块剩余数与对应的端口块总数二者相同,对应的私网地址组为空。
[0053] 其初始状态的端口块容量表如表1所示。
[0054] 表1
[0055] 公网IP地址 端口块总数 端口块剩余数 私网IP地址组212.0.1.1 257 257 空
212.0.1.2 257 257 空
…… …… …… ……
[0056] 本申请根据本地端口块容量表中各个公网IP地址的端口块剩余数,为私网IP地址分配目标公网IP地址时,可以选取几个较大的端口块剩余数,并将这些端口块剩余数对应的公网IP地址作为备选公网IP地址,从这些备选公网IP地址随机选取一个公网IP地址,作为分配至用户的私网IP地址的目标公网IP地址,这样通过使用端口块剩余数较多的公网IP地址,可以让各个公网IP地址使用均衡,并尽量避免出现某些公网IP地址的端口块资源已用尽,而某些公网IP地址还有空闲的端口块的情形。
[0057] 在一实施例中,在根据本地端口块容量表中各个公网IP地址的端口块剩余数和期望端口块数,为私网IP地址分配目标公网IP地址时,可以包括:
[0058] 在本地端口块容量表中确定目标公网IP地址,并将私网IP地址保存至目标公网IP地址对应的私网IP地址组中,其中,目标公网IP地址为本地端口块容量表记录的各个公网IP地址中端口块剩余数最多的一个公网IP地址;
[0059] 从目标公网IP地址的端口块剩余数中减去期望端口块数。
[0060] 其中,从目标公网IP地址的端口块剩余数中减去期望端口块数,其修改端口块剩余数的目的是先从端口块数量上,预留出与期望端口块数相同数量的端口块,便于后续分配给上线用户,至于具体分配给上线用户哪个端口块,并不限制,等到后续分配端口块时再确定;并且修改后的端口块剩余数能够体现该公网IP地址当前空闲的端口块数量,这样可以不耽误后述为其他上线用户分配公网IP地址。
[0061] 比如:私网IP地址为10.0.0.1,期望端口块数为5,分配至上线用户的公网IP地址为212.0.1.1,修改前的端口块剩余数为257,修改后的端口块剩余数为252,修改后的端口块容量表如表2所示。
[0062] 表2
[0063]公网IP地址 端口块总数 端口块剩余数 私网IP地址组
212.0.1.1 257 252 10.0.0.1
212.0.1.2 257 257 空
…… …… …… ……
[0064] 由上述实施可见,当接收到BRAS发送的端口块申请请求后,可以根据本地端口块容量表中各个公网IP地址的端口块剩余数和期望端口块数,为私网IP地址分配目标公网IP地址,使得NAT设备可以利用端口块剩余数这一参数来进行公网IP地址和私网IP地址的映射,这样可以尽量避免出现某些公网IP地址的端口块资源已用尽,而某些公网IP地址还有空闲的端口块的情形,从而实现了对各个公网IP地址的均衡使用,提高了公网IP地址的利用率。
[0065] 图3是本申请公网地址分配方法的另一个实施例流程图,该方法可以应用于NAT设备,比如,图1中的NAT设备,并且该NAT设备可以具体为集成在BRAS上的NAT444网关插卡。如图3所示,该公网地址分配方法建立在图2所示方法的基础上,可以包括以下步骤310-360:
[0066] 步骤310,接收BRAS发送的端口块申请请求,该端口块申请请求携带有用户的私网IP地址和期望端口块数。
[0067] 步骤320,在本地端口块容量表中确定目标公网IP地址,该目标公网IP地址为本地端口块容量表记录的各个公网IP地址中端口块剩余数最多的一个公网IP地址。
[0068] 本申请实施例中,若端口块剩余数最多的公网IP地址的数量为一个,则将该唯一的公网IP地址作为目标公网IP地址;若端口块剩余数最多的公网IP地址的数量为多个,则从这多个公网IP地址中选取最小公网IP地址,并将最小公网IP地址作为目标公网IP地址。
[0069] 比如:表1中每个公网IP地址对应的端口块剩余数均相同,此时就可以将最小公网IP地址即212.0.1.1作为目标公网IP地址。
[0070] 步骤330,将私网IP地址保存至目标公网IP地址对应的私网IP地址组中。
[0071] 比如:如表2所示,10.0.0.1为目标公网IP地址对应的私网IP地址。
[0072] 步骤340,从目标公网IP地址的端口块剩余数中减去期望端口块数。
[0073] 比如:如表2所示,252为从目标公网IP地址的端口块剩余数中减去期望端口块数后得到的差值。
[0074] 步骤350,从目标公网IP地址对应的端口块中选取一个空闲端口块,并将所选取的空闲端口块分配给用户的私网IP地址。
[0075] 本申请实施例中,从目标公网IP地址的端口块中选取一个空闲端口块时,NAT设备上的端口块表项如表3所示。
[0076] 表3
[0077]
[0078] 将所选取的空闲端口块分配给私网IP地址后,NAT设备上的端口块表项如表4所示。
[0079] 表4
[0080]
[0081] 表4中,10.0.0.1为上线用户的私网IP地址,5为认证服务器授权于上线用户的期望端口块数,212.0.0.1是NAT设备分配给10.0.0.1的目标公网IP地址,1-255是分配给10.0.0.1的空闲端口块的端口范围,实际端口块数为1指的是实际分配给10.0.0.1的第1个端口块。
[0082] 步骤360,当检测到所分配的端口块已耗尽端口时,则从目标公网IP地址对应的端口块中选取另一空闲端口块,并将所选取的另一空闲端口块继续分配给用户的私网IP地址,直至所分配的端口块数等于所述期望端口块数。
[0083] 本申请实施例中,至于能够为用户的私网IP地址最多分配多少个端口块,这要取决于认证服务器授权的期望端口块数和NAT设备配置的最大端口块个数。
[0084] 若期望端口块数小于等于NAT设备配置的最大端口块个数,则最多分配的数量可与期望端口块数相同;若期望端口块数大于NAT设备配置的最大端口块个数,则最多分配的数量可与NAT设备配置的最大端口块个数相同。
[0085] 其中,期望端口块数是认证服务器为上线用户配置的,不同的上线用户可能配置相同或不同的期望端口块数。而NAT设备自身配置的最大端口块个数是一个固定值,不区分上线用户,即针对所有上线用户均配置同一个最大端口块个数。
[0086] 比如:期望端口块数为4,本设备配置的最大端口块个数为5,最多分配给上线用户4个端口块后不再分配。
[0087] 又比如:期望端口块数为6,本设备配置的最大端口块个数为5,最多分配给上线用户5个端口块后不再分配。
[0088] 另外,从目标公网IP地址的端口块中选取另一空闲端口块,并将所选取的另一空闲端口块继续分配给用户的私网IP地址后,NAT设备上的端口块表项如表5所示。
[0089] 表5
[0090]
[0091] 表5中,10.0.0.1为上线用户的私网IP地址,5为认证服务器授权于上线用户的期望端口块数,212.0.0.1是NAT设备分配给10.0.0.1的目标公网IP地址,2551-2805是分配给10.0.0.1的另一空闲端口块的端口范围,实际端口块数为2指的是分配给10.0.0.1的第2个端口块。
[0092] 由上述实施可见,通过在本地端口块容量表中确定目标公网IP地址,该目标公网IP地址为本地端口块容量表记录的各个公网IP地址中端口块剩余数最多的一个公网IP地址,将私网IP地址保存至目标公网IP地址对应的私网IP地址组中,从目标公网IP地址的端口块剩余数中减去期望端口块数,这样可以预留出与期望端口块数相同数量的端口块,便于分配给上线用户,使得NAT设备在增量分配端口块时,可以从目标公网IP地址对应的端口块中选取另一空闲端口块,并将所选取的另一空闲端口块继续分配给上线用户,从而保证了分配给同一上线用户的所有端口块都属于同一目标公网IP地址的,还满足了不同上线用户期望的网络业务访问需求量,提高了端口块分配的合理性。
[0093] 图4是本申请公网地址分配方法的另一个实施例流程图,该方法可以应用于NAT设备,比如,图1中的NAT设备,并且该NAT设备可以具体为集成在BRAS上的NAT444网关插卡。如图4所示,该公网地址分配方法建立在图2和图3所示方法的基础上,可以包括以下步骤410-450:
[0094] 步骤410,接收BRAS发送的端口块释放请求,该端口块释放请求携带有用户的私网IP地址和期望端口块数。
[0095] 在NAT设备已经为用户的私网IP地址分配了公网IP地址之后,本申请实施例中,当BRAS检测到上线用户已经下线,会向NAT设备发送端口块释放请求,并由NAT设备对分配给上线用户的所有端口块进行释放、以及维护本地端口块容量表。
[0096] 步骤420,从目标公网IP地址对应的私网IP地址组中删除用户的私网IP地址。
[0097] 步骤430,释放分配给用户的私网IP地址的所有端口块,并将目标公网IP地址的端口块剩余数加上期望端口块数。
[0098] 本申请实施例中,在恢复端口块容量表中目标公网IP地址的端口块剩余数为修改前的端口块剩余数时,其采用的恢复方式与根据期望端口块数修改端口块容量表中目标公网IP地址的端口块剩余数中的修改方式相对应:
[0099] 若修改方式为:从目标公网IP地址的端口块剩余数中减去期望端口块数。
[0100] 对应的恢复方式为:将目标公网IP地址的端口块剩余数加上期望端口块数。
[0101] 比如:用户的私网IP地址为10.0.0.1,期望端口块数为5,分配至10.0.0.1的目标公网IP地址为212.0.1.1,NAT设备接收BRAS发送的端口块释放请求时,已分配给10.0.0.1共2个端口块,其端口范围分别是1-255、2551-2805,此时NAT设备需要对这2个端口块进行老化;同时,在端口块容量表中查询到212.0.1.1对应的端口块剩余数为252,将该端口块剩余数加上期望端口块数(252加上5得到257),并将10.0.0.1从212.0.1.1对应的私网IP地址组中删除。
[0102] 步骤430,统计分配给用户的私网IP地址的实际端口块数。
[0103] 步骤440,将实际端口块数发送至BRAS,以使BRAS将实际端口块数发送至认证服务器,并由认证服务器根据实际端口块数对期望端口块数进行调整。
[0104] 本申请实施例中,由于NAT设备在维护本地端口块容量表时,是根据期望端口块数对目标公网IP地址对应的端口块剩余数进行修改的。比如,从目标公网IP地址对应的端口块剩余数中减去期望端口块数,得到修改后的端口块剩余数(即预留出与期望端口块数相同数量的端口块,便于后续分配给上线用户)。
[0105] 若期望端口块数小于等于本设备配置的最大端口块个数,预留出与期望端口块数相同数量的端口块,但实际上最多分配给上线用户的端口块个数还可以更多,出现了预留的少,实际能分配的多的情形;若期望端口块数大于本设备配置的最大端口块个数,仍然预留出与期望端口块数相同数量的端口块,但实际上最多分配给上线用户的端口块个数为本设备配置的最大端口块个数,出现了预留的多,实际能分配的少的情形。
[0106] 上述情形表明认证服务器配置的期望端口块数有待优化,此时就可以把分配给上线用户的实际端口块数上报给认证服务器,以使认证服务器能够适当调整为上线用户授权的期望端口块数的大小,使之更合理些。
[0107] 由上述实施例可见,当接收BRAS发送的端口块释放请求后,可以从目标公网IP地址对应的私网IP地址组中删除用户的私网IP地址,释放分配给用户的私网IP地址的所有端口块,并将目标公网IP地址的端口块剩余数加上期望端口块数,以及将分配给用户的实际端口块数上报给认证服务器,并由认证服务器根据实际端口块数对期望端口块数进行调整,使得调整后的期望端口块数更加合理,进而提高了公网IP地址分配的均衡性。
[0108] 图5是本申请公网地址分配方法的一个实施例流程图,该方法可以应用于认证服务器,该认证服务器存储有用户所对应的期望端口块数,比如,图1中的认证服务器,并且该认证服务器可以具体为RADIUS服务器。如图5所示,该公网地址分配方法可以包括以下步骤510-530:
[0109] 步骤510,接收BRAS发送的用户认证请求,该用户认证请求携带有待认证的上线用户信息。
[0110] 本申请实施例中,当BRAS检测到上线用户发起上线请求时,会向认证服务器发送用户认证请求,该用户认证请求携带有待认证的用户信息,只有用户信息认证通过后,认证服务器才会为认证通过的用户生成对应的授权信息并将该授权信息发送至BRAS,BRAS接收到授权信息后,基于该授权信息BRAS为用户分配一个私网IP地址,并获取授权信息中携带的期望端口块数,然后向NAT设备发送端口块申请请求,该端口块申请请求携带有用户的私网IP地址和期望端口块数,并由NAT设备根据本地端口块容量表中各个公网IP地址的端口块剩余数和期望端口块数,为用户的私网IP地址分配目标公网IP地址。
[0111] 步骤520,当用户信息认证通过后,为认证通过的用户生成对应的授权信息,该授权信息包括授权于用户期望端口块数。
[0112] 本申请实施例中,在认证服务器中,存储有用户信息和对应的期望端口块数,当认证服务器查找到自身存储有接收到的认证请求中携带的用户信息时,则通过认证。并且,认证服务器生成的授权信息中包括的期望端口块数是一新增属性,并且该期望端口块数可以由根据管理员的经验来确定其大小,也可以根据用户的计费方式来确定其大小,还可以根据历史授权信息调整其大小等,本申请不限制确定其大小的各种方式。
[0113] 步骤530,将授权信息发送至BRAS,以使BRAS根据授权信息为用户分配一个私网IP地址,并向NAT设备发送端口块申请请求,该端口块申请请求携带有用户的私网IP地址和期望端口块数。
[0114] 本申请实施例中,BRAS接收到认证服务器发送的授权信息后,会基于该授权信息为用户分配一个私网IP地址,并向NAT设备发送端口块申请请求,该端口块申请请求携带有用户的私网IP地址和期望端口块数。
[0115] 在一实施例中,本申请公网地址分配方法还包括:
[0116] 接收BRAS发送的分配给用户的私网IP地址的实际端口块数;
[0117] 根据实际端口块数对用户的期望端口块数进行调整。
[0118] 本申请实施例中,认证服务器根据实际端口块数对用户的期望端口块数进行调整,其目的是调整后的期望端口块数更加合理化,更加贴近适当调整的期望端口块数的大小,使之更贴近上线用户期望的网络业务访问需求量、以即NAT设备的自身处理能力。
[0119] 由上述实施例可见,当用户信息认证通过后,为该上线用户授权期望端口块数,这样使得后面的NAT设备可以根据期望端口块数、以及端口块容量表中各个公网IP地址的端口块剩余数,为用户的私网IP地址分配目标公网IP地址,从而实现了均衡分配公网IP地址的端口块,并提高了公网IP地址分配的可靠性。
[0120] 与前述公网地址分配方法实施例相对应,本申请还提供了公网地址分配装置的实施例。
[0121] 本申请中公网地址分配装置的实施例可以应用在NAT设备、以及AAA服务器上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图6所示,为本申请公网地址分配装置所在设备的一种硬件结构示意图,除了图6所示的处理器、网络接口、内存以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等;从硬件结构上来讲该设备还可能是分布式的设备,可能包括多个接口卡,以便在硬件层面进行网络地址转换的扩展。
[0122] 参见图7,为本申请公网地址分配装置的一个实施例框图,该装置可以应用于NAT设备,比如,图1中的NAT设备,并且该NAT设备可以具体为集成在BRAS上的NAT444网关插卡,并可以用于执行图2、图3和图4所示的公网地址分配方法,该装置可以包括:第一接收单元71和公网地址分配单元72。
[0123] 第一接收单元71,用于接收远程宽带接入服务器BRAS发送的端口块申请请求,所述端口块申请请求携带有用户的私网IP地址和期望端口块数;
[0124] 公网地址分配单元72,用于根据本地端口块容量表中各个公网IP地址的端口块剩余数和所述期望端口块数,为所述私网IP地址分配目标公网IP地址。
[0125] 由上述实施可见,当接收到BRAS发送的端口块申请请求后,可以根据本地端口块容量表中各个公网IP地址的端口块剩余数和期望端口块数,为私网IP地址分配目标公网IP地址,使得NAT设备可以利用端口块剩余数这一参数来进行公网IP地址和私网IP地址的映射,这样可以尽量避免出现某些公网IP地址的端口块资源已用尽,而某些公网IP地址还有空闲的端口块的情形,从而实现了对各个公网IP地址的均衡使用,提高了公网IP地址的利用率。
[0126] 在一个可选的实现方式中,所述公网地址分配单元72可以包括:公网地址确定子单元和计算子单元(图7中未示出)。
[0127] 公网地址确定子单元,用于在所述本地端口块容量表中确定目标公网IP地址,并将所述私网IP地址保存至所述目标公网IP地址对应的私网IP地址组中,其中,所述目标公网IP地址为所述本地端口块容量表记录的各个公网IP地址中端口块剩余数最多的一个公网IP地址;
[0128] 计算子单元,用于从所述目标公网IP地址的端口块剩余数中减去所述期望端口块数。
[0129] 在一个可选的实现方式中,所述装置还可以包括:端口块分配单元和增量端口块分配单元(图7中未示出)。
[0130] 端口块分配单元,用于从所述目标公网IP地址对应的端口块中选取一个空闲端口块,并将所选取的空闲公网地址分配给所述私网IP地址;
[0131] 增量端口块分配单元,用于当检测到所分配的端口块已耗尽端口时,则从所述目标公网IP地址对应的端口块中选取另一空闲端口块,并将所选取的另一空闲端口块继续分配给所述私网IP地址。
[0132] 由上述实施可见,通过在本地端口块容量表中确定目标公网IP地址,该目标公网IP地址为本地端口块容量表记录的各个公网IP地址中端口块剩余数最多的一个公网IP地址,将私网IP地址保存至目标公网IP地址对应的私网IP地址组中,从目标公网IP地址的端口块剩余数中减去期望端口块数,这样可以预留出与期望端口块数相同数量的端口块,便于分配给上线用户,使得NAT设备在增量分配端口块时,可以从目标公网IP地址对应的端口块中选取另一空闲端口块,并将所选取的另一空闲端口块继续分配给上线用户,从而保证了分配给同一上线用户的所有端口块都属于同一目标公网IP地址的,还满足了不同上线用户期望的网络业务访问需求量,提高了端口块分配的合理性。
[0133] 在一个可选的实现方式中,所述装置还可以包括:第二接收单元、删除单元和释放单元(图7中未示出)。
[0134] 第二接收单元,用于接收所述BRAS发送的端口块释放请求,所述端口块释放请求携带有所述私网IP地址和所述期望端口块数;
[0135] 删除单元,用于从所述目标公网IP地址对应的私网IP地址组中删除所述私网IP地址;
[0136] 释放单元,用于释放分配给所述私网IP地址的所有端口块,并将所述目标公网IP地址的端口块剩余数加上所述期望端口块数。
[0137] 在一个可选的实现方式中,所述装置还可以包括:统计单元和发送单元(图7中未示出)。
[0138] 统计单元,用于统计分配给所述私网IP地址的实际端口块数;
[0139] 发送单元,用于将所述实际端口块数发送至所述BRAS,以使所述BRAS将所述实际端口块数发送至认证服务器,并由所述认证服务器根据所述实际端口块数对所述期望端口块数进行调整。
[0140] 由上述实施例可见,当接收BRAS发送的端口块释放请求后,可以从目标公网IP地址对应的私网IP地址组中删除用户的私网IP地址,释放分配给用户的私网IP地址的所有端口块,并将目标公网IP地址的端口块剩余数加上期望端口块数,以及将分配给用户的实际端口块数上报给认证服务器,并由认证服务器根据实际端口块数对期望端口块数进行调整,使得调整后的期望端口块数更加合理,进而提高了公网IP地址分配的均衡性。
[0141] 参见图8,为本申请公网地址分配装置的一个实施例框图,该装置可以应用于认证服务器,该认证服务器存储有用户所对应的期望端口块数,比如,图1中的认证服务器,并且该认证服务器可以具体为RADIUS服务器,并可以用于执行图5所示的公网地址分配方法,该装置可以包括:第一接收单元81、授权信息生成单元82和发送单元83。
[0142] 第一接收单元81,用于接收远程宽带接入服务器BRAS发送的用户认证请求,所述用户认证请求携带有待认证的用户信息;
[0143] 授权信息生成单元82,用于当所述用户信息认证通过后,为认证通过的用户生成对应的授权信息,所述授权信息包括授权于用户的期望端口块数;
[0144] 发送单元83,用于将所述授权信息发送至所述BRAS,以使所述BRAS根据所述授权信息为用户分配一个私网IP地址,并向网络地址转换NAT设备发送端口块申请请求,所述端口块申请请求携带有所述私网IP地址和所述期望端口块数。
[0145] 在一个可选的实现方式中,所述装置还可以包括:第二接收单元和调整单元(图8中未示出)。
[0146] 第二接收单元,用于接收所述BRAS发送的分配给所述私网IP地址的实际端口块数;
[0147] 调整单元,用于根据所述实际端口块数对所述期望端口块数进行调整。
[0148] 由上述实施例可见,当用户信息认证通过后,为该上线用户授权期望端口块数,这样使得后面的NAT设备可以根据期望端口块数、以及端口块容量表中各个公网IP地址的端口块剩余数,为用户的私网IP地址分配目标公网IP地址,从而实现了均衡分配公网IP地址的端口块,并提高了公网IP地址分配的可靠性。
[0149] 上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0150] 对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0151] 以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。