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

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

Info

Publication number
CN102904976B
CN102904976B CN201210406099.6A CN201210406099A CN102904976B CN 102904976 B CN102904976 B CN 102904976B CN 201210406099 A CN201210406099 A CN 201210406099A CN 102904976 B CN102904976 B CN 102904976B
Authority
CN
China
Prior art keywords
ipv4
address
ipv6
message
translation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210406099.6A
Other languages
English (en)
Other versions
CN102904976A (zh
Inventor
包丛笑
李星
韩国梁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN201210406099.6A priority Critical patent/CN102904976B/zh
Publication of CN102904976A publication Critical patent/CN102904976A/zh
Application granted granted Critical
Publication of CN102904976B publication Critical patent/CN102904976B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

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

Description

基于前缀分配的扩展双重无状态IPv4-IPv6翻译方法
技术领域
本发明涉及计算机网络技术领域,特别涉及一种基于前缀分配的扩展双重无状态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报文并传递至应用层处理。
这个过程反复进行直到通信完成。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

Claims (11)

1.一种基于前缀分配的扩展双重无状态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,直至进程结束。 
2.如权利要求1所述的翻译方法,其特征在于,在S1中,所述核心翻译器翻译参数包括:复用比R、连续参数M、用于翻译的默认IPv6/64前缀D、用于扩展翻译的IPv4首地址F、地址池大小L和IPv6前缀P。 
3.如权利要求1所述的翻译方法,其特征在于,在S2中,所述侧翻译器翻译参数包括:复用比R、连续参数M、默认IPv6/64前缀D、偏移值K=0和指定的IPv4地址A=10.255.255.1;其中R、M和D须与要求S1中核心翻译器的配置相等。 
4.如权利要求3所述的翻译方法,其特征在于,在S2中,宽带接入服务器上配置的长度小于64位的前缀,其地址空间包含在用于扩展翻译的前缀P的地址空间中,不同宽带接入服务器的前缀的地址空间不能相互重叠;当用户侧翻译器从相应的宽带接入服务器处动态获取到一个/64前缀时,该前缀由用于扩展翻译的前缀P和用户编号I连接而成,且该用户编号I在运营商的范围内是唯一而可辨识的。 
5.如权利要求4所述的翻译方法,其特征在于,所述用户侧翻译器上配置的复用比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。 
6.如权利要求1所述的翻译方法,其特征在于,在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及零填充位组成的。 
7.如权利要求1所述的翻译方法,其特征在于,在S8中,所述核心翻译器首先从地址映射表中取出用户编号对应的IPv4地址和偏移值S,将此IPv4地址作为翻译后IPv4报文的源地址,目标地址取自IPv6目标地址的第72-103位;然后根据RFC6145规则对IPv6报文进行协议翻译,最后根据偏移值S和事先配置的连续参数M,对TCP报文/UDP报文的目标端口值或者ICMP信息报文的目标标识符值进行调整,并更新相应的检验和。 
8.如权利要求7所述的翻译方法,其特征在于,在S8中,核心翻译器源端口或源标识符的调整方法如下:所述核心翻译器通过查询地址映射表,将指定的IPv4地址A映射到相应的用于扩展翻译的IPv4地址,将源偏移值K=0映射为用于扩展翻译的偏移值S,根据计算公式:N=R*M*j+M*K+i,对源端口或源偏移值进行调整;设调整前的源端口或源标识符为N,调整后的源端口或源标识符为N’,则N’=N+M*S。 
9.如权利要求1所述的翻译方法,其特征在于,在S13中,翻译后的IPv6目标地址是由用于扩展翻译的IPv6前缀P、用户编号I、 u字节、紧随其后的用户侧翻译器的默认IPv4地址A和默认的K=0及零填充位组成的;IPv6源地址是由默认前缀D、u字节、紧随其后的IPv4源地址和零填充位组成的,然后根据目标端口和事先配置的复用比R、连续参数M算出相应的偏移值S,并根据RFC6145规则对IPv4报文进行协议翻译,最后根据偏移值S和事先配置的连续参数M,对TCP报文/UDP报文的目标端口值或者ICMP信息报文的目标标识符值进行反向调整,并更新相应的检验和。 
10.如权利要求9所述的翻译方法,其特征在于,在S13中,所述核心翻译器目标端口或目标标识符的调整方法如下:所述核心扩展翻译器通过查询地址映射表,将用于扩展翻译的IPv4目标地址映射到指定的IPv4地址A,将用于扩展翻译的目标偏移值S映射为0,根据计算公式N=R*M*j+M*K+i,将目标端口或目标偏移值做出反向调整,设反向调整前的目标端口或目标标识符为N’,反向调整后为N,则N=N’-M*S。 
11.如权利要求1所述的翻译方法,其特征在于,在S14中,IPv4目标地址和源地址分别取自IPv6目标地址和源地址的第72-103位,同时因为IPv4目标地址是指定的IPv4地址A,将其映射为用户的私有地址,然后根据RFC6145规则对IPv6报文进行协议翻译。 
CN201210406099.6A 2012-10-23 2012-10-23 基于前缀分配的扩展双重无状态IPv4-IPv6翻译方法 Active CN102904976B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210406099.6A CN102904976B (zh) 2012-10-23 2012-10-23 基于前缀分配的扩展双重无状态IPv4-IPv6翻译方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210406099.6A CN102904976B (zh) 2012-10-23 2012-10-23 基于前缀分配的扩展双重无状态IPv4-IPv6翻译方法

Publications (2)

Publication Number Publication Date
CN102904976A CN102904976A (zh) 2013-01-30
CN102904976B true CN102904976B (zh) 2015-02-18

Family

ID=47577010

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210406099.6A Active CN102904976B (zh) 2012-10-23 2012-10-23 基于前缀分配的扩展双重无状态IPv4-IPv6翻译方法

Country Status (1)

Country Link
CN (1) CN102904976B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104717639A (zh) * 2013-12-17 2015-06-17 北京邮电大学 一种移动客户端访问互联网的方法和接入网关服务器
CN103888555A (zh) * 2014-03-26 2014-06-25 清华大学 一种IPv4/IPv6无状态翻译算法
CN103873605B (zh) * 2014-03-26 2017-03-29 清华大学 使用IPv4私有地址的无状态翻译方法
CN107231450A (zh) * 2016-03-25 2017-10-03 中兴通讯股份有限公司 一种实现网络访问的方法和装置
CN108566345B (zh) * 2018-03-09 2020-12-04 清华大学 流量调度处理方法、用户侧翻译器和核心翻译器
US11606418B2 (en) 2018-08-03 2023-03-14 Samsung Electronics Co., Ltd. Apparatus and method for establishing connection and CLAT aware affinity (CAA)-based scheduling in multi-core processor
CN111131047A (zh) * 2019-12-30 2020-05-08 江苏有线数据网络有限责任公司 实现家庭宽带从IPv4过渡至IPv6的转换控制系统及其方法
CN113783974B (zh) * 2021-09-09 2023-06-13 烽火通信科技股份有限公司 一种动态下发map域规则的方法及装置
CN113645326B (zh) * 2021-10-13 2021-12-24 北京英迪瑞讯网络科技有限公司 用于IPv4/IPv6访问的准无状态自适应映射方法
CN114945013B (zh) * 2022-04-28 2023-10-27 中国电信股份有限公司 数据转发方法、装置、电子设备及计算机可读存储介质
CN115277138B (zh) * 2022-07-15 2023-09-22 绿盟科技集团股份有限公司 一种强制访问控制方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1476206A (zh) * 2003-07-14 2004-02-18 中国科学院计算技术研究所 一种利用双重隧道机制穿透nat的方法
US7764691B2 (en) * 2007-03-15 2010-07-27 Microsoft Corporation Allowing IPv4 clients to communicate using teredo addresses when both clients are behind a NAT
CN102255976A (zh) * 2010-05-21 2011-11-23 华为终端有限公司 选择IPv4-IPv6协议翻译模块的方法、装置及终端
CN102394947A (zh) * 2011-10-31 2012-03-28 福建星网锐捷网络有限公司 IPv4与IPv6的地址翻译方法、装置、系统及ALG设备
CN102739809A (zh) * 2011-04-07 2012-10-17 中国电信股份有限公司 DNS64数据库、服务器、系统和IPv4/IPv6通信方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5018654B2 (ja) * 2008-06-06 2012-09-05 沖電気工業株式会社 通信システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1476206A (zh) * 2003-07-14 2004-02-18 中国科学院计算技术研究所 一种利用双重隧道机制穿透nat的方法
US7764691B2 (en) * 2007-03-15 2010-07-27 Microsoft Corporation Allowing IPv4 clients to communicate using teredo addresses when both clients are behind a NAT
CN102255976A (zh) * 2010-05-21 2011-11-23 华为终端有限公司 选择IPv4-IPv6协议翻译模块的方法、装置及终端
CN102739809A (zh) * 2011-04-07 2012-10-17 中国电信股份有限公司 DNS64数据库、服务器、系统和IPv4/IPv6通信方法
CN102394947A (zh) * 2011-10-31 2012-03-28 福建星网锐捷网络有限公司 IPv4与IPv6的地址翻译方法、装置、系统及ALG设备

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
IPv4/IPv6 transition technologies and univer6 architecture;Jun Bi, Jianping Wu, Xiaoxiang Leng;《International Journal of Computer Science and Network Security》;20070131;第7卷(第1期);全文 *
Wai-xi Liu,Run-hua Tang,Hui Li,Xiao Hu.Design of an IPv4/IPv6 Translator Based on SOPC Technology.《IEEE International Conference on Networking, Sensing and Control, 2008》.2008, *
X.Li,C.Bao,F.Baker.IP/ICMP Translation Algorithm.《Internet Engineering Task Force》.2011, *
包丛笑,李星.基于无状态翻译的IPv4/IPv6过渡技术(ⅠⅤⅠ).《下一代互联网与应用研讨会 》.2011, *

Also Published As

Publication number Publication date
CN102904976A (zh) 2013-01-30

Similar Documents

Publication Publication Date Title
CN102904976B (zh) 基于前缀分配的扩展双重无状态IPv4-IPv6翻译方法
CN102025591B (zh) 虚拟专用网络的实现方法及系统
CN1711739B (zh) 支持穿过网络地址转换机制的 6to4 遂道协议的方法和设备
CN102347993B (zh) 一种网络通信的方法和设备
Atkinson et al. Evolving the internet architecture through naming
EP2583433B1 (en) 4t06 network stack for ipv4 applications
CN104270475B (zh) 基于NAT64实现IPv4网络与IPv6网络互通的系统及方法
CN103338151B (zh) 公网客户端访问私网服务器的方法及路由器
CN104283980A (zh) 一种地址解析协议代答方法和装置
CN102209121A (zh) IPv6网络和IPv4网络之间互通的方法和装置
US20100046517A1 (en) Address translator using address translation information in header area on network layer level and a method therefor
CN102447752A (zh) 基于二层隧道协议的业务访问方法、系统和装置
CN102394947B (zh) IPv4与IPv6的地址翻译方法、装置、系统及ALG设备
Chandra et al. A comparative study on IPv4 and IPv6
CN102938735A (zh) 使用路由通告携带选项下发nat64地址前缀的方法
CN102238058A (zh) 数据报文处理方法、入口隧道路由器及系统
Chauhan et al. A survey on next generation Internet Protocol: IPv6
CN102025604A (zh) 一种承载网络及数据传输方法
US9667592B2 (en) Efficient utilization of internet protocol addresses
CN101938531A (zh) 一种IPv4网络与IPv6网络通信的方法、系统及装置
CN101355568B (zh) 一种静态pat支持绑定路由器接口的方法及系统
Hamarsheh et al. Transition to IPv6 protocol, Where we are?
CN101262410B (zh) 基于nat-pt的dns应用层网关的实现方法
CN103024096A (zh) 一种在cgn网络中快速互联网访问的方法
Hamarsheh Deploying IPv4-only connectivity across local IPv6-only access networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant