IPv6终端技术研究
IPv6终端技术研究 中国移动通信研究院 于 川 郑 巍 陈健捷 陈 刚 摘 要:随着可供分配的IPv4地址越来越少,IPv6距离我们的脚步越来越近了;终端作为IPv6商用化进程中重要
IPv6终端技术研究
中国移动通信研究院 于 川 郑 巍 陈健捷 陈 刚
摘 要:随着可供分配的IPv4地址越来越少,IPv6距离我们的脚步越来越近了;终端作为IPv6商用化进程中重要的环节之一,需要我们重点关注。本文在介绍I Pv6终端现状的同时,分析了终端从IPv4到IPv6过渡所面临的主要场景,并提出了应对各种场景可能的解决方案;最后,本文对IPv6终端领域的一些关键技术进行了重点介绍。
关键字:终端 IPv6 按需PDP 激活 PDCP 头压缩
一、 IPv6终端技术现状
1998年8月10日,IETF IESG 宣布了一组互联网草案成为标准,即从RFC2460到2463,这一天也就被认为是IPv6的诞生日。十几年已经过去,IPv6服务仍没有在网络上进行广泛部署,全世界除了几个教育研究机构的网络能够提供IPv6终端的接入外,IPv6服务寥寥无几。然而随着互联网(包括移动互联网)在中国的迅猛发展,IPv4地址即将耗尽,IPv6技术已经引起了广泛的关注,尤其是中国IP 地址紧缺问题十分严峻,一方面宽带业务急剧扩展,未来物联网、云计算等业务都对IP 地址存在着海量需求;另一方面,中国目前IPv4公网地址极度紧缺,推广IPv6技术已经势在必行。
但目前IPv6还非常不成熟,设备支持程度还远远不够,尤其是手机终端,到目前为止还没有一款TD 手机能够支持IPv6,能够支持IPv6的GSM 手机数量也十分有限;手机终端对IPv6的支持情况,已经成为了制约中国IPv6发展及运营商IPv6推广建设的主要瓶颈。
二、 IPv6终端过渡方案
IPv4向IPv6过渡是一个长期的过程,在这个过程中如何做到终端侧的平滑切换直接影响到用户体验,而用户体验直接关系到IPv6产品的商业化进程,然而终端在其产品设计和开发中面临着很多的挑战。终端不像其他网络设备可以在产品发布之后方便地进行升级,终端到了用户手中之后就失去了对其的控制,所以终端的IPv6设计一定要考虑得十分周全,有设计瑕疵的终端流入市场之后,网络要一直保持对这类终端的适配,这样会为IPv4向IPv6过渡留下不可预测的隐患。
实现终端IPv4/IPv6的平滑切换显得十分重要,终端在未来的IPv6世界,也就IPv4/IPv6长期并存的世界里面临着以下几种不确定性: z 终端获取的IP 地址是IPv4还是IPv6?
,z 业务服务器的地址是IPv4还是IPv6?
z 用户选择的业务是IPv4还是IPv6?
目前终端访问业务是通过APN 拨号的方式进行,网络在为终端分配IP 地址的时候很难知道业务服务器的信息,因而存在以下使用场景:
z 用户分配到的地址是IPv4地址,但要访问的业务是IPv6;
z 用户分配到的地址是IPv6地址,但要访问的业务是IPv4;
z 用户只分配到了一种地址,但要同时访问IPv4、IPv6两类业务。 要适用于以上使用场景,有以下几种解决方案:
z 终端同时申请IPv4、IPv6两类地址,终端根据业务服务器地址的不同
进行地址的选择和路由;
z 设置IPv6业务专用APN,通过APN 设置来消除业务服务器地址的不确定; z 终端根据业务的需要,动态地申请IP 地址;
z 终端只申请一类地址,通过翻译/隧道方式进行转换如PNAT。
IPv6终端过渡方案一定要考虑到以上使用场景并根据运营商不同的网络部署策略采取不同的方案。
三、 IPv6终端关键技术
为了实现终端从IPv4到IPv6的平滑过渡,根据不同的网络部署策略,终端侧有很多关键技术可以选择。
3.1 IPv6终端的AP 和CP 接口设计
双核终端架构将成为IPv6终端的一种主流架构,在该架构之下的AP 和CP 接口设计是实现IPv6的关键,图1为激活IPv6类型的PDP 并动态获取IPv6地址而涉及的流程和主要的AP 与CP 之间的命令交互的一个工程实现样例。
,
图1 AP和CP 接口
注:AT Adapter为一个CP 侧标准Modem 接口与AP 侧操作系统接口之间的适配层。AT Adapter运行在AP 上,但为流程叙述方便,下文中如无特殊说明,都将AT Adapter在逻辑上视为CP 功能的一部分,而AP 则指AP 侧的操作系统。
各步骤描述如下:
1.AP 给CP 发送AT 消息1设置要激活的PDP 类型(IPv6、IPv4);
2.CP 给AP 返回一个响应,确认是否设置成功,CP是否准备好;
3.AP 给CP 发送AT 消息2,要求CP 开始执行PDP 激活;
4.CP 向SGSN 发出“Activate PDP Context Request”;
5.在接受创建PDP 上下文请求时,GGSN 创建由PDP 上下文分配的前缀和GGSN 生成的接口标识组成的IPv6地址。此地址随后在“Create PDP Context Response”的PDP 地址信息元素被返回;
6.SGSN 将“Activate PDP Context Accept”消息返回给CP;
7.AP 侧的AT Adapter调用位于AP 侧的pppd 与CP 侧Modem 完成PPP 协商流程,随后向AP 侧操作系统返回一个响应,确认PDP 激活是否成功;
8.AP 在空闲命令通道上向CP 发送AT 消息3,来读取CP 从网络获得的IPv6
,地址;
9.CP 给AP 返回一个响应,包含从GGSN 申请到的IPv6地址。AP收到GGSN 产生的IPv6地址,从中提取出接口标识并存储。AP要用此接口标识来建立其链路。AP忽略在激活PDP 上下文接受中收到的IPv6地址中包含的前缀;
10.AP 给GGSN 发送“Router Solicitation message”来激活路由器广播消息的发送;
11.GGSN 向AP 发送“Router Advertisement message”,其中包含步骤5相同的前缀。在AP 收到路由器广播消息后,AP通过步骤9收到的接口标识或本地生成的接口标识与路由器广播收到的前缀,构造出完整IPv6地址。
3.2 按需PDP 激活
按需PDP 激活是针对3GPP R8以前的终端,双栈终端通过设置双栈APN,终端通过该APN 激活PS 域业务时,终端根据业务所访问的目的服务器决定做哪种类型的PDP 激活。
如果业务已指明访问的是IPv4、IPv6地址,则终端应对应的进行IPv4类型的PDP 激活、IPv6类型的PDP 激活。如果业务访问的是域名,则先进行IPv6类型的PDP 激活。
IPv6 PDP 成功激活获得IPv6地址后,对要访问的域名做DNS 解析。如果解析结果业务具有IPv6地址,那么就可以正常访问;如果解析结果没有IPv6地址,则终端发起IPv4类型的PDP 激活消息,并获得IPv4地址,然后重新进行服务器端地址解析,或者从之前的地址解析结果中寻找IPv4地址,如果解析成功或者从之前的地址解析结果中找到IPv4地址,那么就可以进行业务访问,否则业务访问失败,见图2。
,
图2 按需PDP 激活流程图
,
3.3 PNAT
PNAT(Prefix based NAT)是基于主机的IPv6过渡技术,目的是达到部署IPv6的同时,保证传统IPv4应用程序在IPv4和IPv6网络能够正常通信,做到对应用程序透明无感知。这不仅大大降低了网络IPv6升级而带来的对业务的影响和冲击,而且通过网络技术手段促进了IPv6端到端业务提供产业链的形成,可以大大加速IPv6过渡进程。
PNAT 技术是在充分考虑IPv6过渡阶段大量IPv4业务升级改造难、IPv6产业推动阻力大等问题,结合了移动互联网大力发展的趋势和移动用户永远在线的需求,实现不影响应用的前提下,通过创新的网络侧机制来满足IPv4和IPv6网络之间自由通信的能力。其核心设计理念主要体现在三个方面:首先,PNAT目标是要部署真正的IPv6网络,通过为每一个移动互联网终端配置一个独有的IPv6地址标识,实现了网络中端对端地址可达,从而促进了新业务的发明和推广;其次,通过PNAT 部署来加速业务流量从IPv4向IPv6迁移,增强业务对IPv6网络的附着性和依赖性,从技术上加快网络向IPv6的迈进步伐;最后,PNAT的设计也充分借鉴了2G 网络到3G 网络的成功经验,考虑IPv4/IPv6共存的多种可能性,实现对IPv4业务的兼容。
PNAT 可适用于多种IPv6应用场景,主要支持的IPv6过渡场景如图3所示。其中,包括PNAT 主机和PNAT64网关。PNAT主机将支持主机翻译功能,从而能使位于双栈主机上的IPv4程序能够通过IPv6或IPv4网络来与IPv4或IPv6通信对端进行通信。其主机翻译功能可包括两种模式:Socket API翻译和包头翻译。PNAT64网关连接IPv6和IPv4网络,在PNAT464场景下,用于IPv6和IPv4报文的翻译。对于目的地址,PNAT网关直接去掉其WKP 前缀而获得对应的IPv4地址;对于源地址,PNAT网关去掉LIR 前缀而得到对应的IPv4地址。

PNAT场景一:4-6-4PNAT场景二:4-6
图3 PNAT应用场景
PNAT 作为一个开放的新型IPv6过渡技术,已经在IETF、3GPP 等国际标准化组织中做了积极推进。在IETF,PNAT 主要在Behave 工作组进行标准化推动,目前基于主机翻译的需求及方案取得了广泛共识。在3GPP SA2,成立了研究移动网络IPv6 演进的Study Item,PNAT作为一种移动网络解决方案也受到了业界的广泛关注。
,与PNAT 标准化进程并行,PNAT 还进行了原型系统开发,来推动PNAT 的产业化进程。目前,PNAT已经实现了在CNGI(China Next Generation Internet)超高清流媒体业务演示中进行部署和试验。并在该演示中,用于接收超高清流媒体业务的机顶盒软件只支持IPv4,增加了PNAT 模块后,机顶盒可以通过CNGI 的IPv6骨干网络和位于CNGI 网络边缘的PNAT64网关与位于IPv4网络中的超高流媒体服务器进行通信。超高清流媒体的码流速率高达每用户50Mbps,在PNAT 模块加载后,机顶盒的性能没有受到任何影响,各项业务功能正常,取得了良好的演示和试验效果。
3.4 PDCP 头压缩技术
由于IPv6数据包的包头相对于IPv4来讲要大得多,因此对于IPv6来讲减少包头开销就显得十分重要了。PDCP头压缩技术对于IPv6网络,尤其是当网络中小数据量包很多的时候是非常重要的。
PDCP 头压缩技术,能够有效减少包头开销,特定环境下可以提高带宽、时延及信道收益。但是,它也有着它的不足。他需要对每个IP 包头进行处理,延长了数据交付时间、增加了相关单元的负荷;高度依赖于底层链路的传输质量;并且一定程度上限制了包发送和接收的顺序;对于大数据量的包,头压缩所带来的收益不明显;对于传输速率高的链路,头压缩的必要性不明显;对于实时性要求不高的应用,头压缩的必要性不明显。
那么,为什么PDCP 头压缩技术能有如此优秀的头压缩能力呢?因为,对于同一数据包流(packet stream)来讲,其中的各IP 包具有相同/相近的域,另外部分信息域呈现有规律的变化,只有同一数据包流IP 包的少数信息域随机变化。所以,PDCP头压缩协议,通过发送完整的包头信息或某些关键信息域可以建立压缩端/解压端间的上下文(context);上下文建立成功后,省略掉IP 包中恒定不变及可以重新推算的信息域;并在确定其变化规律后,省略IP 包中有规律变化的信息;只原样照传随机变化的信息。
PDCP 针对不同类型的包文将采用不同的协议和流程。对于TCP/IP、non TCP/IP报文采用RFC2507协议(包压缩流程参见图4、图5);对于RTP/UDP、non RTP/UDP报文采用RFC3095协议(包压缩流程参见图6)。
,








图4 RFC2507 TCP/IP包压缩流程









图5 RFC2507 non ‐TCP/IP包压缩流程
















图6 RFC3095压缩流程
,
四、 总结
在IPv4和IPv6 长期共存的漫长岁月里,终端对IPv6 的支持以及良好的用户体验是推广IPv6的关键点之一。不同的网络部署方案会直接影响终端的设计和实现,网络的复杂性要求终端具有更大的兼容性,良好的用户体验又要做到用户对IP 地址类型的无感知,所有这些都给终端的IPv6设计带来了很多的难点和更大的挑战。我们只有不断地用创新的思路解决这些实际的问题,并时刻从用户(注:此处的用户是指对技术一无所知的用户)的角度思考问题,才能推动IPv6终端技术不断走向成熟。
作者简介
于川,高级工程师,毕业于北京邮电大学,获工学硕士学位,现任中国
移动通信研究院终端技术研究所副所长。先后从事国际漫游、业务支撑
系统、IT 支撑系统规划及整合以及移动数据业务、移动终端的技术研究
和业务开发。曾负责参与多项中国移动增值业务产品开发项目,并多次
获得中国移动科技进步奖项。在各类期刊发表论文10余篇。
郑巍,2002年毕业于北京邮电大学,获信号与信息系统硕士学位。现任中
国移动研究院终端技术研究所项目经理。先后在华为从事过移动终端研
发,在高通从事过蜂窝系统空口信令分析及测试工作。于2007年加入中
国移动研究院,目前主要研究领域为TD 、WLAN 、IPv6等。
陈健捷,硕士学历,2009年加入中国移动通信有限公司研究院终端所。
目前专注于手机终端、IPv6等领域科研工作,对于手机通信芯片、硬件
结构和操作系统等方面都有深入的研究。
陈刚,2008年毕业于北京邮电大学,获电路与系统博士学位,后加入中
国移动研究院。现任中国移动研究院网络技术研究所项目经理。主要从
事IP 路由、IPv6过渡技术、IP 移动性管理、IP 网络管理架构设计等方向
的研究工作,在国家一级期刊和国际重要学术会议上发表12篇学术论文。
同时,也积极参加IETF 、3GPP 标准化工作,目前担任3GPP SA5标准规
范报告人。










