数据业务建立流程之发起网络连接过程(原)
5g中的业务请求sr流程

5g中的业务请求sr流程
在5G网络中,业务请求(Service Request,SR)是设备(如手机或物联网设备)发起的用于建立连接并请求服务的过程。
SR流程是设备向网络发出请求以开始数据传输或建立通信会话的流程。
以下是5G网络中的简化业务请求流程:
1.触发SR:设备需要进行数据传输或建立通信时,向基站发起SR请求。
2.接入过程(Access Procedure):基站(如eNodeB或gNodeB)接收到SR
请求后,触发设备的接入过程。
3.寻呼(Paging):基站向核心网发送寻呼消息,通知核心网有设备需要建立
连接。
核心网根据设备标识(如IMSI)确定设备所在位置。
4.RRC连接建立(RRC Connection Establishment):通过无线资源控制(RRC)
过程,基站与设备建立RRC连接,开始设备与基站之间的通信。
5.授权和鉴权(Authorization and Authentication):核心网对设备进行授
权和鉴权,确保设备有权进行通信并且是合法的用户。
6.业务请求确认(SR Confirmation):当RRC连接建立成功并鉴权通过后,
基站向设备发送SR确认消息,表示可以开始传输数据或服务。
7.业务传输(Service Transmission):一旦SR确认消息到达设备,设备就
可以开始向网络发送数据或者开始通话等服务。
这个流程是一个简化的示例,实际的业务请求流程可能会涉及更多的步骤和各种消息交换,包括控制信令、数据传输和安全验证等。
SR流程的目的是确保设备能够顺利地与网络建立连接并开始正常的通信或服务。
RRM,RRC

RRM,RRC对于⽆线系统来说,⽆线资源的概念是很⼴泛的,它既可以是频率,也可以是时间,还可以是码字。
⽆线资源管理(RRM)就是对移动通信系统的空中接⼝资源的规划和调度。
⽆线资源管理涉及到⼀系列与⽆线资源的分配有关的研究课题,如接⼊控制、信道分配、功率控制、切换、负载控制以及分组信息的调度等。
在传统的⽆线通信系统中,空中接⼝的⾼层协议是简单的分层结构,每层进⾏独⽴的设计和操作,各层间的接⼝是静态的。
这种设计⽅法简化了⽹络设计,具有较好的通⽤性。
但是由于MIMO OFDM⽆线信道的空时频变化特性和随机性,传统的分层设计⽅法不能很好地适应这些特点,以及B3G 系统多业务QoS 保证的需求,也就⽆法实现有限的⽆线资源的最优化利⽤。
为此⼈们提出了跨层的⽆线资源管理的设计思想,在RRM 功能模块和其它协议的各层之间直接交换⽤户的QoS、队列状态、⽆线信道状态、⼩区的负载、系统的⼲扰等信息,在保证业务的QoS 的前提下使得系统的吞吐量最⼤化。
RRC(Radio Resource Control):⽆线资源控制协议。
RRC处理UE和UTRAN之间控制平⾯的第三层信息。
主要包含以下功能:⼴播核⼼⽹⾮接⼊层提供的信息。
RRC负责⽹络系统信息向UE的⼴播。
系统信息通常情况下按照⼀定的基本规律重复,RRC负责执⾏计划、分割和重复。
也⽀持上层信息的⼴播。
将⼴播信息关联到接⼊层。
RRC负责⽹络系统信息向UE的⼴播。
系统信息通常情况下按照⼀定的基本规律重复,RRC负责执⾏计划、分割和重复。
建⽴、重新建⽴、维持和释放在UE和UTRAN之间的RRC连接。
为了建⽴UE的第⼀个信号连接,由UE的⾼层请求建⽴⼀个RRC的连接。
RRC连接建⽴过程包括可⽤⼩区的重新选择、接⼊许可控制以及2层信号链路的建⽴⼏个步骤。
RRC连接释放也是由⾼层请求,⽤于拆除最后的信号连接;或者当RRC链路失败的时候由RRC本层发起。
如果连接失败,UE会要求重新建⽴RRC连接。
5G网络架构分析

5G网络架构分析5G时代将是一张网络满足多样化业务需求,基于NFV/SDN技术,采用通用硬件,实现 网络功能软件化和基于差异化业务的资源编排。
业务及网络平台运营通过数字化平台实现网络能力和业务需求的对接,开放网络能力,按用户面部署,减小业务时延。
降低传输网压力,打破传 统数据仅能从省级出口的路径,用户及业务数据下沉到本地,高频和低频混合组网。
5G核心网与 NFV基础设施结合,为普通消费者、应用提供商和垂直行业需求方提供网络切片、边缘计算等新型业务能力。
5G核心网将从传统的互联网接入管道转型为全社会信息化的赋能者。
5G核心网的创新驱动力源于5G业务场景需求 和新型ICT使能技术,旨在构建高性能、灵活可配的广域网络基础设施,全面提升面向未来的网络运营能力。
5G时代要求未来能形成虚拟化、分层化的核心网络,以及资源开放、适宜开发新业务的网 络架构,从而能够提供从网络运营到业务服务的经济和可持续发展的模式。
随着5G标准冻结,商用部署提上议程,5G需求中所描绘的未来美好的全社会信息化生活正在从畅想变得触手可及。
作为连接万物,赋能业务的社会化信息基础设施的重要环节,移动核心网在5G阶段实现架构、功能和平台的全面重构。
相比于传统4G核心网(EPC) , 5G 核心网采用原生适配云平台的设计思路、基于服务的架构和功能设计提供更泛在的接入,更灵活的控制和转发以及更友好的能力开放。
5G核心网的网络架构1.1两种5G核心网络架构呈现方式5G核心网采用控制转发分离架构,同时实现 移动性管理和会话管理的独立进行,用户面上去除 承载概念,QoS参数直接作用于会话中的不同流。
通过不同的用户面网元可同时建立多个不同的会话 并由多个控制面网元同时管理,实现本地分流和远 端流量的并行操作,5G的核心网络架构分为两种 架构呈现,即参考点方式呈现和服务化架构方式呈现,如图1所示。
5G核心网的参考点方式架构5G核心网的服务化架构服务化架构是在控制面釆用API能力开放形式 进行信令的传输,在传统的信令流程中,很多的消息在不同的流程中都会出现,将相同或相似的消息提取出来以API能力调用的形式封装起来,供其它网元进行访问,服务化架构将摒弃隧道建立的模式, 倾向于采用HTTP协议完成信令交互。
IEEE802.3ah协议介绍

1 、以太网OAM 简介以太网技术诞生几十年来,以其简单、低廉的特点逐步成为局域网(Local Area Network )的主导技术。
随着业务和网络技术发展,设备制造商和标准化组织开始致力于将这一技术向城域网(MAN )和广域网(WAN )方向拓展。
但最大的障碍是缺乏较好的运营管理维护机制。
OAM :将网络的管理工作划分为3 大类,操作(Operation )、管理(Administration )和维护(Maintenance ),简称OAM 。
以太网OAM 是一种监控网络问题的工具。
它工作在数据链路层,利用设备之间定时交互OAMPDU (OAM Protocol Data Units ,OAM 协议数据单元)来报告网络的状态,使网络管理员能够更有效地管理网络。
2 、以太网OAM 标准化过程WorkingMaking itIEEE– IEEE 802.1ag CFM– IEEE 802.3ah EFM-OAM – IEEE 802.1AB LLDP– IEEE 802.1ap VLAN 桥接的MIBITU-T– ITU-T SG 13 Y.1730 以太网OAM 的需求 – ITU-T SG 13 Y.1731以太网OAM 功能和机制MEF– MEF 7 EMS-NMS 信息模型–MEF15网元管理需求–MEF16以太网本地管理接口(E-LMI)–MEF17业务级OAM需求与框架电信级以太网为了实现与传统电信级传送网相同的服务水平,以太网OAM 是研究的重点之一。
IEEE、ITU-T、MEF 等各研究团体和标准组织都在积极进行技术研究和标准制定,目前这些组织所制定的标准对应的以太网OAM 层次,如上图。
IEEE 802.3ah 协议已经标准化,此协议主要用于以太网“最后一公里”上的设备管理和链路管理;802.1ag 关注于以太网端到端的故障管理;ITU-T Y.1731 在设计思路上与802.1ag 高度一致,它定义了类似的管理功能,同时对性能管理的功能和实现方法给出了定义。
STA接入过程01

STA接入过程上期和大家分享了FIT AP在AC上的上线过程,其实无论是FAT AP还是上线的FIT AP,最终目的都是要用来提供无线网络覆盖环境,以供无线终端STA接入。
这样我们才能在日常的生活和工作中,在无线网络覆盖范围内,通过便捷的无线方式,经AP连接到网络中,进行娱乐或办公。
本期将要为大家介绍的是在无线网络环境中,STA是如何接入到AP上的——STA接入过程。
上一回我们说到FIT AP经过一段不轻松的过程,成功拜入AC师傅的门下,获得师傅的认可后,修习了高深的内功,此后,和诸位师兄弟一起,被师傅委以重任。
在玉树临风风流倜傥才高八斗学富五车的师傅的英明领导下,众师兄弟齐心协力建立起了名噪一时的龙门镖局,师傅AC任总镖头,AP作为镖师专为各类主顾押镖。
龙门镖局以响应主顾速度快,托镖安全有保障而为众人熟知。
故坊间有传言“挖掘技术哪家强,中国山东找蓝翔;托运镖物谁最能,首屈一指是龙门”。
经过一段时间的打拼,龙门镖局现已名声在外,能够走到这一步,镖局处理托镖事务的标准规范流程起了重要的作用。
那么我们就来看看要想找龙门镖局托镖,具体需要怎么做吧。
主顾STA找镖局托镖,具体过程有三:其一、寻找到满意的镖师AP(扫描:用于STA发现无线网络);其二、向镖师出示自己的托镖资格(链路认证:STA和AP间无线链路的认证过程,通过了这个认证,才表示STA有资格和AP建立无线链路);其三、签订托镖协议(关联:确定STA有资格和AP建立无线链路后,STA还需要与AP协商无线链路的服务参数,才能完成无线链路的建立)。
本文以STA找镖局托镖的流程来喻指STA接入过程,托镖则指数据传输。
这里我们说的STA接入过程,包括三个阶段:扫描、链路认证和关联。
完成了这三个阶段后,STA就连接上了AP。
后续STA还要根据实际情况,来决定STA是获取IP地址后就可以接入网络,还是需要再进行各种接入认证和密钥协商后才能接入网络(图中是以Portal认证的流程为例,获取IP是在接入认证之前,不同的认证方式获取IP的顺序可能不一样,例如MAC认证,获取IP是在接入认证之后进行的)。
2021江苏LTE初级认证考试模拟试题及答案(完整版)17

2021江苏LTE初级认证考试模拟试题及答案(完整版)17考号姓名分数一、单选题(每题1分,共100分)1、E-UTRA系统覆盖半径最大可达( )A.10kmB.30kmC.50kmD.100km答案:D2、UE开机入网流程的第一步是:A.小区搜索B.PLMN和小区选择C.附着流程D.答案:A3、LTE的终端有:___个等级:A.3B.5C.16D.答案:B4、LTE的信道栅格(Raster)为()A.15kHzB.50kHzD.200KHz答案:C5、下面哪些不属于LTE下行信道?A.PBCHB.PUCCHC.PDCCHD.PDSCH答案:B6、对TD-LTE1个时隙单位描述准确的是()A.2个半帧B.十分之一个无线帧C.半个子帧D.一个特殊子帧答案:C7、集中式的SON架构中,SON功能在以下哪个实现?A.OAMB.eNBC.MMED.SGW答案:A8、在郊区和农村接合部,即网络边缘最好选择:天线:A.65B.90C.120D.360答案:B9、在LTE中,上行功控的精度是?A.0B.5dBB:1dB:1D.答案:B10、TTI bundling支持的调制方式为:A.BPSKB.QPSKC.16QAMD.64QAM答案:B11、哪些不是LTE上行调制方式?A.BPSKB.QBSKC.16QAMD.64QAM答案:D12、SON是LTE网络的一个重要属性,以下哪些是SON的功能()A.Self-configurationB.ANR (Automatic Neighbor Relation Function)C.ICIC (inter-cell interference coordination)D.以上全是答案:D13、上行功控中,PRACH只有( )A.开环功控B.闭环功控C.内环功控D.外环功控答案:A14、关于ZXSDR B8200 L200系统内外部接口关系描述错误的是:()A.TX/RX是S1/X2接口B.ETH0和TX/RX接口不能同时使用C.TX0/RX0接口为基带-射频接口D.EXT是DEBUG口,RS232接口答案:D15、下面哪种说法是正确的。
非常详细的LTE信令流程

LTE信令流程目录第一章协议层与概念 (7)1.1控制面与用户面 (7)1.2接口与协议 (7)1.2.1................................. N AS协议(非接入层协议) 81.2.2................................. R RC层(无线资源控制层) 81.2.3............................ P DCP层(分组数据汇聚协议层) 91.2.4................................. R LC层(无线链路控制层) 101.2.5..................................... M AC层(媒体接入层) 111.2.6......................................... P HY层(物理层) 121.3空闲态和连接态 (13)1.4网络标识 (15)1.5承载概念 (16)第二章主要信令流程 (18)2.1 开机附着流程 (18)2.2随机接入流程 (21)2.3 UE发起的service request流程 (26)2.4寻呼流程 (28)2.5切换流程 (29)2.5.1 切换的含义及目的 (29)2.5.2 切换发生的过程 (30)2.5.3 站内切换 (30)2.5.4 X2切换流程 (31)2.5.5 S1切换流程 (34)2.5.6 异系统切换简介 (36)2.6 CSFB流程 (36)2.6.1 CSFB主叫流程 (37)2.6.2 CSFB被叫流程 (38)2.6.3 紧急呼叫流程 (40)2.7 TAU流程 (41)2.7.1 空闲态不设置“ACTIVE”的TAU流程 (42)2.7.2 空闲态设置“ACTIVE”的TAU流程 (43)2.7.3 连接态TAU流程 (43)2.8专用承载流程 (44)2.8.1 专用承载建立流程 (44)2.8.2 专用承载修改流程 (46)2.8.3 专用承载释放流程 (48)2.9去附着流程 (49)2.9.1 关机去附着流程 (49)2.9.1 非关机去附着流程 (50)2.10 小区搜索、选择和重选 (51)2.10.1 小区搜索流程 (51)2.10.1 小区选择流程 (51)2.10.3 小区重选流程 (52)第三章异常信令流程 (57)3.1 附着异常流程 (57)3.1.1 RRC连接失败 (57)3.1.2 核心网拒绝 (58)3.1.3 eNB未等到Initial context setup request消息 (58)3.1.4 RRC重配消息丢失或eNB内部配置UE的安全参数失败 (58)3.2 ServiceRequest异常流程 (58)3.2.1 核心网拒绝 (58)3.2.2 eNB建立承载失败 (58)3.3 承载异常流程 (59)3.3.1核心网拒绝 (59)3.3.2 eNB本地建立失败(核心网主动发起的建立) (59)3.3.3 eNB未等到RRC重配完成消息,回复失败 (60)3.3.4 UE NAS层拒绝 (60)3.3.5上行直传NAS消息丢失 (60)第四章系统消息解析 (60)4.1 系统消息 (61)4.2 系统消息解析 (62)4.2.1 MIB (Master Information Block)解析 (62)4.2.2 SIB1 (System Information Block Type1)解析 (63)4.2.3 SystemInformation消息 (69)第五章信令案例解析 (81)5.1实测案例流程 (82)5.2 流程中各信令消息解析 (85)5.2.1 RRC_CONN_REQ:RRC连接请求 (85)5.2.2 RRC_CONN_SETUP:RRC连接建立 (87)5.2.3 RRC_CONN_SETUP_CMP:RRC连接建立完成 (96)5.2.4 S1AP_INITIAL_UE_MSG:初始直传消息 (97)5.2.5 S1AP_INITIAL_CONTEXT_SETUP_REQ:初始化文本建立请求 (101)5.2.6 RRC_UE_CAP_ENQUIRY:UE能力查询 (107)5.2.7 RRC_UE_CAP_INFO:UE能力信息 (108)5.2.8 S1AP_UE_CAPABILITY_INFO_IND:UE能力信息指示 (119)5.2.9 RRC_SECUR_MODE_CMD:RRC安全模式命令 (132)5.2.10 RRC_CONN_RECFG:RRC连接重配置 (133)5.2.11 RRC_SECUR_MODE_CMP:RRC安全模式完成 (141)5.2.12 RRC_CONN_RECFG_CMP:RRC连接重配置完成 (141)5.2.13 S1AP_INITIAL_CONTEXT_SETUP_RSP:初始化文本建立完成.. 142 5.2.14 S1AP_ERAB_MOD_REQ:ERAB修改请求 (144)5.2.15 RRC_DL_INFO_TRANSF:RRC下行直传消息 (147)5.2.16 S1AP_ERAB_MOD_RSP:ERAB修改完成 (148)5.2.17 RRC_CONN_RECFG:RRC连接重配置 (150)5.2.18 RRC_UL_INFO_TRANSF:RRC上行直传消息 (161)5.2.19 S1AP_UL_NAS_TRANS:上行NAS直传消息 (162)5.2.20 RRC_CONN_RECFG_CMP:RRC连接重配置完成 (164)5.2.21 RRC_CONN_RECFG:RRC连接重配置 (165)5.2.22 RRC_CONN_RECFG_CMP:RRC连接重配置完成 (168)5.2.23 RRC_MEAS_RPRT:RRC测量报告 (169)5.2.24 RRC_UL_INFO_TRANSF:RRC上行信息传输 (171)5.2.25 S1AP_UL_NAS_TRANS:上行NAS信息传输 (172)5.2.26 S1AP_UE_CONTEXT_MOD_REQ:UE文本更改请求 (174)5.2.27 S1AP_UE_CONTEXT_MOD_RSP:UE文本更改响应 (176)5.2.28 RRC_CONN_REL:RRC连接释放 (177)5.2.29 S1AP_UE_CONTEXT_REL_REQ:UE文本释放请求 (180)5.2.30 S1AP_UE_CONTEXT_REL_CMD:UE文本释放命令 (181)5.2.31 S1AP_UE_CONTEXT_REL_CMP:UE文本释放完成 (183)概述本文通过对重要概念的阐述,为信令流程的解析做铺垫,随后讲解LTE中重要信令流程,让大家熟悉各个物理过程是如何实现的,其次通过异常信令的解读让大家增强对异常信令流程的判断,再次对系统消息的解析,让大家了解系统消息的特点和携带的内容。
数据库服务器工作流程

数据库服务器工作流程如下:
1.用户在计算机上运行基于数据库的应用程序,即启动用户进程。
2.在客户机、服务器之间建立连接。
3.在建立连接的基础上为用户建立会话,并为该会话创建一个
PGA区,存储与该会话相关的信息。
4.服务器启动服务器进程,由该服务器进程负责执行会话的各项
任务。
5.用户进程发送SQL语句等。
6.服务器进程解析、编译、执行SQL语句,并将结果写入数据缓
存区同时返回给用户进程。
7.用户进程接收返回的SQL执行结果。
8.在应用程序中显示SQL语句执行结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据业务建立流程之发起网络连接过程(原)经过前面这些过程,网络连接所需要的条件就全部准备就绪,接下来就是等待网络接入。
我们把网络接入过程简单分为三个阶段:触发阶段----该阶段是由各种不同事件触发的,比如SIM 载入完毕、PS域Attach成功、通话结束、APN改变等,该阶段的最终都是要调用setupDataOnConnectableApns()方法;准备连接阶段----该阶段是指,在DcTracker收到建立连接的请求之后,需要进行一系列有效性检测,比如APN是否已经激活、PS是否已经就绪、用户是否打开网络开关等,然后创建DataConnection()对象,准备发起连接请求;发送连接命令阶段----该阶段是指,在DataConnection收到DcTracker的请求之后,将请求转交给RILJ的过程,经过该阶段后,请求就发送到了RIL以及Modem层,由底层完成信令的发送和接收;一、触发阶段有多种事件可以触发网络接入过程,具体来说分为以下几个原因:[java] view plain copy //漫游相关static final String REASON_ROAMING_ON = "roamingOn"; static final String REASON_ROAMING_OFF = "roamingOff"; //PS attach static final String REASON_DATA_ATTACHED = "dataAttached"; //APN改变static final String REASON_APN_CHANGED = "apnChanged"; //通话结束static final String REASON_VOICE_CALL_ENDED ="2GVoiceCallEnded"; //SIM载入完毕static final String REASON_SIM_LOADED = "simLoaded"; //网络模式改变static final String REASON_NW_TYPE_CHANGED = "nwTypeChanged"; 我们挑选最常见的REASON_DATA_ATTACHED原因来分析网络连接的发起过程。
什么是Data Attach事件呢?其实就是手机的PS域Attach成功,而PS域是和CS域相对应,简单来说,手机(2G/3G)打电话是在CS域上进行,而数据流量是在PS域上进行,PS域附着(Attach)成功之后才可以发起数据激活的信令,然后才可以上网,默认状态下,手机开机后就会发起PS附着的信令给网络,附着成功之后将会接到成功的消息,由于DcTracker当初初始化时在registerForAllEvents()中注册了Attach的监听器:[java] view plain copy protected void registerForAllEvents() { //监听是否PS域Attach状态mPhone.getServiceStateTracker().registerForDataConnec tionAttached(this,DctConstants.EVENT_DATA_CONNECTION_ATTACHED, null); } 因此当PS域Attach成功之后,将会收到EVENT_DATA_CONNECTION_ATTACHED消息:[java] view plain copy public void handleMessage (Message msg) { switch (msg.what){ caseDctConstants.EVENT_DATA_CONNECTION_ATTACHED: onDataConnectionAttached();break; } } 继续:[java] view plain copy private void onDataConnectionAttached() { mAttached.set(true); if (getOverallState() == DctConstants.State.CONNECTED) { //已经处于连接状态startNetStatPoll();startDataStallAlarm(DATA_STALL_NOT_SUSPECTED); notifyDataConnection(Phone.REASON_DATA_ATTACHE D); } else { //初始化后应该处于IDLE状态notifyOffApnsOfAvailability(Phone.REASON_DATA_ATTA CHED); } if (mAutoAttachOnCreationConfig) { mAutoAttachOnCreation = true; } setupDataOnConnectableApns(Phone.REASON_DATA_A TTACHED); } 当前的连接状态是IDLE,因此会将REASON_DATA_ATTACHED的参数传递给notifyOffApnsOfAvailability(),里面也没什么内容,我们直接来看setupDataOnConnectableApns()的操作。
setupDataOnConnectableApns()就是发起数据连接时使用的方法,调用该方法时需要传递一个原因的参数,该参数标明当前建立数据连接的原因(其实目前也没有发现该参数的具体作用)。
其他诸如SIM载入完毕、通话结束等触发事件也都是通过该方法发起数据连接请求的。
二、准备连接阶段当由于种种原因触发网络连接请求时,就会调用到setupDataOnConnectableApns()方法,并传递各种原因的参数,接下来就需要准备APN并进行各种有效性检测,并最终将请求转交给DataConnection来处理。
[java] view plain copy private void setupDataOnConnectableApns(String reason) { //对于当前环境来说,reason为REASON_DATA_ATTACHED for (ApnContext apnContext : mPrioritySortedApnContexts) { if (apnContext.getState() ==DctConstants.State.FAILED){ apnContext.setState(DctConstants.State.I DLE); } if(apnContext.isConnectable()){ apnContext.setReason(reason); trySetupData(apnContext); } } }在这个方法里面,遍历当前所有的APN参数(mPrioritySortedApnContexts其实等同于mApnContexts,只不过是按照优先级顺序排列了一下而已,项都是一样的),找到可用的APN参数,然后通过trySetupData()发起连接请求,我们来看一下这里如何判断一个APN是否可用,也就是看一下isConnectable()的判断条件:[java] view plain copy @ApnContext.java public boolean isConnectable() { return isReady() && ((mState == DctConstants.State.IDLE) || (mState == DctConstants.State.SCANNING)|| (mState == DctConstants.State.RETRYING)|| (mState == DctConstants.State.FAILED)); }前面我们说过,激活APN的时候,其实就是让isReady()的判断通过,而mState初始值也是IDLE,因此刚才我们激活的APN参数此时就被挑选出来,并进行trySetupData()的操作:[java] view plain copy @DcTracker.java private boolean trySetupData(ApnContext apnContext) { boolean isEmergencyApn =apnContext.getApnType().equals(PhoneConstants.APN_T YPE_EMERGENCY); boolean desiredPowerState = mPhone.getServiceStateTracker().getDesiredPowerState( ); boolean checkUserDataEnabled= !(apnContext.getApnType().equals(PhoneConstants.AP N_TYPE_IMS)); if (apnContext.isConnectable()&& (isEmergencyApn ||(isDataAllowed(apnContext) && getAnyDataEnabled(checkUserDataEnabled)&& !isEmergency()))) { int radioTech = mPhone.getServiceState().getRilDataRadioTechnology(); if (apnContext.getState() == DctConstants.State.IDLE) { ArrayList<ApnSetting> waitingApns = buildWaitingApns(apnContext.getApnType(), radioTech); if (waitingApns.isEmpty()){ notifyNoData(DcFailCause.MISSING _UNKNOWN_APN, apnContext); notifyOffApnsOfAvailability(apnContext.getReason()); return false; } else{ apnContext.setWaitingApns(waitingA pns); } } //建立连接boolean retValue = setupData(apnContext, radioTech); notifyOffApnsOfAvailability(apnContext.getReason()); return retValue; } else { } } 这里主要经历了有效性的检查,其中判断了四个情况:apnContext.isConnectable()----判断当前APN是否已经被激活;isEmergencyApn()----当前APN是否为紧急APN;isDataAllowed()----判断是否已经ATTACH成功,SIM是否初始化完毕,当前手机服务是否支持,漫游下是否允许上网等;getAnyDataEnabled()----该条件主要判断用户是否打开了数据开关;这四个条件我们主要来看最后一个,他里面包含用户数据开关的判断,我们来看一下详情,其中传递的参数checkUserDataEnabled受4G IMS的影响,由于国内暂时都没有部署IMS,因此这里的参数肯定都为true:[java] view plain copy mUserDataEnabled =Settings.Global.getInt( mPhone.getContext().getContentR esolver(), Settings.Global.MOBILE_DATA, 1) == 1;这说明他来自于Settings.Global.MOBILE_DATA这个属性值,而这个属性值恰恰就是当用户打开或关闭移动网络时所改变的属性值,当用户打开数据网络时,该值为1,关闭网络时,该值就是0。