非对称数字用户环线的IPv4/IPv6翻译和隧道组合通信方法

文档序号:7623568阅读:176来源:国知局
专利名称:非对称数字用户环线的IPv4/IPv6翻译和隧道组合通信方法
技术领域
本发明涉及计算机网络技术领域,特别涉及一种非对称数字用户环线的IPv4/ IPv6翻译和隧道组合通信方法。
背景技术
互联网已经成为全世界最重要的信息基础设施,但目前互联网广泛使用的第四版 网络协议IPv4的地址的寻址范围只有232,即43亿地址,目前IPv4地址即将分配完毕。目前中国网民人口的绝对数已经成为世界第一,但互联网的普及率只有23 %,远 低于世界发达国家的水平(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。无状态的地址转换和 协议转换方法,具有可扩展性,但用于在运营商非对称数字用户环线(ADSL)时必须满足相 应的规范。目前运营商为非对称数字用户环线(ADSL)提供IPv6服务的规范为必须使用 PPPoE协议中的IPv6CP进行用户帐号的鉴权和控制,宽带服务器(BRAQ使用DHCPv6协议 对用户家庭网关分配单个/64的IPv6前缀,主流的双栈用户计算机的IPv4地址通过DHCP 协议获得,而对应的IPv6地址通过SLAAC方法获得,通过双栈技术实现用户计算机和IPv4/ IPv6互联网之间的互访。当这样的双栈用户通过IPv6网络(而不是双栈网络)需要与IPv4资源互访时, 就需要使用无状态翻译技术IVI。目前IVI技术必须使用有状态DHCPV6配置用户计算机的 IPv6地址,该地址一般不是/64,因此用于非对称数字用户环线用户具有一定的局限性。为了解决IPv4向IPv6过渡的问题,人们也发明了基于隧道技术的方案,如 Dual-stack Lite等。Dual-stack Lite是由家庭网关发起建立隧道,把IPv4分组封装在 IPv6分组之中,通过IPv6接入网为双栈用户计算机提供IPv4/IPv6接入服务。其优点是 IPv4分组的头结构可以完全得到保留,其缺点是增加了隧道的开销(增加20个字节)。本发明在基本的非对称数字用户环线的IPv4/IPv6翻译方法的基础上,增加了 RFC2473封装/ 解封装,具有完全保留IPv4分组的头结构的特点,同时保持了基本的非对称数字用户环线 的IPv4/IPv6翻译方法的特点,如核心网翻译器无状态,支持双向发起的通信等特点,其唯 一的缺点是无法与IVI的分组结构兼容。综合考虑,本发明的方法是比Dual-stack Lite 更好的基于隧道的过渡方案。

发明内容
(一)要解决的技术问题本发明要解决的技术问题是在沿用目前IPv6 PPPoE协议及其相关IPv6地址分配 的基础上在非对称数字用户环线实现无状态翻译技术IVI和隧道组合的通信方法。(二)技术方案为解决上述技术问题,本发明提供了一种面向运营商非对称数字用户环线的 IPv4/IPv6翻译和隧道组合方法,在翻译和RFC2473封装/解封装之前,运营商为每个宽带 接入服务器预留一段公有IPv4地址并决定其共享的复用比R,为每个宽带接入服务器预留 一段前缀长度为/48的IPv6公有地址段;为共享该段IPv4地址的不同用户构造分配给该 用户的前缀长度为/64的不同的IPv6地址段,其中包括用于该用户与IPv4互联网互通的 一个特殊的IPv6地址和用于该用户与IPv6互联网通信的普通的IPv6地址;为每个用户 上联的家庭网关配置该用户所使用的共享的公有IPv4地址、及其复用比R和该用户的共享 序列号k ;用户的计算机通过家庭网关从宽带接入服务器获得属于上述前缀长度为/64的 IPv6地址段,同时获得域名服务器的地址,家庭网关根据所述IPv6的/64前缀通过无状态 IPv6地址配置协议SLAAC为用户计算机配置IPv6地址,通过DHCP协议为用户计算机分配 IPv4地址,以及所述域名服务器的地址,所述方法包括以下步骤Sl 用户计算机通过常规域名服务器查询域名,若域名服务器仅返回A记录,则执 行步骤S2,若域名服务器返回AAAA记录,则执行步骤S3 ;S2 用户计算机发送IPv4分组,该用户的家庭网关接收所述IPv4分组,进行1:1 分组翻译并进行RFC2473封装,得到的IPv6分组并转发,执行步骤S4 ;S3 用户计算机发送IPv6分组,该用户的家庭网关接收所述IPv6分组,直接进行 IPv6分组转发;S4 宽带接入服务器根据分组中目标地址对IPv6分组进行转发,若目标地址为特 殊IPv6地址前缀,发至1:N无状态IPv4/IPv6翻译器,否则,直接发至IPv6互联网;S5 :1:N无状态IPv4/IPv6翻译器接收IPv6分组,将其翻译为IPv4分组,进行 RFC2473解封装并转发;S6 全球互联网上的目标IPv4计算机接收IPv4分组;S7 所述目标IPv4计算机向所述用户计算机发送IPv4分组;S8 :1:N无状态IPv4/IPv6翻译器接收IPv4分组,将其翻译为IPv6分组,进行 RFC2473封装并转发;S9 家庭网关接收IPv6分组,进行1 1分组翻译,进行RFC2473解封装和转发;SlO 所述用户计算机接收分组;
Sll:返回步骤 S2。其中,所述复用比R为2的整数倍并小于或等于256,所述共享序列号k的取值范 围是0到R-1,计算机能够使用的端口号用取模的方法定义k = P% R,其中%为取模运算 符,P是端口号。其中,所述为共享该段IPv4地址的不同用户构造分配给该用户的前缀长度为/64 的不同的IPv6地址段的方式如下Sl-I 在所述预留/48的IPv6公有地址中,为所述每个共享IPv4地址的用户构造 与IPv4互联网通信的特殊IPv6地址,编址格式包括前缀构造和后缀构造;S1-2 在预留的IPv4地址段中,取出一个公有IPv4地址a. b. c. d,共享此地址的 每个用户的特殊IPv6地址前缀的构成规则为比特0-47为所述预留的/48的IPv6公有地 址前缀,比特48-55为所述IPv4地址a. b. c. d的第四段8位,即d,比特56-63为共享所述 IPv4地址的第k个用户的数字K的比特表示,因此每个用户得到的IPv6的前缀长度为64 ; 比特64-95为所述公有IPv4地址,后缀的构成规则为比特96-99为复用比的比特表示,比 特104-111为为共享所述IPv4地址的第k个用户的数字K的比特表示,比特100-103和比 特112-127为全0 ;S1-3 仿照Sl-1、S1-2的方法定义表示整个IPv4互联网用户的特殊的IPv6地址 前缀,但是,前缀构造中,d = 255和k = 255 ;该前缀长度为64 ;比特64-95为互联网用户 的IPv4地址,后缀为全0。其中,所述步骤S2具体包括S2-1 判断分组版本,若为IPv4,执行步骤S2-2至2-4,若为IPv6,执行步骤S2_5 ;S2-2 目标地址翻译为按照S1-3构造的特殊的IPv6地址,目标端口不变;S2-3 源地址翻译为嵌入共享公有IPv4地址的、按照Sl_2构造的特殊IPv6地址, 源端口作端口映射;S2-4 进行分组翻译并进行RFC2473封装;S2-5 直接发送IPv6分组。其中,所述步骤S5具体包括S5-1 目标地址从表示整个IPv4互联网用户的特殊的IPv6地址前缀中得到IPv4 地址,目标端口不变,S5-2 源地址从所述嵌入共享公有IPv4地址的特殊IPv6地址中得到该用户的 IPv4地址,若源端口不符合端口号P的范围,丢弃分组,若源端口符合权端口号P的范围,源 端口不变;S5-3 进行分组翻译并进行RFC2473解封装;S5-4 发送 IPv4 分组。 其中,所述步骤S8具体包括S8-1 目标地址翻译为嵌入共享公有IPv4地址的该用户特殊IPv6地址,目标端口 不变;S8-2 源地址翻译为表示整个IPv4互联网用户的特殊的IPv6地址,源端口不变;S8-3 进行分组翻译并进行RFC2473封装;S8-4 发送 IPv6 分组。
其中,所述步骤S9具体包括S9-1 判断目标地址是否为嵌入共享公有IPv4地址的特殊IPv6地址,若是,执行 步骤S9-2至S9-5,若不是,执行步骤S9-6 ;S9-2 目标地址从嵌入共享公有IPv4地址的特殊IPv6地址中得到所述用户的 IPv4地址,目标端口作端口映射;S9-3 源地址从表示整个IPv4互联网用户的特殊的IPv6地址中得到IPv4地址, 源端口不变;S9-4 进行分组翻译并进行RFC2473解封装;S9-5 发送IPv4分组,结束返回;S9-6 直接发送IPv6分组。其中,所述家庭网关为专用设备或在用户计算机上由软件实现。(三)有益效果通过本发明的方法实现了在沿用目前IPv6 PPPoE协议及其相关IPv6地址分配 的基础上,保持核心网地址无状态翻译和在家庭网关进行端口映射的情况下,采用二级翻 译和隧道组合通信方法为非对称数字用户环线用户实现端到端的IPv4/IPv6/IPv4互访通


图1是实现本发明方法的系统结构示意图;图2是本发明方法中特殊IPv6地址的编码格式;图3是本发明实施例的一种非对称数字用户环线的IPv4/IPv6/IPv4翻译和隧道 组合通信方法的流程图。
具体实施例方式下面结合附图和实施例,对本发明的具体实施方式
作进一步详细描述。以下实施 例用于说明本发明,但不用来限制本发明的范围。本发明所述方法的关键技术包括用于非对称数字用户环线用户的单一 IPv6前 缀的编址格式,共享公有IPv4地址的端口映射和采用二级翻译器的IPv4/IPv6分组翻译方 法,以及RFC2473封装/解封装。如图1所示,本发明在无状态地址翻译和协议翻译的基础上,在宽带接入服务器 (BRAS)侧进行1 :N无状态的IPv4/IPv6翻译和隧道封装/解封装,并对每个用户分配单一 的IPv6前缀,该前缀中既包含用于与IPv6互联网通信的普通的IPv6地址,也包含一个嵌 入共享公有IPv4地址的用于与IPv4互联网通信的特殊IPv6地址,在用户的家庭网关上对 于该特殊的IPv6地址进行包含端口映射的IPv4/IPv6翻译,并对用户的计算机分配共享的 公有IPv4地址和普通IPv6地址,使用户可以共享稀缺的公有IPv4地址,与全球IPv4互联 网进行双向发起的,进行不需要应用层网关的端对端的通信,同时可以和全球IPv6互联网 进行通信。(1)非对称数字用户环线的单一 IPv6前缀的编码格式目前运营商对非对称数字用户环线(ADSL)上提供IPv6服务有一定的规范,如必须使用PPPoE协议中的IPv6CP进行用户帐号的鉴权和控制,宽带服务器使用DHCPv6协议 对用户家庭网关分配单个/64的IPv6前缀,主流的用户计算机的IPv4地址通过DHCP协议 获得,IPv6地址通过SLAAC方法获得。本发明在不改变上述条件下,实现了每个用户获得单个/64IPv6前缀即可以实现 对IPv4互联网和IPv6互联网的双向发起的通信,并可以有效地共享稀缺的公有IPv4地址 资源。本发明的特殊的IPv6地址格式如图2所示,充分利用了 IPv6的地址空间,把相关 的信息均在地址中编码。a)运营商为每个宽带接入服务器预留一个/48的IPv6公有地址,如 2001:db8:a4a6::/48。b)由宽带接入服务器为每个用户分配的/64前缀的构成规则为比特48-55为 IPv4地址a. b. cd的第四段8位,即d,比特56-63为复用IPv4地址的第k个用户,如IPv4 地址段为192. 168. 1. 0/30,复用比为16,则共有16个用户共享192. 168. 1. 1这个地址,这 16个用户所得到的/64的前缀如表3第2列所示。c)该前缀包括一个嵌入共享IPv4地址能与IPv4互通的的特殊IPv6地址,该地 址的构成规则为比特64-95为IPv4地址,比特96-99为复用比的比特表示,比特104-111 为为复用该IPv4地址的第k个用户,比特100-103和比特112-127为全0,这16个用户所 得到的特殊IPv6地址如表3第5列所示。值得指出的是特殊IPv6地址的后16位均为0,因此与SLAAC模式产生的普通 IPv6地址不会发生冲突。(2)共享公有IPv4地址的端口映射根据公式,若R= 128,则第k台计算机所能够使用的端口范围为,即k,128+k,
256+k, 384+k, 512+k, 640+k, 768+k, 896+k, 1024+k,......,其中 η 的取值范围为 0-511,k 的
取值范围为0-127。注意这个端口的范围对于目标端口和原端口都是适用的。对于目标端 口的情况,其他IPv4计算机连接到同一 IPv4目标地址,不同目标端口的请求将被送到根据 上述公式定义的不同的计算机。对于源端口的情况,使用同一 IPv4地址的不同的计算机必 须严格遵守上述公式定义的端口,否则网络将会把不符合规定的分组丢弃。家庭网关负责 进行端口映射以符合上述公式的定义。(3)采用二级翻译器的IPv4/IPv6分组翻译方法本发明采用二级翻译器的方法,第一级为1:N无状态IPv4/IPv6翻译器设置在宽 带接入服务器(BRAS)侧进行无状态共享公有IPv4地址的IPv4/IPv6分组翻译,第二级为 用户家庭网关,进行1 1的无状态的地址翻译和端口映射的IPv4/IPv6分组翻译隧道封装/ 解封装。家庭网关的特点为采用目前最流行的使用DHCP分配IPv4地址,采用SLAAC分配 IPv6地址给用户计算机的方法,具有最好的适用性。(4) RFC2473 封装 / 解封装本发明在基本的非对称数字用户环线的IPv4/IPv6翻译方法的基础上,增加了 RFC2473封装/解封装,具有完全保留IPv4分组的头结构的特点,同时保持了基本的非对称 数字用户环线的IPv4/IPv6翻译方法的特点,如核心网翻译器无状态,支持双向发起的通 信等特点。
权利要求
1.一种面向运营商非对称数字用户环线的IPv4/IPv6翻译和隧道组合方法,其特征在 于,在翻译和RFC2473封装/解封装之前,运营商为每个宽带接入服务器预留一段公有IPv4 地址并决定其共享的复用比R,为每个宽带接入服务器预留一段前缀长度为/48的IPv6公 有地址段;为共享该段IPv4地址的不同用户构造分配给该用户的前缀长度为/64的不同的 IPv6地址段,其中包括用于该用户与IPv4互联网互通的一个特殊的IPv6地址和用于该用 户与IPv6互联网通信的普通的IPv6地址;为每个用户上联的家庭网关配置该用户所使用 的共享的公有IPv4地址、及其复用比R和该用户的共享序列号k ;用户的计算机通过家庭 网关从宽带接入服务器获得属于上述前缀长度为/64的IPv6地址段,同时获得域名服务器 的地址,家庭网关根据所述IPv6的/64前缀通过无状态IPv6地址配置协议SLAAC为用户 计算机配置IPv6地址,通过DHCP协议为用户计算机分配IPv4地址,以及所述域名服务器 的地址,所述方法包括以下步骤51用户计算机通过常规域名服务器查询域名,若域名服务器仅返回A记录,则执行步 骤S2,若域名服务器返回AAAA记录,则执行步骤S3 ;52用户计算机发送IPv4分组,该用户的家庭网关接收所述IPv4分组,进行1:1分组 翻译并进行RFC2473封装,得到的IPv6分组并转发,执行步骤S4 ;53用户计算机发送IPv6分组,该用户的家庭网关接收所述IPv6分组,直接进行IPv6 分组转发;54宽带接入服务器根据分组中目标地址对IPv6分组进行转发,若目标地址为特殊 IPv6地址前缀,发至1:N无状态IPv4/IPv6翻译器,否则,直接发至IPv6互联网;55:1:N无状态IPv4/IPv6翻译器接收IPv6分组,将其翻译为IPv4分组,进行RFC2473 解封装并转发;56全球互联网上的目标IPv4计算机接收IPv4分组;57所述目标IPv4计算机向所述用户计算机发送IPv4分组;58:1:N无状态IPv4/IPv6翻译器接收IPv4分组,将其翻译为IPv6分组,进行RFC2473 封装并转发;59家庭网关接收IPv6分组,进行1:1分组翻译,进行RFC2473解封装和转发;510所述用户计算机接收分组;511返回步骤S2。
2.如权利要求1所述的非对称数字用户环线的IPv4/IPv6翻译和隧道组合通信方法, 其特征在于,所述复用比R为2的整数倍并小于或等于256,所述共享序列号k的取值范围 是0到R-I,计算机能够使用的端口号用取模的方法定义k = P% R,其中%为取模运算符, P是端口号。
3.如权利要求2所述的非对称数字用户环线的IPv4/IPv6翻译和隧道组合通信方法, 其特征在于,所述为共享该段IPv4地址的不同用户构造分配给该用户的前缀长度为/64的 不同的IPv6地址段的方式如下Sl-I 在所述预留/48的IPv6公有地址中,为所述每个共享IPv4地址的用户构造与 IPv4互联网通信的特殊IPv6地址,编址格式包括前缀构造和后缀构造;S1-2 在预留的IPv4地址段中,取出一个公有IPv4地址a. b. c. d,共享此地址的每个用户的特殊IPv6地址前缀的构成规则为比特0-47为所述预留的/48的IPv6公有地址前 缀,比特48-55为所述IPv4地址a. b. c. d的第四段8位,即d,比特56-63为共享所述IPv4 地址的第k个用户的数字K的比特表示,因此每个用户得到的IPv6的前缀长度为64 ;比特 64-95为所述公有IPv4地址,后缀的构成规则为比特96-99为复用比的比特表示,比特 104-111为为共享所述IPv4地址的第k个用户的数字K的比特表示,比特100-103和比特 112-127 为全 0 ;51-3仿照Sl-l、Sl-2的方法定义表示整个IPv4互联网用户的特殊的IPv6地址前缀, 但是,前缀构造中,d = 255和k = 255 ;该前缀长度为64 ;比特64-95为互联网用户的IPv4 地址,后缀为全0。
4.如权利要求3所述的非对称数字用户环线的IPv4/IPv6翻译和隧道组合通信方法, 其特征在于,所述步骤S2具体包括52-1判断分组版本,若为IPv4,执行步骤S2-2至2_4,若为IPv6,执行步骤S2-5 ;S2-2 目标地址翻译为按照S1-3构造的特殊的IPv6地址,目标端口不变;S2-3 源地址翻译为嵌入共享公有IPv4地址的、按照S1-2构造的特殊IPv6地址,源端 口作端口映射;S2-4 进行分组翻译并进行RFC2473封装;S2-5 直接发送IPv6分组。
5.如权利要求3所述的非对称数字用户环线的IPv4/IPv6翻译和隧道组合通信方法, 其特征在于,所述步骤S5具体包括S5-1 目标地址从表示整个IPv4互联网用户的特殊的IPv6地址前缀中得到IPv4地 址,目标端口不变,S5-2 源地址从所述嵌入共享公有IPv4地址的特殊IPv6地址中得到该用户的IPv4地 址,若源端口不符合端口号P的范围,丢弃分组,若源端口符合权端口号P的范围,源端口不 变;S5-3 进行分组翻译并进行RFC2473解封装;S5-4 发送IPv4分组。
6.如权利要求3所述的非对称数字用户环线的IPv4/IPv6翻译和隧道组合通信方法, 其特征在于,所述步骤S8具体包括S8-1 目标地址翻译为嵌入共享公有IPv4地址的该用户特殊IPv6地址,目标端口不变;S8-2 源地址翻译为表示整个IPv4互联网用户的特殊的IPv6地址,源端口不变;S8-3 进行分组翻译并进行RFC2473封装;58-4发送IPv6分组。
7.如权利要求3所述的非对称数字用户环线的IPv4/IPv6翻译和隧道组合通信方法, 其特征在于,所述步骤S9具体包括59-1判断目标地址是否为嵌入共享公有IPv4地址的特殊IPv6地址,若是,执行步骤 S9-2至S9-5,若不是,执行步骤S9-6 ;S9-2 目标地址从嵌入共享公有IPv4地址的特殊IPv6地址中得到所述用户的IPv4地 址,目标端口作端口映射;S9-3 源地址从表示整个IPv4互联网用户的特殊的IPv6地址中得到IPv4地址,源端 口不变;S9-4 进行分组翻译并进行RFC2473解封装; S9-5 发送IPv4分组,结束返回; S9-6:直接发送IPv6分组。
8.如权利要求1 7中任一项所述非对称数字用户环线的IPv4/IPv6翻译和隧道组合 通信方法,其特征在于,所述家庭网关为专用设备或在用户计算机上由软件实现。
全文摘要
本发明公开了面向运营商非对称数字用户环线的IPv4/IPv6翻译和隧道组合方法,涉及计算机网络技术领域,该方法中在宽带接入服务器侧进行1:N无状态的IPv4/IPv6翻译并进行RFC2473封装/解封装,并对每个用户上联的家庭网关分配单一的IPv6/64前缀,该前缀既包含普通的IPv6地址,也包含一个嵌入共享公有IPv4地址的特殊IPv6地址,在用户的家庭网关上对于该特殊的IPv6地址进行包含端口冲突检测的IPv4/IPv6翻译并进行RFC2473封装/解封装,家庭网关对用户的计算机分配共享的公有IPv4地址和普通IPv6地址,使用户可以共享稀缺的公有IPv4地址,与全球IPv4互联网进行双向发起的不需要应用层网关的端对端的通信,同时可以和全球IPv6互联网进行全功能通信。
文档编号H04L12/56GK102143250SQ20111007687
公开日2011年8月3日 申请日期2011年3月29日 优先权日2011年3月29日
发明者包丛笑, 李星, 翟宇, 韩国梁 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1