首页> 中国专利> 基于前缀分配的扩展双重无状态IPv4-IPv6翻译方法

基于前缀分配的扩展双重无状态IPv4-IPv6翻译方法

摘要

本发明公开了一种基于前缀分配的扩展双重无状态IPv4-IPv6翻译方法,该方法在主干网上部署核心翻译器,该核心翻译器根据用户前缀把默认IPv4地址和复用的位移值映射到公有IPv4地址和复用的位移值。该方法为每个用户部署用户侧翻译器,该用户侧翻译器配置默认的核心翻译器前缀、指定的IPv4地址、IPv4地址复用比和复用的位移值,并通过DHCPv6前缀分配模式获得该用户侧翻译器的IPv6前缀。该方法通过双重无状态翻译技术,使用户的IPv4计算机能够穿透纯IPv6网络与IPv4互联网进行通信。该方法通过动态的前缀分配及与IPv4地址和复用的位移值的映射,运营商可以更灵活地管理用于过渡的IPv6前缀和更有效地利用稀缺的公有IPv4地址资源。

著录项

  • 公开/公告号CN102904976A

    专利类型发明专利

  • 公开/公告日2013-01-30

    原文格式PDF

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

    申请/专利号CN201210406099.6

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

    申请日2012-10-23

  • 分类号H04L29/12(20060101);H04L12/749(20130101);

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

  • 代理人王莹

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

  • 入库时间 2024-02-19 17:37:56

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-02-18

    授权

    授权

  • 2013-03-13

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

    实质审查的生效

  • 2013-01-30

    公开

    公开

说明书

技术领域

本发明涉及计算机网络技术领域,特别涉及一种基于前缀分配的 扩展双重无状态IPv4-Pv6翻译方法。

背景技术

在过去的20多年中,伴随着互联网的快速发展,IPv4协议取得 了巨大成功。当前全球IPv4用户已经超过18亿,占到人口总数的 26.6%。然而,网络规模的急剧增长也突显出IPv4的一系列严重问题, 包括地址空间不足、路由可扩展性问题等。2011年2月,IANA将其 最后5个可用的/8IPv4地址空间分配给了区域Internet注册机构 (RIR),至此IPv4地址已经全部分配完。但是在我国,在即将到来 的三至五年内,IP地址的需求会非常强烈。于是IPv6协议被提上日 程,用来取代IPv4。IPv6具有巨大的地址空间(2^128),分层的编 址和路由机制,更好的端到端特性,更好的安全性和移动性支持等特 性。IPv6能够满足物联网络的庞大地址需求,具有大幅推进互联网发 展的潜力,是下一代互联网的支撑协议。

为实现IPv4到IPv6的过渡,IETF最早推荐从IPv4向IPv6过渡 采用双栈技术和隧道技术,全世界很多运营商在不同规模上进行了 IPv6的试验,少量信息提供商也提供了IPv6的服务,但到目前为止, IPv6网络的部署情况和信息资源的过渡情况仍然非常有限。实践证 明,用双栈和隧道的方式促进IPv6的过渡是行不通的,实现IPv4和 IPv6互联网共存互通的无状态翻译的方案才是解决IPv4到IPv6过渡 的唯一途径。

为实现IPv4和IPv6的互通,IETF最近提出的标准包括有状态翻 译方案NAT64和无状态翻译方案IVI。NAT64仅支持IPv6端发起的 通信,不具备可扩展性。在传统的IVI翻译方案中,想要真正的在两 台主机之间实现互通,还需要应用层网关支持IPv4/IPv6协议族之间 的翻译,而现在有很多私有的应用程序,想要它们都支持地址翻译是 暂时不可能的,因此双重翻译的草案被提了出来,通过第二次翻译, IPv6接入网中的IPv4用户可以和IPv4互联网中的用户互联互通,从 而解决了应用层网关的问题。而在实际电信运营商的部署中,不同的 用户需要被单独地认证、授权和计费,因此通常需要不同的前缀来进 行管理,这在一般的双重翻译方案中是无法做到的,于是基于前缀分 配的双重翻译草案被提了出来。在基于前缀分配的双重翻译草案中, 每个用户侧翻译器向运营商的宽带接入服务器请求一个/64的前缀, 并且按照管理员配置的翻译参数对报文进行翻译。但是,在这种方案 中,运营商需要给每一个用户配置一个特定的/64前缀,而且需要和 用户侧翻译器协商相应的翻译参数,不能动态指定前缀和参数。同时, 由电信运营商提供的用户侧翻译器,一般很难支持长度超过64位的 前缀的处理,因此将用户参数嵌入分配的前缀中的办法也是不可行 的。因此,如果运营商想要支持大量用户的话,管理成本极高。为解 决以上问题,我们提出了基于前缀分配的扩展双重无状态IPv4/IPv6 翻译方法,通过动态地分配前缀和用户侧翻译器的统一配置,将用户 管理的操作转移到核心翻译器上去,同时又保持了原有翻译方案的无 状态特性,具有很强的可扩展性。

发明内容

(一)要解决的技术问题

本发明要解决的技术问题是,针对现有技术的不足,提供一种基 于前缀分配的扩展双重无状态IPv4-Pv6翻译方法,来解决如何在保 持双重无状态翻译的可扩展性、端到端地址透明性和支持IPv4地址 复用等优点的同时,为运营商提供灵活的区分用户的前缀分配机制, 最大限度地方便其管理用户和稀缺的公有IPv4地址资源。

(二)技术方案

一种基于前缀分配的扩展双重无状态IPv4-IPv6翻译方法,包括:

S1:配置核心翻译器翻译参数,并根据所述翻译参数构建地址映 射表,该映射表为双向索引地址映射表,所述地址映射表包括:用户 编号、IPv4地址和偏移值;

S2:在宽带接入服务器上配置一个长度小于64位的前缀,供其 管理范围的所有用户侧翻译器使用,配置用户侧翻译器翻译参数;当 用户侧翻译器发出DHCPv6前缀请求时,宽带接入服务器随机从未被 分配的前缀空间中选取一个/64分配给用户侧翻译器。这个/64的前缀 是由用于扩展翻译的IPv6前缀P和用户编号连接而成的。用户侧翻 译器收到前缀通告后,将其配置为翻译专用前缀T;

S3:IPv4用户使用常规域名服务器查询域名;

S4:IPv4用户发送IPv4报文至用户侧翻译器;

S5:用户侧翻译器将IPv4报文翻译成IPv6报文后发送给核心翻 译器;

S6:核心翻译器收到IPv6报文后,首先检查源IPv6地址是否包 含在用于扩展翻译的IPv6前缀P范围内。如果不在此前缀范围内, 则丢弃此报文;否则执行步骤S7;

S7:核心翻译器根据前缀P,从IPv6报文的源地址中取出用户 编号,并查询地址映射表。如果映射表中没有该用户编号对应的表项, 则丢弃此报文;否则执行步骤S8;

S8:核心翻译器将IPv6报文翻译为IPv4报文并转发至IPv4互 联网中;

S9:翻译后的IPv4报文在IPv4互联网中通过路由传递至IPv4 服务器,IPv4服务器接收报文;

S10:IPv4服务器发送IPv4报文,并依路由传递至核心翻译器;

S11:核心翻译器接收IPv4报文,并由目标端口/标识符值及事 先配置的复用比R、连续参数M计算出IPv4目标地址的偏移值S;

S12:核心翻译器根据IPv4目标地址和偏移值S,在地址映射表 中查询对应的用户编号I。如果映射表中没有对应的表项,则丢弃此 报文;否则执行步骤S13;

S13:核心翻译器将IPv4报文翻译为IPv6报文,并将翻译后的 IPv6报文转发至运营商IPv6接入网中;

S14:用户侧翻译器将IPv6报文翻译回IPv4报文,并将翻译后 的IPv4报文发送出去;

S15:IPv4用户接收到IPv4报文,返回S4,直至该进程结束。

其中,在S 1中,所述核心翻译器翻译参数包括:复用比R、连 续参数M、用于翻译的默认IPv6/64前缀D、用于扩展翻译的IPv4 首地址F、地址池大小L和IPv6前缀P。

其中,在S2中,所述侧翻译器翻译参数包括:复用比R、连续 参数M、默认IPv6/64前缀D、偏移值K=0和指定的IPv4地址 A=10.255.255.1;其中R、M和D须与要求S1中核心翻译器的配置 相等。

其中,在S2中,宽带接入服务器上配置的长度小于64位的前缀, 其地址空间包含在用于扩展翻译的前缀P的地址空间中,不同宽带接 入服务器的前缀的地址空间不能相互重叠;当用户侧翻译器从相应的 宽带接入服务器处动态获取到一个/64前缀时,该前缀由用于扩展翻 译的前缀P和用户编号I连接而成,且该用户编号I在运营商的范围 内是唯一而可辨识的。

其中,所述用户侧翻译器上配置的复用比R、连续参数M和偏 移值K的作用为:用来控制翻译后的IPv6报文的源端口或源标识符, 设源端口或标识符为N,则N=R*M*j+M*K+i,其中i取值[0,M-1], j取值为[1024/M/R,65536/M/R-1],K取值为0。

其中,所述用户侧翻译器将IPv4报文的源地址翻译为指定的IPv4 地址A并保存状态,然后根据RFC6052规则,把32位的IPv4地址 镶嵌在128位的IPv6地址中,翻译IPv4目标地址和IPv4源地址,根 据RFC6145规则进行对IPv4分组头和IPv6分组头映射的协议翻译, 翻译后的IPv6目标地址是由默认前缀D、u字节、紧随其后的IPv4 目标地址和零填充位组成的;翻译后的IPv6源地址是由本翻译器的 专用前缀T、u字节、紧随其后的IPv4源指定地址A和默认的K=0 及零填充位组成的。

其中,在S8中,所述核心翻译器首先从地址映射表中取出用户 编号对应的IPv4地址和偏移值S,将此IPv4地址作为翻译后IPv4报 文的源地址,目标地址取自IPv6目标地址的第72-103位;然后根据 RFC6145规则对IPv6报文进行协议翻译,最后根据偏移值S和事先 配置的连续参数M,对TCP报文/UDP报文的目标端口值或者ICMP 信息报文的目标标识符值进行调整,并更新相应的检验和。

其中,在S8中,核心翻译器源端口或源标识符的调整方法如下: 所述核心翻译器通过查询地址映射表,将指定的IPv4地址A映射到 相应的用于扩展翻译的IPv4地址,将源偏移值0映射为用于扩展翻 译的偏移值S,根据计算公式:N=R*M*j+M*K+i,对源端口或源 偏移值进行调整;设调整前的源端口或源标识符为N,调整后的源端 口或源标识符为N’,则N’=N+M*S。

其中,在S13中,翻译后的IPv6目标地址是由用于扩展翻译的 IPv6前缀P、用户编号I、u字节、紧随其后的用户侧翻译器的默认 IPv4地址A和默认的K=0及零填充位组成的;IPv6源地址是由默认 前缀D、u字节、紧随其后的IPv4源地址和零填充位组成的。然后根 据目标端口和事先配置的复用比R、连续参数M算出相应的偏移值S, 并根据RFC6145规则对IPv4报文进行协议翻译。最后根据偏移值S 和事先配置的连续参数M,对TCP报文/UDP报文的目标端口值或者 ICMP信息报文的目标标识符值进行反向调整,并更新相应的检验和。

其中,在S13中,所述核心翻译器目标端口或目标标识符的调整 方法如下:所述核心扩展翻译器通过查询地址映射表,将用于扩展翻 译的IPv4目标地址映射到指定的IPv4地址A,将用于扩展翻译的目 标偏移值S映射为0,根据计算公式N=R*M*j+M*K+i,将目标端 口或目标偏移值做出反向调整。设反向调整前的目标端口或目标标识 符为N’,反向调整后为N,则N=N’-M*S。

其中,在S14中,IPv4目标地址和源地址分别取自IPv6目标地 址和源地址的第72-103位,同时因为IPv4目标地址是指定的IPv4 地址A,将其映射为用户的私有地址,然后根据RFC6145规则对IPv6 报文进行协议翻译。

(三)有益效果

本发明通过在核心翻译器上查询无状态映射表,使得用户可以动 态的获取前缀,在保持双重无状态翻译的可扩展性、端到端地址透明 性和支持IPv4地址复用等优点的同时,还为运营商提供了区分用户 的灵活的前缀分配机制。在本方法中,运营商可以动态地为用户侧翻 译器分配/64前缀,从而可以更灵活地管理用于翻译的IPv6前缀,并 且更有效地利用稀缺的公有IPv4地址资源。

附图说明

图1为实现本发明方法的一种系统结构图;

图2为本发明基于前缀分配的扩展双重无状态IPv4-Pv6翻译方法 步骤流程图。

具体实施方式

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

实现本发明的系统结构如图1所示,在IPv4互联网和运营商的 IPv6接入网之间部署核心翻译器,在IPv6接入网中部署宽带接入服 务器,IPv6接入网的边缘部署用户侧翻译器,并连接到宽带接入服 务器上,向其请求/64的前缀,IPv4用户计算机连接到用户侧翻译器 上。本发明方法的具体流程如图2所示,具体步骤如下:

S1:配置核心翻译器翻译参数,并根据所述翻译参数构建地址映 射表,该映射表为双向索引地址映射表,所述地址映射表包括:用户 编号、IPv4地址和偏移值;

S2:在宽带接入服务器上配置一个长度小于64位的前缀,供其 管理范围的所有用户侧翻译器使用,配置用户侧翻译器翻译参数;当 用户侧翻译器发出DHCPv6前缀请求时,宽带接入服务器随机从未被 分配的前缀空间中选取一个/64分配给用户侧翻译器。这个/64的前缀 是由用于扩展翻译的IPv6前缀P和用户编号连接而成的。用户侧翻 译器收到前缀通告后,将其配置为翻译专用前缀T;

S3:IPv4用户使用常规域名服务器查询域名;

S4:IPv4用户发送IPv4报文至用户侧翻译器;

S5:用户侧翻译器将IPv4报文翻译成IPv6报文后发送给核心翻 译器;

S6:核心翻译器收到IPv6报文后,首先检查源IPv6地址是否包 含在用于扩展翻译的IPv6前缀P范围内。如果不在此前缀范围内, 则丢弃此报文;否则执行步骤S7;

S7:核心翻译器根据前缀P,从IPv6报文的源地址中取出用户 编号,并查询地址映射表。如果映射表中没有该用户编号对应的表项, 则丢弃此报文;否则执行步骤S8;

S8:核心翻译器将IPv6报文翻译为IPv4报文并转发至IPv4互 联网中;

S9:翻译后的IPv4报文在IPv4互联网中通过路由传递至IPv4 服务器,IPv4服务器接收报文;

S10:IPv4服务器发送IPv4报文,并依路由传递至核心翻译器;

S11:核心翻译器接收IPv4报文,并由目标端口/标识符值及事 先配置的复用比R、连续参数M计算出IPv4目标地址的偏移值S;

S12:核心翻译器根据IPv4目标地址和偏移值S,在地址映射表 中查询对应的用户编号I。如果映射表中没有对应的表项,则丢弃此 报文;否则执行步骤S13;

S13:核心翻译器将IPv4报文翻译为IPv6报文,并将翻译后的 IPv6报文转发至运营商IPv6接入网中;

S14:用户侧翻译器将IPv6报文翻译回IPv4报文,并将翻译后 的IPv4报文发送出去;

S15:IPv4用户接收到IPv4报文,返回S4,直至该进程结束。

在S1中,所述核心翻译器翻译参数包括:复用比R、连续参数 M、用于翻译的默认IPv6/64前缀D、用于扩展翻译的IPv4首地址F、 地址池大小L和IPv6前缀P。

在S2中,所述侧翻译器翻译参数包括:复用比R、连续参数M、 默认IPv6/64前缀D、偏移值K=0和指定的IPv4地址A=10.255.255.1; 其中R、M和D须与要求S1中核心翻译器的配置相等;宽带接入服 务器上配置的长度小于64位的前缀,其地址空间包含在用于扩展翻 译的前缀P的地址空间中,不同宽带接入服务器的前缀的地址空间不 能相互重叠;当用户侧翻译器从相应的宽带接入服务器处动态获取到 一个/64前缀时,该前缀由用于扩展翻译的前缀P和用户编号I连接 而成,且该用户编号I在运营商的范围内是唯一而可辨识的;所述用 户侧翻译器上配置的复用比R、连续参数M和偏移值K的作用为: 用来控制翻译后的IPv6报文的源端口或源标识符,设源端口或标识 符为N,则N=R*M*j+M*K+i,其中i取值[0,M-1],j取值为 [1024/M/R,65536/M/R-1],K取值为0。

在S5中,所述用户侧翻译器将IPv4报文的源地址翻译为指定的 IPv4地址A并保存状态,然后根据RFC6052规则,把32位的IPv4 地址镶嵌在128位的IPv6地址中,翻译IPv4目标地址和IPv4源地址, 根据RFC6145规则进行对IPv4分组头和IPv6分组头映射的协议翻 译,翻译后的IPv6目标地址是由默认前缀D、u字节、紧随其后的 IPv4目标地址和零填充位组成的;翻译后的IPv6源地址是由本翻译 器的专用前缀T、u字节、紧随其后的IPv4源指定地址A和默认的 K=0及零填充位组成的。

在S8中,所述核心翻译器首先从地址映射表中取出用户编号对 应的IPv4地址和偏移值S,将此IPv4地址作为翻译后IPv4报文的源 地址,目标地址取自IPv6目标地址的第72-103位;然后根据RFC6145 规则对IPv6报文进行协议翻译,最后根据偏移值S和事先配置的连 续参数M,对TCP报文/UDP报文的目标端口值或者ICMP信息报文 的目标标识符值进行调整,并更新相应的检验和;核心翻译器源端口 或源标识符的调整方法如下:所述核心翻译器通过查询地址映射表, 将指定的IPv4地址A映射到相应的用于扩展翻译的IPv4地址,将源 偏移值0映射为用于扩展翻译的偏移值S,根据计算公式:N=R*M*j +M*K+i,对源端口或源偏移值进行调整;设调整前的源端口或源 标识符为N,调整后的源端口或源标识符为N’,则N’=N+M*S。

在S13中,翻译后的IPv6目标地址是由用于扩展翻译的IPv6前 缀P、用户编号I、u字节、紧随其后的用户侧翻译器的默认IPv4地 址A和默认的K=0及零填充位组成的;IPv6源地址是由默认前缀D、 u字节、紧随其后的IPv4源地址和零填充位组成的。然后根据目标端 口和事先配置的复用比R、连续参数M算出相应的偏移值S,并根据 RFC6145规则对IPv4报文进行协议翻译。最后根据偏移值S和事先 配置的连续参数M,对TCP报文/UDP报文的目标端口值或者ICMP 信息报文的目标标识符值进行反向调整,并更新相应的检验和;所述 核心翻译器目标端口或目标标识符的调整方法如下:所述核心扩展翻 译器通过查询地址映射表,将用于扩展翻译的IPv4目标地址映射到 指定的IPv4地址A,将用于扩展翻译的目标偏移值S映射为0,根据 计算公式N=R*M*j+M*K+i,将目标端口或目标偏移值做出反向调 整。设反向调整前的目标端口或目标标识符为N’,反向调整后为N, 则N=N’M*S。

在S14中,IPv4目标地址和源地址分别取自IPv6目标地址和源 地址的第72-103位,同时因为IPv4目标地址是指定的IPv4地址A, 将其映射为用户的私有地址,然后根据RFC6145规则对IPv6报文进 行协议翻译。

基于RFC6145的双重翻译算法可以再加上由RFC2473所定义的 IPv4到IPv6的封装。在从IPv6到IPv4的翻译过程中,可以根据IPv6 头中的“下一个头”的域值决定是否需要解封装,还是直接进行翻译 处理。

下面以一个具体例子来说明本发明:

运营商为核心翻译器预留的IPv4首地址为202.38.117.65,地址 池长度为6,IPv6前缀为2001:da8:b4b6:1000::/56,复用比为4,连续 参数为2。某个宽带接入服务器配置的用来分配的聚合前缀为 2001:da8:b4b6:1000:/60。某用户侧翻译器连接至此宽带接入服务器, 并请求到前缀2001:da8:b4b6:1006:/64。翻译的默认前缀D为 2001:da8:b4b6:10ff:/64,指定的IPv4地址为10.255.255.1,偏移值为0。 用户计算机通过DHCP获得私有地址192.168.1.3/24,IPv4互联网中 的服务器地址为119.75.217.109,端口为80。

核心扩展翻译器内构建的地址映射表如下表所示。

  用户编号   IPv4地址   偏移值   1   202.38.117.65   0   2   202.38.117.65   1   3   202.38.117.65   2   4   202.38.117.65   3

  5   202.38.117.66   0   6   202.38.117.66   1   7   202.38.117.66   2   8   202.38.117.66   3   9   202.38.117.67   0   10   202.38.117.67   1   11   202.38.117.67   2   12   202.38.117.67   3   13   202.38.117.68   0   14   202.38.117.68   1   15   202.38.117.68   2   16   202.38.117.68   3   17   202.38.117.69   0   18   202.38.117.69   1   19   202.38.117.69   2   20   202.38.117.69   3   21   202.38.117.70   0   22   202.38.117.70   1   23   202.38.117.70   2   24   202.38.117.70   3

用户计算机192.168.1.3/24发起对IPv4服务器119.75.217.109的 80端口的访问,生成的随机源端口为12345。用户侧翻译器收到IPv4 报文,将源地址转换为指定的IPv4地址10.255.255.1,随即进入 IPv4/IPv6翻译例程。在翻译后的IPv6报文中,源端口根据N=R*M*j +M*K+i被转换为12344,目标端口为80。源地址为 2001:da8:b4b6:1006:a:ffff:100::,目标地址为 2001:da8:b4b6:10ff:77:4bd9:6d00::。该IPv6报文被用户侧翻译器转发 至IPv6接入网中。

核心扩展翻译器收到此IPv6报文,根据源地址算出用户编号为 6,在地址映射表中查询相应的表项,查到相应的IPv4地址为 202.38.117.66,偏移值为1。于是在翻译后的IPv4报文中,源地址为 202.38.117.66,目标地址为119.75.217.109,源端口被调整为12344+ 2*1=12346,目标端口为80。该IPv4报文被核心扩展翻译器转发至 IPv4互联网中。IPv4服务器接收此报文并传递至应用层处理。

当IPv4服务器返回IPv4报文时,目标地址是 202.38.117.66#12346,源地址为119.75.217.109#80,该报文被转发至 核心翻译器。核心扩展翻译器根据目标端口和复用比R、连续参数M 算出偏移值为1,并在地址映射表中根据目标IPv4地址和偏移值查到 对应的用户编号为6。于是在翻译后的IPv6报文中,目标端口被调整 为12346-2*1=12344,目标地址为2001:da8:b4b6:1006:a:ffff:100::, 源地址根据默认前缀翻译,为2001:da8:b4b6:10ff:77:4bd9:6d00::,源 端口仍为80。该IPv6报文被核心扩展翻译器转发至IPv6接入网中。

用户侧翻译器接收此IPv6报文,先将IPv6报文翻译成IPv4报文, 源地址为119.75.217.109#80,目标地址为10.255.255.1#12344,然后 将指定的IPv4目标地址转换为私有地址192.168.1.3,目标端口转换 为原来的12345,转发至用户计算机。用户计算机接收此IPv4报文并 传递至应用层处理。

这个过程反复进行直到通信完成。

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

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号