一种网络地址资源的利用方法.pdf

上传人:Y94****206 文档编号:687105 上传时间:2018-03-05 格式:PDF 页数:22 大小:938.09KB
返回 下载 相关 举报
摘要
申请专利号:

CN03148859.5

申请日:

2003.06.14

公开号:

CN1567907A

公开日:

2005.01.19

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效|||公开

IPC分类号:

H04L12/66; H04L29/02; H04L12/24

主分类号:

H04L12/66; H04L29/02; H04L12/24

申请人:

华为技术有限公司;

发明人:

熊鹰; 肖斌

地址:

518129广东省深圳市龙岗区坂田华为总部办公楼

优先权:

专利代理机构:

代理人:

PDF下载: PDF下载
内容摘要

本发明提供了一种网络地址资源的利用方法,该方法包括:建立一个地址池HASH表,地址池HASH表的内容对应公有地址资源;根据内部网络用户数据流的目的三元组“协议号+目的IP地址+目的端口号”从地址池HASH表中取出对应的公有“IP地址+端口号”对;根据内部网络用户数据流的五元组“源IP地址+源端口号+协议号+目的IP地址+目的端口号”及公有“IP地址+端口号”对,分别建立正向网络地址转换关系表和反向网络地址转换关系表。使用本发明,可以动态复用网络地址资源,有效地提高网络地址资源的利用率。

权利要求书

1.一种网络地址资源的利用方法,用于在网络地址转换中进行公有地址
分配和转换,该方法包括步骤:
建立一个地址池HASH表,所述地址池表示一组连续的公有地址,所述地
址池HASH表的内容对应公有地址资源;
根据内部网络用户数据流的目的三元组“协议号+目的IP地址+目的端口
号”从所述地址池HASH表中取出对应的公有“IP地址+端口号”对;
根据所述内部网络用户数据流的五元组“源IP地址+源端口号+协议号+
目的IP地址+目的端口号”及所述公有“IP地址+端口号”对,分别建立正向
网络地址转换关系表和反向网络地址转换关系表。
2.如权利要求1所述的网络地址资源的利用方法,其中,所述建立一个
地址池HASH表的步骤包括:设定所述地址池HASH表的大小为64K的2N
(N=0,1,2...)倍。
3.如权利要求2所述的网络地址资源的利用方法,其中,所述建立一个
地址池HASH表的步骤包括:设定所述地址池HASH表对应2N(N=0,1,2...)个
IP地址。
4.如权利要求1所述的网络地址资源的利用方法,其中,所述建立一个
地址池HASH表的步骤包括:设定所述地址池HASH表的每个表项的内容为一
个计数器,所述计数器表示所有公有地址资源的分配指针。
5.如权利要求4所述的网络地址资源的利用方法,其中,所述设定所述
地址池HASH表的每个表项的内容为一个计数器的步骤包括:设定所述计数器
的位数为16+N(N=0,1,2...)。
6.如权利要求1所述的网络地址资源的利用方法,其中,所述建立一个
地址池HASH表的步骤包括:设定所述地址池HASH表的每个表项的内容为两
个计数器,其中,第一个计数器表示所有公有地址资源的分配指针,另一个
计数器用于对所述第一个计数器对应的地址资源分配计数。
7.如权利要求1所述的网络地址资源的利用方法,其中,所述根据内部
网络用户数据流的目的三元组“协议号+目的IP地址+目的端口号”从所述地
址池HASH表中取出对应的公有“IP地址+端口号”对的步骤包括步骤:
对内部网络用户数据流的目的三元组“协议号+目的IP地址+目的端口
号”进行HASH运算,得到一个HASH值,
以所述HASH值查找所述地址池HASH表,
取出所述HASH值对应的所述地址池中的表项,
根据取出的所述地址池中的表项取得所述公有“IP地址+端口号”对。
8.如权利要求7所述的网络地址资源的利用方法,其中,所述根据取出
的所述地址池中的表项取得所述公有“IP地址+端口号”对的步骤包括步骤:
根据所述取出的所述地址池中的表项取得所述表项对应的计数器的值,
由所述计数器的值高16位取得所述内部网络用户数据流的目的三元组
“协议号+目的IP地址+目的端口号”对应的公有端口号,
由所述计数器的值减去高16位后剩余的低位取得所述内部网络用户数据
流的目的三元组“协议号+目的IP地址+目的端口号”对应的公有IP地址。
9.如权利要求8所述的网络地址资源的利用方法,其中,所述由所述计
数器的值减去高16位后剩余的低位取得所述内部网络用户数据流的目的三元
组“协议号+目的IP地址+目的端口号”对应的公有IP地址的步骤包括步骤:
建立一个公有IP地址索引表,所述公有IP地址索引表的内容表示公有IP地
址,
取得所述计数器的值减去高16位后剩余的值,
以所述剩余的值作为索引值,查找所述公有IP地址索引表,
取出所述公有IP地址索引表中对应所述索引值的公有IP地址。
10.如权利要求1所述的网络地址资源的利用方法,其中,所述根据所述
内部网络用户数据流的五元组“源IP地址+源端口号+协议号+目的IP地址+目
的端口号”及所述公有“IP地址+端口号”对,分别建立正向网络地址转换关
系表和反向网络地址转换关系表的步骤包括步骤:
对数据流五元组“源IP地址+源端口号+协议号+目的IP地址+目的端口
号”及所述公有“IP地址+端口号”对进行HASH运算,分别生成正向网络地
址转换表项和反向网络地址转换表项;
将生成的所述正向网络地址转换表项插入所述正向网络地址转换关系表
中;
如果所述正向网络地址转换关系表中已有一个同样的表项,则对所述内
部网络用户重新分配公有地址;
将生成的所述反向网络地址转换表项插入所述反向网络地址转换关系表
中。

说明书

一种网络地址资源的利用方法

技术领域

本发明涉及网络地址转换中网络地址资源的利用技术,具体涉及一种网
络地址资源的利用方法。

背景技术

随着Internet网络以爆炸性的速度膨胀,IP地址短缺及路由规模越来越大
已成为一个相当严重的问题。为了解决这个问题,出现了多种解决方案。一
种在目前网络环境中比较有效的方法即NAT(网络地址转换)功能。NAT的
功能,就是指在一个网络内部,根据需要可以随意自定义IP地址,而不需要
经过申请。在网络内部,各计算机间通过内部的IP地址进行通讯,而当内部
的计算机要与外部Internet网络进行通讯时,具有NAT功能的设备(比如路由
器)负责将其内部的IP地址转换为合法的IP地址,即经过申请的IP地址,进行
通信。NAT的典型的应用,是将NAT设置在内部网与外部公用网的连接处的
路由器上。当IP数据包离开内部网时NAT负责将内部的假的IP源地址转换成合
法IP地址。当IP数据包进入内部网时,NAT将合法IP目的地址转换成内部假的
IP地址。

进行地址转换时,由于端口号范围最多只有64K,因此一个公有地址往往
不够用,通常用一组连续的公有地址组成一个地址池,当内部网络访问外部
网络时,在地址池中选择一个外部地址替代IP包中的源地址,并形成一个地
址转换关系表,利用此表实现正向网络地址转换和反向地址还原。

对于地址池中的地址资源利用,目前多采用以下两种方法:

第一种方法是静态地址转换,采用地址关联方式,将地址池分为两组,
第一组作为HASH表用于直接的地址分配,第二组用于在第一组分配不成功时
使用。两组地址池的组织结构相同,如附图1所示,为每个IP地址分配一个
64K表项的数组,其中每个表项代表一个端口,该端口号和IP地址一起构成一
项地址池资源。当一个数据流作网络地址转换时,通过对该数据流进行HASH
选中第一组地址池IP1-IPk中的一个表项,利用此表项中给出的地址进行源地
址替换,如果此表项已分配出去,则到第二组地址池IPn中分配一个空闲表
项,并在HASH选中的第一组地址池中的表项中用指针指向该空闲表项,如果
后续还有相同HASH命中的情况,则继续到IPn中分配一个空闲表项,并延长
冲突链表。在此方法中,地址池和地址转换关系表合一,正向和反向地址转
换关系表合一。

采用这种方法,地址池的利用率较低,尤其是在HASH不均匀时,地址冲
突会很大;另外使用链表解决冲突的方式,在冲突较大时效率很低。

第二种方法是动态地址转换,采用位图关联方式,如附图2所示,每个地
址池有多个IP地址,每个IP地址按端口号来分配地址资源,每个端口号对应一
位,每一位ULONG代表一个端口的状态,所以,2K个ULONG型整数就可以
代表所有的端口号(端口号范围最多只有64K)。连接时,如果一个端口已分
配出去,则将该端口对应的位置1,连接释放时,将该连接对应的端口的对应
位清0。网络地址转换关系表组织成HASH表结构,用数据流的源/目的地址、
源/目的端口号、IP协议号作为关键词来查找,正反向的网络地址转换分别查
找各自的HASH表。

采用这种方法,地址池的利用率较第一种方法有所提高,但一个IP地址+
端口号对仍只能用于一个连接,例如,要支持512K的连接,至少需要
512K/64K=8个IP地址,地址池资源的利用率仍然有限。

发明内容

本发明的目的在于克服上述现有技术的缺点,提供一种可重复使用地址
池资源、占用内存少且维护简单的地址资源利用方法,有效地解决Internet的
地址短缺问题。

本发明提供了一种网络地址资源的利用方法,用于在网络地址转换中进
行公有地址分配和转换,该方法包括步骤:

建立一个地址池HASH表,所述地址池表示一组连续的公有地址,所述地
址池HASH表的内容对应公有地址资源;

根据内部网络用户数据流的目的三元组“协议号+目的IP地址+目的端口
号”从所述地址池HASH表中取出对应的公有“IP地址+端口号”对;

根据所述内部网络用户数据流的五元组“源IP地址+源端口号+协议号+
目的IP地址+目的端口号”及所述公有“IP地址+端口号”对,分别建立正向
网络地址转换关系表和反向网络地址转换关系表。

优选地,所述建立一个地址池HASH表的步骤包括:设定所述地址池
HASH表的大小为64K的2N(N=0,1,2...)倍。

可选地,所述建立一个地址池HASH表的步骤包括:设定所述地址池
HASH表对应2N(N=0,1,2,...)个IP地址。

优选地,所述建立一个地址池HASH表的步骤包括:设定所述地址池
HASH表的每个表项的内容为一个计数器,所述计数器表示所有公有地址资源
的分配指针。

可选地,所述设定所述地址池HASH表的每个表项的内容为一个计数器的
步骤包括:设定所述计数器的位数为16+N(N=0,1,2,...)。

可选地,所述建立一个地址池HASH表的步骤包括:设定所述地址池
HASH表的每个表项的内容为两个计数器,其中,第一个计数器表示所有公有
地址资源的分配指针,另一个计数器用于对所述第一个计数器对应的地址资
源分配计数。

优选地,所述根据内部网络用户数据流的目的三元组“协议号+目的IP地
址+目的端口号”从所述地址池HASH表中取出对应的公有“IP地址+端口号”
对的步骤包括步骤:

取内部网络用户数据流的目的三元组“协议号+目的IP地址+目的端口
号”进行HASH运算,得到一个HASH值,

以所述HASH值查找所述地址池HASH表,

取出所述HASH值对应的所述地址池中的表项,

根据取出的所述地址池中的表项取得所述公有“IP地址+端口号”对。

可选地,所述根据取出的所述地址池中的表项取得所述公有“IP地址+端
口号”对的步骤包括步骤:

根据所述取出的所述地址池中的表项取得所述表项对应的计数器的值,

由所述计数器的值高16位取得所述内部网络用户数据流的目的三元组
“协议号+目的IP地址+目的端口号”对应的公有端口号,

由所述计数器的值减去高16位后剩余的低位取得所述内部网络用户数据
流的目的三元组“协议号+目的IP地址+目的端口号”对应的公有IP地址。

可选地,所述由所述计数器的值减去高16位后剩余的低位取得所述内部
网络用户数据流的目的三元组“协议号+目的IP地址+目的端口号”对应的公
有IP地址的步骤包括步骤:

建立一个公有IP地址索引表,所述公有IP地址索引表的内容表示公有IP地
址,

取得所述计数器的值减去高16位后剩余的值,

以所述剩余的值作为索引值,查找所述公有IP地址索引表,

取出所述公有IP地址索引表中对应所述索引值的公有IP地址。

可选地,所述根据所述内部网络用户数据流的五元组“源IP地址+源端口
号+协议号+目的IP地址+目的端口号”及所述公有“IP地址+端口号”对,分
别建立正向网络地址转换关系表和反向网络地址转换关系表的步骤包括步
骤:

对数据流五元组“源IP地址+源端口号+协议号+目的IP地址+目的端口
号”及所述公有“IP地址+端口号”对进行HASH运算,分别生成正向网络地
址转换表项和反向网络地址转换表项;

将生成的所述正向网络地址转换表项插入所述正向网络地址转换关系表
中;

如果所述正向网络地址转换关系表中已有一个同样的表项,则对所述内
部网络用户重新分配公有地址;

将生成的所述反向网络地址转换表项插入所述反向网络地址转换关系表
中。

由于在网络地址转换中采用了上述网络地址资源利用方法,使得地址池
资源可以动态重复使用,提高了地址资源的利用率,这样,对只申请到少量
IP地址但却经常同时有多个用户上外部网络的情况,这种转换极为有用。

附图说明

图1描述了现有技术中采用地址关联方式的网络地址资源利用示意图;

图2描述了现有技术中采用位图关联方式的网络地址资源利用示意图;

图3描述了本发明的优选实施例网络地址资源的利用方法的步骤的流程
图;

图4描述了本发明的优选实施例网络地址资源的利用方法中一个64K的地
址池HASH表的内容和结构图;

图5描述了本发明的优选实施例网络地址资源的利用方法中一个128K的
地址池HASH表的内容和结构图;

图6描述了本发明的优选实施例网络地址资源的利用方法中一种优选地址
池HASH表的内容和结构。

具体实施方式

在结合附图和实施方式对本发明作进一步的详细说明之前,首先对地址
池的公有地址资源可以动态复用的原理作一详细说明:

NAT技术通过地址复用来提高对已注册地址的有效利用率。NAT技术中
具体的IP地址复用方法是:在内部网中使用私有的虚拟地址,即由Internet地
址分配委员会(IANA)所保留的几段私有网络IP地址。由于这部分地址的路由
信息被禁止出现在Internet骨干网络中,所以如果在Internet中使用这些地址是
不会被任何路由器正确转发的,因而也就不会因大家都使用这些地址而相互
之间发生冲突。在边界路由器中设置一定的地址转换关系表并维持一个注册
的真实IP地址池(IP Pool),通过路由器中的转换功能将内部的虚拟地址映射为
相应的注册地址,使得内部主机可以与外部主机间透明地进行通信。

NAT技术的一般形式为:NAT网关依据一定的规则,对所有进出的数据
包进行源与目的地址识别,并将由内向外的数据包中源地址替换成一个真实
地址(注册过的合法地址),而将由外向内的数据包中的目的地址替换成相应的
虚地址(内部用的非注册地址)。从网关的出入方向看,NAT有正向转换(也称
为入向转换,inbound)、反向转换(也称为出向转换,outbound)和双向转换(bi-
directional)3种形式。从转换对应关系的角度来看,NAT还可分为静态转换和
动态转换。所谓静态转换就是在网关上预先设置好虚拟地址与实际地址的一
一对应关系,在工作时不作实时更改;而动态转换则无需预先设置,直接由
网关在运行时根据网络连接和地址空间的使用情况自行决定地址对应关系。

在网络地址转换中,地址转换关系表至少记录有分配的地址、端口信
息,还可以进一步记录会话流的状态、动作、时间戳状态信息,此时地址转
换关系表又可称为流状态表。

以TCP/UDP协议为例,对于TCP/UDP协议的会话,其中TCP
(Transmission Control Protocol)为传输控制协议,UDP(User Datagram
Protocol)为用户数据报协议,TCP和UDP是TCP/IP(Transmission Control
Protocol/Internet Protocol)协议中的两个传输层协议,它们使用IP路由功能把数
据包发送到目的地,从而为应用程序及应用层协议提供网络服务。这两种协
议都可以根据用户数据流的五元信息组“协议号+IP源地址+TCP/UDP源端口
号+IP目的地址+TCP/UDP目的端口号”来进行唯一性的标识;

进行正向地址转换时,由于不同用户的IP地址和端口号必然不相同,因
此,仅由用户数据流的二元信息组“源IP地址+TCP/UDP源端口号”就可唯一
标识一个数据流;而进行反向地址还原时,使用用户数据流的五元信息组
“协议号+IP源地址+TCP/UDP源端口号+IP目的地址+TCP/UDP目的端口号”
来唯一标识一个数据流。所以,当用户访问的目的三元组“协议号+IP目的地
址+TCP/UDP目的端口号”不同时,即使从地址池中分配相同的公有地址资源
(“IP地址+TCP/UDP端口号”对),也不会带来冲突;另一方面,如果用户
访问的目的三元组“协议号+IP目的地址+TCP/UDP目的端口号”相同,则需
要分配不同的公有地址池资源(“IP地址+TCP/UDP端口号”对)来区分不同
的数据流。由此可见,对于每一个目的三元组,地址池的公有地址资源可以
重复利用。以用户数据流的目标五元组“IP地址+TCP/UDP端口号+目的三元
组”为关键字(KEY)查找地址转换关系表,就可以确定唯一的转换表项,
达到地址池资源公有地址复用的目的。

对于其它协议,地址池的公有地址资源也可以重复利用:

例如:对于ICMP协议的会话,其中ICMP(Internet Control Message
Protocol)为网际控制报文协议,ICMP查询会话可以由源IP地址、目的IP地址
和ICMP查询号来标识,因此可以用“目的IP地址+协议号+ICMP类型”来标
志不同的目的,以用户数据流的目标三元组“目的IP地址+协议号+ICMP类
型”为关键字(KEY)查找地址转换关系表,就可以确定唯一的转换表项,
达到地址池资源公有地址复用的目的;

对于其它的协议,至少也可以用数据流的二元组“目的IP地址+协议类
型”来来标志不同的目的,并据此复用地址池公有地址资源。

下面结合附图和实施方式对本发明作进一步的详细说明:

参照图3,图3描述了本发明的优选实施例网络地址资源的利用方法的步
骤的流程:

首先在步骤31建立一个地址池HASH表,所述地址池表示一组连续的公有
地址,所述地址池HASH表的内容对应公有地址资源,所述地址池HASH表的
大小为64K的2N(N=0,1,2…)倍。其中,N的取值直接决定了地址的复用率,N
取得越大,目标空间就划分得越细,从而地址池可重复利用的次数也就越
多。比如N=16时,地址池HASH表的大小为64K,也就是每个地址池资源最多
可能复用64k次,而N=0时,就退化为了传统的没有复用的地址资源分配方
式,即一个地址池资源只能同时被一个连接使用。同时,注意到N取得越大
时,消耗的内存也越多。因此N的取值要在复用率和地址空间消耗这两个因素
中权衡。下文将参照图4和图5对所述地址池HASH表的具体内容和结构进行详
细描述。

再参照图3,建立地址池HASH表后,进到步骤32,取内部网络用户数据
流的目的三元组“协议号+目的IP地址+目的端口号”进行HASH运算,得到一
个HASH值,对应64K的地址池HASH表得到的HASH值为16位(即地址池
HASH表的大小为216=64K),对应128K的地址池HASH表得到的HASH值为17
位(即地址池HASH表的大小为217=128K),依此类推;

得到HASH值后,进到步骤33,以得到的HASH值查找上述地址池HASH
表;

然后,进到步骤34,取出地址池HASH表中的对应表项;

取出地址池HASH表中的对应表项后,进到步骤35,根据取出的地址池
HASH表中的对应表项取得对应内部网络用户数据流的目的三元组“协议号+
目的IP地址+目的端口号”的公有“IP地址+端口号”对;

然后,进到步骤36,对目标五元组“源IP地址+源端口号+协议号+目的
IP地址+目的端口号”及公有“IP地址+端口号”进行HASH运算,分别生成
正向网络地址转换表项和反向网络地址转换表项;

然后,进到步骤37,判断正向网络地址转换表中是否已有与上述生成的
正向网络地址转换表项相同的表项,

如果有相同的表项,则返回步骤34,对所述内部网络用户重新分配

公有地址,

如果没有相同的表项,则进到步骤38,将生成的正向网络地址转换

表项插入到正向网络地址转换关系表中;

然后,进到步骤39,将生成的反向网络地址转换表项插入到反向网络地
址转换关系表中。

按照图3所示的本发明的优选实施例网络地址资源的利用方法的步骤的流
程,如有连接删除时,直接删除NAT转换关系表中的对应的转换表项,对地
址池没有操作。

对于图3描述的本发明的优选实施例网络地址资源的利用方法的步骤的流
程,不仅适用于TCP/UDP连接,对基于其它协议的连接同样适用,只要使用
相应的地址转换关系表的查找KEY。

参照图4,图4描述了本发明的优选实施例网络地址资源的利用方法中一
个64K的地址池HASH表的内容和结构:

地址池HASH表由64K个表项组成,每个表项的内容Counter1,
Counter2,...,Counter64K分别是一个计数器,这些计数器的位数相同,并且
由地址池HASH表对应IP地址个数的不同而不同:

设定地址池HASH表对应2N(N=0,1,...)个IP地址,则地址池HASH表中
每个表项代表的计数器的位数为16+N(N=0,1,...),

例如:如果地址池HASH表对应1个IP地址,则N=0,地址池HASH表中每
个表项代表一个16位的计数器;如果地址池HASH表对应2个IP地址,则
N=1,地址池HASH表中每个表项代表一个17位的计数器。

其中,每个计数器对应了公有地址资源的逻辑分配指针。

在本发明中,需要建立一个公有IP地址索引表,该公有IP地址索引表的每
一项对应一个索引号和一个公有IP地址。下面介绍如何通过地址池HASH表中
每个表项所代表的计数器及所述公有IP地址索引表查找公有“IP地址+端口
号”对。

计数器的高16位代表了要转换的公有端口号,计数器的低N位表示要转换
的公有IP地址索引表的索引号,前面提到地址池HASH表对应的IP地址个数不
同,则地址池HASH表中每个表项的位数不同。如果地址池HASH表只对应1
个IP地址,则计数器为16位,减去高16位后剩余低位为0位(即N=0),即IP
地址索引号为0,对应公有IP地址索引表中的第1个公有IP地址;如果地址池
HASH表对应2个IP地址,则计数器为17位,减去高16位后剩余低位为1位(即
N=1),分别表示为0和1,即IP地址索引号分别为0和1,0对应公有IP地址索
引表中的第一个公有IP地址,1对应公有IP地址索引表中的第2个公有IP地址,
依此类推。

图5描述了本发明的优选实施例网络地址资源的利用方法中一个128K的地
址池HASH表的内容和结构,此地址池HASH表的内容和结构与图4所示的地
址池HASH表相同,只是此表的容量更大,有128K,也就是说有128K个表
项。

再参照图3本发明的优选实施例网络地址资源的利用方法的步骤的流程
图,其中步骤34取出地址池HASH表中的对应表项的步骤包括步骤:地址池
HASH表采用图4和图5所示的内容和结构时,取出地址池HASH表中的对应表
项后同时刷新上述地址池HASH表中每个表项代表的计数器,具体操作为将该
计数器值加1后回写,即表示指向下一个公有地址资源。如果计数器的值溢
出,则计数器的值复位,从0开始计数。这样,如果一个地址池HASH表对应
多个IP地址时,公有地址的分配是使IP地址域先进行轮转。

在图3所示的本发明的优选实施例中,在有大量内部用户同时通过NAT访
问同一个外部网络地址时,会有一定概率的冲突。

假定多个用户同时对同一目的地址发出5K个连接请求,在地址池仅有一
个IP地址时,该目的地址上可能引起冲突的概率为5K/64K=0.08,也即有8%的
连接建立时,要重新分配一次地址资源。

为了减少地址分配时的冲突概率,可以限定在一个目标HASH空间的地址
池资源分配不得超过一个数值(比如30%),以使NAT始终以较快速度响应
用户的请求,可以采用图6所示的地址池HASH表的内容和结构方式。

参照图6,图6描述了本发明的优选实施例网络地址资源的利用方法中一
种优选地址池HASH表的内容和结构:地址池HASH表由64K个表项组成,每
个表项的内容分别为两个计数器,Counter1、Counter1′,Counter2、
Counter2′,...,Counter64K、Counter64K′。

其中计数器Counter1,Counter2,...,Counter64K和图4所示的本发明的
优选实施例网络地址资源的利用方法中一个64K的地址池HASH表的内容和结
构中所述的计数器Counter1,Counter2,...,Counter64K相同,用于公有地址
资源的分配。

这些计数器的位数相同,并且由地址池HASH表对应IP地址个数的不同而
不同:

设定地址池HASH表对应2N(N=0,1,...)个IP地址,则地址池HASH表中
每个表项代表的计数器的位数为16+N(N=0,1,...),

例如:如果地址池HASH表对应1个IP地址,则N=0,地址池HASH表中每
个表项代表一个16位的计数器;如果地址池HASH表对应2个IP地址,则
N=1,地址池HASH表中每个表项代表一个17位的计数器。

其中,每个计数器对应了公有地址资源的逻辑分配指针。

计数器的高16位代表了要转换的公有端口号,计数器的低N位表示要转换
的公有IP地址索引表的索引号,前面提到地址池HASH表对应的IP地址个数不
同,则地址池HASH表中每个表项的位数不同。如果地址池HASH表只对应1
个IP地址,则计数器为16位,减去高16位后剩余低位为0位(即N=0),即IP
地址索引号为0,对应公有IP地址索引表中的第1个公有IP地址;如果地址池
HASH表对应2个IP地址,则计数器为17位,减去高16位后剩余低位为1位(即
N=1),分别表示为0和1,即IP地址索引号分别为0和1,0对应公有IP地址索
引表中的第一个公有IP地址,1对应公有IP地址索引表中的第2个公有IP地址,
依此类推。

其中计数器Counter1′,Counter2′,...,Counter64K′用于对在同一表
项中计数器对应的地址资源分配计数,其位数取决于允许同时有多少个地址
被分配使用。如果最多允许在一个目标HASH空间的地址池资源同时分配出去
一半地址,则Counter1′比Counter1少1位,其它用于地址资源分配计数的计
数器Counter2′,...,Counter64K′依此类推;如果最多允许在一个目标
HASH空间的地址池资源同时分配出去1/4地址,则Counter1′比Counter1少2
位,其它用于地址资源分配计数的计数器Counter2′,...,Counter64K′依此
类推。

再参照图3本发明的优选实施例网络地址资源的利用方法的步骤的流程
图,其中步骤34取出地址池HASH表中的对应表项的步骤包括步骤:地址池
HASH表采用图6所示的内容和结构时,与前面所述采用图4和图5所示的内容
和结构时有所不同,取出地址池HASH表中的对应表项后同时刷新上述地址池
HASH中每个表项代表的计数器,具体操作为将该表项的两个计数器值都加1
后回写,即表项中第一个计数器(例如:Counter1)指向下一个公有地址资
源,第二个计数器(例如:Counter1′)表示此表项对应的目标HASH空间的
地址池资源又被分配出去一个。

第二个计数器达到最大值时,表示此表项对应的目标HASH空间的地址池
资源不能再用,则本次地址分配失败,不予分配。

当此表项对应的目标HASH空间的地址池资源使用完毕,连接拆除时,则
将表项中第二个计数器(例如:Counter1′)减1后回写,表示此表项对应的
目标HASH空间的地址池资源中有一个被释放,第一个计数器(例如:
Counter1)值不变,表示再有新的用户连接时,如果分配对应此表项对应的目
标HASH空间的地址池资源,则从此表项对应的第一个计数器(例如:
Counter1)当前对应的地址向下分配。

需要说明的是,TCP/UDP的前1024个端口号通常保留,不用于公有地址
分配,上面的描述中为了简化,假定了一个IP地址上的64K个端口均可以分
配。在实际应用中,可以保留TCP/UDP的前1024个端口号,对本发明网络地
址资源利用方法的实施并无影响。

虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许
多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和
变化而不脱离本发明的精神。

一种网络地址资源的利用方法.pdf_第1页
第1页 / 共22页
一种网络地址资源的利用方法.pdf_第2页
第2页 / 共22页
一种网络地址资源的利用方法.pdf_第3页
第3页 / 共22页
点击查看更多>>
资源描述

《一种网络地址资源的利用方法.pdf》由会员分享,可在线阅读,更多相关《一种网络地址资源的利用方法.pdf(22页珍藏版)》请在专利查询网上搜索。

本发明提供了一种网络地址资源的利用方法,该方法包括:建立一个地址池HASH表,地址池HASH表的内容对应公有地址资源;根据内部网络用户数据流的目的三元组“协议号+目的IP地址+目的端口号”从地址池HASH表中取出对应的公有“IP地址+端口号”对;根据内部网络用户数据流的五元组“源IP地址+源端口号+协议号+目的IP地址+目的端口号”及公有“IP地址+端口号”对,分别建立正向网络地址转换关系表和反向。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1