端到端运营商级路由器和家庭网关组合的IPv4/IPv6分组转换方法

文档序号:7929068阅读:173来源:国知局
专利名称:端到端运营商级路由器和家庭网关组合的IPv4/IPv6分组转换方法
技术领域
端到端运营商级路由器和家庭网关组合的IPv4/IPv6分组转换方法属于计算机网络技 术领域。
背景技术
互联网已经成为全世界最重要的信息基础设施,但目前互联网广泛使用的第四版网络 协议IPv4的地址的寻址范围只有232,即43亿地址,根据目前IPv4地址的分配速度,预 计在2011年之后,IPv4地址即将分配完毕。
目前中国网民人口的绝对数已经成为世界第一,但互联网的普及率只有19%,低于 全世界的平均水平(21%),并远低于世界发达国家的水平(70%)。同时,均每个中国 网民仅有0.6个IPv4地址。因此,对于中国来说,IPv4地址是无法满足需求的。这个问 题对于印度等其它亚洲国家和非洲国家来说,都是非常严重的。
为了解决IPv4地址不够用的问题,国际互联网工程组(IETF)设计了第六版网络协 议IPv6,它的地址寻址范围有2128,能够满足需求。但由于种种原因,IPv6协议于IPv4 协议是不兼容的,不能很好的互联互通。当时设计的理念是用"双协议栈"的方法解决互 联互通的问题,但近十年IPv6推广的经验和教训证明,不能访问IPv4众多网络信息资源, 不能与IPv4众多的用户通信的IPv6网络是不可能发展起来的。
地址转换和协议转换是解决IPv4和IPv6互联互通的方法,如IETF标准中定义的 NAT-PT (RFC2766),但NAT-PT是基于状态的转换方法,可扩展性差,已经被IETF归 为历史标准,为期待更好的IPv4/IPv6过渡和共存标准让路。
近期,各研究组织向IETF提交的IPv4/IPv6过渡和共存的标准草案有从IPv6向IPv4 发起访问IPv4/IPv6过渡技术的NAT64和从IPv6向IPv4及从IPv4向IPv6双向发起访问 的无状态(或最小状态)地址前缀IPv4/IPv6过渡技术IVI。无状态的地址转换和协议转 换方法,具有可扩展性,但其IPv4到IPv6之间采用1:1地址映射,不能够有效地利用紧 缺的IPv4地址资源,因此只能用于IPv6的服务器到IPv4服务器或客户机及IPv4服务器 /客户机到IPv6服务器的地址互访。有状态的地址转换和协议转换的方法,可以支持IPv4 到IPv6地址之间1:N的映射,并且可扩展性稍好于NAT-PT,但仅支持IPv6客户机发起 的通信,具有很大的局限性。本发明的基本原理是在无状态地址转换和协议转换的基础上,利用传输层端口可以区 别通信进程的原理,把IPv4地址和传输层端口映射到指定的IPv6聚类地址之中,从而把 IPv4到IPv6之间1:1的无状态映射扩展到1:N映射,可以充分利用紧缺的IPv4地址资源, 具有很好的可扩展性,并能保持双向发起通信的能力。因此可以全面系统地解决IPv4和 IPv6共存和过渡的问题,具有非常大的应用前景。
本发明的基本特征包括1)采用IPv4地址加传输层端口嵌入IPv6地址的第一类编 码格式在运营商的一个IPv6地址的子集与运营商的一个IPv4地址加传输层端口的子集之 间建立唯一的映射关系;2)采用IPv4地址嵌入IPv6地址的第二类编码格式在全球IPv4 地址与运营商的一个IPv6地址的子集之间建立唯一的映射关系;3)采用二级转换方法, 在全球IPv4网络和运营商的IPv6网络边界间采用无状态的第一级转换方法;在运营商的 IPv6网络和采用IPv4/IPv6双栈协议的主机用户边界采用最小状态的第二级转换方法,利 用最小状态的端口冲突避免算法。4)利用域名转换的方法把IPv4域名记录转换为IPv6 域名记录;5)接入IPv6单栈网络的多个IPv4/IPv6计算机用户可以共享同一个IPv4地址 并与全球IPv4网络进行双向发起的端对端的通信,同时可以和全球IPv6网络进行全功能 通信。

发明内容
本发明的目的在于在保持无状态和最小状态的情况下,采用二级转换方法实现端到端 IPv4/IPv6分组包转换方法,在全球IPv4网络和运营商的IPv6网络边界间采用基于无状 态的第一级转换方法的运营商级转换路由器,在运营商的IPv6网络和采用IPv4/IPv6双栈 协议的主机用户之间采用基于最小状态的第二级转换方法的家庭网关,使接入IPv6单栈 网络的多个IPv4/IPv6双栈协议用户可以共享同一个IPv4地址并与全球IPv4网络进行双 向发起的端对端的通信,同时可以和全球IPv6网络进行全功能通信。本发明中分别连入 IPv4、 IPv6网络的主机端到端通信结构图如

图1所示。
端到端运营商级路由器和家庭网关组合的IPv4/IPv6分组转换方法,其特征在于,所 述方法是在互联网中依次按以下步骤实现的 步骤(1)初始化
步骤(1.1)把IPv4地址分为以下两类
第一类,运营商准备给IPv6主机使用的IPv4地址块,
第二类,全球的IPv4地址,其中含所述运营商自己的,且不属于所述IPv6主机的 IPv4地址块,
6步骤(1.2)定义以下两类编码格式 所述第一类地址采用把IPv4地址加传输层端口嵌入所述IPv6地址的编码格式,称为 第一类编码格式;在基于运营商32位聚类前缀的IPv6地址格式中的第32+n位嵌入32 位IPv4地址,n小于32,构成IVI前缀,同时在第96位至111位嵌入地址复用比M, 在第112位至128位嵌入端口位移值么其中A ( 0 2 AS M -1 )如在64+n到95位之间 有空余位则填充全0; —个IPv4地址可以通过区分传输层端口,同时供M个IPv6主机 使用,
所述第一类地址采用把IPv4地址直接嵌入所述IPv6地址的编码格式,称为第二类编 码格式;在所述运营商基于32位聚类前缀的IPv6地址格式中的第32+n位嵌入32位IPv4 地址,n小于32,构成IVI前缀,同时在64+n至U 128位之间空余位填充全0;全球任意 一台可寻址的IPv4主机都可以有一个IPv6地址与之对应
所述由以上IVI前缀构成的两类IVI地址使得所述IPv4地址和IPv6地址的子集之间 具有唯一的、双向的映射关系,形成IVI地址转换规则;
步骤(1.3)定义下述传输层端口映射算法PCA,以使当采用第一种编码格式的IPv6 主机发起通信时把随机产生的传输层源端口映射到由所述第一类编码格式所描述的端口 范围;
先排除0-1024端口和其它众所周知的端口 ,再为所述采用第一类编码格式的IPv6主 机列出所允许的端口映射表,根据请求顺序,把随机产生的传输层源端口映射到此映射表, 在设定的时间段内监测后续的此类分组,以使当不再有后续分组到达时,释放所述端口映 射表的对应表项,以备后用;
步骤(2):园区网内的IPv6/IPv4计算机通过常规域名服务器査询域名,根据査询结果决 定发送IPv6分组或IPv4分组;
步骤(3):园区网内的IPv6/IPv4计算机发送分组; 步骤(4):家庭网关接收IPv4/IPv6分组;
步骤(4.1):判断分组版本,如为IPv4,执行步骤(4.2),如为IPv6,执行步骤(4.6); 步骤(4.2):目标地址按第二类编码格式转换为IPv6地址,目标端口不变, 步骤(4.3):源地址按第一类编码格式转换为IPv6地址,源端口作PCA映射, 步骤(4.4):按RFC2766执行除地址转换之外的其它处理程序; 步骤(4.5):发送IPv6分组;
步骤(5):无状态的运营商级的IPv4/IPv6转换路由器接收IPv6分组;步骤(5.1):目标地址按第二类编码格式转换为IPv4地址,目标端口不变, 步骤(5.2):源地址按第一类编码格式转换为IPv4地址,源端口不变, 步骤(5.3):按RFC2766执行除地址转换之外的其它处理程序; 步骤(5.4):发送IPv4分组;
步骤(6):全球互联网上的目标IPv4计算机接收分组;
步骤(7):全球互联网上的该IPv4计算机对本发明所支持的IPv6/IPv4计算机发送分组;
步骤(8):无状态的运营商级的IPv4/IPv6转换路由器接收IPv4分组,
步骤(8.1):目标地址按第一类编码格式转换为IPv6地址,目标端口不变,
步骤(8.2):源地址按第二类编码格式转换为IPv6地址,源端口不变,
步骤(8.3):按RFC2766执行除地址转换之外的其它处理程序;
步骤(8.4):发送IPv6分组至IPv6单栈网络;
步骤(9):家庭网关接收IPv6分组;
步骤(9.1):判断源地址是否为IVI地址,如是,执行步骤(9.2),如不是,执行步骤(9.6); 步骤(9.2):目标地址按第一类编码格式转换为IPv4地址,目标端口作PCA映射, 步骤(9.3):源地址按第二类编码格式转换为IPv4地址,源端口不变, 步骤(9.4):按RFC2766执行除地址转换之外的其它处理程序;
步骤(9.5):发送IPv4分组;执行步骤(5); 步骤(9.6):发送IPv6分组,执行步骤(5); 步骤(10): IPv6/IPv4计算机接收分组; 步骤(11):返回步骤(2);
由全球互联网上任意的IPv4计算机发起的与由IPv6网络中使用由IVI前缀构成的IVI 地址的IPv6计算机通信的步骤也可以仿上述步骤描述,由步骤(7)开始执行。
对于由多个不同的IVI前缀构成的IPv6 IVI地址的主机与全球IPv4网络进行双向发 起的端对端的通信及和全球IPv6网络进行全功能通信,能使用以上描述的步骤。
家庭网关的功能也可以在用户计算机上实现。
实验测试结果表明本发明所描述的方法可以高效率地利用IPv4地址资源,并可以保 持第一级IPv4/IPv6分组转换器的无状态性,全面地解决IPv4主机和IPv6主机端到端双 向互通的问题,为IPv4/IPv6网络的共存和过渡提供了简单、高效的解决方案。图1 分别连入IPv4、 IPv6网络的主机端到端通信结构图。
图2编码格式,(a) IPv4地址加传输层端口嵌入IPv6地址的第一类编码格式;(b) IPv4
地址嵌入IPv6地址的第二类编码格式。 图3 无状态的运营商级的IPv4/IPv6转换路由器地址和传输层端口映射实例(M=4)。 图4 本发明方法工作流程框图。
具体实施例方式
本发明所述方法的关键技术包括IPv4地址加传输层端口嵌入IPv6地址的第一类编 码格式和IPv4地址嵌入IPv6地址的第二类编码格式;在IPv4地址和IPv6地址的子集之 间建立具有唯一的、双向的映射关系(IVI地址转换规则); 一种传输层端口映射算法 (PCA),根据IPv6地址自动选择通信所使用的传输层源端口; 一种域名转换方法;采用 二级转换器的IPv4/IPv6分组转换方法。 (1) IPv4地址加传输层端口嵌入IPv6地址的第一类编码格式和IPv4地址嵌入IPv6地 址的第二类编码格式
为了达到无状态、端对端的IPv4/IPv6分组转换,必须在IPv4地址和IPv6地址之间 建立唯一的映射关系,同时这种映射关系必须由地址本身自我描述。这个问题的第一个难 点是由于IPv6地址空间比IPv4地址空间大很多,对任意的IPv6地址与IPv4地址之间建 立唯一的映射关系是不可能的。本发明巧妙地选择一个IPv6的子集,与IPv4地址之间建 立唯一的映射关系。这个问题的第二个难点是要保证产生的IPv6地址是可以全球可达的。 本发明采用了IVI前缀的方法,即运营商前缀加若干位之后嵌入IPv4地址,综合考虑了 地址的聚类性,IPv6地址的利用率等需求。这个问题的第三个难点是要高效的利用紧缺 的IPv4地址资源。本发明,根据网络实际的使用情况,在任意时刻,并发的通信进程数 一般远远小于并发进程数的理论最大值65536,因此利用IPv4地址和端口的组合与IPv6 地址相对应,大大提高了 IPv4地址的利用率。如最大允许的并发端口数为256,则IPv4 她址的服用率可以高达256,即1个IPv4 C类地址可以当1个IPv4 B类地址用,1个IPv4 B类地址可以当一个IPv4 A类地址用,1个IPv4 A类地址具有与目前互联网一样大的地 址空间43亿地址。同时,把地址利用率和端口位移值嵌入IPv6地址的后32位,使映射 关系可以由地址本身自我描述。这产生了第一类地址编码格式,如图2 (a)所示。对于 目前正在给IPv4主机使用的IPv4地址,不需要由本运营商对其进行复用,因此定义了第 二类地址编码格式,如图2 (b)所示。(2) 在IPv4地址和IPv6地址的子集之间建立具有唯一的、双向的映射关系(IVI地址 转换规则)
如(O所述,为了达到无状态、端对端的IPv4/IPv6分组转换,必须在IPv4地址和 IPv6地址之间建立唯一的映射关系,同时这种映射关系必须由地址本身自我描述。使全 球任意一台可寻址的IPv4主机都可以有一个IPv6地址与之对应是简单的,但使IPv6地 址有唯一的IPv4地址相对应是一个难点。本发明把IPv4地址分为两类,第一类是运营商 自己的,准备给IPv6主机使用的IPv4地址块,第二类是全球的IPv4地址(含运营商自 己的,不用于IPv6主机的IPv4地址块);对于第一类IPv4地址块,采用第一类编码格式, 并选择IPv4地址的传输层端口复用比M和端口位移值A: (0《A:SM-1),即一个IPv4 地址可以通过区分传输层端口,同时供M个IPv6主机使用;对于第二类IPv4地址块, 采用第二类编码格式,即全球任意一台可寻址的IPv4主机都可以有一个IPv6地址与之对 应;这样可以实现分别接入IPv4和IPv6互联网的端系统,双向发起的通信;转换地址后 的分组进行由RFC2765描述的方法进行处理。
(3) —种传输层端口映射算法(PCA),根据IPv6地址自动选择通信所使用的传输层源 端口
互联网通信的基本元素为五元组,即协议类型,源地址,原端口,目标地址,目标端 口。当通过地址复用的IPv6地址为目标地址时,根据第一类编码格式,由目标端口可以 唯一的确定IPv6地址。但当IPv6主机发起与IPv4服务器的通信时,IPv6主机将产生随 机源端口,这个源端口不一定落到此IPv6主机所能允许的端口范围。本发明根据第一类 编码格式,对于采用这种编码格式的主机,当其发起通信时,其随机产生的传输层源端口 必须映射到由第一类编码格式所描述的端口范围,其基本算法为把0-1024和其它众所周 知端口 (well-knownport)排除后对每一个第一类编码格式的主机列出所允许的端口映射 表,根据请求顺序,把随机产生的传输层源端口映射到此映射表,同时监测后续的此类分 组,当其在一段时间内不出现时,释放映射表的对应表项,以供新的随机产生的传输层源 端口使用。因此可以解决端口映射的问题。无状态的运营商级的lPv4/IPv6转换路由器地 址和传输层端口映射实例(il/=4)如图3所示。
(4) 域名转换方法
IPv4/IPv6双栈协议用户计算机访问全球IPv4互联网的资源时,可以通过常规域名解 析服务访问相应的IPv4地址或IPv6地址(IVI地址)。当全球IPv4互联网上的任意IPv4 主机访问IPv4/IPv6双栈协议用户计算机时,通过域名解析出该IPv6地址经IVI转换规则产生的对应IPv4地址。 (5)采用二级转换器的IPv4/IPv6分组转换方法
技术领域
本发明采用二级转换的方法,第一级为无状态IPv4/IPv6地址转换,基于该方法的运 营商级转换路由器设置在运营商的IPv6单栈网络与IPv4网络互联的边界上,具有很好的 可扩展性。第二级为最小状态的IPv6/IPv4地址转换和端口映射方法,基于该方法的家庭 网关设置在运营商的IPv6网络和采用IPv4/IPv6双栈协议的主机用户之间。本发明方法工 作流程如图4所示。
权利要求
1. 端到端运营商级路由器和家庭网关组合的IPv4/IPv6分组转换方法,其特征在于,所述方法是在互联网中依次按以下步骤实现的步骤(1)初始化步骤(1. 1)把IPv4地址分为以下两类第一类,运营商准备给IPv6主机使用的IPv4地址块,第二类,全球的IPv4地址,其中含所述运营商自己的,且不属于所述IPv6主机的IPv4地址块,步骤(1. 2)定义以下两类编码格式所述第一类地址采用把IPv4地址加传输层端口嵌入所述IPv6地址的编码格式,称为第一类编码格式;在基于运营商32位聚类前缀的IPv6地址格式中的第32+n位嵌入32位IPv4地址,n小于32,构成IVI前缀,同时在第96位至111位嵌入地址复用比M,在第112位至128位嵌入端口位移值k,其中k(0≤k≤M-1)如在64+n到95位之间有空余位则填充全0;一个IPv4地址可以通过区分传输层端口,同时供M个IPv6主机使用,所述第一类地址采用把IPv4地址直接嵌入所述IPv6地址的编码格式,称为第二类编码格式;在所述运营商基于32位聚类前缀的IPv6地址格式中的第32+n位嵌入32位IPv4地址,n小于32,构成IVI前缀,同时在64+n到128位之间空余位填充全0;全球任意一台可寻址的IPv4主机都可以有一个IPv6地址与之对应所述由以上IVI前缀构成的两类IVI地址使得所述IPv4地址和IPv6地址的子集之间具有唯一的、双向的映射关系,形成IVI地址转换规则;步骤(1. 3)定义下述传输层端口映射算法PCA,以使当采用第一种编码格式的IPv6主机发起通信时把随机产生的传输层源端口映射到由所述第一类编码格式所描述的端口范围;先排除0-1024端口和其它众所周知的端口,再为所述采用第一类编码格式的IPv6主机列出所允许的端口映射表,根据请求顺序,把随机产生的传输层源端口映射到此映射表,在设定的时间段内监测后续的此类分组,以使当不再有后续分组到达时,释放所述端口映射表的对应表项,以备后用;步骤(2)园区网内的IPv6/IPv4计算机通过常规域名服务器查询域名,根据查询结果决定发送IPv6分组或IPv4分组;步骤(3)园区网内的IPv6/IPv4计算机发送分组;步骤(4)家庭网关接收IPv4/IPv6分组;步骤(4. 1)判断分组版本,如为IPv4,执行步骤(4.2),如为IPv6,执行步骤(4.6);步骤(4. 2)目标地址按第二类编码格式转换为IPv6地址,目标端口不变,步骤(4. 3)源地址按第一类编码格式转换为IPv6地址,源端口作PCA映射,步骤(4. 4)按RFC2766执行除地址转换之外的其它处理程序;步骤(4. 5)发送IPv6分组;步骤(5)无状态的运营商级的IPv4/IPv6转换路由器接收IPv6分组;步骤(5. 1)目标地址按第二类编码格式转换为IPv4地址,目标端口不变,步骤(5. 2)源地址按第一类编码格式转换为IPv4地址,源端口不变,步骤(5. 3)按RFC2766执行除地址转换之外的其它处理程序;步骤(5. 4)发送IPv4分组;步骤(6)全球互联网上的目标IPv4计算机接收分组;步骤(7)全球互联网上的该IPv4计算机对本发明所支持的IPv6/IPv4计算机发送分组;步骤(8)无状态的运营商级的IPv4/IPv6转换路由器接收IPv4分组,步骤(8. 1)目标地址按第一类编码格式转换为IPv6地址,目标端口不变,步骤(8. 2)源地址按第二类编码格式转换为IPv6地址,源端口不变,步骤(8. 3)按RFC2766执行除地址转换之外的其它处理程序;步骤(8. 4)发送IPv6分组至IPv6单栈网络;步骤(9)家庭网关接收IPv6分组;步骤(9. 1)判断源地址是否为IVI地址,如是,执行步骤(9.2),如不是,执行步骤(9.6);步骤(9. 2)目标地址按第一类编码格式转换为IPv4地址,目标端口作PCA映射,步骤(9. 3)源地址按第二类编码格式转换为IPv4地址,源端口不变,步骤(9. 4)按RFC2766执行除地址转换之外的其它处理程序;步骤(9. 5)发送IPv4分组;执行步骤(5);步骤(9. 6)发送IPv6分组,执行步骤(5);步骤(10)IPv6/IPv4计算机接收分组;步骤(11)返回步骤(2);
2.根据权利要求1中端到端运营商级路由器和家庭网关组合的IPv4/IPv6分组转换方法, 其特征在于,由全球互联网上任意的IPv4计算机发起的与由IPv6网络中使用由IVI前缀 构成的IVI地址的IPv6计算机通信的步骤也可以仿上述步骤描述,由步骤(7)开始执行。
3. 根据权利要求1中端到端运营商级路由器和家庭网关组合的IPv4/IPv6分组转换方法, 其特征在于,对于由多个不同的IVI前缀构成的IPv6 IVI地址的主机与全球IPv4网络进行 双向发起的端对端的通信及和全球IPv6网络进行全功能通信,能使用以上描述的步骤。
4. 根据权利要求1中端到端运营商级路由器和家庭网关组合的IPv4/IPv6分组转换方法, 其特征在于,家庭网关的功能也可以在用户计算机上实现。
全文摘要
端到端运营商级路由器和家庭网关组合的IPv4/IPv6分组转换方法,其特征在于,采用将IPv4地址加传输层端口嵌入IPv6地址的第一类编码格式,在运营商的一个IPv6地址的子集与运营商的一个IPv4地址加传输层端口的子集之间建立唯一的映射关系;采用将IPv4地址嵌入IPv6地址的第二类编码格式,在全球IPv4地址与运营商的一个IPv6地址的子集之间建立唯一的映射关系。在全球IPv4网络和运营商的IPv6网络边界间采用无状态的第一级转换方法,在运营商的IPv6网络和采用IPv4/IPv6双栈用户边界采用最小状态的第二级转换方法,使用户可以高效率地利用IPv4地址,与全球IPv4网络进行双向发起的端对端的通信,同时可以和全球IPv6网络进行全功能通信。
文档编号H04L12/56GK101431478SQ20081024033
公开日2009年5月13日 申请日期2008年12月17日 优先权日2008年12月17日
发明者包丛笑, 吴建平, 弘 张, 朱韵成, 星 李, 陈茂科 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1