你住在一个老小区,快递员给你送包裹时从不需要全城找你——因为你在物业那里登记过住址。快递到了,先送到物业,物业在大门口喊一嗓子,你下楼取件。哪天你搬去了另一个小区,去新物业改一次登记就行,以后快递自动送新地址。
手机待机时的世界就是这样运转的。「登记住址」「搬家改登记」「按登记喊人」,对应到蜂窝网络里就是三个流程:注册(Registration)、位置更新(TAU/移动性注册更新)、寻呼(Paging)。这三个流程共同回答了一个看似简单、实则让工程师纠结了三十年的问题:
网络到底要把你的位置记住到什么精度,才最划算?
这篇文章就把这笔账算清楚。连接状态下手机怎么在小区之间换手是另一码事,这里讲的是手机睡着之后的故事——而这恰恰是全网信令量最大的来源之一。
先看两个极端方案,你就明白为什么需要“跟踪区”这个设计。
极端一:全网精确跟踪。 网络实时记录你驻留在哪个小区,有人找你时直接在那个小区喊你,一步到位。代价是:你每换一个小区(在城市里可能走两百米就换一个),手机就得向网络发一次位置更新。一部手机一天换几百次小区,十亿部手机就是千亿级的信令,网络把所有资源拿来登记户口都远远不够。
极端二:完全不做记录。 手机安安静静睡觉,谁也不打扰。代价是:来一条短信,网络不知道你在哪,只能向全国所有基站发广播。任何一个人的任何一包下行数据,都是一次全网风暴。
| 方案 | 网络掌握的粒度 | 手机的信令开销 | 找到一个人的代价 |
|---|---|---|---|
| 极端一:精确到小区 | 每个小区 | 极高,动一步报一次 | 极低,定点喊人 |
| 极端二:完全不记录 | 全国范围 | 零 | 极高,全网广播 |
| 折中:跟踪区 TA | 一组小区 | 低,出区才报 | 可控,区内广播 |
flowchart TD
Q["网络该记住你到什么粒度"] --> E1["极端一:精确到每个小区"]
Q --> E2["极端二:完全不做记录"]
E1 --> C1["每换一个小区就要报告一次"]
E2 --> C2["找一个人就向全网广播"]
C1 --> P["两端都会被信令压垮"]
C2 --> P
P --> S["折中方案:跟踪区TA"]
S --> S1["区内移动:免报告"]
S --> S2["有人来找:只在区内喊"]
跟踪区(Tracking Area,TA)就是两端之间的折中。 运营商把若干个相邻小区划成一个 TA,每个小区在系统广播消息里播报自己所属的 TA 编号(TAC)。手机登记时,网络下发一个“注册区域”,里面包含一个或多个 TA。手机驻留在注册区域内的任何小区,都不用吭声;一旦发现新小区广播的 TAC 不在列表里,才需要报告一次。寻呼时,网络也只在注册区域内的所有小区喊人,不惊动全城。
位置更新的频率有多高?假设用户以平均速度 $v$ 随机移动,TA 的周长为 $P$、面积为 $A$,则经典的随机移动模型给出的边界穿越率是:
$$\lambda_{\text{TAU}} = \frac{v \cdot P}{\pi \cdot A}$$
穿越率正比于周长、反比于面积。对边长为 $L$ 的正方形 TA,$\lambda_{\text{TAU}} \approx 4v/(\pi L)$——TA 越大,更新越省。
寻呼的代价则相反:TA 里的小区数大致正比于面积 $L^2$,每条下行业务都要在整个 TA 广播,所以TA 越大,寻呼越贵。把两边写成一个总成本函数($\alpha$、$\beta$ 分别是更新和寻呼的单价):
$$C(L) = \alpha \cdot \frac{v}{L} + \beta \cdot L^2$$
对 $L$ 求导取极小,得到最优 TA 尺寸:
$$L^{*} = \left( \frac{\alpha \cdot v}{2\beta} \right)^{1/3}$$
这个式子虽是简化模型,但方向完全符合现网直觉:用户移动越快($v$ 大),最优 TA 越大——频繁更新比偶尔多喊几嗓子更亏;寻呼单价越高($\beta$ 大,即话务密度高),最优 TA 越小——市中心宁可划小 TA、多几次登记,也要压住寻呼广播的爆炸半径。
寻呼不是对所有手机都发生的。手机和网络的“知情关系”由 RRC 状态决定,5G 引入了三个状态,正好对应三种睡姿:
| 维度 | 空闲态(IDLE) | 非活跃态(INACTIVE) | 连接态(CONNECTED) |
|---|---|---|---|
| 网络记录的位置 | 注册区域(一组TA) | 基站侧通知区(RNA) | 精确到小区 |
| 谁来寻呼它 | 核心网发起寻呼 | 基站发起RAN寻呼 | 不需要寻呼 |
| 回到连接的速度 | 慢,要走完整流程 | 快,直接恢复上下文 | 已经连着 |
| 功耗 | 最低 | 中等 | 最高 |
| 出现时间 | 一直有 | 5G新增 | 一直有 |
flowchart TD
IDLE["空闲态IDLE"] -->|"主动发起业务"| CONN["连接态CONNECTED"]
CONN -->|"释放且不挂起"| IDLE
CONN -->|"释放时挂起上下文"| INACT["非活跃态INACTIVE"]
INACT -->|"恢复 上下文直接复用"| CONN
INACT -->|"上下文超时或出覆盖"| IDLE
IDLE -->|"核心网寻呼叫醒"| CONN
为什么 5G 要新增一个「非活跃态」?因为在它出现之前,手机只有两种选择:要么彻底断开(省电但唤醒慢),要么保持连接(唤醒快但费电)。介于两者之间的场景非常多——你刷完一个页面放下手机、微信推一条通知——这类业务来得频繁但每次数据量小,完整建链太浪费。非活跃态的做法是:释放空口连接时,把手机上下文保留在基站里,下次唤醒时走「恢复(Resume)」流程直接把旧上下文捡回来,跳过大部分重建信令。这就像酒店退房时前台说“行李先寄存这,回来直接拿钥匙”——不用重新办入住。
手机检测到需要更新位置的场景主要有四种:
| 触发场景 | 说明 |
|---|---|
| 移动出注册区域 | 新小区广播的TAC不在网络下发的列表里 |
| 周期性注册 | 定时器到点,向网络报平安 |
| 从无覆盖中恢复 | 长时间失联(电梯、地库)后重新找到网络 |
| 开机注册 | 统一注册流程的另一种类型 |
周期性注册值得单独说:手机里有一个网络下发的定时器(5G 里是 T3512,4G 里是 T3412),到点后哪怕你一步没挪,也要发起一次注册更新。为什么?这是双向的保活。对网络来说,它要确认你还在服务区——如果连续几个周期都没等到你的报平安,网络就判定你已不可达,悄悄把你注销(隐含去注册)。之后有人打你电话,网络连寻呼都懒得发,直接返回“已关机或不在服务区”。这就是为什么手机在地库里放一晚上,出来后经常要搜半天网、还可能漏掉期间的来电。
4G 时代,开机附着、TAU、周期性 TAU 是几条独立的信令流程。5G 把它们统一成了一条注册流程(Registration Procedure),只用注册类型字段区分:初始注册、移动性注册更新、周期性注册更新。4G 的 TAU 在 5G 里对应的就是「移动性注册更新」这个名字——功能没变,实现从三条路并成了一条路。这也是 5G 核心网设计哲学的一个缩影:能统一的接口绝不留两套。
注册流程的时序如下:
sequenceDiagram
participant U as 手机
participant G as 基站
participant A as 核心网
U->>G: 驻留新小区 读广播比对区域号
U->>G: 请求建立连接
G->>U: 连接建立
U->>G: 注册请求 类型为移动性更新
G->>A: 转交注册请求
A->>A: 核对身份 更新位置档案
A->>G: 注册接受 附新区域列表与定时器
G->>U: 注册接受
U->>U: 存区域列表 重置周期定时器
Note over U,G: 连接随即释放 手机继续睡觉
注意最后一行:整个更新过程只占几条信令、持续几百毫秒,完成后连接立刻释放,手机接着睡。设计者在这个流程上抠的每一条消息,都是为了把“搬家改登记”这件事做到最便宜。
有人给你发数据时,网络并不知道你此刻的手机状态,它只信任注册时留下的档案。完整链路是:
sequenceDiagram
participant S as 对端服务器
participant A as 核心网
participant G as 区域内各基站
participant U as 手机
S->>A: 有数据要发给号码X
A->>A: 查位置档案 手机登记在TA3
A->>G: 向TA3全部小区下发寻呼指令
G->>U: 在寻呼时机用临时名广播
U->>G: 比对名单命中 发起服务请求
G->>A: 转交服务请求 建立连接
A->>S: 通道打通 下发积压数据
两个细节值得咀嚼。其一,寻呼指令发往注册区域内的所有小区,每个小区在自己合适的时间点广播,谁先喊到你算谁的。其二,广播里喊的不是你的手机号,更不是真实身份(IMSI 绝不在空中接口裸奔),而是网络分配的临时标识(5G-S-TMSI)——这个名字还会定期更换,防止被人长期跟踪。
如果每个手机都时刻监听广播,待机功耗根本撑不过一天。于是网络和手机约定了一张睡觉日历——非连续接收(DRX):手机把时间切成一个个长周期,每个周期只在指定的某个无线帧、帧内的某个时机短暂醒来,听一耳朵有没有叫自己,没有就接着睡。
这张日历有三层结构,一层比一层精细:
| 层级 | 参数 | 回答的问题 |
|---|---|---|
| 周期 | DRX周期 T | 多久醒一次 |
| 帧 | 寻呼帧 PF | 醒来时看哪个无线帧 |
| 时机 | 寻呼时机 PO | 帧内的哪个时刻听 |
关键的精妙之处在于:这三层参数全部由手机自己算出来,网络和手机之间不需要任何协商信令。计算只需要两类输入——小区广播的公共参数(人人相同),和手机自己的临时标识(人各不同):
$$(\text{SFN} + \text{PF_offset}) \bmod T = (T \,\text{div}\, N) \times (\text{UE_ID} \bmod N)$$
$$i_s = \left\lfloor \frac{\text{UE_ID}}{N} \right\rfloor \bmod N_s$$
其中 $T$ 是 DRX 周期(网络广播四档可选:320、640、1280、2560 毫秒),$N$ 由广播参数 $n_B$ 决定(决定了每个周期里有多少个无线帧被用作寻呼帧),$N_s$ 是每个寻呼帧内的时机数(1、2 或 4),而 $\text{UE_ID}$ 就是临时标识对 1024 取模的结果。网络侧要寻呼你时,用同样的公式反推你会在哪个时刻出现——双方靠同一套算术在黑暗中精准相遇。
算一个具体的例子。 设 $T = 64$(即 640 毫秒),广播 $n_B = T/4$,则 $N = 16$,$T \,\text{div}\, N = 4$。某手机 $\text{UE_ID} = 1023$,寻呼帧满足 $\text{SFN} \bmod 64 = 4 \times (1023 \bmod 16) = 60$,即帧号 60、124、188……若 $N_s = 4$,则 $i_s = \lfloor 1023/16 \rfloor \bmod 4 = 3$,它在该帧的第 4 个时机收听。整台手机每 640 毫秒只睁眼这么一小会儿,其余时间射频全部关闭。
这套设计还有一层负载均衡的巧思:不同的 $\text{UE_ID}$ 天然散列到不同的帧和时机,全小区几万部待机手机被自动错峰,不会在同一毫秒集体醒来挤爆控制信道。而真正广播时,一条寻呼消息里还可以打包一个名单(最多 32 条记录),一次广播同时叫醒多部手机,每部手机醒来后核对名单里有没有自己的名字——有则应答,没有则继续睡。老师站在自习室门口轻声念一串名字,被点到的人才抬头,就是这个画面。
DRX 周期越长,手机越省电,但有人找你时你要睡更久才被喊到。周期取 640 毫秒时,寻呼请求随机到达,平均要等约 320 毫秒才撞上你的收听时机——这笔时间直接加进被叫建立时延,你拨号后对方多响半秒铃,很大一部分就是这里贡献的。运营商在现网上选哪一档,是话务模型、终端功耗和业务体验三方博弈的结果:主打通话业务的网络倾向短周期,物联网场景(抄表、传感器)动辄选最长档甚至扩展寻呼周期,一部电表可以几年不换电池,代价是消息到达延迟数十秒也无人在意。
5G 还在继续往这个方向抠:新版本引入了寻呼早期指示一类的机制,让手机先听一声极短的“哨响”,判断这个时段大概率没自己的事,就不再解码后面的控制信道——把每次醒来的耗电也砍掉一截。
TA 规划是网络设计里少有的“用地图画账本”的工作。 原则全部能从成本函数推出来:边界必须沿话务洼地走(山脉、河流、低密度区),让尽量少的手机没事跨越边界;边界绝不沿着高铁、高速、主干道走——否则一车人每过十公里集体发起一次位置更新,形成教科书级的“乒乓 TAU”信令冲击。市区话务密、寻呼单价高,TA 划得小;郊区一个 TA 管几十上百个站。这些决策背后,就是第三节那两个公式。
被叫不通排查是工程师最常碰到的实战场景。 用户投诉“打不通”,排查链上和本文相关的环节依次是:手机是否已被隐含去注册(查周期注册是否连续失败)?寻呼消息是否已下发但手机没听见(地库、电梯等覆盖洞导致连续错过收听时机)?手机是否停在了注册区域边缘、实际驻留的 TAC 与档案不符?是不是 RRC 状态与核心网档案不同步?每一环都能在信令跟踪里找到对应的证据点。
最后留一个历史注脚。 十几年前智能手机普及时,业界广泛讨论过所谓「信令风暴」:海量 App 的心跳包迫使终端频繁脱离待机态又回到待机态,附着、去附着、位置更新的信令增速远超数据流量增速,一度把部分运营商的接入网压到临界。这场危机后来靠网络侧的状态机优化和终端侧的心跳聚合共同化解,但它揭示的正是本文的主题——在蜂窝网络里,最贵的从来不是数据,而是“网络知道你在哪”这件事本身。
切换解决的是“连着的时候怎么跟着你走”,注册、更新与寻呼解决的是“睡着的时候怎么找到你”。两套机制合起来,才是移动性管理的完整拼图:一部手机在城市里穿行,网络以几百毫秒为刻度陪它换手,又以几小时为刻度听它报平安,再以 640 毫秒为周期在深夜里守着它——所有这一切,都为了让“找到你”这件事的成本,降到全社会的亿万次通信都能负担得起。
Q: 4G 的 TAU 和 5G 的注册更新是什么关系? A: 功能上是一回事,形态上被合并了。4G 里开机附着、TAU、周期性 TAU 是独立流程;5G 统一成一条注册流程,用注册类型区分,TAU 对应其中的「移动性注册更新」。所以严格说 5G 没有“TAU”这个名字,但每个 5G 工程师依然会用它指代移动性更新。
Q: DRX 周期为什么不用最长那档?手机不是更省电吗? A: 省电的代价是被叫时延。周期越长,寻呼请求平均要等越久才撞上手机的收听时机,直接拉长来电振铃前的等待。语音业务的网络通常选短档,物联网场景才敢用长档。
Q: 手机收不到寻呼,可能有哪些原因? A: 按概率排:已被隐含去注册(周期注册连续失败);驻留位置有覆盖洞,连续错过收听时机;注册区域配置与实际驻留小区不一致;RRC 状态与核心网档案不同步。信令跟踪里逐环比对即可定位。
Q: 空闲态和非活跃态都是“睡着”,本质区别在哪? A: 上下文存在谁那里。空闲态的上下文只在核心网,唤醒要走全流程;非活跃态的上下文还留在基站,唤醒只需一步恢复。因此后者的寻呼由基站直接发起(用恢复标识而非临时名),位置粒度也更细。
Q: 寻呼消息为什么要打包一串名单,而不是一人一条? A: 广播信道的资源以“次”计价。一条消息叫醒 32 部手机,控制信道只开销一次;一人一条则开销 32 次。手机醒来后核对名单,没自己名字就继续睡,误听也不会应答。
本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护,聚焦5G/6G核心网、3GPP标准解读、通信前沿技术深度分析。 出版作品有《5G核心网原理与实践》《IMS原理与实践》等4本通信专业书籍。知识星球「51学通信」提供深度技术答疑和行业洞察。
[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
