首页 › deep-tech › 图解第三状态:睡了但没全睡

图解第三状态:睡了但没全睡

先讲一个职场的类比。

一家公司只有两种员工身份:在岗和离职。在岗的人,工位保留、门禁畅通、随时能被叫进会议室,代价是灯常开、空调常吹,公司养人成本高;离职的人,工位立刻清空,门禁注销,哪怕明天只想来加十分钟班,也得重新走一遍入职流程——填表、照相、办卡、开邮箱。你会发现这两种身份之间有个巨大的空档:一个人只是想出去抽根烟,既不值得把他当成离职,也没必要让他每次都重新入职。

4G的无线接入层(手机和基站之间)就只有这两种身份:RRC_IDLE(空闲态)和RRC_CONNECTED(连接态)。手机只要“离岗”,基站里的所有个人信息立刻清空;想回来传哪怕一个字节,就要走完整的建立流程。5G在两者之间补上了那个空档——RRC_INACTIVE(非激活态):人不在工位上,但工位和门禁都保留着。本文要讲的,就是这第三个状态为什么非存在不可、它靠哪几个机制立起来、以及现网工程师该在哪里盯住它。

一、4G为什么只有两个状态:流量画像决定状态机

要理解第三状态为什么出现在5G而不是4G,得先看两种时代截然不同的“流量画像”。

4G设计那几年(2010年前后),网络服务的主体是人。人用手机的模式是:打开App、连上网络、刷几分钟、锁屏。一次会话往往持续几十秒到几分钟,数据是连续的大块流量。对这种画像来说,二状态足够用:会话开始建连接,会话结束就释放,中间没有太多“半睡半醒”的需求。

5G面对的却是一个物的世界。一块智能水表每天上报几次读数,每次几十字节;一个穿戴设备的心率数据每分钟一小包;一个App的后台推送一年到头零星地“叮”一下。这类流量的特征是:单次数据极小、间隔极长、唤醒极频繁。把二状态硬套上去,两头都会出问题:

第三状态的思路,就是在这两个极端之间切一刀:让终端像空闲态一样睡觉、像空闲态一样移动,却像连接态一样被网络“记着”。 睡觉省电、记着省信令,两头的好处各拿一半。

二、第三状态的三大设计支柱

RRC_INACTIVE不是简单地“连接态打个盹”,它是一整套独立的状态机制,由三个支柱撑起来。

支柱一:上下文冻结——工位保留,名牌上墙

终端在连接态时,基站(gNB)里保存着一份关于它的完整AS上下文:安全密钥和算法配置、承载配置、能力信息、MAC/RLC/PDCP层的参数状态。这套东西是双方“干活的默契”——密钥对上了、参数对齐了,数据一来就能直接跑。

终端转入空闲态时,这份默契全部销毁;下次回来一切从零谈。而转入非激活态时,gNB和终端各自把这份上下文原封不动地冻结保存,同时给它贴上一个编号——网络侧会给终端分配一个标识(工程上常写作I-RNTI,即非激活态专用的无线网络临时标识),相当于墙上挂着的工牌:人走了,牌子还在,回来刷一下,系统就知道你是谁、你的工位在哪、你上次干到哪一步。

有了冻结的上下文,唤醒就不需要重新协商,只需要一个“解冻”动作。这就是后面要讲的RRC恢复流程。

支柱二:以重选代切换——溜达不打卡

连接态下手机换小区,走的是切换:网络测量、网络判决、网络下发命令,终端执行,一步都不许自作主张——因为它正背着一条活跃的数据通道,走错一步就是掉话。

空闲态和非激活态下手机换小区,走的是重选:终端自己按规则给周边小区打分,自己决定驻留到哪个小区,全程不上报、不打扰网络。打分的经典工具是排序R准则:

$$R_s = Q_{meas,s} + Q_{hyst}$$

$$R_n = Q_{meas,n} - Q_{offset}$$

其中 $Q_{meas}$ 是终端测到的信号质量(如RSRP),$s$ 是当前驻留小区,$n$ 是邻区,$Q_{hyst}$ 是迟滞余量,$Q_{offset}$ 是邻区偏置。当前小区的得分加了迟滞、邻区的得分减了偏置,只有邻区得分反超,终端才挪窝。这个设计的用意很明显:信号在小区边界来回抖动是常态,加一双“手套”再握手,能避免终端在两个小区之间来回横跳、把信令刷爆。

注意这里的精妙之处:非激活态下的移动性和空闲态完全一样,是重选,不是切换。 终端在非激活态下溜达,网络既不参与、也不知道它具体在哪个小区——只知道一个大致范围。这个“大致范围”,就是支柱三。

支柱三:RNA代替TA——知道你在哪条街,不追问你在哪栋楼

核心网侧定位空闲终端的粒度是跟踪区(TA),一个TA往往覆盖几十上百个基站。对非激活态终端来说这个粒度太粗了——它的上下文还冻结在某个具体gNB手里,寻呼它其实只需要惊动“那一小片”基站。

于是5G给非激活态定义了一个更细的圈:RNA(RAN通知区,RAN-based Notification Area)。它由gNB配置,可以是小区列表、RAN区域内的一段编号,或者一组跟踪区,范围通常远小于TA。

规则随之建立:终端在RNA内溜达,随便,什么都不用报;一旦重选出RNA边界,就要向网络做一次RNA更新(RNAU)——刷一下工牌,告诉网络“我搬到新片区了”,网络把冻结上下文的登记地址改过来。这个过程只发生在接入网内部,核心网毫不知情、毫发无损。

你可以这样理解三者的定位粒度:

状态 网络知道你在哪 位置变化的汇报机制
连接态 精确到小区 切换(网络全程主导)
非激活态 精确到RNA(一小片小区) RNA更新(重选出圈才报,仅接入网处理)
空闲态 精确到TA(一大片区域) 跟踪区更新(走核心网流程)

三个状态、三种粒度,本质上是同一个工程公式在不同档位上的取值:定位越精确,省下的寻呼资源越多,但位置更新信令越频繁;定位越粗糙,终端越省事,但找人的时候要撒的网越大。 5G用三个档位,让不同业务各取所需。

三、双轨寻呼:两条找人的路

终端睡在非激活态时,下行数据随时可能到达——这时网络要“敲门”。因为存在两条保存上下文的线索,敲门也就分成了两轨:

flowchart TD
    A["下行数据到达"] --> B{"锚点gNB还能找到人吗"}
    B -->|上下文仍冻结在接入网| C["RAN寻呼<br/>只在RNA内的小区喊"]
    B -->|上下文已失效或终端失联| D["CN寻呼<br/>在整个跟踪区撒网"]
    C --> E["范围小 开销低 命中快"]
    D --> F["范围大 开销高 兜底保通"]

这套双轨制和空闲态的纯CN寻呼相比,多了一条“近路”:大部分唤醒根本不需要惊动核心网,接入网自己就把事办了。这正是第三状态“省信令”红利的直接体现。

四、唤醒时刻:一条恢复流程的时序

把前面三个支柱串起来,看终端从睡梦中被叫醒、或者自己有事要办的完整时序。假设终端重选过小区,上下文不在当前这个gNB手里:

sequenceDiagram
    participant U as 手机
    participant N as 新gNB
    participant O as 原gNB锚点
    participant A as AMF
    U->>N: RRC恢复请求 携带工牌编号
    N->>N: 本站查无此上下文
    N->>O: 站间取回冻结上下文
    O-->>N: 移交上下文与安全参数
    N-->>U: RRC恢复 密钥刷新
    U-->>N: 解冻完成 数据放行
    Note over U,N: 闭环在接入网内 核心网全程不知情

对比一下空闲态的唤醒路径:终端要先走完整的RRC建立,紧接着通常还有核心网层面的注册或业务请求流程,密钥要从头推演、承载要从头配置,信令交互的轮次多出一大截。而非激活态的恢复流程里,安全参数、承载配置都是“热”的——只是验证一下“还是原来那个人”,刷新一下密钥派生,几轮交互后数据通道就通了。工程上常用一个不等式概括这个差距:

$$T_{恢复} = T_{接入} + T_{解冻} \ll T_{建立} + T_{注册}$$

对时延敏感的小包业务(比如一次远程开关、一条推送点亮屏幕),这个差距直接决定了用户体验的“跟手”程度。

最后还有一个优雅的降级设计:如果新gNB拿着工牌编号去取上下文,发现锚点站已经不认这枚编号了(比如上下文因超时被清除、站间接口取回失败),它不会死磕,而是直接回一句“我这边没有你的记录”,终端收到后就地退回普通RRC建立流程,从零重来。快路径失败不堵死慢路径,终端永远不会被卡在中间态。

五、状态机全景

现在把三个状态之间的全部迁移路径画到一张图里:

flowchart TD
    ID["RRC_IDLE 空闲态<br/>上下文清空·重选移动"]
    INA["RRC_INACTIVE 非激活态<br/>上下文冻结·重选移动"]
    CON["RRC_CONNECTED 连接态<br/>上下文激活·切换移动"]
    ID -->|全流程建立与注册| CON
    CON -->|释放且未配挂起| ID
    CON -->|释放且带挂起配置| INA
    INA -->|恢复流程刷工牌| CON
    INA -->|挂起超时或更新失败| ID

注意连接态释放那两条分支的关键区别:网络只有在这条释放信令里显式带上“挂起”配置,终端才会进非激活态;不带,就走老路回空闲态。 也就是说,第三状态是网络逐次决定的,不是一个天然默认。这一点在现网排障中极其重要,后面会再讲。

六、SDT:睡梦中也能干活

冻结、重选、RNA,这三件套解决的是“睡得省、醒得快”。但5G的设计者很快发现了更极致的场景:水表上报一次读数,总共就几十字节。哪怕恢复流程再快,为了几十字节专门解冻整套上下文、转入连接态、再挂起睡回去,仍然像为寄一张明信片而全楼开锁、开电梯、开大门。

于是演进版本引入了小数据传输(SDT,Small Data Transmission):终端在非激活态下,符合条件的小包可以不经过状态转换、直接在睡梦中发出去,发完继续睡。设计的分支逻辑如下:

flowchart TD
    A["非激活态来了小包"] --> B{"本小区配了SDT吗"}
    B -->|没配或包太大| F["老老实实走恢复流程"]
    B -->|配了且包够小| C{"选哪条直传通道"}
    C -->|预授权资源正好可用| D["配置授权直传<br/>免随机接入最省时"]
    C -->|没有现成资源| E["随机接入直传<br/>两步或四步皆可"]
    D --> G["发完继续睡"]
    E --> G
    F --> H["发完可再挂起回睡"]

两条直传通道的取舍很有代表性:

通道 资源方式 接入开销 适用场景
配置授权直传 网络预先周期性授权好资源 零随机接入,时延最小 周期规律的小包,如定时遥测
随机接入直传 按需发起接入竞争资源 需一次接入过程 突发的偶发小包,如事件上报

而“配了且包够小”这个判断,背后是一条明确的工程红线:SDT只给真正的小数据开直通车。数据量超过配置门限、或者业务需要切换承载类型,就必须回到正规恢复流程。资源的粒度决定了不能让大流量搭小数据的便车——否则上行授权会被少数终端霸占,反而伤及睡梦中的大多数。

七、一张表看清三个状态

维度 RRC_IDLE RRC_INACTIVE RRC_CONNECTED
AS上下文 全部销毁 冻结于终端与锚点gNB 激活可用
核心网侧连接 未连接 仍保持连接标记 已连接
移动性 重选 重选 切换
网络定位粒度 跟踪区 RNA 小区
寻呼方式 核心网寻呼 RAN寻呼为主、CN寻呼兜底 直接调度,无需寻呼
唤醒开销 建立加注册,全程冷启动 恢复流程,接入网内闭环 无需唤醒
功耗 最低 接近空闲态 最高
典型业务 待机、低频短信 物联小包、后台推送 通话、视频、大流量

再看4G与5G在状态机设计哲学上的代差:

对比项 4G两状态 5G三状态
中间档位 无,只能二选一 非激活态承接灰度场景
高频小包的信令代价 每包冷启动,风暴风险高 SDT免唤醒,恢复走快路
位置管理 仅跟踪区一级 跟踪区与RNA两级配合
设计出发点 服务“人”的会话流量 兼顾“物”的脉冲流量

八、现网连接:工程师该在哪里盯住它

第一,看释放信令里有没有“挂起”。 终端到底进空闲态还是非激活态,取决于网络释放时带不带挂起配置。如果你的测试终端从来抓不到恢复流程信令,第一件事是确认网络侧是否启用了挂起功能、终端是否支持该特性——两端任何一头没开,第三状态就形同虚设。标准允许多种实现与配置策略,具体行为以各厂家官方文档为准。

第二,警惕“恢复变建立”。 排障时看信令流程,如果本该出现的恢复请求之后跟着的是一整套普通建立流程,大概率是上下文取回失败走了降级路径——工牌编号失效、站间取回超时是常见根因。现象不致命,但唤醒时延会明显劣化,对时延敏感的物联业务要重点盯。

第三,重选参数同样统治非激活态。 迟滞、频间偏置这些重选参数,既管空闲态也管非激活态的移动性。调这些参数时要想清楚:非激活态终端重选出RNA会触发更新,参数调得太松,终端边界抖动频繁出圈,RNA更新信令会悄悄涨上来——这是物联网话务模型下很容易被忽视的信令放大器。

第四,两个高频误解。 其一,“非激活态就是空闲态的别名”——错,核心网视角终端仍算在线,寻呼主体和范围都不同,这直接决定了找它的速度。其二,“非激活态下也走A3事件切换”——错,只要还没恢复到连接态,终端就只有重选,没有测量上报、没有切换命令。把这两点弄反,信令分析会南辕北辙。

常见问题

Q: RRC_INACTIVE和空闲态最本质的区别是什么? A: 一句话——网络还记不记得你。空闲态下接入网的上下文全部销毁,找你要靠核心网在跟踪区里撒大网;非激活态下你的上下文还冻结在锚点基站里,找你只需在RNA这个小圈子里喊一嗓子,唤醒后刷个工牌就能上岗。终端的睡眠深度和省电程度两者接近,但“被找到的成本”天差地别。

Q: 手机在非激活态时,核心网认为它在线吗? A: 算在线。非激活态是接入网层面的状态,从核心网视角看终端仍处于连接管理状态的连接侧。所以数据到达时核心网先交给接入网尝试RAN寻呼,而不是立刻启动大范围CN寻呼。这也是为什么恢复流程可以完全在接入网内闭环——核心网那边的“连接档案”从头到尾没动过。

Q: 为什么不把空闲态的更新流程做快一点,而要新造一个状态? A: 因为问题不在流程快慢,而在上下文在不在。空闲态更新再快,每次唤醒仍要重新协商安全与配置,因为双方手里的“默契”已经销毁了。第三状态的核心是把这份默契保存下来,把一次“重新认识”压缩成一次“确认身份”——省的不是几条信令,而是整类交互。

Q: 现网怎么从信令上判断终端进入了非激活态? A: 盯两个关键点:连接释放时是否携带挂起配置(带了才进非激活态),以及后续是否出现携带工牌编号的恢复请求。如果释放后看到的是普通建立流程,说明终端走了空闲态路径,此时要先查挂起功能的启用与协商情况。

Q: SDT和RRC恢复的本质区别是什么? A: 要不要“正式上岗”。恢复流程是让终端解冻上下文、完整回到连接态再传数据,传完可以再挂起;SDT则是终端根本不离岗——在非激活态就地用预授权或随机接入资源把小包发掉,全程不发生状态转换。前者适合数据量不可控的常规唤醒,后者专为极小、极短的数据脉冲而生。

参考来源

  1. 5G NR - Wikipedia — 5G新空口综述词条,含NR与LTE设计差异的背景介绍
  2. 3GPP官网 — NR无线协议规范家族的官方发布入口,RRC状态机与小数据传输机制的定义出处
  3. ShareTechnote — 长期维护的5G NR工程笔记站点,含状态迁移与流程图解
  4. Erik Dahlman, Stefan Parkvall, Johan Sköld,《5G NR: The Next Generation Wireless Access Technology》,Academic Press — RRC状态设计与非激活态机制的教材级阐述
  5. 樊昌信等,《通信原理》(第7版),国防工业出版社 — 移动性管理与多状态设计的通信原理背景

本文由「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 等场景全覆盖。

51学通信知识星球海报-扫码加入