张雅琼
榆林学院信息工程学院,陕西 榆林 719000
当前的互联网网络层协议主要是基于IPv4协议,但是随着Internet技术迅猛发展,数据业务、语音业务以及各种多媒体业务进入互联网,越来越多的用户进入互联网。IPv4协议的不足逐渐体现出来了。最主要的几个问题是:第一,IP地址不足。随着接入Internet的设备数目的不断增加,尽管采用了子网技术以及地址转换等技术,但基于IPv4的32位的IP地址资源将全部分配完毕;第二,路由器路由表的负荷太重。IPv4地址方案不能很好的支持地址汇聚,现有的互联网正面临路由表不断膨胀的压力。这使得大量的互联设备由于处理速度跟不上而被淘汰,浪费是很巨大的;第三,对于如何简便配置以及对服务质量、移动性和安全性等方面的需求都迫切要求开发新一代IP协议。为了解决上述问题,IETF开发出了一套新的IP协议——IPv6,也叫下一代IP协议,即 IPng(IP next generation)。
IPv6协议对IPv4地址空间进行了扩展,IP地址长度由32位扩展到128位。IPv6对地址的结构也重新做了定义,采用了IPv4中使用的汇聚类似的方法分配地址。此外,IPv6对帧格式也做了重新定义,帧头变短,缩小了数据开销。另外IPv6支持服务质量、更好地保证了安全性和移动性、更好地实现了组播功能、更好地支持身份认证。
IPv4过渡到IPv6有3种基本的机制,同时支持两种协议的双协议栈技术(DoubleStack)、采用数据报封装的隧道技术(Tunnel)和透明转换技术(包括数据报头转换和协议转换)。具体实际应用以这3种技术为基础,派生出各种不同的过渡机制。
双协议栈是指单个节点同时支持IPv4和IPv6两种协议栈,支持双协议栈的节点既能与支持IPv4协议的节点通信,又能与支持IPv6协议的节点通信,这样的节点也被称为IPv6/IPv4节点。IPv6/IPv4节点通常是采用一种双IP层结构来实现的如图1所示。
但在实际应用中这种双IP层结构可能会有所变形。如图2所示,协议栈包含了传输层的TCP和UDP协议的不同实现方案。
图1 双协议层结构
图2 双协议栈结构
双协议栈技术是使IPv6节点与IPv4节点互联的最直接方式,其应用对象是主机、路由器等通信节点。支持双协议栈的IPv6节点与IPv6节点通信时使用IPv6协议,与IPv4节点通信时使用IPv4协议栈。支持双协议栈的结点接收到数据报时,拆开并检查,如果IPv4/IPv6头中的第一个字段的版本是4,该报就由IPv4栈来处理;若为6,则由IPv6栈来处理。
双协议栈技术的优点是易于实现,互通性好,缺点是必须为每一个双栈节点分配一个合法的IPv4地址,这就又将面临IPv4地址资源紧张的问题;另外,每个双栈节点要同时运行IPv4和IPv6两种协议,同时计算、维护与存储两套表项,对路由器等网络设备而言还需要对两种协议栈进行报文转换和封装,这又增加了每个节点的负担,对这些节点的性能产生更高的要求;还有,在采用双栈技术的网络中DNS服务器必须要支持主机域名与IPv6地址的映射。
在广泛使用的IPv4网络中出现一些采用IPv6协议的网络,这些网络之间有数据通信时需要跨越IPv4网络,将IPv6数据报作为数据封装在IPv4数据报中,通过IPv4网络进行传输,这就是隧道技术。隧道对于源站点和目的站点是透明的。基于IPv4隧道的IPv6分组传送分为3个阶段即:封装、隧道传输和拆封。隧道的端点可以是主机或者路由器,但都必须是双协议栈的节点,它们连接两种网络,进行报文的封装与拆封。在隧道入口处,入口端点将IPv6报文封装到IPv4报文中,IPv4报文的源地址和目的地址分别是隧道入口和出口的IPv4地址。封装后的IPv4报文将通过IPv4的路由器进行传输。在隧道的出口处,出口端点对IPv4报文进行拆封,将IPv6报文取出来,转发给目的站点。由于隧道技术只要求在隧道的入口和出口端对报文进行封装和拆封,传输过程如普通IPv4数据一般传输,所以这种技术是易于实现。
隧道技术的优点在于隧道的透明性,IPv6主机之间的通信可以忽略隧道的存在,隧道只起到物理通道的作用。
NAT/PT(Network Address Translation /Protocol Translation),由NAT演变而来,它通过与SIIT协议(Stateless IP /ICMP Translation Algoritlun,RFC2765)转换和传统的IPv4下的动态地址翻译以及适当的应用层网关相结合,实现了纯IPv6节点和纯IPv4节点间的通信。NAT/PT是NAT的一种特殊情况。它使用端口号作为地址转换的依据。如果使用了NAT/PT,IPv6所有用户客户端允许使用1个IPv4的地址和别的IPv4地址进行通信。这种机制在IPv4分组和IPv6分组之间进行报头和语义的翻译,适用于纯IPv4站点和纯IPv6站点之间的通信。对于一些内嵌地址信息的高层协议(如DNS、FTP),NAT/PT需要和应用层的网关协作来完成翻译。这种技术在采用网络层加密和数据完整性保护的环境下将不能工作。
IPv4网络要完全地过渡到IPv6网络是个必然的过程,也是一个漫长的过程。文中分析的几种过渡技术,从理论上讲都是比较成熟的,但是在实际的应用中,考虑到成本和技术的实现水平,需要对各种技术做出完善和改进,有时候需要多种技术的结合使用。既要深刻地理解这些过渡技术,也要透彻地把握所要应用的环境,合适地选择一种或几种过渡技术,根据网络环境的变化和具体情况,需要对已有的过渡技术进行改进和更新,甚至要寻找新的技术。
[1]李振强,赵晓宇,马严.IPv6技术揭秘[M].北京:人民邮电出版社,2006.
[2]姬同亮,李玲娟.IPv4向IPv6过渡技术研究[J].江苏通信技术,2006,22(6).
[3]李润知,赵红领,谭同德.IPv6-IPv4隧道技术的研究及互连方案实现[J].郑州大学学报:工学版.
[4]周玲,尹霞,吴建平.实现IPv4向IPv6的过渡技术[J].计算机工程与应用,2002:156.