智能终端主流平台_android的ipv6分析

上传人:wt****50 文档编号:44499081 上传时间:2018-06-09 格式:PDF 页数:5 大小:1.05MB
返回 下载 相关 举报
智能终端主流平台_android的ipv6分析_第1页
第1页 / 共5页
智能终端主流平台_android的ipv6分析_第2页
第2页 / 共5页
智能终端主流平台_android的ipv6分析_第3页
第3页 / 共5页
智能终端主流平台_android的ipv6分析_第4页
第4页 / 共5页
智能终端主流平台_android的ipv6分析_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《智能终端主流平台_android的ipv6分析》由会员分享,可在线阅读,更多相关《智能终端主流平台_android的ipv6分析(5页珍藏版)》请在金锄头文库上搜索。

1、移动终端802011年第1期责任编辑:吴竹立 1 Android平台介绍Google认为,手机价格越来越低,但其中手机平台的价格变化不大,在手机成本中所占比例越来越大。基于此,Google主持开发Android平台,希望提供一个免费、开放、功能强大的手机操作系统,以推动手机价格更物美价廉,让全世界40多亿手机用户因此受益,从而更方便、更频繁地访问互联网。早在2005年,Google收购了成立仅22个月的高科技企业Android,其创始人就是后来主持Android平台开发的Andy Rubin。Android平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整

2、的移动软件。其发展至今,经历了Android1.0,Android1.1,Android1.5,Android1.6,Android2.0,Android2.1,Android2.2。很多公司也开发出基于Android的衍生系统,包括中国移动的OMS平台、中国联通的Uniplus平台、创新工厂的Tapas,等等。市场上销售的很多智能手机也是基于Android平台的,包括三星的I909、海信的E90、联想的乐Phone、Moto的Droid、XT800,等等。随着以Android为平台的互联网手机用户规模不断扩大,网民数量不断增加,全球互联网所使用的IPv4地址数量遇到了发展瓶颈;同时,由于互联

3、网在人们生活中的日益普及与物联网手机应用的兴起,更加速IPv4地址日益走向耗尽的边缘。相信在不久的将来,全世界便会走入IPv6时代。手机操作系统对于IPv6的支持,是移动互联网支持IPv6至关重要的环节。本文将对未来主流的智能手机操作系统Android进行研究与分析。智能终端主流平台 Android的IPv6分析董智明 张志荣 张长学 魏文娟 中国电信股份有限公司北京研究院【摘 要】Android平台作为目前非常热门的开源智能手机操作系统,已经风靡全球。其发展之迅速,大有不可阻挡之势。文章通过移植Android原始代码的实验板和已经上市的手机,从Wire Ethernet、Wi-Fi以及3G(

4、EV-DO)三种上网方式的实验,比较深入地研究了Android从底层芯片到上层浏览器对于IPv6的支持情况,对未来Android终端厂商开发IPv6功能具有很好的参考意义。【关键词】Android IPv6 Wi-Fi PPP Network Relay收稿日期:2010-01-03移动终端2011年第1期81责任编辑:吴竹立 2 IPv6技术分析以及现状IPv6作为下一代互联网协议已经引起了各地区、各运营商的足够重视,因为所有的人都已经认可这样一种前景:谁能够率先在IPv6方面有所作为,谁就能够在未来的竞争中占据有利位置。在众多设备提供商和运营商的努力下,IPv6协议已经从实验室走向了应用阶

5、段。法、日、美等国的研究机构,IBM、日立等公司,分别研制开发了不同平台上的IPv6系统软件和应用软件;美国思科,加拿大北电网络,中国的华为、中兴等路由器厂商已经开发出了支持IPv6网络的路由器产品。操作系统方面,基于开放源码的Linux对IPv6提供了比较强的支持,IBM、康柏、惠普和微软的最新操作系统都提供了IPv6支持。 因此,从整体上来讲,IPv6的技术已经成熟,标准也基本完善,一些网络基础设施和核心设备都已陆续开始支持其使用,但是在具体实施的问题上,由于经济利益上的关系,在目前还没有普遍推广,而是处于与Ipv4相互并存和过渡的阶段。若用户使用手机登陆IPv6的网站,必须多个要素都支持

6、IPv6才行,手机端主要包括手机处理器芯片、操作系统、协议栈、浏览器等;对于网络方面,中国电信的核心网需要PDSN(CDMA2000)、路由器等支持IPv6协议才行。3 Android平台的IPv6本节研究了Android系统使用的底层芯片到上层应用对于IPv6的支持情况,包括Modem芯片、Android的Linux内核、libc库、浏览器等。3.1主流芯片目前,很多智能手机设计商都倾向于使用两个处理器。操作系统、用户界面和应用程序都在Application Processor(AP)上执行,AP一般采用ARM芯片的CPU。手机射频通讯控制软件则运行在另一个分开的CPU上,这个CPU称为Ba

7、seband Processor(BP)。把射频功能放在BP上执行的主要原因是:射频控制函数(信号调制、编码、射频位移等)都是高度与时间相关的。最好的办法就是把这些函数放在一个主CPU上执行,并且这个主CPU是运行实时操作系统的。另外一个使用BP的好处是一旦其被设计和认证完毕后,则不管开发者采用的操作系统和应用软件怎么变化,它都可以正确地执行功能(它的通讯功能)。另外,操作系统和驱动的问题也不会导致设备发送灾难性的数据到移动网络中。由于AP和BP是分开的设备,手机设计者可以更加自由地设计用户界面和应用软件。处理器芯片对于IPv6的处理主要有两种方式:网络模式和Relay模式。(1)网络模式网络

8、模式:PC/AP通过PPP协议向BP申请建立IPv6连接,BP获得PPP协议包,解析后知道要建立IPv6连接;然后BP重组PPP协议包(可加入QoS等信息)跟网络侧PDSN协商建立IPv6 Session;一旦完成,PC/AP就可以获得ipv6地址,跟网络侧PDSN进行IPv6连接通信。在网络模式,芯片的IP,PPP(Um)两个协议栈需要支持 IPv6,IP属于网络层,PPP属于数据链路层。 网络模式的数据包传输过程如图3(b)所示。在这种模式下,若想支持IPv6,对BP(基带处理器)来说是有要求的,这与IPv4不同。运行IPv6的话,不仅AP(主处理器)在协议上支持IPv6,也需要BP来一起

9、协助建立IPv6 的session,获得IPv6地址。也就是说,BP也要支持IPv6才行。(2)Relay模式Relay模式:BP不涉及任何PPP处理, 利用PPP实现PC/AP与网络侧PDSN之间端到端连接,BP仅仅作为无线连接作用。在Relay模式支持IPv6,对BP来说是无特殊要求,此时BP相当于数据卡,通过PPP协议把IPv6协议数据包封装起来传送,完成PC/AP端和PDSN网络端之间的数据包透明传输。IPv6地址获得和IPV6 的session建立都是由PC/AP侧来实现,跟BP无关。一般情况下,在无线数据卡中采用Relay模式,智能手机中采用网络模式。对于Android智能手机中,

10、Google倾向于IPv6在BP中实现,同时需要修改Android上RIL层来支持IPv6。芯片厂家(比如高通)倾向于IPv6在基带芯片中实移动终端822011年第1期责任编辑:吴竹立 现。高通的芯片,QSC6801系列后的芯片都能支持;以前的不支持,如QSC6010、QSC6020、QSC6055、QSC6085等单芯片平台;QSC6055芯片的数据卡代码升级后也可以支持。从代码上看,在QSC6085芯片上,有与IPv6相关的功能,但只是定义了功能和一些流程上的控制(没有代码实现),为后续芯片的支持做准备,所以QSC6085是不支持的,其以前的芯片就更不支持。 部分7系列、8系列芯片是支持的

11、,像MSM7625等。高通原计划MSM7627芯片于2010年10月底出IPv6升级版,但高通官方后申明要延期2个月。高通从2010年6月开始陆续推出支持IPv6芯片。3.2 Android对于IPv6的支持(1)Android内核Android内核支持IPv6(Linux内核的TCP/IP协议栈从2.2版本就已经支持IPv6了,而Android采用的Linux内核是2.6以后的版本),编译Android内核代码时,在Linux Kernel 源代码路径下执行命令:make menuconfig,选择ipv6即可:* Networking support -Networking options

12、 - The IPv6 protocol -其他IPv6分支选项。而对于操作系统(OS)/协议栈(IP Stack)上IPv6和IPv4的socket调用API不一样(IPv4和IPv6的socket接口的函数名和参数都是不一样的)。 希望OS开发厂商支持来统一socket接口,这是个目标,目前OS支持有困难,国内著名终端厂商华为提出connection management(CM)概念,即上层应用不管底层是IPv4还是IPv6连接,CM来适配接口,根据需要来切换到IPv4或IPv6网络。(2)Android中间层Android Native支持IPv6,C库里有支持IPv6的socket。上

13、层应用程序对IPv6和IPv4调用的socket API不一样(IPv4和IPv6的socket接口的函数名和参数都是不一样的),应用程序需要重写,调用新的接口来支持IPV6。目前,终端上能实现的应用程序仅是Browser,其他应用程序实现需要时间,因为应用程序要实现IPv6功能的话需要调用IPv6的socket接口。4 Android系统的IPv6实验为了验证Android系统对于IPv6的支持情况,笔者做了以下实验,并专为此次实验搭建了IPv6环境,包括IPv6网口、无线路由器等。实验中使用的主要IPv6网站包括:http:/.hk/http:/ 实验板通过Wire Ethernet登陆I

14、Pv6网站该实验板移植的是Android2.1系统。出厂时Linux内核无IPv6模块,正常情况需要用insmod IPv6等命令安装。我们采用勾选IPv6模块,重新编译并烧写内核的方法解决此问题。选择该实验板的重要原因是有网口,且可通过串口以root身份执行各种操作。实验步骤如下:(1)重新编译、烧写实验板内核,使之支持IPv6协议栈;(2)手动设置DNS服务器:#setprop net.dns1 2001:c68:300:104:200(3)网线连接实验板与IPv6网口,测试IPv6成功。实验板访问IPv6如图1所示。图1 实验板访问IPv6移动终端2011年第1期83责任编辑:吴竹立 4

15、.2 Android手机通过Wi-Fi登陆IPv6网站主要使用HTC的Nexus One(Android 2.2.1,Linux内核版本2.6.32)和MOTO XT800(2.1-update1,Linux内核2.6.29-omap1),以及无线路由器H3C WA1208E-GP进行实验。实验步骤如下:(1)在IPv6 only网络中,Nexus One Wi-Fi连接H3C AP(Access Point,即无线路由器),界面也始终显示“正在获取地址”,不能登录IPv6网站。(2)插入联通3G SIM卡,或在Wi-Fi管理器中手动设定IPv4的地址和DNS,则手机可连接H3C并登录IPv6

16、网站。原因:Android获得IPv6后,还会一直尝试通过IPv4 DHCP获取一个IPv4的IP地址,如果不能获取则自动断开。解决方法:在路由器上运行一个IPv4 DHCP server,可发送RA;Android设置一个任意的静态IP。另:架设DHCPv6 server,windows7 PC可自动获取IPv6 IP地址和DNS,但Android不能。说明Android DHCP功能还不完善。Android手机访问IPv6如图2所示。图2 Android手机访问IPv64.3 通过3G(EV-DO)上网本方式是手机和开发板通过Android系统的PPP协议进行拨号上网。首先,需要将PDSN配置成支持IPv4和IPv6双栈的模式。此

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号