CN100356752C - 一种网络地址资源的利用方法 - Google Patents

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

Info

Publication number
CN100356752C
CN100356752C CNB031488595A CN03148859A CN100356752C CN 100356752 C CN100356752 C CN 100356752C CN B031488595 A CNB031488595 A CN B031488595A CN 03148859 A CN03148859 A CN 03148859A CN 100356752 C CN100356752 C CN 100356752C
Authority
CN
China
Prior art keywords
address
network
owned
publicly
counter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CNB031488595A
Other languages
English (en)
Other versions
CN1567907A (zh
Inventor
熊鹰
肖斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNB031488595A priority Critical patent/CN100356752C/zh
Publication of CN1567907A publication Critical patent/CN1567907A/zh
Application granted granted Critical
Publication of CN100356752C publication Critical patent/CN100356752C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Abstract

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

Description

一种网络地址资源的利用方法
技术领域
本发明涉及网络地址转换中网络地址资源的利用技术,具体涉及一种网络地址资源的利用方法。
背景技术
随着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地址+源端口号+协议号+目的IP地址+目的端口号”及所述公有“IP地址+端口号”对,分别建立正向网络地址转换关系表和反向网络地址转换关系表。
优选地,所述建立一个地址池HASH表的步骤包括:设定所述地址池HASH表的大小为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 DatagramProtocol)为用户数据报协议,TCP和UDP是TCP/IP(Transmission ControlProtocol/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 MessageProtocol)为网际控制报文协议,ICMP查询会话可以由源IP地址、目的IP地址和ICMP查询号来标识,因此可以用“目的IP地址+协议号+ICMP类型”来标志不同的目的,以用户数据流的目标三元组“目的IP地址+协议号+ICMP类型”为关键字(KEY)查找地址转换关系表,就可以确定唯一的转换表项,达到地址池资源公有地址复用的目的;
对于其它的协议,至少也可以用数据流的二元组“目的IP地址+协议类型”来来标志不同的目的,并据此复用地址池公有地址资源。
下面结合附图和实施方式对本发明作进一步的详细说明:
参照图3,图3描述了本发明的优选实施例网络地址资源的利用方法的步骤的流程:
首先在步骤31建立一个地址池HASH表,所述地址池表示一组连续的公有地址,所述地址池HASH表的内容对应公有地址资源,所述地址池HASH表的大小为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个端口号,对本发明网络地址资源利用方法的实施并无影响。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。

Claims (10)

1.一种网络地址资源的利用方法,用于在网络地址转换中进行公有地址分配和转换,该方法包括步骤:
建立一个地址池HASH表,所述地址池表示一组连续的公有地址,所述地址池HASH表的内容对应公有地址资源;
根据内部网络用户数据流的目的三元组“协议号+目的IP地址+目的端口号”从所述地址池HASH表中取出对应的公有“IP地址+端口号”对,对于不同的目的三元组,所述公有“IP地址+端口号”对可以重复利用,对于相同的目的三元组,则分配不同的“IP地址+端口号”对;
根据所述内部网络用户数据流的五元组“源IP地址+源端口号+协议号+目的IP地址+目的端口号”及所述公有“IP地址+端口号”对,分别建立正向网络地址转换关系表和反向网络地址转换关系表。
2.如权利要求1所述的网络地址资源的利用方法,其中,所述建立一个地址池HASH表的步骤包括:设定所述地址池HASH表的大小为2N(N=0,1,2...)项。
3.如权利要求2所述的网络地址资源的利用方法,其中,所述建立一个地址池HASH表的步骤包括:设定所述地址池HASH表对应2N(N=0,1,2...)个IP地址。
4.如权利要求1或2所述的网络地址资源的利用方法,其中,所述建立一个地址池HASH表的步骤包括:设定所述地址池HASH表的每个表项的内容为一个计数器,所述计数器表示所有公有地址资源的分配指针。
5.如权利要求4所述的网络地址资源的利用方法,其中,所述设定所述地址池HASH表的每个表项的内容为一个计数器的步骤包括:设定所述许数器的位数为16+N(N=0,1,2...)。
6.如权利要求1或2所述的网络地址资源的利用方法,其中,所述建立一个地址池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运算,分别生成正向网络地址转换表项和反向网络地址转换表项;
将生成的所述正向网络地址转换表项插入所述正向网络地址转换关系表中;
如果所述反向网络地址转换关系表中已有一个同样的表项,则对所述内部网络用户重新分配公有地址;
将生成的所述反向网络地址转换表项插入所述反向网络地址转换关系表中。
CNB031488595A 2003-06-14 2003-06-14 一种网络地址资源的利用方法 Expired - Lifetime CN100356752C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB031488595A CN100356752C (zh) 2003-06-14 2003-06-14 一种网络地址资源的利用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB031488595A CN100356752C (zh) 2003-06-14 2003-06-14 一种网络地址资源的利用方法

Publications (2)

Publication Number Publication Date
CN1567907A CN1567907A (zh) 2005-01-19
CN100356752C true CN100356752C (zh) 2007-12-19

Family

ID=34472393

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031488595A Expired - Lifetime CN100356752C (zh) 2003-06-14 2003-06-14 一种网络地址资源的利用方法

Country Status (1)

Country Link
CN (1) CN100356752C (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7577151B2 (en) * 2005-04-01 2009-08-18 International Business Machines Corporation Method and apparatus for providing a network connection table
CN100423512C (zh) * 2005-06-17 2008-10-01 杭州华三通信技术有限公司 虚拟专用网的网络地址转换设备资源使用的控制方法
CN100463448C (zh) * 2005-09-02 2009-02-18 中兴通讯股份有限公司 一种网络端口地址转换的实现方法
CN102611765A (zh) * 2005-10-26 2012-07-25 汤姆森许可贸易公司 用于选择组播ip地址的系统和方法
CN100471171C (zh) * 2006-03-10 2009-03-18 四川南山之桥微电子有限公司 硬件建立tcp数据流连接的方法
CN101150505B (zh) * 2007-07-31 2010-06-16 杭州华三通信技术有限公司 通过网络地址转换转发数据流的方法和装置
CN101431440B (zh) * 2008-11-28 2010-10-27 杭州华三通信技术有限公司 一种流量监控方法和设备
CN101610296B (zh) * 2009-07-21 2011-12-28 杭州华三通信技术有限公司 一种网络地址转换出接口均衡方法和装置
CN102932490B (zh) * 2011-08-12 2016-06-08 中国电信股份有限公司 Ip地址转换方法、装置、网络地址转换设备和认证系统
CN103716243B (zh) * 2012-09-28 2017-07-21 华为技术有限公司 报文转发方法和装置
CN104427013B (zh) * 2013-09-10 2018-06-12 中国电信股份有限公司 运营级地址转换设备及其对用户地址映射关系的处理方法
CN107248939B (zh) * 2017-05-26 2020-07-31 中国人民解放军理工大学 基于hash存储器的网络流高速关联方法
CN107749899A (zh) * 2017-10-24 2018-03-02 新华三信息安全技术有限公司 一种报文转发方法、装置及电子设备
CN108011991B (zh) * 2017-11-30 2021-12-07 新华三技术有限公司 数据流转发方法、主控板、接口板、引擎板及分布式防火墙
CN110519173A (zh) * 2019-09-10 2019-11-29 烽火通信科技股份有限公司 一种ip五元组表项的查找方法及查找系统
CN113742285B (zh) * 2021-08-31 2022-09-20 珠海读书郎软件科技有限公司 一种资源管理及同步的方法
CN114363433A (zh) * 2021-12-24 2022-04-15 山石网科通信技术股份有限公司 网络资源的分配方法、装置、存储介质及处理器
CN114785742B (zh) * 2022-06-21 2022-09-16 闪捷信息科技有限公司 访问地址信息加载方法、流量处理方法和电子设备
CN115134334A (zh) * 2022-06-22 2022-09-30 上海弘积信息科技有限公司 一种负载均衡设备nat地址池扩展分配端口的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000000185A (ko) * 1999-09-29 2000-01-15 최명렬 네트워크 주소 변환(nat) 기능을 이용한 주소 절약형인터넷 접속 및 가상 사설망(vpn) 구성 방법
CN1325209A (zh) * 2000-08-25 2001-12-05 深圳市中兴通讯股份有限公司 一种接入服务器ip地址分配的方法
CN1332552A (zh) * 2000-03-03 2002-01-23 尼克斯兰德公司 使用本地ip地址和不可转换端口地址的局域网的网络地址转换网关
US6563824B1 (en) * 1999-04-20 2003-05-13 3Com Corporation Apparatus and methods for determining the correct workstation within a LAN for a LAN modem to route a packet

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6563824B1 (en) * 1999-04-20 2003-05-13 3Com Corporation Apparatus and methods for determining the correct workstation within a LAN for a LAN modem to route a packet
KR20000000185A (ko) * 1999-09-29 2000-01-15 최명렬 네트워크 주소 변환(nat) 기능을 이용한 주소 절약형인터넷 접속 및 가상 사설망(vpn) 구성 방법
CN1332552A (zh) * 2000-03-03 2002-01-23 尼克斯兰德公司 使用本地ip地址和不可转换端口地址的局域网的网络地址转换网关
CN1325209A (zh) * 2000-08-25 2001-12-05 深圳市中兴通讯股份有限公司 一种接入服务器ip地址分配的方法

Also Published As

Publication number Publication date
CN1567907A (zh) 2005-01-19

Similar Documents

Publication Publication Date Title
CN100356752C (zh) 一种网络地址资源的利用方法
CN105635345B (zh) 域名资源记录管理方法和装置
CN107104921B (zh) DDoS攻击防御方法及装置
CN101286936B (zh) 数据报文的处理方法及装置
MX2010006844A (es) Metodo de resolución de direcciones de red a nombres de host en flujos de red para dispositivos de red.
US20130290563A1 (en) Answer augmentation system for authoritative dns servers
CN101873358A (zh) 一种基于域名解析的链路负载均衡方法和设备
CN110572274A (zh) 一种优化边缘计算节点部署和管理的命名数据网络方法
US20120185487A1 (en) Method, device and system for publication and acquisition of content
CN102098355A (zh) 基于云服务的由IPv6方发起通信的IPv4/IPv6翻译方法
CN103139314B (zh) 基于P2P的分布式Web服务发现方法及其系统
CN101110827A (zh) 一种多维地址域名解析的方法和装置以及系统
Zhu et al. Decentralized grid resource discovery based on resource information community
CN111614792B (zh) 透传方法、系统、服务器、电子设备及存储介质
CN112235436A (zh) 网络地址转换规则匹配方法及设备
CN103442096A (zh) 基于移动互联网的nat转换方法及系统
CN101420465A (zh) 在地址转换表中映射源端口的方法及网络地址转换设备
CN103051544A (zh) 实现IPv4私网接入IPv6网络的方法及接入设备
CN112929461B (zh) 一种基于高速互连网络的mpi进程管理接口实现方法
KR20110070447A (ko) 데이터 분배 서비스에서 통신 참여자의 분산 발견 방법
CN104506668A (zh) 一种独享云主机的路由配置方法及装置
CN109120737A (zh) 一种基于泊松模型的递增型对称nat的udp穿透方法与系统
KR20150113375A (ko) 데이터 분산 서비스를 위한 컴퓨팅 장치 및 그것의 동작 방법
CN109495525B (zh) 网络组件、解析内容标识的方法和计算机可读存储介质
CN107360272B (zh) 基于IPv6协议的流量入口的调度方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term

Granted publication date: 20071219

CX01 Expiry of patent term