使用IPv4私有地址的无状态翻译方法

文档序号:7799954阅读:374来源:国知局
使用IPv4私有地址的无状态翻译方法
【专利摘要】本发明公开了一种使用IPv4私有地址的无状态翻译方法,属于计算机网络【技术领域】,该方法通过在完成一个公有IPv4地址到多个IPv4私有地址翻译的设备中,采用把IPv4公有地址的子网标识N位比特和传输层端口标识M位比特组合的方法,嵌入私有IPv4地址中的右起N+M位,构成了公有IPv4地址到端口复用私有IPv4地址的唯一映射。在地址翻译设备上实施这种方法,就能有效地解决在共享公有IPv4地址时的用户身份认证和溯源问题,保证网络的可扩展性、安全性和可管理性,同时可以有效地使用IPv4私有地址,并与现有的地址分配和管理设备和软件完全兼容。
【专利说明】使用IPv4私有地址的无状态翻译方法
【技术领域】
[0001]本发明涉及计算机网络通信【技术领域】,具体涉及一种使用IPv4私有地址的无状态翻译方法。
【背景技术】
[0002]互联网已经成为全世界最重要的信息基础设施,但目前互联网广泛使用的第四版网络协议IPv4的地址寻址范围只有232,即43亿地址,目前已经分配完毕。
[0003]解决上述问题目前基本上有两种方法,即采用下一代互联网协议标准IPv6和采用地址翻译端口映射技术NAPT,由于IPv6是与IPv4不兼容的协议,全世界IPv6网络的部
署进展缓慢。
[0004]目前工业界大量使用的是地址翻译端口映射技术NAPT,其基本原理是基于互联网通信的五元组概念,即“协议、源地址、源端口、目的地址、目的端口 ”唯一地确定一个通信的进程。端口的寻址范围为216,即65,536个。因此,如果每个计算机的通信进程只有I个,则从理论上讲I个IPv4地址通过地址翻译端口映射可以同时支持6万个以上的计算机通信。在NAPT中,这个映射关系由翻译设备维护。
[0005]因此,NAPT可以解决近期的IPv4地址短缺的问题,但是在NAPT中公有IPv4地址和私有IPv4地址的绑定关系是动态的,同一个公有IPv4地址在不同时刻可能分配给不同的用户使用,带来了身份认证及溯源的极大困难。根据各国不同的法律,运营商需要保存长期的动态绑定日志。

【发明内容】

[0006](一)要解决的技术问题
[0007]本发明要解决的技术问题是:如何共享公有IPv4地址时的用户身份认证和溯源问题。
[0008](二)技术方案
[0009]为了解决上述技术问题,本发明提供了一种使用IPv4私有地址的无状态翻译方法,在完成一个公有IPv4地址到多个IPv4私有地址翻译的设备中,采用把IPv4公有地址的子网N位比特和传输层端口标识M位比特组合的方法,嵌入私有IPv4地址中的右起N+M位,构成了公有IPv4地址到端口复用私有IPv4地址的唯一映射,所述方法包括以下步骤:
[0010]S1、无状态IPv4翻译器接收所述IPv4客户端或服务器端发送的第一类IPv4分组;
[0011]S2、无状态IPv4翻译器检查接收到的第一类IPv4分组是否为内网到外网的分组或外网到内网的分组,若为内网到外网的分组,执行步骤S3,若为外网到内网的分组,则执行步骤S4 ;
[0012]S3、通过无状态IPv4翻译器对第一类IPv4分组更改源地址和源端口,目标地址和目标端口保持不变,得到第二类IPv4分组,执行步骤S5 ;[0013]S4、通过无状态IPv4翻译器对第一类IPv4分组更改目标地址和目标端口,源地址和源端口保持不变,得到第二类IPv4分组,执行步骤S5 ;
[0014]S5、无状态IPv4翻译器发送第二类IPv4分组并返回步骤SI。
[0015]优选的,步骤SI所发送的第一类IPv4分组包括IPv4客户端和服务器端的地址和端口。
[0016]优选的,步骤SI之前还包括初始化过程,具体包括:
[0017]S01、IPv4客户端或服务器端确定即将发送的第一类IPv4分组;
[0018]S02、通过第一类IPv4分组确定IPv4公有地址的子网标识N位比特和复用比R确定端口标识M位比特,进而确定私有地址的填充比特;
[0019]S03、根据第一类IPv4分组的端口标识通过余数表示方法确定该客户端能够使用的端口范围。
[0020]优选的,所述余数表示方法通过公式确定,其公式为:X=P%R
[0021]其中,X代表端口标识PSID,P为X客户端能够使用的端口号,%为模运算符,R代表复用比(R=2M)。
[0022]优选的,步骤S4更改源地址和源端口具体包括:
[0023]利用已知的IPv4公有地址,把上述源地址中包含的的公有地址的子网标识N位比特嵌入公有地址中,生成公有源地址;
[0024]从公有源地址获取X值,得到符合X的可用端口值P,将原随机端口 Q映射到P,记录并维护映射关系表,所述P为新生成的源端口。
[0025]优选的,步骤S5更改目标地址和目标端口具体包括:
[0026]根据公有地址的子网标识N位比特和端口标识M位比特确定私有地址的填充比特,根据端口标识确定端口范围,生成私有目标地址;
[0027]根据所述映射关系表,映射目标端口 P到原来的随机端口 Q,生成新的目标端口 ;
[0028]优选的,选取任意IPv4前缀,只要IPv4前缀的长度小于32- (N+M),则(N+M)位比特就能够嵌入该IPv4前缀中。
[0029]优选的,该方法适用于任意类型的IPv4私有地址范围。
[0030](三)有益效果
[0031]本发明的上述技术方案具有如下优点:本发明通过在完成一个公有IPv4地址到多个IPv4私有地址翻译的设备中,采用把IPv4公有地址的子网标识N位比特和传输层端口标识M位比特组合的方法,嵌入私有IPv4地址中的右起N+M位,构成了公有IPv4地址到端口复用私有IPv4地址的唯一映射。在地址翻译设备上实施这种方法,就能有效地解决在共享公有IPv4地址时的用户身份认证和溯源问题,保证网络的可扩展性、安全性和可管理性,同时可以有效地使用IPv4私有地址,并与现有的地址分配和管理设备和软件完全兼容。
【专利附图】

【附图说明】
[0032]图1为本发明实施例提供的一种使用IPv4私有地址的无状态翻译方法的方法步骤流程图;
[0033]图2为本发明实施例提供的使用IPv4私有地址的无状态翻译方法网络拓扑图;[0034]图3为本发明实施例提供的无状态IPv4翻译器中端口复用的映射规则图;
[0035]图4为本发明实施例提供的使用IPv4私有地址的无状态翻译方法的工作流程图。
【具体实施方式】
[0036]下面结合附图,对发明的【具体实施方式】作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0037]本发明实施例提供了一种使用IPv4私有地址的无状态翻译方法,步骤流程如图1所示,具体包括以下步骤:
[0038]S1、无状态IPv4翻译器接收所述IPv4客户端或服务器端发送的第一类IPv4分组;
[0039]S2、无状态IPv4翻译器检查接收到的第一类IPv4分组是否为内网到外网的分组或外网到内网的分组,若为内网到外网的分组,执行步骤S3,若为外网到内网的分组,则执行步骤S4 ;
[0040]S3、通过无状态IPv4翻译器对第一类IPv4分组更改源地址和源端口,目标地址和目标端口保持不变,得到第二类IPv4分组,执行步骤S5 ;
[0041 ] S4、通过无状态IPv4翻译器对第一类IPv4分组更改目标地址和目标端口,源地址和源端口保持不变,得到第二类IPv4分组,执行步骤S5 ;
[0042]S5、无状态IPv4翻译器发送第二类IPv4分组并返回步骤SI。
[0043]优选的,步骤SI所发送的第一类IPv4分组包括IPv4客户端和服务器端的地址和端口。
[0044]优选的,步骤SI之前还包括初始化过程,具体包括:
[0045]S01、IPv4客户端或服务器端确定即将发送的第一类IPv4分组;
[0046]S02、通过第一类IPv4分组确定IPv4公有地址的子网标识N位比特和复用比R确定端口标识M位比特,进而确定私有地址的填充比特;
[0047]S03、根据第一类IPv4分组的端口标识通过余数表示方法确定该客户端能够使用的端口范围。
[0048]例如为,设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个。
[0049]优选的,所述余数表示方法通过公式确定,其公式为:X=P%R
[0050]其中,X代表端口标识PSID,P为X客户端能够使用的端口号,%为模运算符,R代表复用比(R=2M)。
[0051]优选的,步骤S4更改源地址和源端口具体包括:
[0052]利用已知的IPv4公有地址,把上述源地址中包含的的公有地址的子网标识N位比特嵌入公有地址中,生成公有源地址;
[0053]从公有源地址获取X值,得到符合X的可用端口值P,将原随机端口 Q映射到P,记录并维护映射关系表,所述P为新生成的源端口。[0054]具体为,根据从10.f.g.h获取的PSID值,映射源端口 Q到P,P为该PSID的合法端口,由X=P%R定义,记录并维护映射关系表;
[0055]利用已知的公有IPv4地址的网络部分,把上述私有地址中包含的公有地址的子网标识N位嵌入到公有地址中,生成公有源地址a.b.c.d和源端口 P ;
[0056]目标地址和目标端口不变。
[0057]优选的,步骤S5更改目标地址和目标端口具体包括:
[0058]根据公有地址的子网标识N位比特和端口标识M位比特确定私有地址的填充比特,根据端口标识确定端口范围,生成私有目标地址;
[0059]根据所述映射关系表,映射目标端口 P到原随机端口 Q,生成新的目标端口 ;
[0060]具体为,目标地址为公有地址a.b.c.d,目标端口为P,根据映射关系表,映射目标端口 P到Q ;
[0061 ] 根据IPv4公有地址子网标识N位,X=P%R以及填充比特,生成目标地址10.f.g.h和目标端口Q ;
[0062]源地址和源端口不变。
[0063]优选的,选取任意IPv4前缀,只要IPv4前缀的长度小于32- (N+M),则(N+M)位比特就能够嵌入该IPv4前缀中。
[0064]优选的,该方法适用于任意类型的IPv4私有地址范围。
[0065]如图2所示一种使用IPv4私有地址的无状态翻译方法网络拓扑图,该方法通过外网共享的某个IPv4分组和内网中的多个IPv4分组,以及在所述外网共享的某个IPv4分组和所述内网中的多个IPv4分组之间串接的无状态的IPv4翻译器实现,将外网中被共享的每个IPv4分组与内网中通过无状态IPv4翻译器翻译后的每个IPv4分组之间建立唯一映身寸关系。
[0066]如图3所示一种无状态IPv4翻译器中端口复用的映射规则图,现举例说明按照以上方法,通过此映射规则,在地址翻译设备中构造端口复用IPv4私有地址10.0.0.0/8格式的标识方法。
[0067]根据公式X=P%R,如R=256,则序号PSID为3的计算机所能够使用的端口范
围为 η X 256+3,即 3,256+3,512+3,768+3,1024+3......,其中 η 的取值范围为 0-255
(65536/256=256)ο
[0068]如将被复用的公有IPv4的子网为166.111.3.4/30,复用比为8,则Ν=2, Μ=3,(N+M) =5,任意填充比特位数为24-5=19,设为全0,对于公有地址166.111.3.5,序号为3的计算机(从O开始计算)的私有地址为10.0.0.11,即这台计算机与其他7台计算机共享166.111.3.5,如下表1所示:
[0069]
【权利要求】
1.一种使用IPv4私有地址的无状态翻译方法,其特征在于, 所述方法包括以下步骤: 51、无状态IPv4翻译器接收所述IPv4客户端或服务器端发送的第一类IPv4分组; 52、无状态IPv4翻译器检查接收到的第一类IPv4分组是否为内网到外网的分组或外网到内网的分组,若为内网到外网的分组,执行步骤S3,若为外网到内网的分组,则执行步骤S4 ; 53、通过无状态IPv4翻译器对第一类IPv4分组更改源地址和源端口,目标地址和目标端口保持不变,得到第二类IPv4分组,执行步骤S5 ; 54、通过无状态IPv4翻译器对第一类IPv4分组更改目标地址和目标端口,源地址和源端口保持不变,得到第二类IPv4分组,执行步骤S5 ; 55、无状态IPv4翻译器发送第二类IPv4分组并返回步骤SI。
2.如权利要求1所述的一种使用IPv4私有地址的无状态翻译方法,其特征在于,步骤SI所发送的第一类IPv4分组包括IPv4客户端和服务器端的地址和端口。
3.如权利要求1所述的一种使用IPv4私有地址的无状态翻译方法,其特征在于,步骤SI之前还包括初始化过程,具体包括: 501、IPv4客户端或服务器端确定即将发送的第一类IPv4分组; 502、通过第一类IPv4分组确定IPv4公有地址的子网标识N位比特和复用比R确定端口标识M位比特,进而确定私有地址的填充比特; 503、根据第 一类IPv4分组的端口标识通过余数表示方法确定该客户端能够使用的端口范围。
4.如权利要求3所述的一种使用IPv4私有地址的无状态翻译方法,其特征在于,所述余数表示方法通过公式确定,其公式为:X=P%R 其中,X代表端口标识PSID,P为X客户端能够使用的端口号,%为模运算符,R代表复用比(R=2M)。
5.如权利要求1或4所述的一种使用IPv4私有地址的无状态翻译方法,其特征在于,步骤S4更改源地址和源端口具体包括: 利用已知的IPv4公有地址,把上述源地址中包含的公有地址的子网标识N位比特嵌入公有地址中,生成公有源地址; 从公有源地址获取X值,得到符合X的可用端口值P,将原随机端口 Q映射到P,记录并维护映射关系表,所述P为新生成的源端口。
6.如权利要求1或5所述的一种使用IPv4私有地址的无状态翻译方法,其特征在于,步骤S5更改目标地址和目标端口具体包括: 根据公有地址的子网标识N位比特和端口标识M位比特确定私有地址的填充比特,根据端口标识确定端口范围,生成私有目标地址; 根据所述映射关系表,映射目标端口 P到原随机端口 Q,生成新的目标端口。
7.如权利要求1所述的一种使用IPv4私有地址的无状态翻译方法,其特征在于,选取任意IPv4前缀,只要IPv4前缀的长度小于32- (N+M),则(N+M)位比特就能够嵌入该IPv4前缀中。
8.如权利要求1所述的一种使用IPv4私有地址的无状态翻译方法,其特征在于,该方法适用于任 意类型的IPv4私有地址范围。
【文档编号】H04L29/12GK103873605SQ201410116913
【公开日】2014年6月18日 申请日期:2014年3月26日 优先权日:2014年3月26日
【发明者】包丛笑, 李星 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1