协议转换技术用来实现不同网络间的访问,比如在无须配置另外一种协议的情况下,让客户端使用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演进的目的。