
1. 从开机到上网一次完整的LTE终端搜网注册之旅手机开机信号满格微信消息秒收——这背后是一套极其复杂且精密的无线通信协议在支撑。对于从事通信终端开发、测试或网络优化的工程师来说理解LTE终端的搜网注册流程就像医生要熟悉人体的血液循环系统一样是基本功。这不仅是排查“无服务”、“信号弱”等问题的钥匙更是优化功耗、提升用户体验的核心。很多人可能只停留在“小区搜索”、“随机接入”这些名词上但每个名词背后都藏着大量的状态机、定时器和信令交互。今天我就结合自己多年在终端协议栈开发与测试中的经验把这个流程掰开揉碎了讲清楚让你不仅知道终端在“做什么”更明白它“为什么这么做”以及当流程卡住时我们该“怎么查”。2. 开机第一步PLMN选择与小区搜索的底层逻辑终端一上电协议栈开始初始化它的首要任务不是急着打电话而是找到一个可以“落脚”的网络。这个过程我们称之为PLMN选择。2.1 PLMN列表的构建不只是读取SIM卡很多人以为PLMN列表就是SIM卡里存的几个运营商代码。其实远不止如此。终端会综合多个来源来构建一个候选列表并按优先级排序RPLMN (Registered PLMN)上次成功注册的PLMN。这是最高优先级终端会优先尝试回到“老家”。这个信息存储在终端的非易失性内存中。HPLMN (Home PLMN)SIM卡归属的PLMN。这是用户的“根网络”。EHPLMN (Equivalent HPLMN)与HPLMN等效的PLMN列表。比如中国移动的“46000”和“46002”在某些场景下被视为等效终端可以无缝切换。User Controlled PLMN和Operator Controlled PLMN用户手动选择的网络和运营商下发的优选网络列表。其他PLMN终端在后续扫描中发现的、但不在以上列表中的网络。终端会按照这个优先级顺序逐一尝试搜索并注册。这里第一个实操坑就来了如果RPLMN存储错误比如上次在异常断网情况下关机终端可能会死磕一个实际上无法注册的网络导致开机搜网缓慢。在测试中我们经常通过强制清除NVRAM中的RPLMN信息来复现和解决这类问题。2.2 小区搜索在无线电的海洋中锁定灯塔确定了要尝试哪个PLMN比如中国移动的46000终端就要开始进行物理层的小区搜索了。这个过程可以形象地理解为在一片嘈杂的无线电海洋中寻找并识别出属于目标运营商的、信号最强的那个“灯塔”基站。小区搜索分为三步对应着解调三个关键的下行物理信道PSS (主同步信号) 检测终端在所有可能的LTE频带上进行“盲扫”。PSS信号非常简短只有3种可能的序列对应小区的物理层小区ID组内的IDN_ID^{(2)}取值0,1,2。终端通过相关运算快速检测出PSS从而获得5ms的时间同步因为PSS每5ms发送一次和N_ID^{(2)}。注意PSS检测是功耗大户。为了省电协议规定了DRX非连续接收周期但初始搜网时通常是全频段扫描。优化搜网速度的一个关键点就是优化PSS检测算法和硬件射频前端的切换速度。SSS (辅同步信号) 检测在找到PSS并取得粗同步后终端就知道SSS所在的位置与PSS相隔一定OFDM符号。SSS有168种可能的序列对应物理层小区ID组号N_ID^{(1)}取值0~167。检测到SSS后终端就能计算出完整的物理层小区ID (PCI)PCI 3 * N_ID^{(1)} N_ID^{(2)}。同时SSS帮助终端完成10ms的帧同步因为SSS的序列每10ms重复一次但前后半帧的序列有固定映射关系通过检测这种关系可以确定帧的起始边界。PBCH (物理广播信道) 解码同步完成后终端开始尝试解码PBCH。PBCH携带了最关键的MIB (主信息块)。MIB信息量不大但至关重要它包含了下行系统带宽告诉终端整个小区下行用了多少RB资源块比如20MHz对应100个RB。终端不知道这个就无法正确接收后续数据。PHICH (物理HARQ指示信道) 配置关系到上行传输的HARQ反馈。系统帧号 (SFN) 的高8位SFN是10位的PBCH里只传高8位低2位需要通过解码PBCH所在的子帧位置来推断PBCH只在每10ms无线帧的0号子帧发送。至此终端完成了和某个特定小区的“握手”知道了它的PCI、带宽和帧定时。但这还不够它还不知道这个小区的“身份证”全球唯一标识和“入住规则”接入限制。3. 获取系统信息读懂小区的“公告栏”解码MIB后终端知道了下行带宽于是它可以在整个带宽内接收PDCCH下行控制信道。网络会通过PDCCH调度PDSCH下行共享信道来发送SIB (系统信息块)。可以把SIB理解为小区立的一个“公共公告栏”所有想接入的终端都必须先读懂它。3.1 SIB1小区的核心身份证与接入门槛SIB1是最重要的一个SIB它周期性地在固定位置发送。终端必须成功解码SIB1才能进行后续操作。SIB1包含PLMN Identity List这个小区所属的一个或多个PLMN。终端会核对这里的PLMN是否与自己目标PLMN列表中的匹配。这是决定终端是否尝试接入该小区的关键一步。如果SIB1里公布的PLMN都不在终端的候选列表里终端会放弃该小区继续搜索。Tracking Area Code (TAC)跟踪区码。用于终端移动性管理和寻呼。终端在注册时需要上报TAC。Cell Identity全球唯一的小区标识ECGI。Cell Barring和Cell Reservation小区禁止接入和保留标志。如果cellBarred设置为barred终端绝对不能尝试接入这个小区通常用于负载均衡或运营商测试。SIB调度信息告诉终端其他SIB如SIB2, SIB3等在什么时间、以什么周期发送。3.2 SIB2上行接入的“交通规则”如果说SIB1是身份证SIB2就是一本详细的“交通规则手册”它定义了终端如何发起上行接入是随机接入流程的“宪法”。其核心内容包括RadioResourceConfigCommon上行载频、上行带宽等基础无线资源配置。PRACH (物理随机接入信道) 配置PRACH配置索引决定了随机接入前导码的格式、在时频域上的具体位置哪些子帧、哪些RB。根序列索引及其循环移位用于生成64个随机接入前导码序列。终端从这64个中随机选一个发送。如果两个终端碰巧选了同一个前导码就会发生冲突这是随机接入失败的主要原因之一。前导码初始接收目标功率和功率爬升步长终端发送前导码的初始功率以及每次重传时增加的功率值。功率控制是保证接入成功、减少干扰的关键。BCCH, PCCH, PRACH等信道的定时器与常量例如ra-ResponseWindowSize等待随机接入响应的时间窗口mac-ContentionResolutionTimer竞争解决定时器等。这些定时器的设置直接影响接入速度和成功率。在实测中SIB2的解码错误或配置异常是导致终端无法发起注册的常见原因。例如如果网络配置的PRACH根序列索引范围太小可供选择的前导码数量就少在终端密集的场景下冲突概率会急剧上升表现为大量终端随机接入失败。4. 随机接入在熙攘的广场上举手发言终端确认小区可接入并获取SIB2后就准备向网络“报到”了。第一步就是随机接入。这个过程类似于在一个熙熙攘攘的广场上你想对远处的管理员喊话必须先举手引起他的注意。LTE的随机接入分为基于竞争和基于非竞争两种。初始注册必然是基于竞争的随机接入其流程包含四步俗称“四步握手”Msg1: 前导码传输终端从可用的前导码集合中随机选择一个在PRACH信道指定的时频资源上发送出去。发送功率基于估算的下行路损和SIB2中配置的preambleInitialReceivedTargetPower来计算。为什么是随机选择因为终端在接入前没有唯一标识无法被网络单独寻址只能用这种“碰运气”的方式。功率爬升机制如果在一定时间ra-ResponseWindowSize内没收到回复终端会认为前导码没被基站检测到可能是功率不够或冲突于是以powerRampingStep为步长增加发射功率重选一个前导码再次发送。这个过程会重复直到达到最大重传次数。Msg2: 随机接入响应基站检测到前导码后会在PDSCH上发送一个RAR消息并通过RA-RNTI加扰的PDCCH来调度。RAR中包含检测到的前导码索引告诉是哪个前导码被收到了。TA (时间提前量)这是核心基站测量终端上行信号的到达时间计算出终端需要提前多少时间发送以补偿无线传播时延保证所有终端的上行信号在基站侧对齐。UL Grant (上行授权)为终端分配用于发送Msg3的临时上行资源RB、调制编码方式等。Temp C-RNTI一个临时的用户标识用于后续竞争解决。Msg3: 终端标识首次上行传输终端在RAR分配的上行资源上发送Msg3。对于初始注册Msg3是RRC连接请求消息。这个消息里包含了终端的核心身份标识S-TMSI如果终端之前注册过有临时标识或一个随机生成的随机数如果是首次接入。同时RRC连接请求会携带注册请求的NAS消息。Msg4: 竞争解决基站收到Msg3后通过下行发送一个竞争解决标识。这个标识里包含了它在Msg3中收到的那个终端标识S-TMSI或随机数。所有发送了Msg3的终端都在监听Msg4。只有那个发现Msg4里的标识与自己刚才发送的标识一致的终端才认为竞争解决成功。它会把之前收到的Temp C-RNTI升级为自己的正式C-RNTI。其他终端则判定自己竞争失败退避一段时间后重头开始随机接入流程。这个流程的复杂性在于其随机性和冲突可能性。在测试中我们经常通过信令工具如QXDM、空口抓包仪抓取这四步消息通过观察Msg1的重传次数、Msg2的接收情况、Msg4的冲突解决结果来精确定位是射频问题、功率问题、网络配置问题还是单纯的资源冲突问题。5. RRC连接建立与NAS信令交互建立专属通信管道随机接入成功终端有了C-RNTI相当于在广场上拥有了一个临时座位号。接下来它要和网络建立一条稳定的、专属的信令无线承载用于传输更复杂的注册信令。5.1 RRC连接建立Msg3中的RRC连接请求被网络接受后基站会通过RRC连接建立消息响应。这条消息非常重要它确认了RRC连接的建立。为终端配置SRB1 (信令无线承载1)的详细参数包括RLC模式通常为AM、逻辑信道配置等。SRB1用于传输后续的RRC消息和NAS消息。可能携带一些测量配置。终端回复RRC连接建立完成消息。至此终端与基站之间的RRC连接正式建立。这条连接是后续所有NAS信令核心网信令传输的管道。5.2 NAS层附着与注册请求RRC连接建立后终端就可以通过上行直传消息将NAS层的附着请求发送给核心网MME。在5G NSA和SA架构普及的今天LTE的初始流程更多被称为注册请求但其核心内容相似。这个消息包含终端永久标识IMSI如果首次注册或无有效安全上下文或GUTI之前分配的唯一临时标识。终端网络能力支持哪些加密和完整性保护算法。附加的PDN连接请求通常终端会请求建立一个默认的PDN连接用于访问互联网APN如“cmnet”。5.3 核心网鉴权与安全激活核心网MME收到注册请求后会发起鉴权流程来确认终端身份。MME向终端发送鉴权请求其中包含一个随机数RAND和一个网络鉴权令牌AUTN。终端利用SIM卡中的密钥Ki和算法对AUTN进行验证确认网络是合法的并利用RAND和Ki计算出响应值RES通过鉴权响应回给MME。MME将此RES与HLR/AuC计算的期望值XRES比较一致则鉴权通过。鉴权成功后MME会发起安全模式命令。这个过程在NAS层和AS层RRC都会发生。网络会协商出一套加密算法如EEA0, EEA1和完整性保护算法如EIA1, EIA2并生成用于后续信令加密和完整性保护的密钥。终端和网络侧同时激活安全算法此后的所有RRC信令和NAS信令都将被加密和完整性保护。这里有一个关键点安全模式命令的完成标志着终端进入了“安全状态”。如果安全模式命令失败例如终端不支持网络选择的算法整个注册流程会失败回退。在跨国漫游测试中由于不同运营商支持的算法优先级不同经常遇到此类问题。6. 默认承载建立打通上网的数据通道注册和安全都搞定后终端还无法上网因为它还没有数据无线承载。MME会与S-GW、P-GW交互为终端建立默认的PDN连接。这个过程对应着EPS会话管理。会话建立请求MME向S-GW/P-GW发送创建会话请求P-GW为终端分配一个IP地址可能是静态的但通常是动态分配的。RRC连接重配置核心网将建立好的承载信息包括分配的IP地址、QoS参数、隧道端点信息TEID下发给基站。基站再通过一条RRC连接重配置消息将承载配置下发给终端。这条消息里配置了数据无线承载通常是DRB1用于传输用户面数据。逻辑信道配置、传输信道配置、物理信道配置的完整映射关系。测量配置、移动性控制信息等。终端配置与应用终端根据消息内容在协议栈的PDCP、RLC、MAC、PHY各层配置好相应的实体和参数。重配置完成终端配置成功后向基站回复RRC连接重配置完成消息。至此一条从终端应用层经过协议栈各层通过空口再经基站、S-GW到P-GW最终通往互联网的完整数据通道被建立起来。终端通常会在此时触发一个DHCP流程如果P-GW分配的是IPv4地址或IPv6地址自动配置然后就可以进行网络连通性检测如Ping DNS服务器了。7. 流程卡壳怎么办实战问题排查思路理解了完整流程排查问题就有了清晰的路线图。当终端开机后长时间显示“无服务”或“正在搜索”我们可以按照流程分段排查小区搜索阶段失败现象终端一直在频繁扫描频段但无法锁定到任何小区。排查点射频前端检查天线匹配、滤波器是否正常。用综测仪模拟基站信号看终端能否正常同步。频段支持确认终端硬件和软件版本是否支持当前区域的运营商频段。同步算法PSS/SSS检测算法的相关峰门限设置是否合理在低信噪比下是否鲁棒SIB解码失败现象能搜到小区看到PCI但信号格不稳无法注册。排查点SIB1解码用空口抓包工具确认基站是否正常广播SIB1且PLMN列表正确。终端日志是否显示SIB1 CRC校验失败SIB调度SIB1中指示的其他SIB特别是SIB2调度信息终端是否能够正确接收和解码检查终端日志中的SIB_READ_ERROR。随机接入失败现象信号满格但注册过程在“正在注册”或“正在连接”状态停留很久后失败。排查点Msg1无响应检查终端发送的前导码功率是否足够查看路损估算和功率爬升日志。空口抓包看基站侧是否检测到了前导码。Msg2收不到检查终端是否在正确的RA-RNTI窗口内监听PDCCH。检查基站侧RAR的调度是否正常。Msg4竞争解决失败这是常见问题。查看终端日志中竞争解决标识是否匹配。如果频繁失败可能是小区内接入用户过多需要优化前导码资源或接入策略。RRC或NAS信令失败现象随机接入成功但随后很快失败。排查点RRC连接拒绝基站可能因资源不足、准入控制等原因发送RRCConnectionReject。查看拒绝原因值。鉴权/安全模式失败抓取NAS信令查看鉴权请求/响应、安全模式命令/完成是否成功。重点检查算法协商是否一致。核心网拒绝MME可能因终端非法、区域限制等原因回复Attach Reject或Registration Reject携带具体的拒绝原因码如#7 - EPS services not allowed。默认承载建立失败现象信号显示已注册有信号格但无法上网数据业务打不开。排查点RRC重配置失败终端是否无法解析或应用基站下发的承载配置检查RRCConnectionReconfiguration消息内容是否合法。核心网侧承载建立失败通过核心网信令跟踪如S1-MME S11接口查看P-GW是否成功分配了IP地址S-GW与基站间的S1-U承载是否建立成功。IP地址获取失败终端是否成功收到了P-GW分配的IP地址是否成功发出了DHCP请求一个实用的排查习惯是结合终端侧日志、空口信令抓包和网络侧信令跟踪进行三方对时分析。精确对齐三者的时间戳可以让你清晰地看到信令在哪一端发出又在哪一端丢失或出错从而快速定位问题是终端侧、空口无线环境还是网络侧配置问题。这个过程虽然繁琐但却是解决复杂注册问题的唯一可靠方法。