随着互联网技术的不断发展,IPv4的许多缺陷逐渐暴露出来,其中最突出的是IP地址空间将被耗尽和主干路由表不断增长的问题[2]。为了扩大地址空间,拟通过IPv6重新定义地址空间。IPv4中规定IP地址长度为32,即有2^32-1个地址;而IPv6中IP地址的长度为128,即有2^128-1个地址,几乎可以不受限制地提供地址。在IPv6的设计过程中除了一劳永逸地解决了地址短缺问题以外,还考虑了在IPv4中解决不好的其它问题,主要有端到端IP连接、服务质量(QoS)、安全性、多播、移动性、即插即用等[2]。
IPv6转换技术当前,网站应用IPv6升级改造的技术路线主要有双栈、隧道和转换等三种技术[3]。目前国内多数服务商都采用的是最后一种翻译技术,比较著名的品牌如中科三方、阿里云、帝恩思、ZDNS等。其中以中科三方的技术最为成熟,其IPv6转换服务采用云计算分布处理技术,解决性能问题的同时大大提升了系统的扩展能力,除此之外还解决网站中由于外链导致的内容缺失等问题("天窗"问题),较其它转换技术具有更佳的用户体验。
双栈技术双栈技术是指涉及到网站业务交互的各类应用系统、网络设备、运营支撑系统的软硬件设备同时运行IPv4和IPv6两套协议栈,能够同时处理IPv4和IPv6数据包。
该技术被认为是改造最为彻底的一种网站IPv6升级改造技术,单协议栈用户之间的互通效果较好[4]。但该技术对站点要求较高,可能牵涉到服务器和网络设备升级,投资较大且改造周期较长,是一种长期演进的技术,短期内比较适合于架构和业务相对简单的网站IPv6升级改造[5]。
由于IPv4和IPv6的程序代码不完全一样,所以网站应用的双栈化基本上都需要重写代码,对网页中的以下内容进行修改:
(1)把网页中以IPv4地址直接写入的文件URL或链接URL更换成域名;
(2)把网页代码中存在无法处理IPV6地址的程序或函数更换成同时支持IPv4和IPv6的函数和程序;
(3)把程序中存储IP地址的数据空间( IPv4为32位)更换为同时支持IPv4(32位)和IPv6(128位)的变量结构、数据库结构或API[6]。
此外,当网页包含其它网站内容的链接(外链),即使采取双栈技术路线,全面升级网络和修改程序,但被引用的其它网站未升级,IPv6用户访问该网站时会出现响应缓慢,部分内容无法显示,部分功能无法使用等情况。该问题被称为"天窗"问题。大型网站往往互相引用,或者存在多个栏目,单方面的升级改造不可避免地存在"天窗"问题[7]。
隧道技术隧道技术就是网站和用户分别安装IPv6隧道软件,用户应用程序以IPv4协议(私有地址)与网站应用通信,并把IPv4报文封装进IPv6隧道,穿透网络[8]。
隧道技术的优点是网站只需要新增一个IPv6隧道服务器,应用系统本身基本不影响,方便快速部署,缺点是需要用户安装相应的IPv6隧道软件,普适性和方便性都有局限,无法解决"天窗"问题。该技术主要适用于C/S模型的应用环境,或者用户可安装终端的场景,但不宜大规模部署。
IPv6隧道技术有多种,比如:基于MPLS网络跑IPv6的6PE技术;基于GRE的IPv6隧道技术,其可以在IPv4的GRE隧道上承载IPv6数据报文;基于UNDP的IPv6隧道技术,其解决了传统NAT不能够支持IPv6-over-IPv4数据包穿越的问题,这种技术将IPv6数据封装在UDP载荷中穿越NAT,叫做Teredo隧道;还有用于简化隧道配置的代理技术,提供自动的配置手段;ISATAP隧道、手工隧道、IPv4兼容IPv6自动隧道等等,IPv6隧道形式多样,之所以这么多种,主要还是为了适配现有的IPv4网络,IPv4网络中GRE、MPLS、NAT等技术应用普遍,IPv6需要能够穿透这些网络才能真正达到与IPv4共存。IPv6隧道技术俨然已经成为IPv6技术的重要组成部分[9]。
翻译技术是在IPv6用户和IPv4网站间部署协议转换设备,建立IPv6/IPv4之间地址和端口的映射关系,以实现透明的IPv6和IPv4互访[10]。从IPv4到IPv6的翻译或者IPv6到IPv4的翻译是在协议栈的特定层中执行的,其中典型层有网络层、传输层或者应用层。与不修改传输数据报而仅是添加报头的隧道技术不同,翻译机制做的恰恰是修改。也就是说,将IP报文在IPv4和IPv6之间进行转化[11]。典型技术有SPACE6(Service-Provider's Application Cloud-based Engine for IPv6 Transition)。
SPACE6是一种网络层协议转换技术和应用层协议翻译技术相融合的全新技术,能把单栈IPv4网站或单栈IPv6网站的内容自动发布到IPv4和IPv6两个网络平面,从而快速实现网站的双栈化升级,而且部署灵活,与物理位置无关,网站只需要在其授权DNS上增加一条相应的AAAA记录即可。还有SPACE6技术还能解决网站中由于外链导致的内容缺失等问题("天窗"问题),较其它转换技术具有更佳的用户体验。
在技术实现方面,SPACE6的协议转换技术从网络层延伸到应用层,直接修改特定应用Payload中与协议相关的内容,其它流量则在网络层直接转换。SPACE6采用云计算分布处理技术,解决性能问题的同时大大提升了系统的扩展能力。SPACE6还充分利用了应用层转换的特点,便捷地提供了内容分发,网络加速,流量本地化等附加功能。