专利名称:基于云服务的由IPv6方发起通信的IPv4/IPv6翻译方法
技术领域:
本发明涉及计算机网络技术领域,特别涉及一种基于云服务的由IPv6方发起通 信的IPv4/IPv6翻译方法。
背景技术:
互联网已经成为全世界最重要的信息基础设施,但目前互联网广泛使用的第四版 网络协议IPv4的地址的寻址范围只有&2,即43亿地址,目前IPv4地址即将分配完毕。目前中国网民人口的绝对数已经成为世界第一,但互联网的普及率只有30 %,远 低于世界发达国家的水平(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。但是,在IPv6推广的过程中还有三个矛盾需要解决1、IPv6网络建设和IPv6信息资源建设的解耦问题。运营商等待IPv6信息资源 规模化,才决策大规模建设IPv6网络,发展IPv6用户;信息资源提供商等待IPv6用户达到 一定的规模才决定建设IPv6信息资源。2、IPv6网络性能的问题。由于隧道,特别是自动隧道等技术的实施,全世界IPv6 互联网的性能比IPv4互联网的性能还有很大的差距。在目前IPv6技术还不完全成熟的条 件下切换到IPv6,会带来用户体验的下降。3、主机的地址配置问题。IPv6地址有无状态分配,有状态分配等,一个主机可能分 配多个IPv6地址,再加上双栈的结构涉及公有IPv4地址或私有IPv4地址。因此,为用户 提供适合的网络服务是巨大的挑战。云计算为解决上述三大问题提供了机遇。利用IPv4/IPv6翻译云服务可以为IPv6 用户提供服务提供无缝访问现有IPv4信息资源,也为IPv4用户提供无缝访问IPv6信息 资源。根据翻译需求的规模决定翻译器的部署,而不需要运营商或信息资源提供商先期投 入部署设备进行IPv6升级。IPv4/IPv6翻译云服务可以利用集中服务的特点,对于IPv6网络的性能进行测量,决定是否提供IPv6翻译服务;还可以根据用户的情况,决定是否提 供IPv6翻译服务。因此,急需一种利用云服务的IPv4/IPv6翻译方法,来实现IPv4用户和 IPv6用户之间对各自信息资源的无缝访问。
发明内容
(一)要解决的技术问题本发明要解决的技术问题是如何实现IPv4用户和IPv6用户之间对各自信息资 源的无缝访问。(二)技术方案为解决上述技术问题,本发明提供了一种基于云服务的由IPv6方发起通信的 IPv4/IPv6翻译方法,该方法通过在IPv4/IPv6双栈网络上部署信息资源数据库和域名解 析服务器,及串接的无状态的IPv4/IPv6翻译器和有状态的IPv6/IPv6翻译器实现,所述信 息资源数据库中存储IPv4服务器地址的列表,并存储经信息资源数据库授权的IPv6用户 的地址列表,所述信息资源数据库、域名解析服务器、IPv4/IPv6翻译器和IPv6/IPv6翻译 器均存储有特殊的IPv6地址段,所述特殊的IPv6地址段为将预留的若干个公有IPv4地 址或私有IPv4地址段的其中一个IPv4地址段根据RFC6052嵌入预留的若干个公有IPv6 前缀中的一个IPv6前缀内形成的地址段,所述方法包括以下步骤Sl 使用任一普通IPv6地址的用户计算机查询所述域名解析服务器,域名解析服 务器根据用户的源地址和需要查询的域名与信息资源数据库交互,若该IPv6用户是信息 资源数据库中的授权用户,且需要查询的域名表示的IPv4服务器也在所述信息资源数据 库中,则返回由该IPv4服务器地址嵌入IPv6前缀而形成的表示该IPv4服务器的特殊的 IPv6地址对应的AAAA记录描述的IPv6地址,否则,返回A记录描述的IPv4地址;S2 使用所述普通IPv6地址的用户计算机发送IPv6分组,这些分组定义为第一类 IPv6分组,根据IPv6路由协议,该分组将发送到所述IPv6/IPv6翻译器;S3 IPv6/IPv6翻译器接收所述第一类IPv6分组;S4 :IPv6/IPv6翻译器查询动态映射表,若第一类IPv6分组的源地址不在映射表 中,则选择一个尚未使用的、所述特殊的IPv6地址与该源地址建立映射关系,形成映射条 目,启动计时器,若超时,删除这个映射条目;执行步骤S6 ;S5 若所述第一类IPv6分组的源地址已经在映射表中,则使用该映射关系,执行 步骤S6 ;S6 :IPv6/IPv6翻译器把第一类IPv6分组的源地址翻译为建立映射关系的特殊的 IPv6地址,源端口不变;目标地址不变,目标端口不变,重新计算传输层校验和,组成第二 类IPv6分组;S7 :IPv6/IPv6翻译器把翻译后的第二类IPv6分组传给IPv4/IPv6翻译器;S8 IPv4/IPv6翻译器接收第二类IPv6分组;S9 :IPv4/IPv6翻译器根据RFC6145翻译第二类IPv6分组,翻译后成为IPv4分 组;SlO :IPv4/IPv6翻译器发送所述IPv4分组;
Sll :IPv4服务器接收所述IPv4分组;S12 :IPv4服务器发送所述IPv4分组;S13 :IPv4/IPv6翻译器接收所述IPv4分组;S14 :IPv4/IPv6翻译器根据RFC6145翻译所述IPv4分组,翻译为第二类IPv6分 组;S15 :IPv4/IPv6翻译器把第二类IPv6分组传给IPv6/IPv6翻译器;S16 :IPv6/IPv6翻译器接收第二类IPv6分组;S17 :IPv6/IPv6翻译器查询动态映射表,若第二类IPv6分组的源地址不在映射表 中,则丢弃该分组,返回;S18 若第二类IPv6分组的源地址已经在映射表中,则使用该映射关系,执行步骤 S19 ;S19 :IPv6/IPv6翻译器把第二类IPv6分组的目标地址翻译为已建立映射的普通 IPv6地址,目标端口不变;源地址不变,源端口不变,重新计算传输层校验和,组成第一类 IPv6分组;S20 IPv6/IPv6翻译器发送第一类IPv6分组;S21 用户的计算机接收第一类IPv6分组,返回S2,直至该进程结束。其中,所述IPv6/IPv6翻译器和IPv4/IPv6翻译器部署在同一台设备上。(三)有益效果本发明通过在数据中心设立信息资源数据库和域名解析服务器,同时设立串接的 无状态的IPv4/IPv6翻译器和通过信息资源数据库配置的IPv6/IPv6翻译器,实现了 IPv4 用户和PIv6用户之间对各自信息资源的无缝访问。
图1是实现本发明的基于云服务的由IPv6方发起通信的IPv4/IPv6翻译方法的 一种系统结构图;图2是本发明实施例的一种基于云服务的由IPv6方发起通信的IPv4/IPv6翻译 方法。
具体实施例方式下面结合附图和实施例,对本发明的具体实施方式
作进一步详细描述。以下实施 例用于说明本发明,但不用来限制本发明的范围。实现本发明方法的系统结构如图1所示,在IPv4/IPv6双栈网络上部署信息资源 数据库和域名解析服务器,同时设立串接的无状态的IPv4/IPv6翻译器和有状态的IPv6/ IPv6翻译器。在所述信息资源数据库中建立可以为IPv6用户服务的IPv4服务器的地址列 表。在所述信息资源数据库中建立授权的、将被提供翻译云服务的IPv6用户的地址列表。 云服务提供商预留若干公有IPv4地址段或私有IPv4地址段,作为用于翻译服务的IPv4地 址段。云服务提供商预留若干个公有IPv6前缀,对于每一个公有IPv6地址前缀,选择一段 所述公有IPv4地址段或私有IPv4地址段,把所述一个IPv4地址段根据RFC6052嵌入上述 的一个IPv6前缀内,形成若干特殊的IPv6地址段。把上述参数写入信息资源数据库、域名解析服务器、IPv4/IPv6翻译器和IPv6/IPv6翻译器中。其中,IPv4/IPv6翻译器和IPv6/ IPv6翻译器可部署在同一设备中。本发明的方法具体流程如图2所示,包括步骤S101,使用任一 IPv6地址的用户计算机查询所述域名解析服务器,域名解析 服务器根据用户的源地址和需要查询的域名与信息资源数据库交互,若该IPv6用户是信 息资源数据库中的授权用户,且需要查询的域名表示的IPv4服务器也在所述信息资源数 据库中,则返回由该IPv4服务器地址嵌入IPv6前缀而形成的表示该IPv4服务器的特殊的 IPv6地址对应的IPv6地址,即AAAA记录,否则,返回IPv4服务器地址,即A记录,此时按常 规IPv4流程处理。步骤S102,使用任一 IPv6地址的用户计算机发送IPv6分组,定义为第一类IPv6 分组,根据IPv6路由协议,该分组将发送到所述IPv6/IPv6翻译器。步骤S103,IPv6/IPv6翻译器接收所述第一类IPv6分组。步骤S104,IPv6/IPv6翻译器查询动态映射表,若第一类IPv6分组的源地址不在 映射表中,则选择一个尚未使用的、所述特殊的IPv6地址建立映射关系,形成映射条目,启 动计时器,如超时,删除这个映射条目;执行步骤S105 ;若所述第一类IPv6分组的源地址已 经在映射表中,则使用该映射关系,执行步骤S105。步骤S105,IPv6/IPv6翻译器把第一类IPv6分组的源地址翻译为建立映射关系的 特殊的IPv6地址,源端口不变;目标地址不变,目标端口不变,重新计算传输层校验和,组 成第二类IPv6分组。步骤S106,IPv6/IPv6翻译器把翻译后的第二类IPv6分组传给IPv4/IPv6翻译 器,IPv4/IPv6翻译器接收第二类IPv6分组。步骤S107,IPv4/IPv6翻译器根据RFC6145翻译第二类IPv6分组,翻译成IPv4分组。步骤S108,IPv4/IPv6翻译器发送所述IPv4分组。步骤S109,IPv4服务器接收所述IPv4分组。步骤Sl 10,IPv4服务器发送所述IPv4分组。步骤Slll,IPv4/IPv6翻译器接收所述IPv4分组。步骤Sl 12,IPv4/IPv6翻译器根据RFC6145翻译所IPv4分组,翻译为第二类IPv6 分组,IPv4/IPv6翻译器把第二类IPv6分组传给IPv6/IPv6翻译器。步骤Sl 13,IPv6/IPv6翻译器接收第二类IPv6分组。步骤Sl 14,IPv6/IPv6翻译器查询动态映射表,若第二类IPv6分组的源地址不在 映射表中,则丢弃该分组,返回;若第二类IPv6分组的源地址已经在映射表中,则使用该映 射关系,执行步骤115。步骤Sl 15,IPv6/IPv6翻译器把第二类IPv6分组的目标地址翻译为已建立映射的 任意IPv6地址,目标端口不变;源地址不变,源端口不变,重新计算传输层校验和,组成第 一类IPv6分组。步骤Sl 16,IPv6/IPv6翻译器发送第一类IPv6分组.步骤S117,用户接收第一类IPv6分组,返回S102,直至该进程结束。下面以一个具体例子来说明本发明
云服务提供商预留一个公有IPv6前缀为2001 da8 e64 /48,预留一段用于共 享的IPv4地址段为202. 38. 102. 64/26,则根据RFC6052的定义,嵌入上述IPv4地址段 的 IPv6 地址的范围为 2001:da8:e64:ca26:6640:至 2001 da8e64:ca26667f 。若 在上述预留地址段中取用202. 38. 102. 117,则嵌入了此IPv4地址的特殊的IPv6地址为 2001:da8:e64:ca26:6675:。发起通信的IPv6主机的普通IPv6地址为2001 da8 aaae 201,目标地址为IPv4 服务器地址121. 194. 0. 203,则根据RFC6052得到的该IPv4服务器在IPv6中表示的特殊的 IPv6 目标地址为 2001:da8:e64:79c2:d2:,确认 2001 da8aaae 201 和 121. 194. 0. 203 均是授权的IPv6用户地址和IPv4服务器地址。根据上述参数IPv6主机发送的分组为第一类IPv6分组,该分组通过IPv6/ IPv6翻译器,创立映射表,则源地址2001 da8 aaae 201映射为一个上述特殊的IPv6 地址2001:da8:e64:ca26:6675:,目标地址不变,组成第二类IPv6分组,其目标地址为 2001:da8:e64:79c2:d2:,源地址为 2001 da8e64:ca266675。送给 IPv4/IPv6 翻译 器。经过IPv4/IPv6翻译器后,组成IPv4分组,其目标地址为121. 194. 0. 203,源地址为 202. 38. 102. 117,可以与IPv4服务器通信。返回的IPv4分组目标地址为202.38. 102. 117,源地址为121. 194. 0. 203,经过 IPv4/IPv6翻译器后组成第二类IPv6分组,其目标地址为2001 da8 e64 ca26 6675 ,源 地址为2001 da8 e64 79c2 d2 ,经过IPv6/IPv6翻译器后组成第一类IPv6分组,其目标 地址为 2001 :da8 ;aaae: :201,源地址为 2001 da8e64:79c2d2。可以与 IPv6 主机通信。 这个过程反复进行直到通信完成。以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通 技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有 等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
权利要求
1. 一种基于云服务的由IPv6方发起通信的IPv4/IPv6翻译方法,其特征在于,该方法 通过在IPv4/IPv6双栈网络上部署信息资源数据库和域名解析服务器,及串接的无状态的 IPv4/IPv6翻译器和有状态的IPv6/IPv6翻译器实现,所述信息资源数据库中存储IPv4服 务器地址的列表,并存储经信息资源数据库授权的IPv6用户的地址列表,所述信息资源数 据库、域名解析服务器、IPv4/IPv6翻译器和IPv6/IPv6翻译器均存储有特殊的IPv6地址 段,所述特殊的IPv6地址段为将预留的若干个公有IPv4地址或私有IPv4地址段的每个 IPv4地址段根据服务商提供服务的需求,按照RFC6052中规定的方式,分别嵌入不同的预 留的若干个公有IPv6前缀中形成的由某个公有IPv6前缀加预留的公有或私有IPv4地址 的IPv6地址段,所述方法包括以下步骤51使用任一普通IPv6地址的用户计算机查询所述域名解析服务器,域名解析服务器 根据用户的源地址和需要查询的域名与信息资源数据库交互,若该IPv6用户是信息资源 数据库中的授权用户,且需要查询的域名表示的IPv4服务器也在所述信息资源数据库中, 则返回由该IPv4服务器地址嵌入IPv6前缀而形成的表示该IPv4服务器的特殊的IPv6地 址对应的AAAA记录描述的IPv6地址,否则,返回A记录描述的IPv4地址;52使用所述普通IPv6地址的用户计算机发送IPv6分组,这些分组定义为第一类 IPv6分组,根据IPv6路由协议,该分组将发送到所述IPv6/IPv6翻译器;53:IPv6/IPv6翻译器接收所述第一类IPv6分组;54:IPv6/IPv6翻译器查询动态映射表,若第一类IPv6分组的源地址不在映射表中,则 选择一个尚未使用的、所述特殊的IPv6地址与该源地址建立映射关系,形成映射条目,启 动计时器,若超时,删除这个映射条目;执行步骤S6;55若所述第一类IPv6分组的源地址已经在映射表中,则使用该映射关系,执行步骤S6 ;56:IPv6/IPv6翻译器把第一类IPv6分组的源地址翻译为建立映射关系的特殊的 IPv6地址,源端口不变;目标地址不变,目标端口不变,重新计算传输层校验和,组成第二 类IPv6分组;57:IPv6/IPv6翻译器把翻译后的第二类IPv6分组传给IPv4/IPv6翻译器;58:IPv4/IPv6翻译器接收第二类IPv6分组;59:IPv4/IPv6翻译器根据RFC6145翻译第二类IPv6分组,翻译后成为IPv4分组;510:IPv4/IPv6翻译器发送所述IPv4分组;511:IPv4服务器接收所述IPv4分组;512:IPv4服务器发送所述IPv4分组;513:IPv4/IPv6翻译器接收所述IPv4分组;514:IPv4/IPv6翻译器根据RFC6145翻译所述IPv4分组,翻译为第二类IPv6分组;515:IPv4/IPv6翻译器把第二类IPv6分组传给IPv6/IPv6翻译器;516:IPv6/IPv6翻译器接收第二类IPv6分组;517:IPv6/IPv6翻译器查询动态映射表,若第二类IPv6分组的源地址不在映射表中, 则丢弃该分组,返回;S18:若第二类IPv6分组的源地址已经在映射表中,则使用该映射关系,执行步骤S19 ;519:IPv6/IPv6翻译器把第二类IPv6分组的目标地址翻译为已建立映射的普通IPv6 地址,目标端口不变;源地址不变,源端口不变,重新计算传输层校验和,组成第一类IPv6 分组;520:IPv6/IPv6翻译器发送第一类IPv6分组;521用户的计算机接收第一类IPv6分组,返回S2,直至该进程结束。
2.如权利要求1所述的基于云服务的由IPv6方发起通信的IPv4/IPv6翻译方法,其特 征在于,所述IPv6/IPv6翻译器和IPv4/IPv6翻译器部署在同一台设备上。
全文摘要
本发明公开了一种基于云服务的由IPv6方发起通信的IPv4/IPv6翻译方法,涉及计算机网络技术领域,能够使纯IPv6用户或双栈用户无缝访问纯IPv4信息资源的服务,在云服务数据中心建立信息资源数据库和域名解析服务器,同时设立串接的无状态IPv4/IPv6翻译器和有状态的IPv6/IPv6翻译器,无状态IPv4/IPv6翻译器的翻译算法把预留给从IPv6网络访问纯IPv4服务器所使用的IPv4地址翻译为嵌入了这个IPv4地址的、使用运营商前缀的特殊的IPv6地址,有状态的IPv6/IPv6翻译器的翻译算法把用户的任意IPv6地址动态映射为上述嵌入了IPv4地址的特殊的IPv6地址,域名解析服务器响应用户的域名解析请求,根据信息资源数据库的内容为用户返回A记录或AAAA记录,这样纯IPv6用户或双栈用户可以通过IPv6发起访问纯IPv4的信息资源。
文档编号H04L29/12GK102098355SQ20111007443
公开日2011年6月15日 申请日期2011年3月25日 优先权日2011年3月25日
发明者包丛笑, 李星, 江伟峰 申请人:清华大学