IPv6 协议转换技术
协议转换技术用来实现不同网络间的访问,比如在无须配置另外一种协议的情况下,让客户端使用 IPv4 来访问 IPv6 网络,反之亦然。采用协议转换实现 IPv4 到 IPv6 过渡的优点是不需要进行 IPv4、IPv6 节点的升级改造,缺点是用来实现 IPv4 节点和 IPv6 节点相互访问的方法比较复杂,网络设备进行协议转换、地址转换所需的开销较大,一般在其他互通方式无法使用的情况下使用。
1、NAT-PT 转换技术
NAT-PT 由 SIIT(Stateless IP/ICMP Translation,无状态 IP/ICMP 转换)技术和动态地址转换(NAT)技术结合和演进而来,SIIT 提供 IPv4 和 IPv6 之间的一对一的映射转换,NAT-PT 支持在 SIIT 基础上实现多对一或多对多的地址转换。NAT-PT 分为静态和动态两种。
静态 NAT-PT
静态 NAT-PT 提供 IPv6 地址和 IPv4 地址之间的一对一的映射,一般用于需要提供稳定服务的场合。IPv6 单协议网络内的节点要访问 IPv4 单协议网络内的每一个 IPv4 地址,都必须先在 NAT-PT 设备中配置。在 NAT-PT 设备中,把要与 IPv6 网络通信的 IPv4 地址映射成 IPv6 地址;把要与 IPv4 网络通信的 IPv6 地址映射成 IPv4 地址。比如,当 IPv4 设备访问 IPv6 网络时,它访问的是 IPv6 映射后的 IPv4 地址。IPv4 数据包发往 NAT-PT 设备后,NAT-PT 设备根据映射表的配置,把源 IPv4 和目的 IPv4 地址转换成对应的 IPv6 地址,然后将数据包发往目的 IPv6 设备。IPv6 设备根据源 IPv6 地址进行回应,IPv6 数据包被发往 NAT-PT 设备,NAT-PT 设备再把源和目的 IPv6 地址转换成相应的 IPv4 地址,返回到 IPv4 设备。
NAT-PT 并不是转换所有 IPv6 数据包的地址,而是只转换满足特定前缀的 IPv6 地址,转换方法是使用命令 ipv6 nat prefix,后面跟上要转换的 IPv6 前缀和固定长度 96,比如 ipv6 nat prefix 2001:2::/96。
动态 NAT-PT
在动态 NAT-PT 中,IPv6 到 IPv4 的地址映射是动态生成的、可变的。NAT-PT 网关定义了 IPv4 地址池,它从地址池中取出一个地址来替换 IPv6 报文的源地址,从而完成从 IPv6 地址到 IPv4 地址的转换。动态 NAT-PT 支持将多个 IPv6 地址映射为一个 IPv4 地址,节省了 IPv4 地址空间。
NAT-PT 不必修改现有网络即可实现 IPv4 与 IPv6 网络之间的互通。在 NAPT-PT 中,仅使用一个 IPv4 地址,即可实现多个 IPv6 主机与 IPv4 网络的通信,从而解决 IPv4 地址没有 IPv6 地址多的问题。NAT-PT 原理与 IPv4 中的 NAT 原理类似,是一种非常好的 IPv4 向 IPv6 过渡技术。NAT-PT 的缺点是:属于同一会话的请求和响应都必须通过同一 NAT-PT 设备才能进行转换,不适合多出口设备的环境;不能转换 IPv4 报头的可选项部分;由于地址在传输过程中发生了变化,端到端的安全性很难实现。
2、NAT64/DNS64 转换技术
NAT-PT 通过 IPv6 与 IPv4 的网络地址与协议转换,实现了 IPv6 网络与 IPv4 网络的互联互通。但 NAT-PT 在实际的网络应用中面临各种缺陷。为了解决 NAT-PT 中的各种缺陷,同时实现 IPv6 与 IPv4 之间的网络地址与协议转换技术,IETF 重新设计了新的解决方案:NAT64 与 DNS64 技术。
NAT64 是一种有状态的网络地址与协议转换技术,一般只支持通过 IPv6 网络侧发起连接来访问 IPv4 网络侧的资源。NAT64 也支持手动配置静态映射关系,让 IPv4 网络主动发起去往 IPv6 网络的连接。NAT64 可实现 TCP、UDP、ICMP 协议下的 IPv6 与 IPv4 网络地址与协议转换。
当 IPv6 客户端进行 DNS 查询时,如果没有得到 IPv6 DNS 服务器的响应,可使用 DNS64 向 IPv4 DNS 服务器发起 DNS 请求,并将从 IPv4 DNS 中返回的 A 记录(IPv4 地址)合成到 AAAA 记录(IPv6 地址)中,然后将合成的 AAAA 记录返回到 IPv6 客户端。
NAT64 执行 IPv4 与 IPv6 有状态的地址与协议转换,DNS64 用来解析域名地址,两者协同工作,不需要在 IPv6 客户端或 IPv4 服务器端进行任何修改。
3、IVI
IVI 是一种基于运营商路由前缀的无状态 IPv4/IPv6 转换技术,是由 CERNET2 的研究人员、清华大学李星教授等提出,发布于 RFC 6052 中。IVI 的主要思路是从全球 IPv4 地址空间中取出一部分地址映射到全球 IPv6 地址空间中,其映射规则是在 IPv6 地址中插入 IPv4 地址。地址的 0~31 位为 ISP 的/32 位的 IPv6 前缀,32~39 位设置为 FF,表示这是一个 IVI 映射地址。40~71 位表示插入的全局 IPv4 空间的地址格式,72~128 位全为 0。
IVI 除了进行地址映射外,还根据标准规定实现 IPv4/ICMP 协议各字段的对译,同时更新 TCP/UDP 协议的相关字段,完成整个数据包的转换操作。
4、Smart6 和 Space6
Smart6 和 Space6 类似于 NAT64 技术,都是用来解决 IPv6 用户访问 IPv4 资源的问题。通过将 Smart6/Space6 网关部署在 IDC(Internet Data Center,互联网数据中心)出口,可以使 IPv6 用户访问 IPv4 的 ICP/ISP(Internet Content Provider/Internet Service Provider,互联网内容提供商/互联网服务提供商)资源,从而达到迁移 IPv6 流量,促进用户向 IPv6 演进的目的。
版权声明: 本文为 InfoQ 作者【穿过生命散发芬芳】的原创文章。
原文链接:【http://xie.infoq.cn/article/1251e50792e376ce0d1410170】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论