多种迁移技术该如何选择?

IETF提出了三种过渡机制,即双栈、隧道和地址翻译。其中双栈和隧道机制仅在网络层面解决IPv4网络与IPv6网络的共存问题,地址翻译机制在业务层面解决异构网络业务之间的互通问题。

1.双协议栈技术

IPv6和IPv4是功能相近的网络层协议,两者都基于相同的物理平台,而且加载于其上的传输层协议TCP和UDP又没有任何区别。由图1所示的协议栈结构可以看出,如果一台主机同时支持IPv6和IPv4两种协议,那么该主机既能与支持IPv4协议的主机通信,又能与支持IPv6协议的主机通信,这就是双协议栈技术的工作机理。

2.隧道技术

随着IPv6网络的发展,出现了许多局部的IPv6网络,但是这些IPv6网络需要通过IPv4骨干网络相连。将这些孤立的"IPv6岛"相互联通必须使用隧道技术。利用隧道技术可以通过现有的运行IPv4协议的Internet骨干网络即隧道)将局部的IPv6网络连接起来,因而是IPv4向IPv6过渡的初期最易于采用的技术。

路由器将IPv6的数据分组封装入IPv4,IPv4分组的源地址和目的地址分别是隧道入口和出口的IPv4地址。在隧道的出口处,再将IPv6分组取出转发给目的站点。隧道技术只要求在隧道的入口和出口处进行修改,对其他部分没有要求,因而非常容易实现。但是隧道技术不能实现IPv4主机与IPv6主机的直接通信。

3.网络地址转换/协议转换技术

网络地址转换/协议转换技术NAT-PT (NetworkAddressTranslation-ProtocolTranslation)通过与SIIT协议转换和传统的IPv4下的动态地址翻译NAT)以及适当的应用层网关ALG)相结合,实现了只安装了IPv6的主机和只安装了IPv4机器的大部分应用的相互通信。

4.SOCKS64

一个是在客户端里引入SOCKS库,这个过程称为"socks化"socksifying),它处在应用层和socket之间,对应用层的socket API和DNS名字解析API进行替换;

另一个是SOCKS网关,它安装在IPv6/v4双栈结点上,是一个增强型的SOCKS服务 器,能实现客户端C和目的端D之间任何协议组合的中继。当C上的SOCKS库发起一个请求后,由网关产生一个相应的线程负责对连接进行中继。SOCKS库 与网关之间通过SOCKSSOCKSv5)协议通信,因此它们之间的连接是"SOCKS化"的连接,不仅包括业务数据也包括控制信息;而G和D之间的连 接未作改动,属于正常连接。D上的应用程序并不知道C的存在,它认为通信对端是G。

5.传输层中继Transport Relay)

与SOCKS64的工作机理相似,只不过是在传输层中继器进行传输层的"协议翻译",而 SOCKS64是在网络层进行协议翻译。它相对于SOCKS64,可以避免"IP分组分片"和"ICMP报文转换"带来的问题,因为每个连接都是真正的 IPV4或IPV6连接。但同样无法解决网络应用程序数据中含有网络地址信息所带来的地址无法转换的问题。

6.应用层代理网关ALG)

ALG是Application Level Gateway的简称,与SOCKS64、传输层中继等技术一样,都是在V4与V6间提供一个双栈网关,提供"协议翻译"的功能,只不过ALG是在应用层 级进行协议翻译。这样可以有效解决应用程序中带有网络地址的问题,但ALG必须针对每个业务编写单独的ALG代理,同时还需要客户端应用也在不同程序上支 持ALG代理,灵活性很差。显然,此技术必须与其它过渡技术综合使用,才有推广意义。

无论采用哪种技术,有一点可以肯定:这些迁移技术只是临时的替代方案,未来IPv4终将被IPv6淘汰,至于如何选择,则要看自身业务发展和自身所具备的硬件条件。


相关内容