<!-- title: 5G去注册信令三场景全链拆解 -->
<!-- domain: core-network -->

# 5G 去注册（Deregistration）信令三场景全链拆解

> 聚焦 3GPP TS 23.502 第 4.2.2.2 节 + TS 24.501 NAS 编码，从 UE 发起、AMF 发起、UDM 发起三个场景逐信令拆解。

## 一、为什么要把"去注册"单独拎出来讲

在 5G 核心网的学习中，注册流程（Registration，TS 23.502 Section 4.2.2.2.2 的姐妹流程）几乎是入门必修，但**去注册（Deregistration）**却经常被一笔带过。这是有问题的——因为去注册恰恰是**资源回收、状态机收敛、计费终结、安全上下文清理**的集中爆发点。一次看起来简单的"UE 关机"或"网络踢人"，背后牵动着 AMF、SMF、UPF、UDM、PCF 五个网元的服务调用链，以及 NAS、N2（NGAP）、N11（SBI）、N4（PFCP）四套协议的联动。

相比 4G EPS 的 Detach（去附着）流程，5G 的去注册有几个本质区别：

1. **名称变化**：Detach → Deregistration，对应注册域（RM）状态机；
2. **接入统一**：3GPP 接入与非 3GPP 接入（N3IWF/TNGF/W-AGF）共享同一套注册/去注册上下文，可以针对单一接入去注册，也可以"both"全清；
3. **会话管理解耦**：PDU 会话的释放由 SMF 独立处理，AMF 只负责发起 `Nsmf_PDUSession_ReleaseSMContext`，不再像 4G 那样在 NAS 里逐条带 PDN 信息；
4. **服务化接口**：UDM 介入是通过 SBI 通知（`Nudm_SDM_Notification`），而非 4G 的纯 Diameter/MAP 信令。

理解去注册，本质上是在理解 **RM 状态机如何从 RM-REGISTERED 回到 RM-DEREGISTERED**，以及这个过程中网元之间的"善后协议"。

## 二、三大场景总览：谁触发、为何触发

TS 23.502 将去注册明确分为两大类（Section 4.2.2.2），但工程实践中我们把它拆成**三个典型触发源**：

| 场景 | 触发源 | 典型诱因 | NAS 消息方向 | 是否需要 UE 重新注册 |
|------|--------|---------|-------------|-------------------|
| 场景 A：UE 发起 | UE | 关机、飞行模式、主动重注册、双卡切换 | UE → AMF（Deregistration Request） | 由 Switch off / Re-registration 标志决定 |
| 场景 B：AMF 发起 | AMF | OAM 干预、隐式去注册定时器超时、AMF Set 重平衡、illegal UE | AMF → UE（Deregistration Request） | 通常 Re-registration required |
| 场景 C：UDM 发起 | UDM | 销户、欠费停机、欺诈检测、HSS 数据变更 | UDM → AMF（SBI 通知）→ AMF 再以场景 B 执行 | 强制去注册，可能 re-registration |

下面这张状态图给出了去注册在整个 RM/CM 状态机中的位置：

```mermaid
stateDiagram-v2
    [*] --> RM_DEREGISTERED : UE 开机
    RM_DEREGISTERED --> RM_REGISTERED : Registration Accept
    RM_REGISTERED --> RM_REGISTERED : 业务正常 / PDU 会话活跃
    note right of RM_REGISTERED
        CM-IDLE: N1 NAS 连接已断
        CM-CONNECTED: N1/N2 连接在
    end note
    RM_REGISTERED --> RM_DEREGISTERED : 场景A UE发起去注册
    RM_REGISTERED --> RM_DEREGISTERED : 场景B AMF发起去注册
    RM_REGISTERED --> RM_DEREGISTERED : 场景C UDM通知→AMF发起
    RM_REGISTERED --> RM_DEREGISTERED : 隐式去注册(定时器超时)
    RM_DEREGISTERED --> RM_REGISTERED : Re-registration(若required)
    note left of RM_DEREGISTERED
        清理: SM Context / N4 / Security Context
        UDM: UECM 置为 deregistered
    end note
```

## 三、场景 A：UE 发起的去注册（TS 23.502 Section 4.2.2.2.2）

这是最常见的场景——用户关机、切飞行模式、或者 UE 主动希望重新注册以更新能力。

### 3.1 完整信令时序

```mermaid
sequenceDiagram
    participant UE
    participant RAN as (R)AN / gNB
    participant AMF
    participant SMF
    participant UPF
    participant UDM
    participant PCF

    Note over UE: 触发: 关机 / 飞行模式 / 主动重注册
    UE->>AMF: NAS Deregistration Request<br/>(Deregistration type, 5G-GUTI, Access type)
    Note over AMF: 校验 GUTI / 安全力上下文<br/>判断是否 Switch off

    AMF->>SMF: Nsmf_PDUSession_ReleaseSMContext (PDU Session ID)<br/>逐个 PDU 会话下发
    SMF->>UPF: N4 Session Modification/Release<br/>(PFCP: remove FAR/URR/PDR)
    SMF->>PCF: Npcf_SMPolicyControl_Delete<br/>(终止 SM 策略关联, 触发计费话单关闭)
    SMF-->>AMF: Nsmf_PDUSession_ReleaseSMContext Response

    AMF->>UDM: Nudm_SDM_Unsubscribe<br/>(取消订阅数据变更通知)
    AMF->>UDM: Nudm_UECM_Deregistration<br/>(UECM 置 deregistered, 保留 SUPI)
    UDM-->>AMF: 204 No Content

    alt 非关机场景
        AMF-->>UE: NAS Deregistration Accept
    else Switch off 场景
        Note over AMF: 不下发 Deregistration Accept
    end

    AMF->>RAN: NGAP UE Context Release Command
    RAN->>UE: RRC Release
    RAN-->>AMF: NGAP UE Context Release Complete
    Note over UE: 进入 RM-DEREGISTERED
```

### 3.2 关键 IE 逐字段拆解

UE 在第一条 NAS `Deregistration Request (UE originating)` 中携带的核心 IE（TS 24.501 Section 9.11）：

| IE 名称 | 长度 | 含义与取值 | 设计意图 |
|---------|------|-----------|---------|
| **Extended protocol discriminator** | 1 字节 | `7E`（5GS mobility management） | 区分 5GS MM 与 SM、EPS 等，SBI 时代仍保留 NAS 协议鉴别 |
| **Security header type** | 1/2 字节 | 指示是否完整性保护/加密 | 关机这类敏感操作必须带 MAC 完整性保护，防伪造关机攻击 |
| **Deregistration type** | 半字节 | 含 **Switch off** 位、**Re-registration required** 位、**Access type** 位 | 一个 IE 同时表达"为何去注册""是否再来""对哪个接入"三重语义 |
| **5G-GUTI / SUCI** | 变长 | 标识当前注册上下文 | AMF 据 GUTI 反查 UE Context |
| **5GS registration result**（部分消息） | — | 用于补充 5GS 核心网能力 | 多在重注册场景出现 |

**Deregistration type 这个半字节是整个流程的"灵魂"**，它决定了三条完全不同的执行路径：

```mermaid
flowchart TD
    A[UE: Deregistration Request] --> B{Switch off 位?}
    B -- 是(关机) --> C[路径1: 纯清理<br/>不发 Deregistration Accept<br/>UE 认为已离线]
    B -- 否 --> D{Re-registration required 位?}
    D -- 是 --> E[路径2: 重注册<br/>去注册后立即发起 Registration<br/>用于更新能力/切片/AMF 重选]
    D -- 否 --> F[路径3: 纯注销<br/>UE 进入 RM-DEREGISTERED<br/>保留 SIM 信息等待用户操作]
    C --> G[Access type 字段]
    E --> G
    F --> G
    G -- 3GPP --> H[仅清理 3GPP 接入上下文]
    G -- Non-3GPP --> I[仅清理 N3IWF 接入上下文]
    G -- Both --> J[全量清理<br/>通常对应 Switch off]
```

**设计意图深挖**：为什么 Switch off 时网络不回 Deregistration Accept？因为 UE 即将断电，回包大概率收不到，反而浪费空口资源；更重要的是，UE 一旦发出 Switch off，本地立即认为已离线，不会等待响应。这是一种典型的**乐观确认/无确认语义**，与 IMS 中 REGISTER 注销、SIP BYE 的设计哲学一致。

### 3.3 AMF 侧的"善后链"

AMF 收到请求后，必须完成四件事，缺一不可：

1. **释放所有 PDU 会话的 SM Context**：对每个活跃 PDU Session 调用 `Nsmf_PDUSession_ReleaseSM_Context`。注意——**这是直接释放 SM Context，不是 PDU Session Release 流程**。区别在于：去注册时不向 UE 逐条发 `PDU Session Release Command`，UE 已经"人要走"，网络直接清场。
2. **取消 UDM 订阅**：`Nudm_SDM_Unsubscribe` 让 UDM 不再向该 AMF 推送数据变更通知，避免幽灵通知。
3. **更新 UDM 的 UECM**：`Nudm_UECM_Deregistration` 将 UE 在 UDM 的注册状态改为 deregistered，但**保留 SUPI 记录**（区别于 Purge，Purge 是彻底删除）。这样 UE 下次注册时 UDM 仍有档案。
4. **释放 N2**：通过 NGAP `UE Context Release Command` 通知 RAN 释放 UE 上下文与空口 RRC 连接。

## 四、场景 B：AMF 发起的去注册（TS 23.502 Section 4.2.2.2.3）

当网络需要主动"请走"UE 时，由 AMF 发起。典型诱因包括：OAM 维护、隐式去注册定时器超时、AMF Set 负载重平衡、检测到非法 UE、AMF 实例缩容。

### 4.1 信令时序

```mermaid
sequenceDiagram
    participant UE
    participant AMF
    participant SMF
    participant UDM
    participant OAM as OAM/NMS

    Note over OAM,AMF: 触发: 维护/缩容/隐式去注册定时器超时
    OAM-->>AMF: 触发去注册指令(或定时器内部触发)

    AMF->>UE: NAS Deregistration Request (UE terminating)<br/>(Access type, Re-registration required)
    alt UE 在线 CM-CONNECTED
        UE-->>AMF: NAS Deregistration Accept (UE terminating)
    else UE 离线 CM-IDLE
        Note over AMF: 先 Paging, 再下发
        AMF->>UE: Paging (寻呼)
        UE-->>AMF: Service Request
        AMF->>UE: Deregistration Request
        UE-->>AMF: Deregistration Accept
    end

    loop 每个 PDU 会话
        AMF->>SMF: Nsmf_PDUSession_ReleaseSMContext
        SMF-->>AMF: Response
    end

    AMF->>UDM: Nudm_UECM_Deregistration / Nudm_SDM_Unsubscribe
    AMF->>AMF: 删除本地 UE Context<br/>(保留部分鉴权上下文以备重注册)
```

### 4.2 "Re-registration required"——网络版强制刷新

AMF 发起的去注册，`Deregistration Request (UE terminating)` 里几乎总带 **Re-registration required = 1**。这背后的工程意义是：**"我把你踢出去，但你要马上回来重新注册"**。

典型应用是 **AMF Set 负载重平衡**：当某个 AMF Set 过载，OAM 会让一部分 UE 去注册并重选到另一个 AMF（通过 GUAMI 变更或 RAN 侧重路由）。UE 收到带 Re-registration 的去注册后，立即以原 GUTI 发起新注册，路由到新的（轻载的）AMF。

另外一个 R18 起的重要增强是 **多 USIM 场景**：当 UE 有两张 USIM 卡同时注册在同一网络，网络可以通过 AMF 发起的去注册（带特定原因值）让其中一张卡进入"限速/暂停"状态，避免双卡同时占用资源。这在 R17（TS 23.501 多 USIM）和 R18 持续完善。

### 4.3 隐式去注册（Implicit Deregistration）

这是 AMF 发起的一个特殊子类，触发于**定时器**而非显式指令：

- UE 进入 `CM-IDLE` 后，AMF 启动 **Mobile Reachable Timer**（默认约比 periodic registration update timer 长 4 分钟）；
- 若到期 UE 仍未发起任何 NAS 信令，AMF 启动 **Implicit Deregistration Timer**；
- 该定时器到期，AMF **无需寻呼 UE**，直接隐式去注册——释放所有 PDU 会话、通知 UDM。

隐式去注册是网络应对"失踪 UE"的兜底机制，保证资源不会无限期占用。这也是为什么在抓包里，你有时会看到一连串 `Nsmf_PDUSession_ReleaseSMContext` 却没有任何 UE 触发信令——这就是隐式去注册在静默执行。

## 五、场景 C：UDM 发起的去注册（Subscription Data Withdrawal）

这是最容易被忽视、却最贴近运营实战的场景。当用户**销户、欠费停机、欺诈检测命中、或 HSS/UDM 侧数据被管理员修改**，UDM 需要强制将在线 UE 踢下线。

### 5.1 信令时序

```mermaid
sequenceDiagram
    participant OPS as 营销/客服系统
    participant UDM
    participant UDR
    participant AMF
    participant SMF
    participant UE

    Note over OPS,UDR: 用户销户/停机, UDR 数据变更
    OPS->>UDR: 标记 subscriber 为 withdraw
    UDR-->>UDM: 数据变更触发

    UDM->>AMF: Nudm_SDM_Notification<br/>(Subscription Data Withdrawal)<br/>指示订阅数据被撤回
    UDM->>SMF: Nudm_SDM_Notification<br/>(影响会话的订阅数据变更)

    Note over AMF: AMF 判定需强制去注册
    AMF->>UE: NAS Deregistration Request (UE terminating)<br/>(Re-registration not required 或带特定原因)
    UE-->>AMF: Deregistration Accept

    AMF->>SMF: Nsmf_PDUSession_ReleaseSMContext (逐个)
    AMF->>UDM: Nudm_UECM_DeregistrationNotification
    Note over UE: 若是销户, 重注册将被拒绝(#3/非法 UE)
    Note over UE: 若是临时停机, 可在数据恢复后重注册
```

### 5.2 Nudm_SDM_Notification 的关键参数

`Nudm_SDM_Notification`（TS 29.503 Section 5.2.2）在 Subscription Data Withdrawal 场景下，body 里的 `notificationType` 取值为特定枚举，并可能携带：

- **`data` / `expires`**：指示被撤回的数据集；
- **`subscriptionDataSubsets`**：精确告诉 AMF 哪些子集（如 SMF selection subscription、Access and Mobility subscription）失效。

**设计意图**：UDM 不直接去碰 UE，而是通过 SBI 通知"订阅变更"，由 AMF 这个"注册管理者"决定如何对 UE 执行操作。这是**关注点分离**（Separation of Concerns）的典型体现——UDM 管数据，AMF 管信令连接，各司其职。

一个**关键的运维细节**：如果是临时停机（数据可恢复），UDM 通常发起的是"软撤回"，AMF 去 UE 后保留 SUPI 档案；如果是永久销户，UDM 会进一步调用 `Nudm_UECM` 相关操作触发 Purge，彻底删除 UE 上下文，UE 重新注册时将被以原因值 **#3 (Illegal UE)** 或 **#7 (5GS services not allowed)** 拒绝。

## 六、NAS 消息结构总图

把四条 NAS 消息放在一起，便于理解编码差异：

```mermaid
classDiagram
    class NAS_Dereg_Req_UE_orig {
        消息类型: 01000001
        +Deregistration type
        +5GS mobile identity (GUTI)
        +(可选) NGKSI
        +(可选) 5G-GUTI for non-3GPP
    }
    class NAS_Dereg_Req_UE_term {
        消息类型: 01000010
        +Deregistration type
        +Access type
        +(可选) Cause (5GMM cause)
    }
    class NAS_Dereg_Acc_UE_orig {
        消息类型: 01000011
        (无强制 IE)
    }
    class NAS_Dereg_Acc_UE_term {
        消息类型: 01000100
        (无强制 IE)
    }
    class Deregistration_type {
        bit: Switch off
        bit: Re-registration required
        bits: Access type
        note: "半字节承载三重语义"
    }
    NAS_Dereg_Req_UE_orig --> Deregistration_type : 包含
    NAS_Dereg_Req_UE_term --> Deregistration_type : 包含
```

注意 `UE originating`（UE 发起）和 `UE terminating`（网络发起给 UE）的消息类型码不同——这是 NAS 层区分**谁先说话**的编码约定，与 SIP 中 Request/Response 的方向语义异曲同工。

## 七、去注册 vs PDU Session Release：不要混淆

很多新人会把去注册里的会话释放和独立的 PDU Session Release 流程搞混。下表是关键区别：

| 维度 | 去注册中的会话释放 | 独立 PDU Session Release |
|------|------------------|------------------------|
| 触发方 | AMF（因 UE 去注册） | UE 或 SMF（单会话） |
| AMF→SMF 服务 | `Nsmf_PDUSession_ReleaseSMContext` | `Nsmf_PDUSession_Release`（注意是 SM Context 还是 Session） |
| 是否逐条通知 UE | 否（UE 已离开/即将离开） | 是，UE 参与 `PDU Session Release Command/Accept` |
| 影响 N1 NAS | 释放整个 N1 连接 | 仅释放该会话，N1 连接保留 |
| 计费 | 触发 UE 级计费终结 | 触发会话级计费终结 |

**一句话记忆**：去注册是"退房"，PDU Session Release 是"退一件行李"。退房时行李自然全退，不需要一件件和前台确认。

## 八、抓包识别与实战排错

### 8.1 在 Wireshark/TShark 中识别

- **N2（NGAP）**：看 `UE Context Release Command` / `Complete`，配合前序的 `PDU Session Resource Release`；
- **N11（HTTP/2 SBI）**：过滤 `:path` 含 `release-sm-context`，会看到 AMF→SMF 的 POST；
- **N4（PFCP）**：`PFCP Session Deletion Request/Response`，UPF 侧删除所有 PDR/FAR；
- **NAS（N1）**：消息类型 `Deregistration request` / `accept`，注意 `:path` 或 NAS EPS 中的 `security header type` 必须非零（完整性保护）。

### 8.2 常见故障点

1. **去注册后 UE 无法重注册**：通常是 UDM 侧 UECM 未正确更新，或 SM Context 残留导致 SMF 拒绝。排错方向：查 UDM 的 `Nudm_UECM_Deregistration` 是否 204，查 SMF 是否真的发了 N4 Deletion。
2. **计费话单未关闭**：SMF 在去注册路径里**忘记调用 `Npcf_SMPolicyControl_Delete`**，导致 PCF 策略关联悬挂，计费一直挂着。这是厂商实现的高发 bug。
3. **Switch off 后仍被寻呼**：AMF 未识别 Switch off 标志，仍尝试寻呼。表现为大量无效 Paging。
4. **非 3GPP 接入残留**：UE 在 3GPP 接入发起去注册但 access type=3GPP，N3IWF 侧上下文未清理，导致下次非 3GPP 注册冲突。
5. **多 USIM 干扰**：R18 多 USIM 去注册原因值未正确处理，导致两张卡同时断线。
## 九、R17/R18 增强速览

- **R17 多 USIM**：新增去注册原因值，支持网络让一张卡暂停而不影响另一张；
- **R17 Non-3GPP（WLAN/TNAN）**：扩展非可信非 3GPP 接入的去注册路径；
- **R18 网络切片增强**：去注册时更精细地处理 NSSAA 相关切片授权状态的清理；
- **R18 移动性增强**：AMF 改变场景下的去注册与重注册协同优化，减少信令风暴。

## 常见问题

**Q1：Switch off 和 Re-registration required 能同时置位吗？**
A：协议上不冲突，但工程上无意义。Switch off 表示 UE 即将断电、不期待任何响应；若同时要求 re-registration，UE 已断电无法执行。实际实现中，Switch off 优先级最高，网络按关机处理。

**Q2：去注册后 SMF 何时真正删除 N4 session？**
A：SMF 收到 `Nsmf_PDUSession_ReleaseSMContext` 后立即向 UPF 发 `PFCP Session Deletion Request`，UPF 回 Response 后 N4 session 即被删除。整个过程应在秒级完成。若超时未删除，多为 UPF 过载或 PFCP 链路问题。

**Q3：隐式去注册会通知 UE 吗？**
A：不会。隐式去注册的前提是 UE 长时间不可达（CM-IDLE 且寻呼无响应），网络无法联系 UE，故直接在 AMF 本地完成清理并通知 UDM。UE 下次主动发起信令时，才会发现自己已被去注册（网络以相应原因拒绝）。

**Q4：去注册和 UE Configuration Update 有什么关系？**
A：UE Configuration Update（TS 23.502 Section 4.2.4）是"在注册态更新配置"（如新 NSSAI、新 5G-GUTI、新允许的 NSSAI），不改变 RM 状态；去注册则是"退出注册态"。两者常配合使用：先用 Configuration Update 下发新配置，若 UE 需要重选 AMF，再用带 Re-registration 的去注册强制重注册。

**Q5：非 3GPP 接入的去注册与 3GPP 有何不同？**
A：核心差异在接入链路。N3IWF/TNGF 侧通过 IKEv2/IPsec 通道释放替代 RRC 释放，AMF 仍用同一套 NAS Deregistration 消息（access type=non-3GPP）。当 access type=both 时，AMF 需协调两条接入链路同时清理，这是多接入场景的实现难点。

## 参考来源

1. [3GPP TS 23.502 V19.x — Procedures for the 5G System, Section 4.2.2.2 Deregistration](https://www.3gpp.org/dynareport/23502.htm) — UE-initiated / Network-initiated 去注册流程定义
2. [3GPP TS 24.501 V19.x — NAS for 5GS, Section 9.11.3.7 Deregistration type / Section 8.2 Deregistration messages](https://www.3gpp.org/dynareport/24501.htm) — NAS 消息与 IE 编码
3. [3GPP TS 29.503 V19.x — Nudm_Service Management, Section 5.2.2 Nudm_SDM_Notification](https://www.3gpp.org/dynareport/29503.htm) — UDM 发起 Subscription Data Withdrawal 的 SBI 定义
4. [3GPP TS 23.501 V19.x — System architecture for the 5G System](https://www.3gpp.org/dynareport/23501.htm) — RM/CM 状态机、AMF Set、多 USIM 架构
5. [ShareTechnote — 5G Core Network Deregistration 概念解读](https://www.sharetechnote.com/) — 流程概念图与英文解读（结合上述规范理解）

---
> 本文由「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学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
