首页> 中国专利> 面向运营商非对称数字用户环线的IPv4/IPv6翻译方法

面向运营商非对称数字用户环线的IPv4/IPv6翻译方法

摘要

本发明公开了一种面向运营商非对称数字用户环线的IPv4/IPv6翻译方法,涉及计算机网络技术领域,该方法中在宽带接入服务器侧进行1∶N无状态的IPv4/IPv6翻译,并对每个用户上联家庭网关分配单一的IPv6/64前缀,该前缀既包含普通的IPv6地址,也包含一个嵌入共享公有IPv4地址的特殊IPv6地址,用户家庭网关对于该特殊的IPv6地址进行包含端口冲突检测的IPv4/IPv6翻译,家庭网关对用户的计算机分配共享的公有IPv4地址和普通IPv6地址,使用户可以共享稀缺的公有IPv4地址,与全球IPv4互联网进行双向发起的不需要应用层网关的端对端的通信,同时可以和全球IPv6互联网进行全功能通信。

著录项

  • 公开/公告号CN102143251A

    专利类型发明专利

  • 公开/公告日2011-08-03

    原文格式PDF

  • 申请/专利权人 清华大学;

    申请/专利号CN201110077396.6

  • 发明设计人 包丛笑;李星;翟宇;韩国梁;

    申请日2011-03-29

  • 分类号H04L29/12;H04L12/56;

  • 代理机构北京路浩知识产权代理有限公司;

  • 代理人王莹

  • 地址 100084 北京市海淀区清华园北京100084-82信箱

  • 入库时间 2023-12-18 03:04:41

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-10-02

    授权

    授权

  • 2011-09-28

    实质审查的生效 IPC(主分类):H04L29/12 申请日:20110329

    实质审查的生效

  • 2011-08-03

    公开

    公开

说明书

技术领域

本发明涉及计算机网络技术领域,特别涉及一种面向运营商非对称数字用户环线的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进行用户帐号的鉴权和控制,宽带服务器(BRAS)使用DHCPv6协议对用户家庭网关分配单个/64的IPv6前缀,主流的双栈用户计算机的IPv4地址通过DHCP协议获得,而对应的IPv6地址通过SLAAC方法获得,通过双栈技术实现用户计算机和IPv4/IPv6互联网之间的互访。

当这样的双栈用户通过IPv6网络(而不是双栈网络)需要与IPv4资源互访时,就需要使用无状态翻译技术IVI。目前IVI技术必须使用有状态DHCPv6配置用户计算机的IPv6地址,该地址一般不是/64,因此用于非对称数字用户环线用户具有一定的局限性。

发明内容

(一)要解决的技术问题

本发明要解决的技术问题是在沿用目前IPv6PPPoE协议及其相关IPv6地址分配的基础上在运营商非对称数字用户环线实现无状态翻译技术IVI。

(二)技术方案

为解决上述技术问题,本发明提供了一种面向运营商非对称数字用户环线的IPv4/IPv6翻译方法,在翻译之前,运营商为每个宽带接入服务器预留一段公有IPv4地址并决定其共享的复用比R,为每个宽带接入服务器预留一段前缀长度为/48的IPv6公有地址段;为共享该段IPv4地址的不同用户构造分配给该用户的前缀长度为/64的不同的IPv6地址段,其中包括用于该用户与IPv4互联网互通的一个特殊的IPv6地址和用于该用户与IPv6互联网通信的普通的IPv6地址;为每个用户上联的家庭网关配置该用户所使用的共享的公有IPv4地址、及其复用比R和该用户的共享序列号k;用户的计算机通过家庭网关从宽带接入服务器获得属于所述前缀长度为/64的不同的IPv6地址段,同时获得域名服务器的地址,家庭网关根据IPv6的/64前缀通过无状态IPv6地址配置协议SLAAC为用户计算机配置IPv6地址,通过DHCP协议为用户计算机分配IPv4地址,以及所述域名服务器的地址,

所述方法包括以下步骤:

S1:用户计算机通过常规域名服务器查询域名,若域名服务器仅返回A记录,则执行步骤S2,若域名服务器返回AAAA记录,则执行步骤S3;

S2:用户计算机发送IPv4分组,该用户的家庭网关接收所述IPv4分组,进行1∶1IPv4/IPv6分组翻译,并向宽带接入服务器转发翻译后得到的IPv6分组,执行步骤S4;

S3:用户计算机发送IPv6分组,该用户的家庭网关接收所述IPv6分组,直接进行IPv6分组转发;

S4:宽带接入服务器根据分组中目标地址对IPv6分组进行转发,若目标地址为特殊IPv6地址前缀,发至1∶N无状态IPv4/IPv6翻译器,否则,直接发至IPv6互联网;

S5:1∶N无状态IPv4/IPv6翻译器接收IPv6分组,将其翻译为IPv4分组并转发;

S6:全球互联网上的目标IPv4计算机接收IPv4分组;

S7:所述目标IPv4计算机向所述用户计算机发送IPv4分组;

S8:1∶N无状态IPv4/IPv6翻译器接收IPv4分组,将其翻译为IPv6分组并转发;

S9:家庭网关接收IPv6分组,进行1∶1IPv4/IPv6分组翻译,翻译为IPv4分组,并转发;

S10:所述用户计算机接收IPv4分组;

S11:返回步骤S2。

其中,所述复用比R为2的整数倍并小于或等于256,所述共享序列号k的取值范围是0到R-1,计算机能够使用的端口号用取模的方法定义:k=P%R,其中%为取模运算符,P是端口号。

其中,所述为共享该段IPv4地址的不同用户构造分配给该用户的前缀长度为/64的不同的IPv6地址段的方式如下:

S1-1:在所述预留/48的IPv6公有地址中,为所述每个共享IPv4地址的用户构造与IPv4互联网通信的特殊IPv6地址,编址格式包括前缀构造和后缀构造;

S1-2:在预留的IPv4地址段中,取出一个公有IPv4地址a.b.c.d,共享此地址的每个用户的特殊IPv6地址前缀的构成规则为:比特0-47为所述预留的/48的IPv6公有地址前缀,比特48-55为所述IPv4地址a.b.cd的第四段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:仿照S1-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地址的、按照S1-2构造的特殊IPv6地址,源端口作端口映射;

S2-4:进行IPv4/IPv6分组翻译;

S2-5:直接发送IPv6分组。

其中,所述步骤S5具体包括:

S5-1:目标地址从表示整个IPv4互联网用户的特殊的IPv6地址前缀中得到IPv4地址,目标端口不变,

S5-2:源地址从所述嵌入共享公有IPv4地址的特殊IPv6地址中得到该用户的IPv4地址,若源端口不符合端口号P的范围,丢弃分组,若源端口符合端口号P的范围,源端口不变;

S5-3:进行IPv4/IPv6分组翻译;

S5-4:发送IPv4分组。

其中,所述步骤S8具体包括:

S8-1:目标地址翻译为嵌入共享公有IPv4地址的该用户特殊IPv6地址,目标端口不变;

S8-2:源地址翻译为表示整个IPv4互联网用户的特殊的IPv6地址,源端口不变;

S8-3:进行IPv4/IPv6分组翻译;

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:进行IPv4/IPv6分组翻译;

S9-5:发送IPv4分组,结束返回;

S9-6:直接发送IPv6分组。

其中,所述家庭网关为专用设备或在用户计算机上由软件实现。

(三)有益效果

通过本发明的方法实现了在沿用目前IPv6PPPoE协议及其相关IPv6地址分配的基础上,保持核心网地址无状态翻译和在家庭网关进行端口映射的情况下,采用二级翻译方法为运营商非对称数字用户环线用户实现端到端的IPv4/IPv6互访通信。

附图说明

图1是实现本发明方法的系统结构示意图;

图2是本发明方法中特殊IPv6地址的编码格式;

图3是本发明实施例的一种面向运营商非对称数字用户环线的IPv4/IPv6翻译方法的流程图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

本发明所述方法的关键技术包括:用于非对称数字用户环线用户的单一IPv6前缀的编址格式,共享公有IPv4地址的端口映射和采用二级翻译器的IPv4/IPv6分组翻译方法。

如图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,……,其中n的取值范围为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地址给用户计算机的方法,具有最好的适用性。

表3复用的IPv4公有地址和特殊IPv6地址映射表举例

工作流程为:

S1:用户计算机通过常规域名服务器查询域名,若域名服务器仅返回A记录,则执行步骤S2,若域名服务器返回AAAA记录,则执行步骤S3;

S2:用户计算机发送IPv4分组,该用户的家庭网关接收所述IPv4分组,进行1∶1IPv4/IPv6分组翻译,并向宽带接入服务器转发翻译后得到的IPv6分组,执行步骤S4;

所述步骤S2具体包括:

S2-1:判断分组版本,若为IPv4,执行步骤S2-2至2-4,若为IPv6,执行步骤S2-5;

S2-2:目标地址翻译为按照S1-3构造的特殊的IPv6地址,目标端口不变;

S2-3:源地址翻译为嵌入共享公有IPv4地址的、按照S1-2构造的特殊IPv6地址,源端口作端口映射;

S2-4:进行IPv4/IPv6分组翻译;

S2-5:直接发送IPv6分组;

S3:用户计算机发送IPv6分组,该用户的家庭网关接收所述IPv6分组,直接进行IPv6分组转发;

S4:宽带接入服务器根据分组中目标地址对IPv6分组进行转发,若目标地址为特殊IPv6地址前缀,发至1∶N无状态IPv4/IPv6翻译器,否则,直接发至IPv6互联网;

S5:1∶N无状态IPv4/IPv6翻译器接收IPv6分组,将其翻译为IPv4分组并转发;

所述步骤S5具体包括:

S5-1:目标地址从表示整个IPv4互联网用户的特殊的IPv6地址前缀中得到IPv4地址,目标端口不变,

S5-2:源地址从所述嵌入共享公有IPv4地址的特殊IPv6地址中得到该用户的IPv4地址,若源端口不符合上述定义的端口号P的范围,丢弃分组,若源端口符合上述定义的端口号P的范围,源端口不变,

S5-3:进行IPv4/IPv6分组翻译;

S5-4:发送IPv4分组;

S6:全球互联网上的目标IPv4计算机接收IPv4分组;

S7:所述目标IPv4计算机向所述用户计算机发送IPv4分组;

S8:1∶N无状态IPv4/IPv6翻译器接收IPv4分组,将其翻译为IPv6分组并转发;

所述步骤S8具体包括:

S8-1:目标地址翻译为嵌入共享公有IPv4地址的该用户特殊IPv6地址,目标端口不变;

S8-2:源地址翻译为表示整个IPv4互联网用户的特殊的IPv6地址,源端口不变,

S8-3:进行IPv4/IPv6分组翻译;

S8-4:发送IPv6分组;

S9:家庭网关接收IPv6分组,进行1∶1IPv4/IPv6分组翻译和转发;

所述步骤S9具体包括:

S9-1:判断目标地址是否为嵌入共享公有IPv4地址的特殊IPv6地址,若是,执行步骤S9-2至S9-5,若不是,执行步骤S9-6;

S9-2:目标地址从嵌入共享公有IPv4地址的特殊IPv6地址中得到所述用户的IPv4地址,目标端口作端口映射;

S9-3:源地址从表示整个IPv4互联网用户的特殊的IPv6地址中得到IPv4地址,源端口不变;

S9-4:进行IPv4/IPv6分组翻译;

S9-5:发送IPv4分组,结束返回;

S9-6:直接发送IPv6分组;

S10:所述用户计算机接收IPv4分组;

S11:返回步骤S2。

以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号