【ACCESS精品源码栏目提醒】:网学会员鉴于大家对ACCESS精品源码十分关注,论文会员在此为大家搜集整理了“【精品论文】智能终端主流平台_Android的IPv6分析 - 期刊论文”一文,供大家参考学习
移动终端智能终端主流平台——Android的IPv6分析 董智明 张志荣 张长学 魏文娟 中国电信股份有限公司北京研究院 【摘 要】Android平台作为目前非常热门的开源智能手机操作系统,已经风靡全球。
其发展之迅速,大有不可阻挡之 势。
文章通过移植Android原始代码的实验板和已经上市的手机,从Wire Ethernet、Wi-Fi以及3G(EV-DO)三种 上网方式的实验,比较深入地研究了Android从底层芯片到上层浏览器对于IPv6的支持情况,对未来Android终端厂 商开发IPv6功能具有很好的参考意义。
【关键词】Android IPv6 Wi-Fi PPP Network Relay1 Android平台介绍 Android1.0,Android1.1,Android1.5,Android1.6, Google认为,手机价格越来越低,但其中手机平台 Android2.0,Android2.1,Android2.2。
很多公司也开的价格变化不大,在手机成本中所占比例越来越大。
基 发出基于Android的衍生系统,包括中国移动的OMS平于此,Google主持开发Android平台,希望提供一个免 台、中国联通的Uniplus平台、创新工厂的Tapas,等费、开放、功能强大的手机操作系统,以推动手机价格 等。
市场上销售的很多智能手机也是基于Android平台更物美价廉,让全世界40多亿手机用户因此受益,从而 的,包括三星的I909、海信的E90、联想的乐Phone、更方便、更频繁地访问互联网。
Moto的Droid、XT800,等等。
早在2005年,Google收购了成立仅22个月的高科 随着以Android为平台的互联网手机用户规模不断扩技企业Android,其创始人就是后来主持Android平台开 大,网民数量不断增加,全球互联网所使用的IPv4地址发的Andy Rubin。
Android平台由操作系统、中间件、 数量遇到了发展瓶颈;同时,由于互联网在人们生活中用户界面和应用软件组成,号称是首个为移动终端打造 的日益普及与物联网手机应用的兴起,更加速IPv4地址的真正开放和完整的移动软件。
其发展至今,经历了 日益走向耗尽的边缘。
相信在不久的将来,全世界便会 走入IPv6时代。
手机操作系统对于IPv6的支持,是移动 互联网支持IPv6至关重要的环节。
本文将对未来主流的收稿日期:2010-01-03 智能手机操作系统—Android进行研究与分析。
80 2011年第1期 责任编辑:吴竹立 wuzhulimbcom.cn 移动终端2 IPv6技术分析以及现状 相关的。
最好的办法就是把这些函数放在一个主CPU上 IPv6作为下一代互联网协议已经引起了各地区、各 执行,并且这个主CPU是运行实时操作系统的。
另外一运营商的足够重视,因为所有的人都已经认可这样一种 个使用BP的好处是一旦其被设计和认证完毕后,则不管前景:谁能够率先在IPv6方面有所作为,谁就能够在未 开发者采用的操作系统和应用软件怎么变化,它都可以来的竞争中占据有利位置。
在众多设备提供商和运营 正确地执行功能(它的通讯功能)。
另外,操作系统和商的努力下,IPv6协议已经从实验室走向了应用阶段。
驱动的问题也不会导致设备发送灾难性的数据到移动网法、日、美等国的研究机构,IBM、日立等公司,分别 络中。
由于AP和BP是分开的设备,手机设计者可以更加研制开发了不同平台上的IPv6系统软件和应用软件;美 自由地设计用户界面和应用软件。
国思科,加拿大北电网络,中国的华为、中兴等路由器 处理器芯片对于IPv6的处理主要有两种方式:网络厂商已经开发出了支持IPv6网络的路由器产品。
操作系 模式和Relay模式。
统方面,基于开放
源码的Linux对IPv6提供了比较强的支 (1)网络模式持,IBM、康柏、惠普和微软的最新操作系统都提供了 网络模式:PC/AP通过PPP协议向BP申请建立IPv6IPv6支持。
连接,BP获得PPP协议包,解析后知道要建立IPv6连 接;然后BP重组PPP协议包(可加入QoS等信息)跟网 因此,从整体上来讲,IPv6的技术已经成熟,标准 络侧PDSN协商建立IPv6 Session;一旦完成,PC/AP就也基本完善,一些网络基础设施和核心设备都已陆续开 可以获得ipv6地址,跟网络侧PDSN进行IPv6连接通信。
始支持其使用,但是在具体实施的问题上,由于经济利 在网络模式,芯片的IP,PPPUm两个协议栈需要支益上的关系,在目前还没有普遍推广,而是处于与Ipv4 持 IPv6,IP属于网络层,PPP属于数据链路层。
网络模式相互并存和过渡的阶段。
的数据包传输过程如图3(b)所示。
在这种模式下,若想 若用户使用手机登陆IPv6的网站,必须多个要素都 支持IPv6,对BP(基带处理器)来说是有要求的,这与支持IPv6才行,手机端主要包括手机处理器芯片、操作 IPv4不同。
运行IPv6的话,不仅AP(主处理器)在协议上系统、协议栈、浏览器等;对于网络方面,中国电信的 支持IPv6,也需要BP来一起协助建立IPv6 的session,获核心网需要PDSN(CDMA2000)、路由器等支持IPv6 得IPv6地址。
也就是说,BP也要支持IPv6才行。
协议才行。
(2)Relay模式 Relay模式:BP不涉及任何PPP处理, 利用PPP实现3 Android平台的IPv6 PC/AP与网络侧PDSN之间端到端连接,BP仅仅作为无 本节研究了Android系统使用的底层芯片到上层应 线连接作用。
用对于IPv6的支持情况,包括Modem芯片、Android的 在Relay模式支持IPv6,对BP来说是无特殊要求,Linux内核、libc库、浏览器等。
此时BP相当于数据卡,通过PPP协议把IPv6协议数据包3.1主流芯片 封装起来传送,完成PC/AP端和PDSN网络端之间的数据 目前,很多智能手机设计商都倾向于使用两个处理 包透明传输。
IPv6地址获得和IPV6 的session建立都是由器。
操作系统、用户界面和应用程序都在Application PC/AP侧来实现,跟BP无关。
ProcessorAP上执行,AP一般采用ARM芯片的CPU。
一般情况下,在无线数据卡中采用Relay模式,智手机射频通讯控制软件则运行在另一个分开的CPU上, 能手机中采用网络模式。
对于Android智能手机中,这个CPU称为Baseband ProcessorBP。
Google倾向于IPv6在BP中实现,同时需要修改Android 把射频功能放在BP上执行的主要原因是:射频控制 上RIL层来支持IPv6。
函数(信号调制、编码、射频位移等)都是高度与时间 芯片厂家(比如高通)倾向于IPv6在基带芯片中实责任编辑:吴竹立 wuzhulimbcom.cn 2011年第1期 81移动终端现。
高通的芯片,QSC6801系列后的芯片都能支持; 的话需要调用IPv6的socket接口。
以前的不支持,如QSC6010、QSC6020、QSC6055、QSC6085等单芯片平台;QSC6055芯片的数据卡代码升 4 Android系统的IPv6实验级后也可以支持。
从代码上看,在QSC6085芯片上,有 为了验证Android系统对于IPv6的支持情况,笔者与IPv6相关的功能,但只是定义了功能和一些流程上的 做了以下实验,并专为此次实验搭建了IPv6环境,包括控制(没有代码实现),为后续芯片的支持做准备,所 IPv6网口、无线路由器等。
实验中使用的主要IPv6网站以QSC6085是不支持的,其以前的芯片就更不支持。
包括: 部分7系列、8系列芯片是支持的,像MSM7625等。
http://ipv6.google.com.hk/高通原计划MSM7627芯片于2010年10月底出IPv6升级 http://ipv6.beijing2008.cn/版,但高通官方后申明要延期2个月。
高通从2010年6月 http://www.kame.net/开始陆续推出支持IPv6芯片。
4.1 实验板通过Wire Ethernet登陆IPv6网站3.2 Android对于IPv6的支持 该实验板移植的是Android2.1系统。
出厂时Linux内 (1)Android内核 核无IPv6模块,正常情况需要用insmod IPv6等命令安 Android内核支持IPv6(Linux内核的TCP/IP协 装。
我们采用勾选IPv6模块,重新编译并烧写内核的方议栈从2.2版本就已经支持IPv6了,而Android采用的 法解决此问题。
Linux内核是2.6以后的版本),编译Android内核代 选择该实验板的重要原因是有网口,且可通过串口码时,在Linux Kernel 源代码路径下执行命令:make 以root身份执行各种操作。
menuconfig,选择ipv6即可: Networking support 实验步骤如下:---Networking options --- The IPv6 protocol (1)重新编译、烧写实验板内核,使之支持IPv6协---其他IPv6分支选项。
议栈; 而对于操作系统(OS)/协议栈IP Stack上IPv6和 (2)手动设置DNS服务器:IPv4的socket调用API不一样(IPv4和IPv6的socket接口 setprop net.dns1 2001:c68:300:104:200的函数名和参数都是不一样的)。
(3)网线连接实验板与IPv6网口,测试IPv6成功。
希望OS开发厂商支持来统一socket接口,这是个目 实验板访问IPv6如图1所示。
标,目前OS支持有困难,国内著名终端厂商华为提出connection management(CM)概念,即上层应用不管底层是IPv4还是IPv6连接,CM来适配接口,根据需要来切换到IPv4或IPv6网络。
(2)Android中间层 Android Native支持IPv6,C库里有支持IPv6的socket。
上层应用程序对IPv6和IPv4调用的socket API不一样(IPv4和IPv6的socket接口的函数名和参数都是不一样的),应用程序需要重写,调用新的接口来支持IPV6。
目前,终端上能实现的应用程序仅是Browser,其他应用程序实现需要时间,因为应用程序要实现IPv6功能 图1 实验板访问IPv682 2011年第1期 责任编辑:吴竹立 wuzhulimbcom.cn 移动终端4.2 Android手机通过Wi-Fi登陆IPv6网站 4.3 通过3G(EV-DO)上网 主要使用HTC的Nexus One(Android 2.2.1,Linux 本方式是手机和开发板通过Android系统的PPP协议内核版本2.6.32)和MOTO XT800(2.1-update1, 进行拨号上网。
首先,需要将PDSN配置成支持IPv4和Linux内核2.6.29-omap1),以及无线路由器H3C IPv6双栈的模式。
此时,手机和开发板都可以登录IPv4WA1208E-GP进行实验。
网站,但是无法登录IPv6网站。
这说明Android对于IPv4 实验步骤如下: 的支持是很完善的,但对于IPv6的支持存在某些缺陷。
(1)在IPv6 only网络中,Nexus One Wi-Fi连接 为了明确缺陷所在之处,先通过Windows7 PC进行H3C AP(
Access Point,即无线路由器),界面也始终 上网实验。
Windows7访问IPv6,需要将MODEM高通显示“正在获取地址”,不能登录IPv6网站。
QSC6085设成relay模式,仅仅透传,不做任何处理。
(2)插入联通3G SIM卡,或在Wi-Fi管理器中手动 图3显示的是MODEM的relay 和network 模式的原理简设定IPv4的地址和DNS,则手机可连接H3C并登录IPv6 图。
Windows7 PC能够正常访问IPv6网站,然后,截取网站。
Windows7在上网过程中,基站和PDSN之间的交互数据 原因:Android获得IPv6后,还会一直尝试通过IPv4 包,如图4所示,具有IPv6协商与建立流程。
而AndroidDHCP获取一个IPv4的IP地址,如果不能获取则自动断 手机和开发板没有这部分过程。
开。
解决方法: ◆在路由器上运行一个IPv4 DHCP server,可发送RA; ◆Android设置一个任意的静态IP。
另:架设DHCPv6 server,windows7 PC可自动获取IPv6 IP地址和DNS,但Android不能。
说明Android DHCP功能还不完善。
Android手机访问IPv6如图2所示。
图3a Network Mode 图3b Relay Mode 可以明确的是,Android手机和开发板在登录IPv4 网站时,能够正常地进行密钥解析、获取IP地址等过 程。
但在登录IPv6网站时,终端并没有进行PPP协议 图2 Android手机访问IPv6 的流程。
通过进一步对Android的代码进行研究,发现责任编辑:吴竹立 wuzhulimbcom.cn 2011年第1期 83移动终端 在不久的将来,国内三大运营商便会 全面支持IPv6,包括终端、接入网和 核心网等部分。
而终端厂商也会逐步 在终端上开展IPv6的研究,以满足未 来运营商对于IPv6的需求规范。
本文 对于终端厂商具有很好的借鉴意义, 图4 Windows7访问IPv6 也为其指明了工作方向。
Android默认并没有把IPv6的功能开启,也就是说很多的 参考文献宏定义被注释掉,而且IPv6相关的.h文件都没有包含到PPP协议里,导致Android终端不能支持IPv6功能。
若将 1姜智峰. 运营商互联网IPv6网络技术演进探讨J. 移动通 信20109.Android的IPv6功能打开,需要相当多的工作量来进行代 2韩超梁泉. Android系统原理及开发要点详解M. 北京:码修改和调试。
目前,大多数终端厂商都没有正式开展 电子工业出版社2010. 3姚昱旻刘卫国. Android的架构与应用开发研究J. 计算支持IPv6的终端的研究,主要是因为国内三大运营商的 机系统应用,20089. ★网络还没有完全开始支持IPv6,也没有在终端需求规范里强制要求支持IPv6。
【作者简介】4.4 实验总结 董智明:毕业于东北大学通信与信 (1)Android平台至少从2.1版本开始,已基本支 息系统专业,工学硕士。
现就职 于中国电信股份有限公司北京研究持IPv6,主要功能均已具备,包括内核、中间件及默认 院,从事Android平台智能终端的研浏览器软件;但是,如果通过PPP拨号上网的话,目前 究、定制与开发工作。
Android平台和已上市的Android手机都没有支持访问IPv6网站,这部分功能需要对已屏蔽的IPv6代码进行修改和调试。
(2)Android Wi-Fi管理软件对IPv6的支持还不太完 张志荣:现就职于中国电信北京研善和方便,需要一些代码的改动和调试工作才能使用; 究院宽带与互联网研究创新中心 (3)如果试图设置一个静态的IPv6格式地址也不被 高级工程师 主要从事Android、接受,说明管理软件在开发时就没有考虑对IPv6的支持。
BMP、WM、LINUX-JAVA等智能手机平 台系统架构以及IPv6/IPSec等研究 终端上支持IPv6的关键是IPv6协议栈,该协议栈可 和开发工作。
以在AP(运行手机系统)侧实现,也可在BP(基带芯片)侧实现。
对于Android系统,Linux内核已支持IPv6协议,在relay模式对BP要求相对较少。
据查,实验用的Nexus One主芯片是高通QSD8250 张长学 :现就职于中国电信北京研究院宽带与互联网研究 创新中心 高级工程师 主要从事Android智能手机平台系(SnapDragon 1GHz),Modem部分不支持IPv6功 统架构以及IPv6/IPSec,电信新业务等研究和开发工作。
能,因此不能支持3G网络的IPv6。
魏文娟:现就职于中国电信北京研究院宽带与互联网研究 创新中心高级工程师,主要从事中国电信智能终端的规划5 结语 与研究工作。
有报道称,在未来的2至3年,IPv4地址便会枯竭。
84 2011年第1期 责任编辑:吴竹立 wuzhulimbcom.cn