android数据业务架构(qualcomm平台)

数据业务架构
本文主要介绍数据业务的架构,通过阅读该文档,可以对android手机的上网的原理有一个整体上的认识,可以熟悉Android上跟上网相关的各个模块的主要作用,以及它们之间的联系。
下图是整个UE侧的一些跟数据业务相关的核心模块,纵向划分可以分为AP侧和Modem侧,上部分属于AP,下部分属于Modem。AP主要处理一些跟应用相关的任务,当然整个Android的框架都在AP,modem主要实现无线通信的协议;横向划分可以划分为数据流和命令控制流。下面分别从上到下,先控制流再数据流来说明架构图中各个模块的功能。
要了解控制流是怎么走的,可以参考文档《android数据业务激活流程》,里面介绍从界面开始如何一步步调用到把PDP激活请求通过OTA发送出去。
Android 的数据业务系统架构
核心模块功能:
ConnectivityManager
网络连接相关功能的管理,包括给应用层提供数据开关的接口,打开某种网络的接口如彩信需要激活彩信PDP,网络状态变化的处理如路由的管理,DNS的管理,网络冲突的处理如WIFI与移动数据同时打开,选优先级高的WIFI,关掉优先级低的移动数据。
核心文件:ConnectivityService.java
NetworkManager
网络管理服务,网络配置相关的管理,如向应用提供配置路由的接口,地址转换的接口等等跟网络配置相关的接口。
核心文件:NetworkManagerService.java。netd是它对应的本地执行文件。
TelephonyManager
这是管理电话上网相关的模块,上网相关部分主要是根据是否满足条件触发激活移动数据连接。比如卡加载完成,PS附着成功等等这些事件都要监听,检测到这些事件发生就会触发建立Data Call。
核心文件:DcTracker.java
Qcril
这是高通实现的Ril,ril层负责AP与Modem通信,Telephony发给Modem的命令都需要经过ril层,还有Modem的一些状态的主动上报也是经过Ril层。
QMI
这是高通实现的与modem通信的命令的接口,上面的qcril接收从telephony下发下来的命令后经过处理,会经过qmi发给modem,从qcril过来的一条命令,有可能通过好几个qmi 的命令发给modem。QMI在AP和Modem各有一个,从上图可以看到。
Data Service Control
数据业务的控制管理,在AP侧和Modem也都有一个,AP侧的在完成数据业务激活后,会从Modem侧获取相关的网络配置,如IP地址,DNS等,然后会对驱动中的网络设备进行配置,如设置IP地址到设备中,改变设备的状态,还可以设置相关路由。
在Modem侧主要有:管理Data Profile,根据不同的网络模式把数据路由到对应的承载,配置数据的
网络接口,如PC通过PPP拨号,数据就通过USB口,如果是手机本身拨号,通过的是虚拟的网络接口(rmnet网络接口)
Call Manager
这是一个Call的管理模块,所有向协议层发的命令都经过Call Manager,所有协议层上报的消息也都会经过该模块。这里的Call不仅仅是语音呼叫的Call,数据业务也叫Data Call,短信的也是一种Call。
SM/ESM
会话管理,一个Data Call就是一个会话,建立起会话,手机的数据才能顺利地通过接入网,核心网,最终到达公众数据网(如因特网),反方向也是一样。
MM/GMM/EMM
移动性管理,这是移动通信的一个必不可少的模块,只有通过该模块不定间隔地汇报当前位置,核心网才知道UE所在的当前小区。
RLC
无线链路控制,发给空口的数据包每一帧是有大小限制的,如果发的数据包很大,就会进行分割,如果很小,就可以包几个包进行合并,以适应无线帧。同时提供错误检查,如果传的数据出现错误,可以对数据进行重传。
MAC
媒体接入控制,控制数据发送到空口,由于空口资源是有限的,因此要有一个调度,才能提升网络的整体性能,如果没有调度的话,时间都花在解决冲突上,或者某个用户占用了
资源一直不释放的话,其它用户就没法用了。
Physical Layer
物理层只,负责如何正确,快速地在特定的时间(MAC控制),特定的频段(RRC控制)把数据传输出去或接受下来。主要任务信道编码和基带信号处理。
Socket
这是网络接口层,应用要访问网络,要调用Socket的接口,在android系统中,对Socket 进行了比较多的封装
TCP/UDP
完成数据的传输,确保数据能正确地传到对端(如TCP协议的重传机制),识别并分发到对应的应用(通过端口来表示数据包属于哪个应用)。
IP
完成路由功能,在手机里同样需要知道IP包是怎么走的,比如手机可以通过移动网络上网,也可以通过WIFI上网,两种不同的上网方式是经过不同的网络设备,都是通过在路由表配置完路由后才能够上网。在比如手机作为热点,完成数据的转发,手机就是一个名符其实的路由器了。
Network Device Interface
网络接口层,手机可以通过不同的网络接口来上网,因此会有不一样的网络设备的接口。Virtual Ethernet Driver
这是高通实现的虚拟网卡驱动,主要功能是把数据传给Modem或者接收从Modem过来的数据,可以通过共享内存的方式来传,或者通过A2的方式来传。
在Modem侧也有对应的接口。

本文发布于:2024-09-20 13:55:14,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/87311.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   网络   相关   配置   接口
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议