基础知识:IPv6与IPv4互通的技术
51CTO 发表于:12年07月23日 10:22 [转载] 51CTO
IPv6穿越IPv4技术是为了实现IPv6节点之间的互通,而IPv6/IPv4互通技术是为了实现不同协议之间的互通。也就是说,使IPv6主机可以访问IPv4主机,IPv4主机可以访问IPv6主机。相关的技术有SIIT(Stateless IP/ICMP Translation)和NAT-PT。
1.SIIT
SIIT(Stateless IP/ICMP Translation),即无状态IP/ICMP翻译,技术用于对IP和ICMP报文进行协议转换,这种转换不记录流的状态,只根据单个报文将一个IPv6报文头转换为IPv4报文头,或将IPv4报文头转换为IPv6报文头。SIIT不需要IPv6主机获取一个IPv4地址,但对于SIIT设备来说,每一个IPv6主机有一个虚拟的临时IPv4地址。
在SIIT中,有以下几种地址类型:
IPv4-mapped:地址的形式为"0::FFFF:a.b.c.d",表示不支持IPv6能力的节点,这种地址是IPv4节点在IPv6一侧的映射地址;
IPv4-translated:地址的形式为"0::FFFF:0:a.b.c.d",表示一个支持IPv6的节点。该地址在发送到IPv4侧时需要翻译为IPv4地址。
SIIT技术使用特定的地址空间来完成IPv4地址与IPv6地址的转换。因为SIIT无法进行地址复用,所以地址池的空间限制了IPv6节点的数量。在通信过程中,当SIIT中IPv4地址池中地址分配完时,如果有新的IPv6节点需要同IPv4节点通信,就会因为没有剩余的IPv4地址空间而导致 SIIT无法进行协议转换,造成通信失败。所以SIIT技术所能应用的网络规模不能很大。另外,由于无状态,所以,不能很好地支持应用层数据中内嵌地址的应用。
2.NAT-PT
NAT-PT(Network Address Translation-Protocol Translation),允许只支持IPv6协议的主机与只支持IPv4协议的主机进行互联,一个位于IPv4和IPv6网络边界的设备负责在IPv4 报文与IPv6报文之间进行翻译转换。NAT-PT把SIIT协议转换技术和IPv4网络中动态地址转换技术(NAT)结合在一起,它利用了SIIT技术的工作机制,同时又利用传统的IPv4下的NAT技术来动态地给访问IPv4节点的IPv6节点分配IPv4地址,很好地解决了SIIT技术中全局 IPv4地址池规模有限的问题。同时,通过传输层端口转换技术使多个IPv6主机共用一个IPv4地址。
NAT-PT设备上需要设置IPv4主机的转换规则、IPv6主机的转换规则、IPv6主机使用的IPv4地址。报文经过NAT-PT设备时,根据NAT-PT的转换规则对报文进行协议转换。转换规则可分为如下几种:
IPv4主机的静态规则:一个IPv4主机对应一个虚拟的IPv6地址;
IPv4主机的动态规则:一组IPv4主机的地址如何映射成IPv6地址。通常是指定一个96位的前缀添加在原IPv4地址前面组成一个IPv6地址;
IPv6主机的静态转换规则:一个IPv6主机对应一个虚拟IPv4地址;
IPv6主机的动态转换规则:一组IPv6主机与IPv4地址的对应关系,IPv4地址是多个IPv6主机共享的资源。
静态NAT-PT是由NAT-PT网关静态配置IPv6和IPv4地址绑定关系。当IPv4主机与IPv6主机之间互通时,其报文在经过NAT-PT网关时,由网关根据配置的绑定关系进行转换。不管是IPv6主机还是IPv4主机,如果配置了静态绑定关系,则另外一侧的主机可以主动向其发起连接。
静态配置对那些经常在线,或需要能提供稳定连接的主机比较适合。对于那些不经常使用的主机,可以采用动态配置的方法,这样可以配置简单。
动态NAT-PT的示意图如图7-11所示,IPv4侧主机采用了静态映射,而IPv6侧主机采用动态映射。当PC1向PC2发送报文时,其源地址为 1::3,目的地址为1234::9。此报文在到达NAT-PT网关时,目的地址符合IPv4静态规则,IPv4报文的目的地址为1.2.2.9。而 IPv6报文的源地址符合IPv6主机的动态规则,即从规则的地址池中选择一个未使用的地址,假设是1.4.2.8,作为IPv4报文的源地址。那么转换后的IPv4报文就是源1.4.2.8,目的地址为1.2.2.9。
在动态NAT-PT中,IPv4地址池中的地址可以复用,也就是若干个IPv6地址可以转换为一个IPv4地址,它利用了上层协议(UDP/TCP的端口)映射的方法。