CN103873605B - 使用IPv4私有地址的无状态翻译方法 - Google Patents
使用IPv4私有地址的无状态翻译方法 Download PDFInfo
- Publication number
- CN103873605B CN103873605B CN201410116913.XA CN201410116913A CN103873605B CN 103873605 B CN103873605 B CN 103873605B CN 201410116913 A CN201410116913 A CN 201410116913A CN 103873605 B CN103873605 B CN 103873605B
- Authority
- CN
- China
- Prior art keywords
- ipv4
- address
- port
- publicly
- owned
- 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.)
- Active
Links
Abstract
本发明公开了一种使用IPv4私有地址的无状态翻译算法,属于计算机网络技术领域,该方法通过在完成一个公有IPv4地址到多个IPv4私有地址翻译的设备中,采用把IPv4公有地址的子网标识N位比特和传输层端口标识M位比特组合的方法,嵌入私有IPv4地址中的右起N+M位,构成了公有IPv4地址到端口复用私有IPv4地址的唯一映射。在地址翻译设备上实施这种方法,就能有效地解决在共享公有IPv4地址时的用户身份认证和溯源问题,保证网络的可扩展性、安全性和可管理性,同时可以有效地使用IPv4私有地址,并与现有的地址分配和管理设备和软件完全兼容。
Description
技术领域
本发明涉及计算机网络通信技术领域,具体涉及一种使用IPv4私有地址的无状态翻译方法。
背景技术
互联网已经成为全世界最重要的信息基础设施,但目前互联网广泛使用的第四版网络协议IPv4的地址寻址范围只有232,即43亿地址,目前已经分配完毕。
解决上述问题目前基本上有两种方法,即采用下一代互联网协议标准IPv6和采用地址翻译端口映射技术NAPT,由于IPv6是与IPv4不兼容的协议,全世界IPv6网络的部署进展缓慢。
目前工业界大量使用的是地址翻译端口映射技术NAPT,其基本原理是基于互联网通信的五元组概念,即“协议、源地址、源端口、目的地址、目的端口”唯一地确定一个通信的进程。端口的寻址范围为216,即65,536个。因此,如果每个计算机的通信进程只有1个,则从理论上讲1个IPv4地址通过地址翻译端口映射可以同时支持6万个以上的计算机通信。在NAPT中,这个映射关系由翻译设备维护。
因此,NAPT可以解决近期的IPv4地址短缺的问题,但是在NAPT中公有IPv4地址和私有IPv4地址的绑定关系是动态的,同一个公有IPv4地址在不同时刻可能分配给不同的用户使用,带来了身份认证及溯源的极大困难。根据各国不同的法律,运营商需要保存长期的动态绑定日志。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何共享公有IPv4地址时的用户身份认证和溯源问题。
(二)技术方案
为了解决上述技术问题,本发明提供了一种使用IPv4私有地址的无状态翻译方法,在完成一个公有IPv4地址到多个IPv4私有地址翻译的设备中,采用把IPv4公有地址的子网N位比特和传输层端口标识M位比特组合的方法,嵌入私有IPv4地址中的右起N+M位,构成了公有IPv4地址到端口复用私有IPv4地址的唯一映射,所述方法包括以下步骤:
S1、无状态IPv4翻译器接收所述IPv4客户端或服务器端发送的第一类IPv4分组;
S2、无状态IPv4翻译器检查接收到的第一类IPv4分组是否为内网到外网的分组或外网到内网的分组,若为内网到外网的分组,执行步骤S3,若为外网到内网的分组,则执行步骤S4;
S3、通过无状态IPv4翻译器对第一类IPv4分组更改源地址和源端口,目标地址和目标端口保持不变,得到第二类IPv4分组,执行步骤S5;
S4、通过无状态IPv4翻译器对第一类IPv4分组更改目标地址和目标端口,源地址和源端口保持不变,得到第二类IPv4分组,执行步骤S5;
S5、无状态IPv4翻译器发送第二类IPv4分组并返回步骤S1。
优选的,步骤S1所发送的第一类IPv4分组包括IPv4客户端和服务器端的地址和端口。
优选的,步骤S1之前还包括初始化过程,具体包括:
S01、IPv4客户端或服务器端确定即将发送的第一类IPv4分组;
S02、通过第一类IPv4分组确定IPv4公有地址的子网标识N位比特和复用比R确定端口标识M位比特,进而确定私有地址的填充比特;
S03、根据第一类IPv4分组的端口标识通过余数表示方法确定该客户端能够使用的端口范围。
优选的,所述余数表示方法通过公式确定,其公式为:X=P%R
其中,X代表端口标识PSID,P为X客户端能够使用的端口号,%为模运算符,R代表复用比(R=2M)。
优选的,步骤S4更改源地址和源端口具体包括:
利用已知的IPv4公有地址,把上述源地址中包含的的公有地址的子网标识N位比特嵌入公有地址中,生成公有源地址;
从公有源地址获取X值,得到符合X的可用端口值P,将原随机端口Q映射到P,记录并维护映射关系表,所述P为新生成的源端口。
优选的,步骤S5更改目标地址和目标端口具体包括:
根据公有地址的子网标识N位比特和端口标识M位比特确定私有地址的填充比特,根据端口标识确定端口范围,生成私有目标地址;
根据所述映射关系表,映射目标端口P到原来的随机端口Q,生成新的目标端口;
优选的,选取任意IPv4前缀,只要IPv4前缀的长度小于32-(N+M),则(N+M)位比特就能够嵌入该IPv4前缀中。
优选的,该方法适用于任意类型的IPv4私有地址范围。
(三)有益效果
本发明的上述技术方案具有如下优点:本发明通过在完成一个公有IPv4地址到多个IPv4私有地址翻译的设备中,采用把IPv4公有地址的子网标识N位比特和传输层端口标识M位比特组合的方法,嵌入私有IPv4地址中的右起N+M位,构成了公有IPv4地址到端口复用私有IPv4地址的唯一映射。在地址翻译设备上实施这种方法,就能有效地解决在共享公有IPv4地址时的用户身份认证和溯源问题,保证网络的可扩展性、安全性和可管理性,同时可以有效地使用IPv4私有地址,并与现有的地址分配和管理设备和软件完全兼容。
附图说明
图1为本发明实施例提供的一种使用IPv4私有地址的无状态翻译方法的方法步骤流程图;
图2为本发明实施例提供的使用IPv4私有地址的无状态翻译方法网络拓扑图;
图3为本发明实施例提供的无状态IPv4翻译器中端口复用的映射规则图;
图4为本发明实施例提供的使用IPv4私有地址的无状态翻译方法的工作流程图。
具体实施方式
下面结合附图,对发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
本发明实施例提供了一种使用IPv4私有地址的无状态翻译方法,步骤流程如图1所示,具体包括以下步骤:
S1、无状态IPv4翻译器接收所述IPv4客户端或服务器端发送的第一类IPv4分组;
S2、无状态IPv4翻译器检查接收到的第一类IPv4分组是否为内网到外网的分组或外网到内网的分组,若为内网到外网的分组,执行步骤S3,若为外网到内网的分组,则执行步骤S4;
S3、通过无状态IPv4翻译器对第一类IPv4分组更改源地址和源端口,目标地址和目标端口保持不变,得到第二类IPv4分组,执行步骤S5;
S4、通过无状态IPv4翻译器对第一类IPv4分组更改目标地址和目标端口,源地址和源端口保持不变,得到第二类IPv4分组,执行步骤S5;
S5、无状态IPv4翻译器发送第二类IPv4分组并返回步骤S1。
优选的,步骤S1所发送的第一类IPv4分组包括IPv4客户端和服务器端的地址和端口。
优选的,步骤S1之前还包括初始化过程,具体包括:
S01、IPv4客户端或服务器端确定即将发送的第一类IPv4分组;
S02、通过第一类IPv4分组确定IPv4公有地址的子网标识N位比特和复用比R确定端口标识M位比特,进而确定私有地址的填充比特;
S03、根据第一类IPv4分组的端口标识通过余数表示方法确定该客户端能够使用的端口范围。
例如为,设IPv4公有地址的前缀长度为32-N,私有地址复用公有IPv4地址的复用比为R=2M,则可用的私有地址为2(N+M)个,只要(N+M)小于24,这个长度(N+M)个比特就可以完全从右侧嵌入到10.0.0.0/8中,10.0.0.0/8私有地址左侧8位和右侧(N+M)位之间的填充比特可以根据需要进行填充,在此情况下,共有2(N+M)个私有地址可用,每个私有地址可用的端口数为65536/2M个。
优选的,所述余数表示方法通过公式确定,其公式为:X=P%R
其中,X代表端口标识PSID,P为X客户端能够使用的端口号,%为模运算符,R代表复用比(R=2M)。
优选的,步骤S4更改源地址和源端口具体包括:
利用已知的IPv4公有地址,把上述源地址中包含的的公有地址的子网标识N位比特嵌入公有地址中,生成公有源地址;
从公有源地址获取X值,得到符合X的可用端口值P,将原随机端口Q映射到P,记录并维护映射关系表,所述P为新生成的源端口。
具体为,根据从10.f.g.h获取的PSID值,映射源端口Q到P,P为该PSID的合法端口,由X=P%R定义,记录并维护映射关系表;
利用已知的公有IPv4地址的网络部分,把上述私有地址中包含的公有地址的子网标识N位嵌入到公有地址中,生成公有源地址a.b.c.d和源端口P;
目标地址和目标端口不变。
优选的,步骤S5更改目标地址和目标端口具体包括:
根据公有地址的子网标识N位比特和端口标识M位比特确定私有地址的填充比特,根据端口标识确定端口范围,生成私有目标地址;
根据所述映射关系表,映射目标端口P到原随机端口Q,生成新的目标端口;
具体为,目标地址为公有地址a.b.c.d,目标端口为P,根据映射关系表,映射目标端口P到Q;
根据IPv4公有地址子网标识N位,X=P%R以及填充比特,生成目标地址10.f.g.h和目标端口Q;
源地址和源端口不变。
优选的,选取任意IPv4前缀,只要IPv4前缀的长度小于32-(N+M),则(N+M)位比特就能够嵌入该IPv4前缀中。
优选的,该方法适用于任意类型的IPv4私有地址范围。
如图2所示一种使用IPv4私有地址的无状态翻译方法网络拓扑图,该方法通过外网共享的某个IPv4分组和内网中的多个IPv4分组,以及在所述外网共享的某个IPv4分组和所述内网中的多个IPv4分组之间串接的无状态的IPv4翻译器实现,将外网中被共享的每个IPv4分组与内网中通过无状态IPv4翻译器翻译后的每个IPv4分组之间建立唯一映射关系。
如图3所示一种无状态IPv4翻译器中端口复用的映射规则图,现举例说明按照以上方法,通过此映射规则,在地址翻译设备中构造端口复用IPv4私有地址10.0.0.0/8格式的标识方法。
根据公式X=P%R,如R=256,则序号PSID为3的计算机所能够使用的端口范围为n×256+3,即3,256+3,512+3,768+3,1024+3……,其中n的取值范围为0-255(65536/256=256)。
如将被复用的公有IPv4的子网为166.111.3.4/30,复用比为8,则N=2,M=3,(N+M)=5,任意填充比特位数为24-5=19,设为全0,对于公有地址166.111.3.5,序号为3的计算机(从0开始计算)的私有地址为10.0.0.11,即这台计算机与其他7台计算机共享166.111.3.5,如下表1所示:
公有IPv4地址 | 端口标识PSID | 私有地址 |
166.111.3.4 | 0 | 10.0.0.0 |
1 | 10.0.0.1 | |
2 | 10.0.0.2 | |
3 | 10.0.0.3 | |
4 | 10.0.0.4 | |
5 | 10.0.0.5 | |
6 | 10.0.0.6 | |
7 | 10.0.0.7 | |
166.111.3.5 | 0 | 10.0.0.8 |
1 | 10.0.0.9 | |
2 | 10.0.0.10 | |
3 | 10.0.0.11 | |
4 | 10.0.0.12 | |
5 | 10.0.0.13 | |
6 | 10.0.0.14 | |
7 | 10.0.0.15 | |
166.111.3.6 | 0 | 10.0.0.16 |
1 | 10.0.0.17 | |
2 | 10.0.0.18 | |
3 | 10.0.0.19 | |
4 | 10.0.0.20 | |
5 | 10.0.0.21 | |
6 | 10.0.0.22 | |
7 | 10.0.0.23 | |
166.111.3.7 | 0 | 10.0.0.24 |
1 | 10.0.0.25 | |
2 | 10.0.0.26 | |
3 | 10.0.0.27 | |
4 | 10.0.0.28 | |
5 | 10.0.0.29 | |
6 | 10.0.0.30 | |
7 | 10.0.0.31 |
表1
由于(N+M)=5,所以也可以使用最常用的私有地址范围192.168.1.0/24,上述表格可改为如表2所示:
公有IPv4地址 | 端口标识PSID | 私有地址 |
166.111.3.4 | 0 | 192.168.1.0 |
1 | 192.168.1.1 | |
2 | 192.168.1.2 | |
3 | 192.168.1.3 | |
4 | 192.168.1.4 | |
5 | 192.168.1.5 | |
6 | 192.168.1.6 | |
7 | 192.168.1.7 |
166.111.3.5 | 0 | 192.168.1.8 |
1 | 192.168.1.9 | |
2 | 192.168.1.10 | |
3 | 192.168.1.11 | |
4 | 192.168.1.12 | |
5 | 192.168.1.13 | |
6 | 192.168.1.14 | |
7 | 192.168.1.15 | |
166.111.3.6 | 0 | 192.168.1.16 |
1 | 192.168.1.17 | |
2 | 192.168.1.18 | |
3 | 192.168.1.19 | |
4 | 192.168.1.20 | |
5 | 192.168.1.21 | |
6 | 192.168.1.22 | |
7 | 192.168.1.23 | |
166.111.3.7 | 0 | 192.168.1.24 |
1 | 192.168.1.25 | |
2 | 192.168.1.26 | |
3 | 192.168.1.27 | |
4 | 192.168.1.28 | |
5 | 192.168.1.29 | |
6 | 192.168.1.30 | |
7 | 192.168.1.31 |
表2
以上使用IPv4私有地址的无状态翻译方法的工作流程图如图4所示。
由于建立了公有IPv4地址到私有IPv4地址的唯一的映射关系,在地址翻译设备上实施这种方法,大大减小了设备中维护这类数据的日志,有效地解决了共享公有IPv4地址时的用户身份认证和朔源问题;减少了运行管理的压力。特别是对于大规模网络运营商来说,将极大减少运维成本,保证网络的可扩展性、安全性和可管理性。
以上所述仅是本发明优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (6)
1.一种使用IPv4私有地址的无状态翻译方法,其特征在于,所述方法包括以下步骤:
S1、无状态IPv4翻译器接收IPv4客户端或服务器端发送的第一类IPv4分组;
S2、无状态IPv4翻译器检查接收到的第一类IPv4分组是否为内网到外网的分组或外网到内网的分组,若为内网到外网的分组,执行步骤S3,若为外网到内网的分组,则执行步骤S4;
S3、通过无状态IPv4翻译器对第一类IPv4分组更改源地址和源端口,目标地址和目标端口保持不变,得到第二类IPv4分组,执行步骤S5;
S4、通过无状态IPv4翻译器对第一类IPv4分组更改目标地址和目标端口,源地址和源端口保持不变,得到第二类IPv4分组,执行步骤S5;
S5、无状态IPv4翻译器发送第二类IPv4分组并返回步骤S1,
其中,步骤S3更改源地址和源端口具体包括:
利用已知的IPv4公有地址,把上述源地址中包含的公有地址的子网标识N位比特嵌入公有地址中,生成公有源地址;
从公有源地址获取X值,得到符合X的可用端口值P,将原随机端口Q映射到P,记录并维护映射关系表,所述P为新生成的源端口,
其中,步骤S4更改目标地址和目标端口具体包括:
根据公有地址的子网标识N位比特和端口标识M位比特确定私有地址的填充比特,根据端口标识确定端口范围,生成私有目标地址;
根据所述映射关系表,映射目标端口P到原随机端口Q,生成新的目标端口。
2.如权利要求1所述的一种使用IPv4私有地址的无状态翻译方法,其特征在于,步骤S1所发送的第一类IPv4分组包括IPv4客户端和服务器端的地址和端口。
3.如权利要求1所述的一种使用IPv4私有地址的无状态翻译方法,其特征在于,步骤S1之前还包括初始化过程,具体包括:
S01、IPv4客户端或服务器端确定即将发送的第一类IPv4分组;
S02、通过第一类IPv4分组确定IPv4公有地址的子网标识N位比特和复用比R确定端口标识M位比特,进而确定私有地址的填充比特;
S03、根据第一类IPv4分组的端口标识通过余数表示方法确定该客户端能够使用的端口范围。
4.如权利要求3所述的一种使用IPv4私有地址的无状态翻译方法,其特征在于,所述余数表示方法通过公式确定,其公式为:X=P%R其中,X代表端口标识PSID,P为X客户端能够使用的端口号,%为模运算符,R代表复用比,R=2M。
5.如权利要求1所述的一种使用IPv4私有地址的无状态翻译方法,其特征在于,选取任意IPv4前缀,只要IPv4前缀的长度小于32-(N+M),则N+M位比特就能够嵌入该IPv4前缀中,
其中,N表示公有地址的子网标识N位比特,M表示端口标识M位比特。
6.如权利要求1所述的一种使用IPv4私有地址的无状态翻译方法,其特征在于,该方法适用于任意类型的IPv4私有地址范围。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410116913.XA CN103873605B (zh) | 2014-03-26 | 2014-03-26 | 使用IPv4私有地址的无状态翻译方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410116913.XA CN103873605B (zh) | 2014-03-26 | 2014-03-26 | 使用IPv4私有地址的无状态翻译方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103873605A CN103873605A (zh) | 2014-06-18 |
CN103873605B true CN103873605B (zh) | 2017-03-29 |
Family
ID=50911718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410116913.XA Active CN103873605B (zh) | 2014-03-26 | 2014-03-26 | 使用IPv4私有地址的无状态翻译方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103873605B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227373A (zh) * | 2008-03-21 | 2008-07-23 | 清华大学 | 基于无状态映射的IPv4和IPv6网互通的方法 |
CN101938530A (zh) * | 2010-09-03 | 2011-01-05 | 清华大学 | 地址转换设备中用户身份认证及溯源方法 |
CN102904976A (zh) * | 2012-10-23 | 2013-01-30 | 清华大学 | 基于前缀分配的扩展双重无状态IPv4-IPv6翻译方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9008093B2 (en) * | 2012-03-12 | 2015-04-14 | Comcast Cable Communications, Llc | Stateless protocol translation |
-
2014
- 2014-03-26 CN CN201410116913.XA patent/CN103873605B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227373A (zh) * | 2008-03-21 | 2008-07-23 | 清华大学 | 基于无状态映射的IPv4和IPv6网互通的方法 |
CN101938530A (zh) * | 2010-09-03 | 2011-01-05 | 清华大学 | 地址转换设备中用户身份认证及溯源方法 |
CN102904976A (zh) * | 2012-10-23 | 2013-01-30 | 清华大学 | 基于前缀分配的扩展双重无状态IPv4-IPv6翻译方法 |
Non-Patent Citations (2)
Title |
---|
"基于无状态翻译的IPv4/IPv6过渡技术(ⅠⅤⅠ)";包丛笑 等;《下一代互联网与应用研讨会论文集》;20110401;第45-50页 * |
"统一的IPv4/IPv6翻译与封装过渡技术——IVI/MAP-T/MAP-E";包丛笑 等;《中兴通讯技术》;20130228;第19卷(第2期);第7-11页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103873605A (zh) | 2014-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103856580B (zh) | 一种IPv6客户机访问IPv4服务器的方法 | |
Gont et al. | Network reconnaissance in ipv6 networks | |
US9455909B2 (en) | Application services based on dynamic split tunneling | |
US10110553B2 (en) | Adaptive prefix delegation | |
JP2018518867A5 (zh) | ||
JP2013532438A5 (zh) | ||
CN103200281A (zh) | 内网服务器访问方法、设备和系统 | |
CN104270475A (zh) | 基于NAT64实现IPv4网络与IPv6网络互通的系统及方法 | |
BR112015017876B1 (pt) | Método de partilha de carga e dispositivo de partilha de carga | |
WO2009007570A3 (fr) | Procédés et dispositifs por la communication de données de diagnostic dans un réseau de communication temps réel | |
Berger et al. | Internet nameserver IPv4 and IPv6 address relationships | |
CN101931627B (zh) | 安全检测方法、装置和网络侧设备 | |
CN107071079A (zh) | 一种私网终端获取公网ip的方法及系统 | |
CN104506460B (zh) | 一种实现napt端口资源分配的方法 | |
CN103338275A (zh) | 端口分配方法和装置 | |
CN106484770B (zh) | 一种dns增量区域数据文件的处理方法 | |
JP6104406B2 (ja) | ネットワークのプロトコルアドレスを扱う方法及び処理デバイス | |
CN116982307A (zh) | 用于在群聚基础设施中强制实施功能过滤规则的方法和计算设备 | |
CN104468868B (zh) | 识别IPv6地址接口ID的方法 | |
CN103873605B (zh) | 使用IPv4私有地址的无状态翻译方法 | |
CN103856582A (zh) | 一种IPv4互联网控制IPv6物联网的方法 | |
CN104683491B (zh) | 一种获取虚拟机的因特网协议地址的方法和系统 | |
CN112995353B (zh) | 基于流量分析的IPv6地址存活性扫描系统及扫描方法 | |
US9369429B1 (en) | Associating text strings with numeric numbers for IP address management | |
CA3073411C (en) | Systems and methods for providing dual network address translation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |