IPv6—only网络互通技术

2013-05-08 06:03:00刘笑寒,闫双舰,孙玉勤
中兴通讯技术 2013年2期

刘笑寒,闫双舰,孙玉勤

摘要:对IPv6-only的网络互通技术从过渡技术、访问场景、应用需求3方面进行分析,对网络构建从应用、数据、状态、操作系统4个维度进行探讨。对IPv6-only网络访问IPv4 internet这一典型场景,采用NAT64/DNS64翻译技术进行系统构建,从操作系统、浏览器、网络应用(网页、即时通信、流媒体)等方面进行测试,并基于测试结果对IPv6-only的实际部署进行讨论。

关键词: 下一代互联网;纯IPv6;网络互通技术;NAT64/DNS64翻译技术

Abstract: In this paper, we analyze IPv6-only interoperability in terms of transition technologies, visiting scenarios, and application requirements. We also analyze network construction in terms of applications, data, state, and OS. We propose a practical system for accessing IPv4 internet from an IPv6-only network. This system uses NAT64/DNS64 translation technology. We test the OS, web browser, and Internet applications such as web sites, instant messaging, and streaming in this system. We use these test results as the basis for a discussion on the practical deployment of IPv6-only network.

Key words: next-generation Internet; IPv6-only; network interoperability technology; NAT64/DNS64 translation technology

1 IPv6-only网络环境背景

分析

2012年6月的IPv6日,世界范围内全面启动IPv6。在中国,移动、联通和电信大范围开展现网IPv6试点。在中国下一代互联网发展建设峰会上,与会专家明确了重视Android系统的IPv6二次开发,并主要采用双栈技术(RFC4213)[1]的方针。

随着IPv6研究工作和实际部署的不断开展,网络迟早会进入纯IPv6(IPv6-only)的时代。现在人们提出了很多IPv6的过渡计划,大多都遵循RFC5211[2]中提出的3个渐进阶段:准备阶段、过渡阶段、后过渡阶段。

目前很多的资源还在IPv4环境中,因此IPv6和IPv4网络之间的互通尤为重要。在IPv6-only环境下,现有的硬件设备和软件可以应用到什么程度,访问网络会出现什么问题,以及如何解决这些问题并没有明确的官方资料。

在研究领域,爱立信的J.Arkko等于2010年开始构建IPv6-only办公环境,并于2012年4月确定RFC6586[3]。WIDE Project从2011年9月开始在WIDE Camp构建IPv6-only实验环境,并提出草案[4]。

2012年11月中国下一代互联网示范工程(CNGI)专家委员会主办的IPv6过渡技术国际测试大会,对业内支持IPv6过渡技术的产品进行了摸底测试,推进了设备的产业化进程。

本文对IPv6-only的网络互通技术从过渡技术、访问场景、应用需求3方面进行分析,对其中涉及的IPv6-only network访问IPv4 Internet场景,采用NAT64/DNS64[5-7]翻译技术进行系统构建和应用测试分析,并对实际IPv6-only环境部署遇到的问题和网络设计进行讨论。

2 IPv6-only网络互通技术

分析

2.1 过渡技术分析

数据中心、网络提供商的网络环境以及网络地址的渐进情况如图1所示。在现网IPv4环境下,普遍采用网络地址翻译(NAT)技术解决地址缺乏问题。随着IPv4地址分配完毕和IPv6的发展,过渡环境中普遍采用双栈。新出厂的终端将支持IPv6,用户可以在数据中心、网络提供商提供的IPv6-only网络环境下工作。

IPv4到IPv6的过渡技术[8]分为双栈、隧道和翻译3种。3种过渡技术各有其优缺点,应针对不同场景配置不同的过渡技术。

从IPv4到IPv6的过渡形态来看,对于IPv6-only环境的新用户,资源访问应包括4个类型:本地IPv6访问、一次翻译、双重翻译、隧道封装。

当用户访问服务器时,首先采用本地模式,即IPv6 to IPv6。若主机和服务器在不同环境下,主机尝试一次翻译,即IPv6 to IPv4。若一次翻译访问失败(应用层网关(ALG)发生问题等原因),主机尝试双重翻译,即IPv6 to IPv4 to IPv6。若一些应用(如IPSec)在双重翻译模式下无法工作,则采用隧道封装进行访问,即IPv4 over IPv6。

2.2 访问场景分析

本文涉及的IPv6-only环境的新用户,应用程序可能是IPv4或IPv6的,在边缘网络访问IPv4 Internet或IPv6 Internet。

对于IPv4 Internet的访问可分为[9]3种场景:

(1)使用IPv4访问IPv4 Internet。

(2)使用IPv6访问IPv4 Internet。

(3)使用IPv6访问IPv6 Internet。

场景(1)对应于现在的过渡阶段,大量资源都在IPv4 Internet上,很多应用还只支持IPv4。可采用IPv4 over IPv6隧道技术,如Public 4over6、Lightweight 4over6、DS-Lite技术等。用户设备作为隧道发起点,网络出口的路由器设备作为隧道汇聚点。也可采用双重翻译技术,如MAP-T、464XLAT技术。

场景(2)对应于的用户设备支持IPv6单栈。可采用一次翻译技术,如有状态的NAT64/DNS64、无状态的IVI技术等。网络边缘路由器支持双栈。

对于IPv6 Internet的访问,场景(3)即全网已升级为IPv6。可采用IPv6单栈进行本地访问。若有用户设备的上层应用仍使用IPv4,则需要进行用户侧的翻译。

2.3 应用需求分析

IPv6-only边缘网络中用户的应用需求可分为:

(1)IPv4环境下流行应用。

(2)IPv4/IPv6可以互通解决的各种应用。

(3)IPv6环境下的杀手级应用。

应用(1)包括目前流行的操作系统、网络应用、网络安全等。其中网络应用包括客户/服务器(C/S)架构和对等(P2P)架构的应用。

应用(2)指针对现有特定社会需求或科学研究而开展的需要IPv4/IPv6互通解决的应用,如异构或同构网络间大数据传输等科研应用。

目前运营商的地址短缺问题也可采用大规模网络地址翻译(LSN)或者地址+端口(A+P)等方式解决,此类应用也列于应用(2)。

应用(3)指通过IPv6能够提供更好解决方案的应用,如网络安全等。

3 IPv6-only网络构建及

应用测试

3.1 网络构建分析

IPv6-only网络构建可通过4个维度进行分析:

(1)应用:可分为普通应用程序和应用层网关(如嵌入地址的网络内容)。

(2)访问:可分为本地、一次翻译、双重翻译、隧道封装。

(3)状态:分有状态和无状态。

(4)操作系统:可从IPv6地址角度和域名解析角度进行分析。RFC4291[10]和RFC5156[11]中列举了各种用途的IPv6地址,如单播地址、链路本地地址、站点本地地址、6to4、Teredo等各种特殊的地址。

根据以上分析,我们选取IPv6-only边缘网络环境中,新用户使用IPv6访问IPv4 Internet这个典型场景进行第一步的网络环境构建和互通技术分析。

3.2 网络构建

我们于2012年5月初在中国科学院计算机网络信息中心4号楼办公区构建IPv6-only实验网络,针对IPv6-only访问IPv4 Internet场景,采用NAT64/DNS64技术。

系统构建如图2所示。网络翻译器下行连接网络控制器、无线网络接入点(AP),对用户终端提供网络连接;上行连接三层以太网交换机,接入中国科技网(CSTNET)。

本实验环境采用A10 Networks的AX2600-GCF网关实现NAT64/DNS64;用户终端关闭IPv4,只打开IPv6;采用无状态地址分配[12],NAT64转换前缀为2001:cc0:2003:2::/64;DNS64服务器地址为2001:cc0:2003:2::243;网络配置时间为2012年5—7月。10名研发人员使用PC机、手机、平板电脑等终端设备在此网络环境下测试。

3.3 网络应用测试

网络应用测试主要测试IPv4环境中流行的应用,包括操作系统和网络应用。网络应用包括客户/服务器架构和对等(P2P)架构的应用。

3.3.1 操作系统

测试了Windows7、WindowsXP、Ubuntu10.04、Fedora16、Android4.0、Mac10.6等操作系统。

Windows7、Ubuntu10.04、Mac10.6、Android4.0支持IPv6-only。其中,采用Android4.0的用户终端需进入开发模式配置静态IPv6域名服务器(DNS)。Mac10.6系统用于邻居发现的地址(默认IPv6地址)和用于接送发送标识的地址需指定为同一地址。

WindowsXP不支持IPv6-only。其原因是WindowsXP没有安装IPv6的部分支持协议如DHCPv6等。

Fedora16无法支持IPv6-only。在实验中配置了IPv4后可使用IPv6。Fedora的网络管理器的IPv6基于IPv4连接。2012年5月更新的Fedora17可支持IPv6-only。

3.3.2 网络应用——网页

在IPv6-only环境下,我们测试了IE9、Firefox、Chrome3款浏览器,均可访问IPv4(只有A记录)网站,其中Chrome须在配置页面打开IPv6功能。

目前的网站分为仅有A记录(指向IPv4地址的记录)的网站(Yahoo中国、新浪等),以及同时具有AAAA记录(指向IPv6地址的记录)和A记录的网站(Yahoo.com、Google.com等)。

访问网站时,根据NAT64/DNS64工作机制,DNS64首先查询AAAA记录,当存在AAAA记录时,客户端直接通过路由器进行IPv6访问;当AAAA记录不存在时,查询A记录,DNS64将网站地址转换为IPv6地址发送给客户端,客户端通过NAT64翻译发给路由器后,访问网站。

我们进行了将DNS64设置为仅查询A记录的实验,顺利访问Yahoo中国、新浪等IPv4网站,验证了NAT64/DNS64机制的有效性。

3.3.3 网络应用——视频

我们访问了新浪、搜狐、优酷、土豆、酷六等网站的视频,其中仅新浪的大部分视频可顺利访问。经抓包分析,新浪的大部分视频采用按照域名对视频文件进行查询的方式,而其他网站视频采用的是按照IPv4地址进行查询。NAT64/DNS64无法解决IPv4地址嵌入的情况。

3.3.4 网络应用——客户端应用程序

我们测试了QQ、MSN、Renren、Skype等即时通信客户端程序,均无法通信,即利用数据报协议(UDP)的客户端通信基于IPv4,无法在IPv6-only环境下工作。

根据RFC6120[13]中对可扩展通信和表示协议(XMPP)的定义,服务器的标识等应采用域名。因此相应地,Web QQ、Web MSN、Web Renren、Web Weibo等基于XMPP协议或超文本传输协议(HTTP)的通信可以正常工作,除非嵌入IPv4地址。

3.4测试结论与讨论

从测试结果来看,构建IPv6-only网络环境是可行的,满足办公的基本需求。目前很多硬件软件都支持IPv6,但并不能完全支持IPv6-only,推荐采用最新的操作系统,如Window7、Mac10.6、Fedora17、Android4.0、Ubuntu10.04以上版本。

本次实验采用网络层的翻译机制NAT64,对于嵌入IPv4地址的应用程序,需要设置应用层网关配合NAT64工作,或采用应用层的翻译机制。以文件传输协议(FTP)为例,工作方式分为主动模式和被动模式,有IPv4环境中的FTP协议[14]和IPv6环境中的FTP协议[15]。在本次实验场景的翻译过程中需要在应用层对嵌入IP地址的FTP指令及相应连接参数做逐条翻译,如EPSV到PASV,EPRT到PORT等[16]。

IPv6-only的实际部署,如对于不能访问的采用地址进行索引的视频的处理、只支持IPv4的网络程序等,需要网络内容服务商(ICP)的支持。现阶段仍推荐采用双栈。

实验采用手工配置DNS和无状态自动分配地址,需进一步测试基于路由器公告(RA)的DNS自动发现和DHCPv6功能。

4 总结及未来研究计划

本文对IPv6-only网络互通技术从过渡技术、访问场景、应用需求3方面进行分析。对IPv6-only网络中的用户访问IPv6 Internet的场景采用NAT64/DNS64进行系统构建,在基本应用测试的基础上进行了分析。

近期讨论的实验包括IPv6-only环境中IPSec等安全性测试和FTP等需配置应用层网关的应用测试等。

未来我们将着重于IPv6-only环境下双重翻译和隧道技术的应用及基于科学问题的网络互通研究。

IPv6-only是IPv4/IPv6过渡的完成阶段,面对目前因特网工程任务组(IETF)中提出的面对各种场景的过渡技术,IPv6-only如何在应用、访问、状态、操作系统等4个维度上同现有网络环境实现更好的互通是非常重要的研究领域,将促进IPv6的进一步发展和推广。

参考文献

[1] NORDMARK E, GILLIGAN R. Basic transition mechanisms for IPv6 hosts and routers [S]. RFC4213. 2005.

[2] CURRAN J. An Internet transition plan [S]. RFC5211. 2008.

[3] ARKKO J, KERANEN A. Experiences from an IPv6-only network [S]. RFC6586. 2012.

[4] HAZEYAMA H, HIROMI R, ISHIHARA T, et al. Experiences from IPv6-only networks with transition technologies in the WIDE camp autumn 2012 [R]. draft-hazeyama-widecamp-ipv6-only-experience-02. 2012.

[5] BAGNULO M, MATTHEWS P, VAN BEIJNUM I. Stateful NAT64: Network address and protocol translation from IPv6 clients to IPv4 servers [S]. RFC6146. 2011.

[6] BAGNULO M, SULLIVAN A, MATTHEWS P, et al. DNS64: DNS extensions for network address translation [S]. RFC6147. 2011.

[7] IPv4 Exhaustion and IPv6 transition [J]. Nikkei Network, 2011, 10(7):30-35.

[8] AMOSS J J, MINOLI D. Handbook of IPv4 to IPv6 transition: Methodologies for institutional and corporate networks [M]. New York, NY,USA: Auerbach Publications, 2007.

[9] 崔勇. IPv6过渡场景分析 [R]. 北京: 中国通信标准化协会, 2012.

[10] HINDEN R S, DEERING S. IP version 6 addressing architecture [S]. RFC4291. 2006.

[11] BLANCHET M. Special-use IPv6 addresses [S]. RFC5156. 2008.

[12] THOMSON S, NARTEN T, JINMEI T. IPv6 stateless address autoconfiguration [R]. RFC4862. 2007.

[13] SAINT-ANDRE P. Extensible messaging and presence protocol (XMPP): Core [S]. RFC6120. 2011.

[14] POSTEL J, REYNOLDS J. File Transfer Protocol [S]. RFC0959. 1985.

[15] ALLMAN M, OSTERMANN S, METS C. FTP Extensions for IPv6 and NATs [S]. RFC2428. 1998.

[16] BEIJNUM VAN I. An FTP Application Layer Gateway (ALG) for IPv6-to-IPv4 Translation [S]. RFC6384. 2011.