在我们讨论双网共存的组网建议中,我们已经讲述过双栈协议和隧道协议了,这个也是现在主流的策略。那么接下来,我们再来为大家介绍一下翻译策略,可能对这方面了解的人比较少,在此,我们就重点说一下IPv6协议栈的翻译策略相关内容。
翻译策略
在网络的过渡时期不可能要求所有的主机或终端都升级支持双栈,在网络中必然存在纯IPv4主机和纯IPv6主机之间进行通信的需求,由于协议栈的不同很自然地需要对这些协议进行翻译转换。对于协议的翻译涉及两个方面,一方面是IPv4与IPv6协议层的翻译,另一个方面是IPv4应用与IPv6协议栈的应用之间的翻译。翻译策略可以对应多种实现技术,其中NAT-PT和TRT主要应用于网络汇聚层,而BIA,BIS则主要是针对主机终端而提出的。
(1)NAT-PT
NAT-PT网关能够实现IPv4和IPv6协议栈的互相转换,包括网络层协议、传输层协议以及一些应用层协议之间的互相转换,原有的各种协议可以不加改动就能与新的协议互通,但该技术在应用上有一些限制:
◆在拓扑结构上要求一次会话中双向数据包的转换都在同一个路由器上完成,因此地址/协议转换方法较适用于只有一个路由器出口的网络;
◆一些协议字段在转换时不能完全保持原有的含义。
(2)TRT
传输中继转换器简称“TRT”(Transport Relay Translator)适用于纯IPv6网络与纯IPv4网络通信的环境。TRT系统位于纯IPv6主机和纯IPv4主机之间,可以实现(TCP,UDP)/IPv6与(TCP,UDP)/IPv4的数据的对译。传输中继可以分为TCP中继和UDP中继两类。
TRT与NAT-PT的***区别是,TRT做为中继,在TCP/UDP层面以代理的身份来沟通双方,例如TCP中继分别与TCP通信的双方建立TCP连接,双方的所有TCP通信均由TCP中继来中转,而NAT-PT则只起翻译作用,并不代理通信。
(3)BIS
BIS技术是在双栈主机中添加若干个模块(翻译器、扩展域名解析器、地址映射器),用于监测TCP/IP模块与网卡驱动程序之间的数据流,并进行相应IPv4与IPv6协议栈的数据包之间的相互翻译。当与其他IPv6主机进行通信时,在这台主机内部给对应IPv6主机分配一些IPv4地址,这些地址只在这台主机内部使用。而且,这种分配过程是通过DNS协议自动来完成的。主机可以使用现有的IPv4应用和其他IPv6主机进行通信,使其成为能够既支持IPv4应用又同时支持IPv6应用的双栈主机,从而扩大了双栈主机的应用领域。此外,BIS机制还可以和其他的转换机制共存。
(4)BIA
BIA技术在双栈主机的Socket API模块与TCP/IP模块之间加入一个API翻译器,它能够在IPv4的Socket API函数和IPv6的Socket API函数间进行互译,这种机制简化了IPv4和IPv6间的转换,无需进行IP头的翻译。
采用BIA的双栈主机假定在本地节点上同时存在TCP/IPv4和TCP/IPv6两种协议栈。当双栈主机上的IPv4应用程序与其他IPv6主机通信时,API翻译器检测到IPv4应用程序中的Socket API函数,并调用IPv6协议栈的Socket API函数与IPv6主机通信,反之亦然。