<!-- title: 5G PDU会话修改信令流拆解 -->
<!-- domain: protocols -->

# 5G PDU会话修改信令流拆解：QoS Flow动态调整与N4规则重写全链解析

> 本文聚焦 **3GPP TS 23.502 Section 4.3.3 PDU Session Modification** 流程，深度拆解 QoS Flow 的建立（Add）、修改（Modify）、删除（Remove）、替换（Replace）四类操作，以及 N4（PFCP）接口 PDR/FAR/QER/URR 规则的动态下发机制。

## 一、为什么需要 PDU 会话修改

在 5G 系统中，一个 PDU 会话在建立阶段（TS 23.502 Section 4.3.2）会创建一个**默认 QoS Flow**（通常是 Non-GBR，对应某个默认 5QI，如 5QI=9）。但用户面真正的动态性来自于 **PDU Session Modification** ——它是在不拆掉整个 PDU 会话的前提下，按业务需求**精细化调整 QoS 资源**的核心机制。

典型触发场景包括：

- **VoNR 专用承载建立**：IMS 语音需要 Dedicated GBR QoS Flow（5QI=5 信令、5QI=1 媒体），通过 PCF 发起的网络侧修改流程建立。
- **视频流动态速率适配**：流媒体服务器通过 AF→PCF 触发 Session-AMBR 或 5QI 调整。
- **游戏加速/URLLC**：上行低时延业务的专用 GBR QoS Flow 临时建立与释放。
- **UE 移动性触发的 QoS 变更**：切换后 ARP 优先级或资源可用性变化。

PDU Session Modification 与 PDU Session Establishment 的本质区别在于：前者是**对已存在 PDU 会话的增量操作**（incremental QoS flow manipulation），复用已有的 N4 会话隧道（TEID）和 UE IP 地址，仅对 QoS Flow 级别的规则做增删改查。

## 二、三类发起场景与触发源

TS 23.502 Section 4.3.3 定义了两种发起方式，细分则有三个触发源：

| 发起方式 | 规范章节 | 触发源 | 典型场景 |
|---------|---------|--------|---------|
| UE-requested | 4.3.3.2 | UE 应用层（如 App 请求更好 QoS） | 终端感知 QoS 不足主动请求 |
| Network-initiated | 4.3.3.3 | PCF（策略决策） | VoNR、视频、AF 触发的 QoS 提升 |
| Network-initiated | 4.3.3.3 | SMF（本地决策） | QoS Flow 异常释放、计时器到期 |

**PCF 发起**是最常见的网络侧触发路径：PCF 通过 `Npcf_SMPolicyControl_Update` 服务通知 SMF 新的策略决策（如新的 PCC Rule），SMF 据此计算需要新增/修改的 QoS Flow。`Npcf_SMPolicyControl` 服务对应接口 N7，PCF 与 SMF 之间的策略关联（SM Policy Association）。

**SMF 发起**通常用于 QoS Flow 的去激活（deactivation），例如 UE 进入不允许某 QoS 的区域，或 GBR Flow 资源无法满足时的降级。

## 三、完整信令时序图：网络发起的 Dedicated QoS Flow 建立

以下时序图展示**最经典的网络发起场景**——PCF 触发为 VoNR 建立 Dedicated GBR QoS Flow（媒体面 5QI=1）。这条链路完整覆盖了 N7→N11→N4→N2→N1 全部接口：

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

    Note over AF,PCF: 业务触发（如 SIP INVITE 含 SDP）
    AF->>PCF: Npcf_PolicyAuthorization_Create (媒体描述)
    PCF->>PCF: PCC Rule 生成 (5QI=1, GBR, ARP)
    PCF->>SMF: Npcf_SMPolicyControl_UpdateNotify (新PCC Rule)

    Note over SMF: 计算 QoS Flow 操作 = Add
    SMF->>SMF: 分配 QFI (如 QFI=2)
    SMF->>UPF: N4 Session Modification Request (PDR/FAR/QER Add)
    UPF-->>SMF: N4 Session Modification Response

    SMF->>AMF: Namf_Communication_N1N2MessageTransfer<br/>(N1: PDU Session Modification Command<br/>N2: PDU Session Resource Setup/Modify)

    Note over AMF: N1N2 拆分转发
    AMF->>RAN: N2 PDU Session Resource Setup/Modify (含QoS Flow信息+QoS Profile)
    AMF->>UE: NAS: PDU Session Modification Command (QoS Rule + QFI)
    RAN->>UE: RRC Reconfiguration (DRB 建立以承载新QoS Flow)

    UE-->>RAN: RRC Reconfiguration Complete
    Note over RAN: 承载建立成功
    RAN-->>AMF: N2 PDU Session Resource Setup/Modify Response
    UE-->>SMF: NAS: PDU Session Modification Complete (经AMF透传)

    SMF->>PCF: Npcf_SMPolicyControl_Update (确认QoS Flow建立)
    Note over SMF,UPF: Dedicated GBR QoS Flow 激活，媒体面可用
```

这个时序图的关键设计在于**步骤 8 的 N1N2 消息拆分**。SMF 通过 `Namf_Communication_N1N2MessageTransfer` 一次下发两段信息：

- **N1 SM Container**：`PDU Session Modification Command`（给 UE 的 NAS 消息，携带 QoS Rule）
- **N2 SM Information**：`PDU Session Resource Setup/Modify` Transfer（给 (R)AN 的 NGAP 容器，携带 QoS Flow Level QoS Parameters）

AMF 作为中继，将 N2 部分通过 NGAP `PDU Session Resource Setup/Modify` 消息发给 gNB，将 N1 部分作为 NAS Payload 携带在同一 NGAP 消息的 `NAS-PDU` IE 中下发给 UE。这种"一次 SMF 调用，双路径分发"是 5G 控制面与 4G EPS 承载建立信令的显著区别。

## 四、QoS Flow 四类操作状态机

SMF 在收到 PCC Rule 后，会根据 PCC Rule 的状态变化计算 QoS Flow 的操作类型。这是一个状态驱动的决策过程：

```mermaid
stateDiagram-v2
    [*] --> 基线状态: 默认 Non-GBR QoS Flow 已存在

    基线状态 --> Add: PCC Rule 新建 (INSTALL)
    Add --> 激活态: QFI分配 + DRB建立 + N4规则下发

    激活态 --> Modify: QoS参数变化<br/>(5QI/ARP/GFBR变更)
    Modify --> 激活态: 仅更新QER/QoS Profile

    激活态 --> Remove: PCC Rule 删除 (REMOVE)
    Remove --> 基线状态: QFI回收 + DRB释放

    基线状态 --> Replace: 默认QoS Flow参数整体替换
    Replace --> 基线状态: 新参数生效

    note right of Modify
        Modify 不重新分配 QFI
        仅调整已有 Flow 的 QoS Profile
        可能伴随 DRB 重配置
    end note

    note right of Add
        Add 必须分配新 QFI
        GBR Flow 需要 RAN 准入控制
        (Admission Control)
    end note
```

四种操作的差异如下：

- **Add**：SMF 从空闲 QFI 池分配新的 QFI（QFI 取值 0-63，由 SMF 在 PDU 会话内统一分配），为该 Flow 安装全新的 N4 规则集（新 PDR ID、FAR ID、QER ID）。
- **Modify**：QFI 保持不变，仅更新 QER 中的 GFBR/MFBR/Session-AMBR 或 ARP 优先级，更新 (R)AN 侧的 QoS Profile。
- **Remove**：回收 QFI，删除对应 N4 规则，触发 (R)AN 释放承载该 QoS Flow 的 DRB（若 DRB 上无其他 Flow）。
- **Replace**：较少见，用于默认 QoS Rule 的整体参数替换。

## 五、关键 Information Element 解析

### 5.1 NAS 层 IE（TS 24.501）

PDU Session Modification Command 消息中携带的核心 IE：

| IE 名称 | 含义 | 关键取值 |
|---------|------|---------|
| PDU Session ID | 标识被修改的 PDU 会话 | 1-255 |
| QoS Rules | UE 侧分类上行包的规则 | 含 Packet Filter Set + Precedence + QFI + 操作类型 |
| QoS Flow List | QFI 与操作类型映射 | QFI + Add/Modify/Remove/Replace |
| Session-AMBR | 会话聚合最大比特率 | UL/DL 速率 |
| QoS Rule Operation Code | QoS Rule 操作类型 | ADD=1, MODIFY=2, DELETE=3 |
| Reflective QoS Indicator (RQI) | 指示 UE 是否反射推导上行 QoS Rule | 0/1 |
| PDU Session Type | IPv4/IPv6/Ethernet/Unstructured | 通常修改流程中不变 |

**QoS Rule** 是 UE 侧行为的核心。它由 **Packet Filter Set + QFI + Precedence** 组成。当 UE 上行发送数据包时，匹配某个 Packet Filter Set 的数据包会被打上对应的 QFI 标记，从而走对应的 DRB。这是 5G 区别于 4G EPS（每承载一个 TI）的 QoS 模型——5G 用 QFI 而非承载标识区分 QoS。

**Reflective QoS（反射 QoS）** 是一个重要优化机制。对于支持反射 QoS 的 Non-GBR Flow，下行数据包在 N3 隧道封装时带有 RQI 标志（通过 QER 中的 RQI 字段），UE 收到后**自动推导出对称的上行 QoS Rule**，无需 SMF 显式下发上行 QoS Rule。这大幅减少了网络发起 QoS 修改时的信令开销。RQA（Reflective QoS Attribute）在 N2 SM Information 中指示该 PDU 会话支持反射 QoS。

### 5.2 N2 SM Information（NGAP 携带）

发给 (R)AN 的 `PDU Session Resource Setup/Modify` Transfer 中包含：

- **QoS Flow Identifier (QFI)** + **QoS Flow Level QoS Parameters**（5QI、ARP、可选的 GFBR/MFBR）
- **Transport Layer Address** + **TEID**（N3 上行隧道，新建 PDU 会话资源时；修改流程通常复用已有 TEID）
- **PDU Session Type**、**Session-AMBR**

### 5.3 N4 接口 PFCP 规则集（TS 29.244）

这是 PDU Session Modification 在用户面最核心的工作——**SMF 通过 N4（PFCP）向 UPF 下发四类规则**：

```mermaid
flowchart TD
    subgraph SMF["SMF N4 Session Modification"]
        direction TB
        PDR["PDR<br/>Packet Detection Rule<br/>检测上行/下行数据包"]
        FAR["FAR<br/>Forwarding Action Rule<br/>转发动作"]
        QER["QER<br/>QoS Enforcement Rule<br/>QoS执行/限速"]
        URR["URR<br/>Usage Reporting Rule<br/>用量上报"]
    end

    PDR -->|匹配| QER
    QER -->|限速/标记QFI| FAR
    FAR -->|封装N3/N9隧道| NETWORK["外部网络 / N3隧道"]
    PDR -.->|触发计量| URR
    URR -.->|用量报告| SMF

    classDef new fill:#e1f5ff,stroke:#0288d1,stroke-width:2px
    class PDR,FAR,QER new
```

PDU Session Modification 时，SMF 通过 `N4 Session Modification Request`（PFCP Session Modification Request）下发**增量规则**：

| N4 规则 | 作用 | 修改流程中的操作 |
|---------|------|-----------------|
| **PDR (Packet Detection Rule)** | 定义如何检测数据包（Source Interface + F-TEID 或 UE IP + SDF Filter） | 新 Flow：新建 PDR ID；删除 Flow：Remove |
| **FAR (Forwarding Action Rule)** | 定义转发去向（Outer Header Creation = 目标 TEID+IP） | Add/Modify（可能更新对端 N9 隧道） |
| **QER (QoS Enforcement Rule)** | 执行 QoS：GFBR/MFBR 限速、QFI 标记、RQI 设置 | Add/Modify（调整限速参数） |
| **URR (Usage Reporting Rule)** | 用量统计与上报触发（Volume/Time/Quota） | 通常 Add（计费需要） |

**关键设计**：每个 PDR 关联一个 QER（限速+QFI 标记）和一个 FAR（转发）。PDU Session Modification 的新增 QoS Flow 本质上是**在 UPF 安装一套新的 PDR→QER→FAR 处理流水线**，并为其分配唯一的规则 ID（PDR ID、QER ID、FAR ID 由 SMF 在该 N4 会话内统一分配）。

值得注意的是，N4 规则采用**全量替换**还是**增量更新**取决于厂商实现，但 PFCP 协议本身支持通过 `Create/New` 与 `Remove/Delete` 标志位做精确的增量下发，避免全量重传已有规则。

## 六、UE 发起场景的差异

UE-requested PDU Session Modification（4.3.3.2）由 UE 主动发起，链路更短：

1. UE → SMF（经 AMF 透传）：`PDU Session Modification Request`（NAS 5GSM，携带期望的 QoS Rule / Packet Filter）
2. SMF 决策：可能与 PCF 交互验证策略（`Npcf_SMPolicyControl_Update`）
3. SMF → UE：`PDU Session Modification Command`（确认或调整后的 QoS Rule）

UE 发起时，SMF 不一定立即下发 N1N2 消息——如果 UE 请求的 QoS 需要网络侧（RAN/UPF）资源变更，SMF 才触发 N4 和 N2 流程；若仅是参数微调且不影响 RAN 承载，可仅通过 NAS 确认完成。TS 23.502 明确：SMF 应根据运营商策略决定是否授权 UE 请求的 QoS，未授权时返回 `PDU Session Modification Reject`。

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

### 7.1 抓包识别特征

在 Wireshark 中通过以下特征定位 PDU Session Modification：

- **N1 (5GSM)**：NAS 消息类型字段（Octet 2 of Extended Protocol Discriminator 后），`PDU SESSION MODIFICATION COMMAND` 的 message type = `0xCB`（203）；`PDU SESSION MODIFICATION COMPLETE` = `0xCC`（204）。
- **N11 (SBI)**：HTTP/2 请求路径 `.../namf-comm/v1/ue-contexts/{supi}/n1-n2-messages`，Body 中同时含 `n1MessageContainer`（SM）和 `n2InfoContainer`（SM）。
- **N4 (PFCP)**：`PFCP Session Modification Request`，关注 `Create PDR / Create QER / Create FAR`（新增）或 `Remove PDR / Remove QER`（删除）IE 的出现。
- **N2 (NGAP)**：`PDU Session Resource Setup/Modify` 或 `PDU Session Resource Modify` 消息，携带 `PDU Session Resource Modify List`。

### 7.2 常见故障点

1. **RAN 准入控制失败**：GBR QoS Flow 建立 (Add) 时，gNB 因无线资源不足拒绝，返回 `PDU Session Resource Setup/Modify` 失败指示（Cause = Radio Resources not available）。此时 SMF 应触发 PCF 重新决策或拒绝整个修改。
2. **N4 规则下发不同步**：SMF 先下发 N4 再下发 N1N2，若 UPF 处理延迟导致 RAN 承载已建立但 UPF 侧 QER 未生效，会出现短时数据丢包或限速异常。
3. **QFI 冲突**：SMF 重复分配已用 QFI，导致 UPF 检测到规则冲突，N4 Response 返回错误。
4. **Reflective QoS 协商失败**：UE 或 RAN 不支持 RQA，但 SMF 下发了依赖反射 QoS 的规则，导致上行 QoS 不匹配。
## 八、常见问题

**Q1: PDU Session Modification 与 PDU Session Establishment 中建立 QoS Flow 的区别是什么？**

A: Establishment 阶段只能建立**默认 QoS Flow**（Non-GBR），且伴随完整的 PDU 会话生命周期创建（分配 UE IP、N3/N9 隧道、UPF 选择）。Modification 可以在已有 PDU 会话上**按需增删任意类型的 QoS Flow**（含 GBR），复用已有隧道与 IP 地址，仅调整 QoS Flow 级规则。Modification 是 5G QoS 动态性的主要载体。

**Q2: 反射 QoS（Reflective QoS）何时启用，节省了什么信令？**

A: 当 PDU 会话的 QoS Flow 支持 Reflective QoS（N2 携带 RQA），且下行数据包标记 RQI=1 时，UE 自动推导上行 QoS Rule。它节省的是**网络侧向 UE 显式下发上行 QoS Rule 的 NAS 信令**。但对 GBR Flow 和需要精确控制上行分类的场景，仍需显式 QoS Rule。

**Q3: QFI 为什么由 SMF 而非 RAN 分配？**

A: QFI 是 PDU 会话内的逻辑标识（0-63），需要在 UE、(R)AN、UPF、SMF 全链路一致。SMF 作为 PDU 会话的中央管理点统一分配，保证与 N4 规则、QoS Rule、QoS Profile 的全局一致。RAN 仅根据收到的 QFI 建立 DRB，无权重新分配。

**Q4: 一个 DRB 可以承载多个 QoS Flow 吗？**

A: 可以。5G 的 DRB 与 QoS Flow 是**多对多**的灵活映射（区别于 4G 承载的一一对应）。RAN 可将多个相似 QoS 特性的 QoS Flow 复用到同一 DRB 上，由 SDAP 层通过 QFI 标记区分。Modification 建立 Flow 时，RAN 可选择复用已有 DRB 或新建 DRB，这是 RAN 的本地决策。

**Q5: PCF 发起修改后，SMF 如何决定是 Add 还是 Modify？**

A: SMF 比较 PCC Rule 的变更前后状态。若 PCC Rule 是 `INSTALL`（新增规则 ID）则为 Add；若是已有规则的 QoS 参数变更则为 Modify；若是 `REMOVE` 则为 Remove。PCC Rule ID 是映射到 QFI 的桥梁，SMF 维护 PCC Rule ID → QFI 的映射表。

## 参考来源

1. [3GPP TS 23.502 V18.x — Procedure for the 5G System, Section 4.3.3 PDU Session Modification](https://www.3gpp.org/dynareport/23502.htm) — UE-requested (4.3.3.2) 与 Network-initiated (4.3.3.3) 完整流程定义
2. [3glteinfo — 5G PDU Session Modification Procedure Call Flow](https://www.3glteinfo.com/call-flows/5g-pdu-session-modification/) — 端到端信令流程图与排错模式
3. [3glteinfo — 5G QoS Flow Modification Procedure Call Flow](https://www.3glteinfo.com/call-flows/5g/qos-flow-modification/) — 策略触发、Session Modification Command 与 UE 确认流程
4. [Derek Cheung (Medium) — 5G Core Part 4: Dedicated QoS Flow & PDU Session Modification Wireshark](https://derekcheung.medium.com/5g-core-part-4-dedicated-qos-flow-and-pdu-session-modification-eba4a14d62d4) — Network-Initiated Dedicated QoS Flow 建立抓包分析
5. [Cisco UCC 5G SMF Configuration and Administration Guide — Network-initiated Session Modification Procedures](https://www.cisco.com/c/en/us/td/docs/wireless/ucc/smf/2025-04/config-admin/ucc-5g-smf-configuration-and-administration-guide--release-2025-04/m_network-initiated-session-modification-procedures.html) — SMF 对 AN/AMF/PCF 三类触发源的厂商实现
6. [ShareTechnote — 5G VoNR](https://www.sharetechnote.com/html/5G/5G_VoNR.html) — 第二条 QoS Pipe（IMS 语音媒体）建立与 PDU Session Modification 的关系

---
> 本文由「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)
