想象你住进了一家巨型酒店,酒店有上万间房。前台需要随时能找到你,好把你的快递送到你手上。前台怎么知道你在哪?
一种笨办法是:你每换一个房间,就跑去前台报备一次"我现在在302房"。但酒店太大,你跑来跑去累,前台也烦。
另一种更聪明的办法是:前台把酒店划分成几个"区域"——东区、南区、西区、北区,每个区域几百间房。你只需要在前台登记"我在东区",之后你在东区任何房间随便走动,都不用再报告。只有当你跨区走到南区时,才需要重新报一次"我现在在南区"。这样,既不需要你频繁跑前台,前台也能在你收到快递时,只去东区那几百间房广播找你,而不用满酒店喊人。
这就是移动通信里跟踪区更新(Tracking Area Update, TAU)的全部思想精髓。
手机大部分时间处于待机(idle)状态——屏幕黑着、没有通话、没有下载,但它依然是"在线"的,网络随时可能要找它(来电话了、来消息了)。网络必须知道这台手机大概在哪个区域,才能精准地把它唤醒。TAU,就是手机向网络"签到"当前位置的机制。理解了TAU,你就理解了移动通信里"位置管理"这半壁江山。
要真正理解TAU为什么这样设计,得先理解待机态面临的根本矛盾。
手机待机时,它在做什么?它关闭了与基站之间的专用数据通道(RRC连接释放),只留下一个"耳朵"在周期性地监听寻呼。这样做的目的只有一个:省电。如果待机时还要维持一条实时连接,手机电池撑不过一天。
可问题来了:网络要给这台待机手机打电话时,它怎么知道手机此刻连着哪个基站?
这就是位置管理的核心矛盾:
为了调和这对矛盾,移动通信引入了一个关键的"粒度"概念:跟踪区(Tracking Area, TA)。
跟踪区是位置管理的基本单位。它不是地理概念上的一块土地,而是一组基站(5G里叫gNB)下的若干小区的逻辑集合。每个TA有一个全球唯一身份证号,叫TAI(Tracking Area Identity),它的结构是:
$$TAI = MCC + MNC + TAC$$
其中 $MCC$ 是移动国家码(标识国家),$MNC$ 是移动网络码(标识运营商),$TAC$ 是跟踪区码(标识具体哪个TA)。手机在广播信道上每时每刻都能读到当前小区属于哪个TAI,就像你走进商场每层楼都能看到"3F 南区"的指示牌。
为什么要把连续的基站打包成一个TA,而不是逐小区管理?因为粒度太细,手机每过一个基站就要汇报一次,信令风暴;粒度太粗,寻呼时要把太多小区一起喊。TA这个粒度,是工程上精心权衡的结果。
更聪明的设计来了。5G的核心网移动管理网元AMF(接入与移动性管理功能)不会只给手机分一个TA,而是分一整组TA,叫注册区(Registration Area),在信令里以TA List(TA列表)的形式下发。这个列表里通常有若干个TAI。
这条规则是TAU机制的灵魂:
只要手机移动到的TA,还在它当前的TA List里面,手机就不用做任何位置更新。只有当手机走入一个"列表外"的新TA时,才触发一次TAU。
下面这张图直观展示了TA List如何"吸收"掉大量不必要的汇报:
flowchart TD
subgraph TAList["UE 当前持有的 TA List = {TA1, TA2, TA3}"]
TA1["TA1<br/>含20个基站"]
TA2["TA2<br/>含20个基站"]
TA3["TA3<br/>含20个基站"]
end
TA4["TA4<br/>(列表外)"]
UE["🚶 UE 手机"]
UE -->|"在 TA1→TA2→TA3 之间漫游"| TAList
TAList -->|"✅ 列表内移动<br/>无需TAU,省信令!"| Note1["网络已知位置<br/>寻呼只搜这3个TA"]
UE -->|"跨入 TA4"| TA4
TA4 -->|"❌ 列表外!<br/>触发TAU"| Note2["发起注册更新<br/>换取新的TA List"]
classDef ok fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px
classDef warn fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef box fill:#e3f2fd,stroke:#1565c0
class Note1 ok
class Note2 warn
class TAList,TA1,TA2,TA3,TA4 box
初学者常常忽略的一点:不同手机拿到的TA List可以不一样大。
对于"宅男型"用户——一天到晚在公司和家两点一线,几乎不怎么移动,AMF可以给它分配一个较小的TA List(精准定位,省寻呼);对于"快递员型"用户——一天在城市里到处跑,AMF会分配一个较大的TA List(少触发TAU,省信令)。这种根据用户移动模式动态调整TA List大小的能力,是现代核心网优化的高级技巧,业界专门有论文研究(见文末参考文献中的ETAM框架)。
手机不会无缘无故地发起TAU。它身上跑着两类"触发器":
当手机重选到一个新小区,读出这个小区的TAI,发现自己手里的TA List里没有这个TAI,就立刻触发一次TAU。这是最常见的触发场景——你坐地铁从城东穿到城西,一路跨过好几个TA边界。
手机内部有一个周期性注册定时器 T3512。无论你动没动,只要这个定时器到期,手机就主动发一次TAU。这听起来有点浪费,但它解决一个致命问题:确认手机还活着。
为什么需要周期性签到?因为手机可能发生各种意外:掉进没信号的电梯、电池没电关机、损坏、被偷……网络没法主动知道手机"失联"了。周期性TAU就是网络的"心跳"——只要你还在按时签到,我就当你在线;一旦超过期限没签到,网络就把你标记为"隐式分离"(implicit detach),不再为你的来话发起寻呼,省得做无用功。
5G中T3512的典型默认值是 54分钟(3240秒),运营商可以配置。注意这个值是个权衡:设太短,海量手机频繁签到,信令压力大;设太长,手机掉线了网络迟迟不知道,来话寻呼失败率高。
flowchart TD
Start(["UE 处于 CM-IDLE 待机态"]) --> Q1{"定时器 T3512<br/>到期了?"}
Q1 -->|"是"| Periodic["触发周期性TAU<br/>汇报'我还活着'"]
Q1 -->|"否"| Q2{"重选到新小区<br/>读取新TAI"}
Q2 --> Q3{"新TAI 在<br/>当前TA List里?"}
Q3 -->|"在"| Idle["继续待机<br/>无需TAU"]
Q3 -->|"不在"| Mobility["触发移动性TAU<br/>汇报新位置"]
Periodic --> TAU["发起 Registration Request<br/>(注册更新流程)"]
Mobility --> TAU
Idle --> Q1
TAU --> Done["获得新TA List<br/>重置T3512<br/>回到待机"]
classDef trigger fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef action fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px
class Periodic,Mobility trigger
class TAU,Done,Idle action
除这两大类外,还有一些次要触发:手机核心网能力变化、网络切片(NSSAI)变化、从4G核心网移动到5G核心网等。但日常现网里,移动触发和周期触发占了绝大多数。
下面这张信令时序图,是一次完整5G TAU的全过程。注意一个关键点:5G里没有单独的"TAU消息",TAU被统一进了"注册(Registration)流程"里。手机发的是 Registration Request,类型字段填 Mobility registration updating(移动性更新)或 Periodic registration updating(周期性更新)。
sequenceDiagram
participant UE as UE 手机
participant RAN as gNB 基站
participant AMF as AMF<br/>(移动管理)
participant OldAMF as 旧AMF
participant UDM as UDM<br/>(用户数据)
Note over UE: 检测到触发:<br/>跨入列表外TA 或 T3512到期
UE->>RAN: RRC Setup(建立无线信令连接)
UE->>RAN: NAS: Registration Request<br/>(type=移动/周期更新, old GUTI, old TAI, Requested NSSAI)
RAN->>AMF: 选择AMF并转发NAS消息<br/>(依据GUTI/切片/负载)
Note over AMF: [1] 这是新AMF?需要取上下文
AMF->>OldAMF: Namf_Communication UEContextTransfer<br/>(索要UE上下文)
OldAMF-->>AMF: 返回UE上下文(签约、安全、会话状态)
Note over AMF: [2] 需要鉴权/安全
AMF->>UE: Authentication Request(5G-AKA,可选)
UE-->>AMF: Authentication Response
AMF->>UE: Security Mode Command(NAS加密+完整性保护)
UE-->>AMF: Security Mode Complete
Note over AMF: [3] 获取最新签约数据(可选)
AMF->>UDM: Nudm_SDM_Get(取签约)
UDM-->>AMF: 订阅数据、移动限制
Note over AMF: [4] 重新计算并分配新的注册区
AMF->>UE: Registration Accept<br/>(新TA List, 新GUTI, 新T3512, Allowed NSSAI)
UE->>AMF: Registration Complete<br/>(确认收到新GUTI)
Note over UE: 重置T3512定时器<br/>回到CM-IDLE或保持连接
逐步拆解这次"签到":
第一步:手机敲门。 待机态的手机要先建立一条到基站的信令连接(RRC连接),然后把注册请求塞进NAS层消息发给基站。请求里带着自己的临时身份证 5G-GUTI、上次的TAI、想用的网络切片信息。
第二步:找对人。 基站收到后,要根据GUTI、切片需求、各AMF负载,决定把这条请求转给哪个AMF。如果转到了一个不认识这台手机的新AMF,新AMF会通过 Namf_Communication 接口向旧AMF要回手机的上下文(之前的安全信息、会话状态等),避免重新走一遍完整鉴权那么重。
第三步:验明正身。 如果是新AMF或安全策略要求,会触发一次5G-AKA鉴权和NAS安全模式建立。这一步确保发起TAU的确实是手机本人,防止伪造位置更新攻击。
第四步:更新数据。 AMF从UDM拉取最新签约数据,确认该用户当前能用哪些切片、有没有区域限制。
第五步:发新证。 AMF计算出一个新的TA List、可能换一个新的GUTI、刷新T3512定时器,连同允许的切片一起,打包进 Registration Accept 发给手机。手机回一个 Complete 确认,TAU流程闭环。
整个过程对用户完全透明——你坐地铁刷手机时,背后可能已经悄悄完成了好几次TAU,你毫无感知。
为什么TA List要精心设计大小?这背后是一个可以用数学清晰描述的寻呼-位置更新权衡(Paging-Location Update Tradeoff)。
假设注册区里有 $n$ 个TA,每个TA平均含 $c$ 个小区。考察单位时间内的总信令开销 $C_{total}$:
$$C_{total} = \underbrace{N_{LU}(n) \cdot U}{\text{位置更新开销}} + \underbrace{N$$} \cdot n \cdot c \cdot P}_{\text{寻呼开销}
关键在于 $N_{LU}(n)$ 怎么随 $n$ 变化。把注册区近似看成一个连通区域,边界跨越率正比于周长/面积。对近似圆形的区域,面积 ∝ $n$,周长 ∝ $\sqrt{n}$,所以边界跨越率 ∝ $\frac{\sqrt{n}}{n} = \frac{1}{\sqrt{n}}$。于是:
$$N_{LU}(n) \approx \frac{k}{\sqrt{n}}$$
也就是说,注册区越大,手机跨出边界触发TAU的频率越低,但每次寻呼要扫的小区越多。把 $N_{LU}$ 代回总开销,对 $n$ 求导令其为零,可以解出最优的 $n^*$:
$$\frac{dC_{total}}{dn} = 0 \implies n^* \propto \left(\frac{k \cdot U}{2 \cdot N_{page} \cdot c \cdot P}\right)^{2/3}$$
这个结果非常有启发性,它直接告诉你TA List该怎么配:
这就是为什么现代核心网要做"按用户移动模式动态分配TA List"——它不是花架子,而是有坚实数学基础的优化。下表把两种极端用户的需求差异列清楚:
| 用户类型 | 移动特征 | 来话频率 | 最优TA List | 设计侧重 |
|---|---|---|---|---|
| 宅家老人 | 几乎不移动 | 低 | 大 | 减少TAU,省信令 |
| 外卖骑手 | 高速大范围移动 | 中 | 大 | 减少TAU,省信令 |
| 客服坐席 | 固定位置 | 高 | 小 | 精准寻呼,省无线 |
| 城际通勤族 | 定点往返 | 中 | 中 | 折中 |
TAU不是免费的——每发起一次,就要占用无线空口、基站、AMF、甚至UDM之间的多条信令。当网络设计不当时,TAU本身就能成为灾难,最典型的就是信令风暴(Signaling Storm)。
如果某个繁忙路段恰好横跨两个TA的边界——比如一条高架桥、一条地铁线、一条省际高速公路——大量用户在这条路上往返穿梭,每次跨越边界都触发一次TAU。一辆满载乘客的大巴从TA1驶入TA2,车上500部手机同时发起TAU,瞬间涌来的注册请求能把AMF打瘫。
对策:网络规划时要让TA边界避开高移动性场景——让地铁线、高速公路尽量整体落在一个TA内部,把边界画在人车稀少的河流、农田、绿地交界处。这是无线网络规划工程师的硬功夫。
如果某个区域发生大面积断电,恢复供电的瞬间,几十万手机同时开机、同时注册、同时T3512启动,然后可能在同一个时刻集体发起周期性TAU,形成周期性的信令尖峰。
对策:手机侧的T3512启动时会加入随机化抖动,避免整齐划一地到期。核心网也会对注册请求做速率限制和过载控制。
如果运维误把相邻几个本该同属一个TA的基站,配成了不同的TAC,手机在这片区域会不停地读到"列表外"TAI,疯狂触发TAU。这种故障在现网告警里表现为某基站下TAU信令量异常飙升、寻呼成功率却正常——一个非常典型、又非常隐蔽的配置类问题。
对一线工程师,TAU知识在以下场景是"刚需":
1. 抓包定位"手机掉线"问题。 用户投诉"经常漏接电话",工程师用抓包工具(如对S1/NG接口、N2接口抓包)看信令,第一眼就是看手机最后一次成功的TAU是什么时候、之后是否还有周期性TAU。如果T3512到期后手机再无任何信令,说明手机掉线/失联了(进电梯、关机、欠费),网络侧的"移动可达定时器"会随后把它隐式分离——这不是网络故障,是手机侧问题。
2. 分析"信令风暴"。 核心网监控发现AMF CPU飙高、注册成功率下降,导出信令统计,发现某时段 Registration Request 暴增,再按TA维度聚合,往往能定位到是某条公路/地铁线成了TA边界,于是推动无线侧调整TA规划。
3. 验证"被叫不通"。 被叫失败,先确认主叫流程正常后,要看寻呼流程。寻呼要发到手机当前注册区(TA List)的所有基站。如果手机做了TAU但被AMF拒绝(比如鉴权失败、区域限制),网络记录的位置还是旧的,寻呼发错了地方,自然叫不醒手机。这时候要看 TAU Reject 的原因值(cause code),常见如 #13 roaming not allowed、#22 congestion 等。
4. 评估"省电效果"。 终端功耗团队要评估某款芯片待机时长,会重点看T3512周期内手机的唤醒次数。理想情况下,待机手机只在周期性TAU和寻呼监听时短暂唤醒,其余时间深度睡眠。如果T3512配得过短,待机电流会明显上升。
| 维度 | 4G LTE | 5G NR |
|---|---|---|
| 承载流程 | 独立的TAU Request/Accept | 复用Registration流程(注册即更新) |
| 移动管理网元 | MME | AMF |
| 位置单位 | TA List | Registration Area(TAI集合) |
| 周期定时器 | T3412(默认约54分钟) | T3512(默认约54分钟) |
| 网络切片感知 | 无 | 携带NSSAI,按切片协商 |
| RAN侧位置更新 | 无 | 引入RNA(RAN通知区,连接态inactive用) |
| 安全模式 | NAS安全 | NAS安全(增强完整性保护强制开启) |
可以看到,5G没有推倒重来,而是把TAU这种"独立信令"统一进了更大的"注册"框架——注册、更新、周期更新共用一套流程,协议更精简。同时引入了切片感知和RAN侧的RNA机制,让位置管理更精细、更面向多样化业务。
最后,把TAU放回它所属的大图景——移动性管理。一台手机的生命周期,本质上是在三种"位置管理状态"之间切换:
stateDiagram-v2
[*] --> RM_DEREGISTERED: 开机/去注册
RM_DEREGISTERED --> CM_IDLE: 初始注册成功<br/>(获得TA List)
CM_IDLE --> CM_CONNECTED: 收到寻呼/主动发数据<br/>(建立RRC连接)
CM_CONNECTED --> CM_IDLE: RRC连接释放<br/>(回到待机, 持TA List)
CM_CONNECTED --> CM_CONNECTED_INACTIVE: 短暂无数据<br/>(RRC_inactive, 持RNA)
CM_CONNECTED_INACTIVE --> CM_CONNECTED: 有数据/收到RNA寻呼
CM_CONNECTED_INACTIVE --> CM_IDLE: 超时/移动出RNA
CM_IDLE --> CM_IDLE: TAU触发<br/>(移动出TA List 或 T3512到期)
note right of CM_IDLE: TAU就发生在这里<br/>手机主动汇报位置
TAU是CM-IDLE态下,手机与网络之间"维系可达性"的那根风筝线。没有TAU,待机手机就成了网络世界里一个找不到的幽灵;有了TAU,网络才能以极小的代价,精确地知道成亿台手机各自在哪个角落,并在需要时精准唤醒它们。这正是移动通信能够支撑海量用户长期在线、又能保持低功耗的根本原因之一。
Q1:TAU和寻呼(Paging)是什么关系?两者会不会同时发生? A:它们是位置管理这枚硬币的两面。TAU是手机主动告诉网络"我在哪",寻呼是网络根据记录的位置去找"你在不在"。两者一般不同时发生,但有联动:寻呼要发到手机当前TA List覆盖的所有基站,所以TAU刷新的位置直接决定了下次寻呼的范围。一个常见场景是"寻呼失败触发周期性TAU"——网络寻呼不到手机,等手机周期性TAU到期重新签到后,网络才知道它其实还活着。
Q2:为什么不用GPS精确定位每台手机,而要搞TA这套粗粒度管理? A:两个原因。一是核心网定位用户位置用的是"逻辑可达性",目的是为了能叫醒它,而不是导航——叫醒一台手机,只需知道它在哪几十个基站范围内广播即可,GPS精度毫无必要且多数室内场景不可用。二是隐私和功耗:网络不需要、也不该精确追踪每个用户每秒的物理坐标,TA粒度在"可达性"和"隐私/信令成本"之间刚好够用。
Q3:TA List越大越省信令,为什么不干脆把全网所有TA都塞进一个List? A:因为寻呼开销会爆炸。List越大,网络每次寻呼该用户时要广播的小区就越多,无线空口资源浪费越严重。当一个TA List覆盖几百个TA时,一次来话寻呼就能让成千上万基站同时广播,这是无法承受的。所以TA List大小是寻呼开销与更新开销的折中(见第六节的数学推导),并非越大越好。
Q4:手机在高铁上快速移动,TAU会不会跟不上、导致掉线? A:高铁场景确实是TAU设计的高难度考题。为应对,运营商会在高铁线路沿线做专门的TA规划(让整条线落在尽量少的几个TA内),并在核心网侧启用更智能的动态TA List分配。连接态的移动性则靠切换(Handover)而非TAU来保证连续通话——切换是连接态的"接力",TAU是空闲态的"签到",两者职责不同。如果手机在待机态被叫,恰好处在两个TA切换的空窗,确实可能漏接,这也是高铁信号体验仍待提升的原因之一。
Q5:周期性TAU定时器T3512设多长合适?设太短或太长各有什么后果? A:设太短(如几分钟):海量手机频繁签到,AMF信令压力巨大,待机功耗上升,尤其对海量物联网终端是灾难。设太长(如几小时):手机意外掉线后,网络长时间以为它还在线,来话寻呼持续失败,浪费无线资源且用户体验差。现网典型值在几十分钟到1小时量级(5G常用54分钟),并配合"移动可达定时器"(略大于T3512)做隐式分离兜底。这是一个典型的、需要运营商根据自身用户行为统计来调优的参数。
本文由「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 等场景全覆盖。
