本页使用了标题或全文手工转换

IPv6过渡机制

维基百科,自由的百科全书
跳到导航 跳到搜索

IPv6过渡机制指那些用来促进InternetIPv4架构向下一代地址系统——IPv6过渡的技术。具体来说,就是那些允许仅与IPv4或IPv6网络连接的主机能够访问与之不同协议下资源的方法。

为了达到IPv6的技术标准,必须有简单有效的过渡方案从现有的IPv4过渡到IPv6。互联网工程任务组(IETF)通过IETF的Internet草案RFC来指导相关工作组讨论开发这些方法。一些基础的IPv6过渡机制定义在 RFC 4213 中。

无状态IP/ICMP转换[编辑]

无状态IP/ICMP转换(SIIT)是在IPv6IPv4报文头格式之间进行转换。SIIT方法定义一类被称为IPv4转换(IPv4-translated)地址的IPv6地址。这类地址的前缀为::ffff:0:0/96,也可被写作::ffff:a.b.c.d,其中IPv4格式的地址a.b.c.d表示一个使能IPv6(IPv6-enabled)的节点。选择这个前缀是为了生成一个为0的校验值,以此来避免改变传输协议头中的校验值。[1]

此算法可以使IPv6主机无需拥有一个永久的IPv4地址就能与仅有IPv4的主机通信。地址分配和路由的细节并没有在此规范中被提及。

这个规范由NGTRANS IETF工作组制订,草案由Sun Microsystems的E. Nordmark于2000年2月作为RFC 2765发布。2011年,RFC 2765被RFC 6145代替[2]。RFC 2765的地址格式化部分被定义在RFC 6052中[3]

RFC 6144定义IPv4/IPv6转换的框架[4]

隧道中间人[编辑]

隧道中间人将IPv6流量封装在IPv4互联网的传输链接中(通常使用6in4),从而提供IPv6连接。也就是在IPv4互联网上建立IPv6隧道,而这些隧道可以通过隧道设置协议(TSP)或AYIYA来管理。[5]

6rd[编辑]

6rd是一种在ISPIPv4架构上实现快速部署IPv6服务的机制。它使用IPv4IPv6之间的无状态地址映射,在用户节点之间建立自动隧道,以IPv4报文的形式传输IPv6报文。

此方案第一次被大规模部署是在2007年末(RFC 5569 [6])。 RFC 5969[7]详述了此协议。

传输中继转换[编辑]

RFC 3142 定义传输中继转换(TRT)方法。这是最常见的NAT-PT/NAPT-PT形式,只不过其依赖于在AAAA与A记录之间的DNS转换,这种转换机制被称为DNS-ALG,定义在 RFC 2694

NAT64[编辑]

NAT64 和 DNS64

NAT64是一种可以让IPv6主机与IPv4服务器通信的机制。NAT64服务器需要至少一个IPv4地址和一个32位的IPv6网段(例如:64:ff9b::/96,见 RFC 6052RFC 6146 )。IPv6客户端将希望与之通信的IPv4地址嵌入在这32位之中,并将数据包发往生成的地址。NAT64服务器则创建IPv6与IPv4地址间的NAT映射,使得它们可以彼此通信。[8]

DNS64[编辑]

DNS64是指一种专门的DNS服务器,当它处理某个域的AAAA记录查询时,如果只找到了A记录,那么它会用A记录来合成AAAA记录。合成的IPv6地址的第一部分指向一个IPv6/IPv4的转换器,而第二部分则嵌入了A记录的IPv4地址。指向的转换器通常是一个NAT64服务器。DNS64的标准在RFC 6147中规定。[9]

这种过渡机制存在两个值得注意的问题:

  • 它只适合使用DNS查找远程主机地址的情形,如果直接使用IPv4地址,DNS64将不会参与。
  • 因为DNS64服务器需要返回并非域所有者所指定的记录,因此如果执行转换的DNS服务器不是域所有者的服务器,对DNSSEC校验将会失败。

ISATAP[编辑]

ISATAP是一种IPv6过渡机制,在双栈节点之间通过IPv4网络传输IPv6数据包。

不同于6over4(较早的基于IPv4多播的类似协议),ISATAP将IPv4用作虚拟的非广播多路访问网络(NBMA)的数据链路层,因此底层的IPv4网络架构无需支持多播。

464XLAT[编辑]

464XLAT(RFC 6877)可以使仅有IPv6网络上的客户端访问仅有IPv4的互联网服务(例如 Skype)。[10][11]

客户端(例如Skype)通过SIIT转换器将IPv4数据包转换成IPv6,然后(通过仅有IPv6的网络)发送到NAT64转换器。NAT64转换器将IPv6数据包重新转换回IPv4,最后(通过支持IPv4的网络)发送到仅有IPv4的服务器(例如Skype服务器)。SIIT转换器(客户端转换器,CLAT:customer-side translator)可以由客户端自己实现,也可以在支持IPv4的中间网络上实现(如果互联网也支持IPv4,那就不需要464XLAT了);NAT64转换器(服务端转换器,PLAT:provider-side translator)必须可以同时联系到服务器和客户端(通过CLAT)。

Dual-Stack Lite (DS-Lite)[编辑]

DS-Lite

Dual-Stack Lite 是一种使用 IPv4-over-IPv6 隧道将 IPv4 数据包发送到 ISP 来实现 IPv4 私网地址用户穿越IPv6网络访问IPv4公网的解决方案。

客户端设备 (CPE) 将IPv4 数据包封装到 IPv6 数据包中,随后将数据包发送到 ISP 的运营商级 NAT (CGN)。CGN收到数据包后,将其还原为 IPv4 数据包,在进行 NAT 处理后发送到 IPv4 互联网。 CGN 通过记录 IPv6 源地址,私有 IPv4 地址,以及 TCP 或 UDP 端口号来标识流量。

Lightweight 4over6 是 DS-Lite 的一种改进方案,它将 NAT 功能从 ISP 端转移到 CPE,减少运营商开销。REFERENCE FOR RFC7596 IS NOT DEFINED YET. You are invited to add it here.

V4-via-v6 routing[编辑]

Draft proposals[编辑]

IETF 仍在讨论或已放弃以下机制:

4rd[编辑]

MAP[编辑]

弃用的机制[编辑]

IETF 已弃用这些机制:

NAT-PT[编辑]

Network Address Translation/Protocol Translation (NAT-PT) 在 RFC 2766 中定义,由于许多问题,它已被 RFC 4966 淘汰并弃用为历史状态。 It is typically used in conjunction with a DNS application-level gateway (DNS-ALG) implementation.

NAPT-PT[编辑]

While almost identical to NAT-PT, Network Address Port Translation + Protocol Translation, which is also described in RFC 2766, adds translation of the ports as well as the address. This is done primarily to avoid two hosts on one side of the mechanism from using the same exposed port on the other side of the mechanism, which could cause application instability and security flaws. This mechanism has been deprecated by RFC 4966.

网站[编辑]

SixXS[编辑]

SixXS(Six Access)是一个免费的、非盈利性、提供零成本服务的网站。SixXS提供IPv6通道,通过IPv6服务访问网站,因通讯数据被加密,因此可以避免遭到互联网审查。后缀“.sixxs.org”代表使用sixxs.org提供的IPv6网关,该网关将来自IPv6网络的http访问请求转换成IPv4的http请求,访问任何其他IPv4的http都可以使用这个网关,在地址后面加上“.sixxs.org”即可。不过该项目已于2017-06-06停止服务,2017-07-01正式结束。

参考文献[编辑]

  1. ^ RFC 2765 - 无状态IP/ICMP转换算法(SIIT), E. Normark (February 2000)
  2. ^ RFC 6145 IP/ICMP Translation Algorithm
  3. ^ RFC 6052 - IPv6 Addressing of IPv4/IPv6 Translators
  4. ^ RFC 6144 - Framework for IPv4/IPv6 Translation
  5. ^ RFC:3053
  6. ^ RFC 5569 IPv6 Rapid Deployment on IPv4 Infrastructures (6rd)
  7. ^ RFC 5969 IPv6 Rapid Deployment on IPv4 Infrastructures (6rd) -- Protocol Specification
  8. ^ RFC 6146 Stateful NAT64: Network Address and Protocol Translation from IPv6 Clients to IPv4 Servers
  9. ^ RFC 6147 DNS64: DNS Extensions for Network Address Translation from IPv6 Clients to IPv4 Servers
  10. ^ Video: 464XLAT Live Demo at World IPv6 Congress in Paris. Internet Society. 3 April 2013 [2020-10-10]. (原始内容存档于2017-09-13). 
  11. ^ 464XLAT -- A Solution for Providing IPv4 Services Over and IPv6-only Network. T-Mobile USA. [5 August 2013]. (原始内容存档于2020-11-12). 
  • IPv6 in Practice, Benedikt Stockebrand (2006), ISBN 3-540-24524-3
  • RFC 2767, Bump-in-the-Stack
  • RFC 3338, Bump-in-the-API
  • RFC 3089, Socks-based Gateway
  • RFC 6219, The China Education and Research Network (CERNET) IVI Translation Design and Deployment for the IPv4/IPv6 Coexistence and Transition