CN102904976B - 基于前缀分配的扩展双重无状态IPv4-IPv6翻译方法 - Google Patents
基于前缀分配的扩展双重无状态IPv4-IPv6翻译方法 Download PDFInfo
- 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
Links
Abstract
本发明公开了一种基于前缀分配的扩展双重无状态IPv4-IPv6翻译方法,该方法在主干网上部署核心翻译器,该核心翻译器根据用户前缀把默认IPv4地址和复用的位移值映射到公有IPv4地址和复用的位移值。该方法为每个用户部署用户侧翻译器,该用户侧翻译器配置默认的核心翻译器前缀、指定的IPv4地址、IPv4地址复用比和复用的位移值,并通过DHCPv6前缀分配模式获得该用户侧翻译器的IPv6前缀。该方法通过双重无状态翻译技术,使用户的IPv4计算机能够穿透纯IPv6网络与IPv4互联网进行通信。该方法通过动态的前缀分配及与IPv4地址和复用的位移值的映射,运营商可以更灵活地管理用于过渡的IPv6前缀和更有效地利用稀缺的公有IPv4地址资源。
Description
技术领域
本发明涉及计算机网络技术领域,特别涉及一种基于前缀分配的扩展双重无状态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报文进行协议翻译。
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)
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5018654B2 (ja) * | 2008-06-06 | 2012-09-05 | 沖電気工業株式会社 | 通信システム |
-
2012
- 2012-10-23 CN CN201210406099.6A patent/CN102904976B/zh active Active
Patent Citations (5)
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)
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 |