首页 理论教育IPv6过渡问题的基本策略-下一代计算机网络技术

IPv6过渡问题的基本策略-下一代计算机网络技术

【摘要】:解决IPv6过渡问题的成熟的基本技术主要有以下3种。不过双栈只允许相同IP版本之间的通信,即IPv4和IPv4之间的通信,或IPv6和IPv6之间的通信。图4.8IPv6和IPv4双协议栈模型图2.隧道技术在IPv4中封装IPv6如图4.9所示。但在IPv4数据包转换成IPv6数据包的过程中,由于IPv6头部含有扩展头部以及诸如流标签等新字段而引起的不适当的翻译,可能会导致传输性能的下降。NAT-PT还可以支持应用层网关的功能,对IPv4或IPv6的DNS请求和应答包以及FTP数据包进行转换。

解决IPv6过渡问题的成熟的基本技术主要有以下3种。

1.双协议栈(Dual Stack,RFC2893)

主机同时运行IPv4和IPv6两套协议栈,同时支持两套协议工作方式

(1)如果应用程序使用的目的地址是IPv4地址,那么将使用IPv4协议栈。

(2)如果应用程序使用的目的地址是兼容IPv4的IPv6地址,则同样使用IPv4协议栈,并把IPv6包封装到IPv4包中。

(3)如果目的地址是非IPv4兼容的IPv6地址,那么就使用IPv6协议栈,而且可能采用隧道机制来进行选路、传输。

(4)如果应用程序使用域名作为目标地址,那么此时将先从DNS服务器那里得到的IPv6/IPv4地址,然后根据得到地址情况进行相应处理。

双协议栈模型如图4.8所示。

目前,双栈是运行最广泛的迁移机制。不过双栈只允许相同IP版本之间的通信,即IPv4和IPv4之间的通信,或IPv6和IPv6之间的通信。不同版本IP之间的通信需要通过协议翻译来完成。

图4.8 IPv6和IPv4双协议栈模型图

2.隧道技术(TUnnel,RFC 2893)

在IPv4中封装IPv6如图4.9所示。

(www.chuimin.cn)

图4.9 在IPv4中封装IPv6示意图

隧道是通过在一种协议中承载另一种协议,实现跨越不同域的互通,具体可以是IPv6-in-IPv4,IPv6-in-MPLS,IPv4-in-IPv6等隧道类型。隧道技术只要求在隧道的入口和出口处进行修改,对其他部分没有要求,因而非常容易实现。

被不兼容的网络分离的两个相同版本IP主机之间的通信可以通过隧道方式进行,隧道的实质就是对数据包的封装,IPv6-over-IPv4(IPv4 over IPv6)隧道就是将IPv6(IPv4)分组封装在IPv4(IPv6)分组中,利用已有的IPv4(IPv6)网络进行传输,从而解决IPv6(IPv4)站点或主机之间相互通信的问题。由于隧道的端节点需要对IPv6数据包进行封装、对IPv4数据包进行解封装,因此它必须是双栈节点。当它接收到IPv6分组时,从IP头标的IPv6地址域中提取出隧道末端的IPv4地址后,将IPv6报文封装在以此IPv4地址为目的地址的IPv4报文中,同时将IPv4报头中的协议域字段设为41。隧道对端的操作正好相反,将IPv4数据报解封得到IPv6报文,将此报文在IPv6站点内路由

根据封装/解封装操作发生位置的不同,隧道可以分为4种:

(1)路由器到路由器(Router-to-Router)利用IPv4底层结构,实现IPv6/IPv4路由器相互连接,并在它们之间传送IPv6信息包。

(2)主机到路由器(Host-to-Router)利用IPv4底层结构IPv6/IPv4主机可以相互连接,可以在它们之间传输IPv6信息包。

(3)主机到主机(Host-to-Host)利用IPv4底层结构IPv6/IPv4主机可以相互连接,可以在它们之间传输IPv6信息包。

(4)路由器到主机(Router-to-Host)IPv6/IPv4路由器可以利用隧道通过IPv4底层结构到达IPv6/IPv4主机。

一般情况下,路由器和路由器之间的隧道通常是配置隧道,隧道接口的配置参数即隧道两端的IPv4地址是手工配置的,目前6Bone网络采用的隧道大多是配置隧道,配置隧道的不足之处在于它的建立通常不符合IPv6路由体系是分层、简化的指导思想,因此导致路由效率的低下,而且它的维护和运行都有一定的复杂性。自动隧道不需要手工配置,它的端节点IPv4地址可从数据包的IPv6地址中获得,因此自动隧道的建立和维护相对简单,也更灵活。

3.NAT-PT(Network Address Translation-Protocol Translation,RFC 2766)

协议翻译用来将IPv4(IPv6)数据包转换成IPv6(IPv4)数据包,这种转换对上层协议是透明的。利用协议翻译可以在纯IPv6节点和纯IPv4节点之间建立通信,而不需要修改应用软件。但在IPv4数据包转换成IPv6数据包的过程中,由于IPv6头部含有扩展头部以及诸如流标签等新字段而引起的不适当的翻译,可能会导致传输性能的下降。另外,协议翻译如NAT一样会潜在的破坏端到端的服务(例如IPSec)。

利用转换网关来在IPv4和IPv6网络之间转换IP报头的地址,同时根据协议不同对分组做相应的语义翻译,从而使纯IPv4和纯IPv6站点之间能够透明通信。NAT-PT还可以支持应用层网关的功能,对IPv4或IPv6的DNS请求和应答包以及FTP数据包进行转换。