标题: 换基站要报备吗?位置更新逻辑 作者: 爱卫生 封面: "[[封面1.png]]" 封面裁剪: false 原文地址: 打开评论: true 仅粉丝可评论: false 摘要: 快递员送件之前,得知道你的门牌号。移动网络找人正好相反:不是网络到处打听你在哪,而是你报备到哪,它才记到哪。
快递员送件之前,得知道你的门牌号。移动网络找人正好相反:不是网络到处打听你在哪,而是你报备到哪,它才记到哪。
这里有个很别扭的现实:手机在两次通话之间,大部分时间是“睡着”的——不发业务、不占信道,看起来和网络毫无往来。可你朋友一拨你的号码,电话铃声几乎立刻在你头顶的基站响起来。网络凭什么知道该去哪个基站找你?
如果要求手机每挪一步都向网络汇报,你从公司走到地铁站要打几百个“报到电话”,网络信令瞬间被淹没;如果什么都不报,找人只能全国范围广播,等价于没有位置信息。移动网络给出的答案是第四种:划定一片“区”,手机在整个区里随便搬家都免报告,只有跨出区才发一条更新信令。这片区,在4G里叫跟踪区(Tracking Area,TA),跨区时发出的那条信令,叫跟踪区更新(TAU)。
这篇文章就把这套记账系统拆开:它为什么这样设计、信令怎么走、边界怎么画,以及工程师在现网里会在哪些地方跟它打交道。
先把问题抽象一下。网络维护一份“你大概在哪”的记录,记账粒度可以无限细,也可以无限粗:
两个极端都不可行,说明这是一个典型的成本权衡问题。它的经济直觉可以用一张图概括:
flowchart TD
A["网络要随时找到你<br/>需要记下你的位置"] --> B["记到最细<br/>每格都登记"]
A --> C["记到最粗<br/>什么都不记"]
B --> D["找你只喊一格<br/>寻呼最省"]
B --> E["每挪一步都要报到<br/>更新信令泛滥"]
C --> F["永不报到<br/>信令最省"]
C --> G["找人只能全网喊<br/>根本不可行"]
D --> H["折中方案:跟踪区"]
E --> H
F --> H
G --> H
H --> I["区内搬家免报告<br/>跨区才发一次更新"]
把这笔账写成公式更直观。设一个跟踪区的面积为 $S$:
于是总成本大致是:
$$C(S) = c_p \cdot S + \frac{c_u}{\sqrt{S}}$$
第一项随区面积线性上涨,第二项随区面积增大而下降。一条曲线升、一条曲线降,中间必然存在一个总成本最低的最优区大小。跟踪区的本质,就是把全网切成一个个大小接近这个平衡点的格子。
这也解释了一个现网现象:为什么市区的跟踪区划得小、郊区划得大?市区呼叫密集,$c_p$(寻呼成本系数)高,格子必须切小来压寻呼开销;郊找人少、车马慢,格子放大也不心疼。
这套“区域记账”思想不是4G发明的,从2G一路沿用至今,连名字都一脉相承:
| 代际 | 位置区名称 | 记账的大脑 | 更新动作 | 设计变化 |
|---|---|---|---|---|
| 2G | 位置区 LA | MSC(交换机) | 位置更新 | 只有电话一个域,记一本账 |
| 3G | LA + 路由区 RA | MSC 和 SGSN 各记一本 | 位置更新 / 路由更新 | 电路域、分组域分开记账,一个动作记两次 |
| 4G | 跟踪区 TA | MME | 跟踪区更新 TAU | 电路域取消,回归一本账 |
| 5G | 注册区 RA | AMF | 注册更新 | 大脑进一步合并,区域由核心网动态下发 |
有段历史值得一看:3G时代为什么记两本账?因为当时的网络里,打电话走电路交换的老路,上网走分组交换的新路,两套核心网各管各的,找人自然各记各的——同一个用户在交换机那里登记的是“位置区”,在SGSN那里登记的是“路由区”,两套区域可以重叠但不能互相替代。到了4G,语音也变成IP数据包(这正是VoLTE的出发点),两本账合成一本,才有了今天概念清爽的跟踪区。
跟踪区本身有编号,叫TAI(跟踪区标识),结构类似行政区划代码:国家代码 + 运营商代码 + 区号。手机读到的“我在哪个区”,就是广播信道里这条编码。
待机手机不跟网络实时通信,它怎么知道“我换区了”?答案是:每次重选驻留到新小区后,顺手核对一下该小区广播的区号,看它是否在自己保存的“区列表”里。不在,就触发TAU。
触发TAU的场景一共三类:
| 场景 | 什么时候发生 | 手机做什么 | 网络得到什么 |
|---|---|---|---|
| 跨区更新 | 待机中挪出了旧列表范围 | 核对广播发现新区号不在列表,主动上报 | 账本改一行:你换了区 |
| 周期更新 | 定时器到点且期间无任何业务 | 发一条“我还在” | 确认你活着,计时归零 |
| 开机注册 | 关机后重新开机 | 全新登记,领取一份区列表 | 知道你回来了,恢复可寻呼 |
以最常见的跨区更新为例,完整信令流程如下:
sequenceDiagram
participant U as 待机手机
participant B as 基站
participant C as 核心网
U->>U: 醒来核对小区广播
U->>B: 申请位置更新,附上旧身份
B->>C: 转交更新请求
C->>C: 核对签约,必要时重新鉴权
C-->>B: 更新接受,附新的区列表
B-->>U: 更新接受,附新的区列表
U->>U: 存好新列表,继续睡觉
Note over U,B: 空口只有一来一回两条信令
流程很短,但有两个设计点值得停下来想“为什么”:
第一,请求里为什么带旧身份? 网络收到更新请求时,要先把请求者对回原账本上的那条记录——你的鉴权数据、签约信息、分配过的临时身份,都挂在旧记录上。带旧身份相当于自报家门,核心网才能“找到你的档案再改地址”,而不是把你当成新人从头建档。
第二,接受的答复里为什么下发的是“一份列表”而不是“一个区”? 这是整个机制里最精妙的一步,也是下一节的主题。
顺带一提:这一切只发生在待机态。如果你正在通话中跨越小区,走的是切换流程——基站与核心网全程牵手护送,网络精确知道你每一毫秒在哪个小区,根本不存在“报备”一说。可以记成一句话:睡着搬家要报备,醒着搬家有人扶。
假设跟踪区只能登记一个,考虑一个具体的人:家住A区边缘,每天通勤去B区上班,一天穿越边界二十次。按“跨区就报备”的规则,他一天要发二十次TAU——每次都要醒过来、发信令、等答复,费电又费信令。而他对网络的价值并没有增加:无论记在A还是记在B,找到他的效果一样。
4G的解法是:允许网络一次下发多个跟踪区,组成一份“区列表”(TAI列表),手机只要还在列表中的任何一个区里,就视为“还在家”,不触发任何更新。协议里这份列表可以容纳最多16个区。
flowchart TD
A["待机中驻留在小区一"] --> B["信号变差<br/>重选到旁边小区"]
B --> C{"新小区的区号<br/>在列表里吗"}
C -->|在| D["安静待着<br/>不发任何信令"]
C -->|不在| E["发起跟踪区更新"]
E --> F{"网络批了新列表吗"}
F -->|批了| G["存好新列表<br/>继续待机"]
F -->|没批| H["换个方向驻留<br/>稍后重试"]
从图里能看清这份列表的杠杆作用:列表内的区,穿越一万次都是免费的。运营商规划时,会把相互交界的几个区打包下发给边界用户,等于发一张“多区通行证”,直接把边界上的重复报备砍掉。
代价呢?有人打你电话时,寻呼要对着列表里所有区广播——通行证上写了几个区,找人就要喊几片。所以这张证不是人人都发全网:对绝大多数住在区中心的用户,列表只是留着备用的一份地图;只有检测到你频繁在边界活动,核心网才会把列表做大。换句话说,列表的尺寸是按人的移动性动态调配的,让“多喊几格”的代价只付给确实需要的人。
跨区更新解决的是“挪窝”问题,但它有个盲区:手机做了记账,网络这边却可能记错。最典型的情况是不辞而别——手机没电了、进了没信号的电梯、直接被拔了电池。它不会向网络告别,账本上“你在X区”这条记录就成了死账。
死账不清理的后果很实际:来电时,网络对着一个早就不在那里的区认真广播寻呼,永远等不到回应,白白消耗整个区的寻呼资源。用户越多,这种无效寻呼越浪费。
解法简单粗暴却有效:定期点名。协议给手机配了一个周期定时器——4G里叫T3412,5G里叫T3512——常见配置在几十分钟到几小时之间。逻辑如下:
flowchart TD
A["周期定时器开始计时"] --> B{"到点之前<br/>手机干过事吗"}
B -->|有| C["业务顺带证明了在场<br/>定时器归零重来"]
B -->|没有| D["到点醒来<br/>发一次周期报到"]
D --> E{"报到成功吗"}
E -->|成功| F["回去继续睡"]
E -->|连续失败| G["网络把你标记为不可达"]
G --> H["来电不再全网找你<br/>直接转语音信箱"]
三个细节值得咀嚼:
凡是干过活的手机可以免点名。 任何一次业务都会顺带刷新“在场证明”,定时器归零。所以频繁用手机的人几乎感知不到周期更新——它只对“安静睡觉”的手机生效,正好补上跨区更新照顾不到的盲区。
连续点名不到,才判失联。 网络不会因为错过一次就下结论,而是等连续多个周期都没有报到,才执行“隐式去附着”——把账本上你的记录标为不可达。此后再来电,网络不再发起寻呼,呼叫方会直接听到“您拨打的电话暂时无法接通”。这就是为什么手机在山里彻底没电后,头一两个小时别人打来是“无法接通”的寻呼等待,之后才变成干脆的失败提示。
点名的间隔本身就是一种商业参数。 物联网设备(电表、井盖传感器)可能几年不挪窝,让它们每小时醒来点一次名毫无必要。省电技术(如PSM)的核心手段之一,就是把点名间隔从小时级拉长到天级——用“找它要等更久”换“电池多撑几年”。对不必随时在线的设备,这笔交换非常划算。
公式里的 $c_p$ 和 $c_u$ 落到现网,就变成了跟踪区边界规划——一件纯手工的、高度依赖经验的活。几条经典的工程原则,每一条背后都是上面那笔账:
| 工程做法 | 背后的账 |
|---|---|
| 边界避开高速公路、铁路、主干道 | 车流每天上万次穿越边界,全是无意义的更新信令 |
| 边界设在话务低谷处(山地、河流) | 穿越的人少,更新少;寻呼按区平摊不受影响 |
| 边界不要切过密集居民区 | 住在边上的用户反复跨区,被逼着反复报备 |
| 市区切小、郊区放大 | 呼叫密的地方寻呼贵,区小省钱;人稀的地方反过来 |
理解了这套机制,你在现网排障时会突然看懂很多“怪现象”:
还有一个常见误解值得正面澄清:待机手机并不是“跟网络断了联系”。它至少通过两件事维持在场感——每次重选后核对广播区号、每个周期醒来报到一次。你手机一天到晚看着没动静,其实一直在替网络维护着“我在X区”这条记录。反过来,网络也从来没有“精确知道”待机手机在哪个小区——它只知道一个区,这个不精确,恰恰是整个系统能运转的前提。
Q: 跟踪区更新和切换是什么关系?通话中跨区要发TAU吗? A: 不用。TAU只属于待机态;通话中跨小区走切换流程,基站和核心网全程协同搬家,网络始终知道你在哪个小区。一句话:睡着搬家要报备,醒着搬家有人扶。
Q: 直接拔电池关机,网络会立刻知道吗? A: 不会。正常关机会发一条告别信令,网络立刻标记你不可达;没电、进电梯这类“不辞而别”,网络要等周期报到连续超时才判失联,中间的窗口期来电会经历寻呼无应答。
Q: 为什么坐高铁时手机有时“无服务”一下又恢复? A: 高铁是穿越边界最快的场景。若边界规划压着铁路线,手机会高频跨区、高频更新,叠加切换负荷,容易出现短暂的更新失败或接入失败。所以高铁沿线要做专门的线状区域设计。
Q: 物联网电表十几年不动,也要周期报到吗? A: 要,但间隔可以拉到天级。把点名间隔拉长正是省电技术的核心——代价是找它更慢,对电表这类“不必随时在线”的设备非常划算。
Q: 5G和4G在这套机制上差别大吗? A: 思想完全一样:粗粒度记账、列表化区域、周期点名。变化在两点:注册区由核心网动态决策下发,不再全靠人工预规划;同时引入了签约层面的区域限制策略——信号在,服务未必在。
本文由「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 等场景全覆盖。
![[知识星球二维码.png]]