浅谈IPv6IPv4的互通技术
作者:梁国宁
来源:《电子世界》2012年第20
        【摘要】IPv6作为Internet协议的下一版本,对IPv4的最终取代将不可避免的成为必然。但,IPv4支撑的互联网,不可能所有节点立即过渡到IPv6.在相当一段时间内,互联网的特征将是IPv6IPv4共同存在.采用合理的互通技术是IPv4IPv6平稳过渡的必要保障。本文对双协议栈(DUAL STACK)、隧道(TUNNEL)和NAT64DNS64等三种IPv4IPv6互通技术进行探讨。
        【关键词】IPv4IPv6;互联网
        1.引言
        IPv4,是互联网协议(Internet ProtocolIP)的第四版,也是第一个被广泛使用,构成现今互联网技术的基础协议。IPv4可以运行在各种各样的底层网络上,比如端对端的串行数据链路(PPP协议和SLIP协议)、以太网(TCP/IP协议)卫星链路等。目前的全球因特网所采
用的协议族是TCP/IP协议族。IPTCP/IP协议族中网络层的协议,是TCP/IP协议族的核心协议。目前IP协议的版本号是4(简称为IPv4vversion版本),它的下一个版本就是IPv6IPv6正处在不断发展和完善的过程中,它在不久的将来将取代目前被广泛使用的IPv4
        随着Internet的迅速增长以及IPv4地址空间的逐渐耗尽,IPv6作为Internet协议的下一版本,对IPv4的最终取代将不可避免的成为必然。IPv6作为一种新的协议,从诞生到实际应用是有很大距离的,尤其是对于IPv4支撑的互联网,不可能要求所有节点立即过渡到IPv6。在IPv6部署初期,互联网将由IPv4“海洋和一个个新建的IPv6“小岛组成。随着IPV6的发展,这些小岛将逐步扩大。所以在相当一段时间内,互联网的特征将是IPv6IPv4共同存在。在这个阶段,要解决两个方面的问题:IPv6“小岛IPv4“海洋之间的通信。
        2.IPv4IPv6的比较
        IPv4的地址位数为32位,理论上最多有232次方的IP地址可以分配,实际上可用的IP地址比理论上的更少。目前用于标示全球网络设备和终端设备的网络地址约有40亿个,现已基本殆尽。
        IPv6地址长度为128位(16字节),即有2^128-13.4E+38)个地址,这一地址空间是IPv4地址空间的1029倍(或以目前全球总人数而言,人均可分配1.8×1019IPv6地址)。IPv6采用分级地址模式,支持从Internet核心主干网到企业内部子网等多级子网地址分配方式。在IPv6的庞大地址空间中,目前全球连网设备已分配掉的地址仅占其中极小一部分,有足够的余量可供未来的发展之用。同时由于有充足可用的地址空间,NAT之类的地址转换技术将不再需要。与IPv4相比,IPv6以其特性占据了优势:具有更大的地址空间,使用更小的路由表,服务质量(QoSQualityofService)控制提供了良好的网络平台。
        3.IPv4IPv6互通技术
        在很长的一段时间内,IPv6地址和IPv4地址必须共存。IPv4/IPv6的互通技术用来保证这两种网络协议可以在互联网中共同工作,在IPv6发展过程中这些技术可以帮助IPv6业务在现有的IPV4网路基础架构上工作。本文探讨的IPv4IPv6互通的基本技术为以下三种:双协议栈(DUAL STACK)、隧道(TUNNEL)和NAT64DNS64技术。
        3.1 双协议栈(DUAL STACK
        双协议栈是指在完全过渡到IPv6之前,使一部分主机或路由器装有两个协议栈,一个IPv4和一个IPv6。双协议栈主机或路由器既能够和IPv6的系统通信,又能够和IPv4的系统通信。双协议栈主机在和IPv6主机通信时采用IPv6地址,在和IPv4主机通信时采用IPv4地址。双协议栈主机可以通过对域名系统DNS的查询知道目的地主机是采用哪一种地址。若DNS返回的是IPv4地址,双协议栈的源主机就使用IPv4地址。但当DNS返回的是IPv6地址时,源主机就使用IPv6地址。
        在图1中边缘路由器为双协议栈路由器,其连接的局域网中有单纯的IPv4客户端也有单纯的IPv6客户端,我们可以通过为路由器的以太网接口同时配置IPv4地址和IPv6地址的方式使下面的客户端接入网络,同时我们也要在边缘路由器上同时配置IPv4路由协议和IPv6路由协议,这样才能保证IPv4网络和IPv6网络同时工作。
        3.2 隧道(TUNNEL
        隧道(Tunnel)是指将一种协议报头封装在另一种协议报头中,这样,一种协议就可以通过另一种协议的封装进行通信。IPv6隧道是将IPv6报头封装在tcp ip协议4和6IPv4报头中,这样IPv6协议包就可以穿越IPv4网络进行通信。在IPv6全面实施之前,总有一些网络先提供对IPv6的支持,
但是这些IPv6网络被运行IPv4协议的骨干网络隔离开来。“IPv6 over IPv4”的隧道就用来连接这些孤立的IPv6网络,完成IPv4IPv6的互通。隧道技术目前是国际IPv6试验床6Bone所采用的技术。利用隧道技术可以通过现有的运行IPv4协议的Internet骨干网络(即隧道)将局部的IPv6网络连接起来,因而是IPv4IPv6过渡的初期最易于采用的技术。
        隧道技术的优点在于隧道的透明性,IPv6主机之间的通信可以忽略隧道的存在,隧道只起到物理通道的作用。它不需要大量的IPv6专用路由器设备和专用链路,可以明显地减少投资。其缺点是:在IPv4网络上配置IPv6隧道是一个比较麻烦的过程,而且隧道技术不能实现IPv4主机和IPv6主机之间的通信。
        如图2所示:网络终端首先通过IPv6网络将其数据包发送到路由器(同时也是隧道入口)。对于可以进行转换的数据包,路由器将IPv6数据包转换成IPv4数据包,在公网上进行传递;对于不能进行转换的数据包(如利用IPsec加密的数据包),利用隧道进行传递,在隧道入口处对IPv6数据包进行封装,然后将封装有IPv6IPv4数据包在公网上进行传输。
        3.3 NAT64DNS64
        IPv6网络的发展过程中,面临最大的问题应该是IPv6IPv4的不兼容性,因此无法实现二种不兼容网络之间的互访。为了实现IPv6IPv4的互通,IETF(互联网工程任务组)在早期设计了NAT-PT的解决方案:RFC2766NAT-PT通过IPv6IPv4的网络地址与协议转换,实现了IPv6网络与IPv4网络的双向互访。但NAT-PT在实际网络应用中面临各种缺陷,IETF推荐不再使用,因此已被RFC4966所废除。
        为了解决NAT-PT中的各种缺陷,同时实现IPv6IPv4之间的网络地址与协议转换技术,IETF(互联网工程任务组)重新设计一项新的解决方案:NAT64DNS64技术。
        NAT64是一种有状态的网络地址与协议转换技术,一般只支持通过IPv6网络侧用户发起连接访问IPv4侧网络资源。但NAT64也支持通过手工配置静态映射关系,实现IPv4网络主动发起连接访问IPv6网络。NAT64可实现TCPUDPICMP协议下的IPv6IPv4网络地址和协议转换。
        DNS64则主要是配合NAT64工作,主要是将DNS查询信息中的A记录(IPv4地址)合成到AAAA记录(IPv6地址)中,返回合成的AAAA记录用户给IPv6侧用户。DNS64也解决了NAT-PT中的DNS-ALG存在的缺陷。
        NAT64一般与DNS64协同工作,而不需要在IPv6客户端或IPv4服务器端做任何修改。NAT64解决了NAT-PT中的大部分缺陷,同时配合DNS64的协同工作,无需像NAT-PT中的DNS-ALG等。
        目前NAT64DNS64均处于IETF的草案阶段,尚未形成正式的RFC文档。但由于IPv6的快速发展、应用场景的需求、IPv6侧网络用户的强烈需求,处于草案阶段的NAT64DNS64已经正式开始在互联网中部署应用了。NAT64也只是IPv6网络发展初期的一种过渡解决方案,在IPv6发展前期会被广泛部署应用,而后期则会随着IPv6网络的发展壮大,逐步退出历史舞台。
        如图3中,DNS64 ServerNAT64 Router是完全独立的部分。其中64FF9B::/96DNS64的知名前缀,DNS64一般默认使用此前缀的流量才做NAT64转换。一般在DNS64NAT64中该前缀被标示为pref64::/n,该前缀可根据实际网络部署进行配置。在NAT-PT中,转换的前缀只支持固定96位长度,而NAT64中则可使用:324048566496等范围,每种长度的前缀转换规则也不完全相同。
        IPv6用户发起连接访问普通IPv6网站,流量将会匹配IPv6默认路由而直接转发至IPv6
Router处理。而访问的是IPv4单协议栈的服务器时,将经DNS64 Server进行前缀合成,pref64::/n的流量将被路由转发至NAT64 Router上,从而实现IPv6IPv4地址和协议的转换,访问IPv4网络中的资源。
        4.结束语
        互联网向IPv6演进,不仅涉及运营商网络的IPv6改造,还涉及大量的内容提供商ICP和上网用户的IPv6迁移。因此,如何启动IPv6工程,选择适合的过渡技术,引导网民和ICPIPv6迁移是至关重要的。完善的互通技术和互通机制将有利于IPv4IPv6的平稳过渡,加快互联网向IPv6的演进步伐。
        参考文献
        [1]李琳麟,冯彦君.IPv6/IPv4 Tunnel研究及一种过渡初期解决方案[J].计算机工程,200419):159-162.
        [2]付爱英,曾勍炜,徐知海.IPv6隧道技术及其安全性分析[J].计算机与现代化,200603):80-8286.
        [3]何小燕,吴介一.IPv6/IPv4网络地址转换[J].计算机工程与应用,200007):122-124.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。