<!-- title: 5G UL CL上行分类器边缘分流信令全链拆解 -->
<!-- domain: slicing-mec -->

# 5G UL CL上行分类器边缘分流信令全链拆解

## 一、UL CL机制定位与设计意图

### 1.1 什么是UL CL

UL CL（Uplink Classifier，上行分类器）是5G核心网中UPF的一项关键功能，其核心目标是**在单个PDU Session内，根据SMF下发的流量过滤器规则，将上行流量分流到不同的PDU Session Anchor（PSA）**，实现边缘计算场景下的本地分流（Local Breakout）。

根据**TS 23.501 V18.x Section 5.6.4.2**的定义：

> *"The UL CL is a functionality supported by an UPF that aims at diverting (locally) some traffic matching traffic filters provided by the SMF."*

UL CL的设计遵循以下核心原则：

- **UE无感知**：UE完全不知道UL CL的存在，不参与UL CL的插入和移除过程。对于IPv4/IPv6/IPv4v6类型的PDU Session，UE只持有**单一IP地址/前缀**。
- **SMF全权控制**：UL CL的插入、修改、移除完全由SMF决定，通过N4/PFCP接口控制UPF。
- **多PSA共存**：一个PDU Session可以同时拥有多个PSA，分别提供对中心DN和本地DN的访问。

### 1.2 UL CL vs Branching Point（BP）

| 对比维度 | UL CL（上行分类器） | BP（分支点） |
|---------|-------------------|------------|
| **适用PDU Session类型** | IPv4/IPv6/IPv4v6/Ethernet | 仅IPv6 |
| **分流依据** | 目的IP地址/前缀、SDF过滤器 | IPv6源地址前缀 |
| **UE感知** | 完全无感知 | UE知道多前缀存在 |
| **IP地址数量** | UE仅持有1个IP地址/前缀 | UE获得多个IPv6前缀 |
| **典型场景** | MEC边缘分流、园区本地访问 | SSC Mode 3服务连续性 |
| **规范章节** | TS 23.501 §5.6.4.2 | TS 23.501 §5.6.4.3 |

### 1.3 UL CL在边缘计算架构中的位置

根据**TS 23.548 V18.x Section 4.2/4.3**，5G边缘计算定义了三种连接模型：

```mermaid
graph TB
    subgraph "Session Breakout模型（UL CL方案）"
        UE["UE"]
        RAN["(R)AN"]
        ULCL["UL CL UPF<br/>(上行分类器)"]
        PSA1["PSA1<br/>(中心锚点UPF)"]
        PSA2["PSA2<br/>(本地锚点UPF)"]
        CDN["中心DN<br/>(Internet)"]
        LDN["本地DN<br/>(Edge/MEC)"]

        UE -->|N3| RAN -->|N3| ULCL
        ULCL -->|N9| PSA1 -->|N6| CDN
        ULCL -->|N9| PSA2 -->|N6| LDN
    end

    style ULCL fill:#e1f5fe
    style PSA2 fill:#fff3e0
```

Session Breakout模型中，UL CL作为分流节点，将匹配本地DN特征的流量转发至PSA2（本地锚点），其余流量转发至PSA1（中心锚点）。这是MEC边缘计算最常用的连接模型。

## 二、UL CL插入完整信令流程

### 2.1 插入流程时序图（TS 23.502 Section 4.3.5.4）

```mermaid
sequenceDiagram
    participant UE
    participant RAN as (R)AN
    participant AMF
    participant SMF
    participant ULCL as UL CL UPF
    participant PSA2 as PSA2<br/>(本地锚点)
    participant PSA1 as PSA1<br/>(中心锚点)
    participant AF

    Note over UE,PSA1: 初始状态：PDU Session已建立，仅PSA1

    SMF->>SMF: 1. 决定插入UL CL<br/>（UE移动/新流检测/AF请求）
    
    SMF->>PSA2: 2. N4 Session Establishment Request<br/>（建立PSA2）
    PSA2-->>SMF: N4 Session Establishment Response<br/>（CN Tunnel Info @PSA2）

    opt AF运行时协调
        SMF->>AF: Early Notification（PSA2已选择）
        AF-->>SMF: Notification Response
    end

    SMF->>ULCL: 3. N4 Session Establishment Request<br/>（建立UL CL）<br/>含：UL转发规则、PSA1/PSA2 Tunnel Info、<br/>AN Tunnel Info、Traffic Filter
    ULCL-->>SMF: N4 Session Establishment Response<br/>（CN Tunnel Info @UL CL）

    opt AF运行时协调
        SMF->>AF: Late Notification
        AF-->>SMF: Notification Response
    end

    SMF->>PSA1: 4. N4 Session Modification Request<br/>（下发UL CL CN Tunnel Info用于DL）
    PSA1-->>SMF: N4 Session Modification Response

    SMF->>PSA2: 5. N4 Session Modification Request<br/>（下发UL CL CN Tunnel Info用于DL）
    PSA2-->>SMF: N4 Session Modification Response

    SMF->>AMF: 6. Namf_Communication_N1N2MessageTransfer<br/>N2 SM Info: 新CN Tunnel Info @UL CL
    AMF->>RAN: N2 PDU Session Resource Modify
    RAN-->>AMF: N2 PDU Session Resource Modify Ack
    AMF-->>SMF: Nsmf_PDUSession_UpdateSMContext Response

    Note over UE,PSA2: 数据面生效：UE→RAN→UL CL→PSA1/PSA2
```

### 2.2 逐步解析关键信令消息

#### 步骤1：SMF决策触发

SMF决定插入UL CL的触发条件包括：

| 触发来源 | 具体场景 | 参考规范 |
|---------|---------|---------|
| **UE移动性** | UE进入园区/边缘服务区域 | TS 23.501 §5.6.4.2 |
| **AF请求** | 应用功能通过PCF/NEF请求流量引导 | TS 23.502 §4.3.6 |
| **新流检测** | SMF检测到新的应用流量需要本地处理 | TS 23.548 §6.2.3 |
| **策略订阅** | PCF向SMF下发含DNAI的PCC规则 | TS 29.512 |
| **DNS解析结果** | EASDF通知SMF关于EAS的DNS解析结果 | TS 23.548 §5.1 |

#### 步骤2：N4 Session Establishment — 建立PSA2

SMF选择一个本地UPF作为PSA2，通过PFCP协议建立N4会话。关键PFCP规则包括：

```mermaid
graph LR
    subgraph "PFCP规则集（PSA2）"
        PDR2["PDR (Packet Detection Rule)<br/>• Source Interface: CORE侧<br/>• UL PDR: 匹配从UL CL来的UL流量<br/>• DL PDR: 匹配从本地DN来的DL流量"]
        FAR2["FAR (Forwarding Action Rule)<br/>• UL FAR: 转发至本地DN (N6)<br/>• DL FAR: 转发至UL CL (N9)"]
        QER2["QER (QoS Enforcement Rule)<br/>• QFI标记<br/>• Gate Status<br/>• MBR enforcement"]
        URR2["URR (Usage Reporting Rule)<br/>• 本地流量计量<br/>• 计费信息上报"]
    end

    PDR2 --> FAR2
    PDR2 --> QER2
    PDR2 --> URR2

    style PDR2 fill:#e8f5e9
    style FAR2 fill:#e3f2fd
    style QER2 fill:#fce4ec
    style URR2 fill:#fff8e1
```

#### 步骤3：N4 Session Establishment — 建立UL CL

这是整个流程的**核心步骤**。SMF向UL CL UPF下发PFCP规则，配置分流逻辑：

**关键PFCP IE（Information Element）解析：**

| IE名称 | 参数 | 说明 |
|--------|------|------|
| **Create PDR** (UL to PSA1) | Source Interface=ACCESS; SDF Filter=匹配非本地流量; FAR ID→FAR_PS A1 | 识别去往中心网络的流量 |
| **Create PDR** (UL to PSA2) | Source Interface=ACCESS; SDF Filter=匹配本地DN流量; FAR ID→FAR_PS A2 | 识别去往边缘的流量 |
| **Create FAR** (→PSA1) | Destination Interface=CORE; Outer Header Creation=N9 GTP-U Tunnel to PSA1 | 转发至中心锚点 |
| **Create FAR** (→PSA2) | Destination Interface=CORE; Outer Header Creation=N9 GTP-U Tunnel to PSA2 | 转发至本地锚点 |
| **Create PDR** (DL from PSA1) | Source Interface=CORE; F-TEID=PSA1 DL Tunnel | 接收中心下行流量 |
| **Create PDR** (DL from PSA2) | Source Interface=CORE; F-TEID=PSA2 DL Tunnel | 接收本地下行流量 |
| **Create FAR** (DL→UE) | Destination Interface=ACCESS; Outer Header Creation=N3 GTP-U Tunnel to RAN | 合并DL流量转发至UE |

**SDF过滤器示例（分流规则核心）：**

```
# 匹配本地DN流量 → 转发至PSA2
Permit out ip from <UE-IP> to <Local-DN-IP-Prefix>

# 其余流量 → 转发至PSA1（默认路由）
Permit out ip from <UE-IP> to assigned
```

#### 步骤4-5：更新PSA1/PSA2的下行路径

SMF通过N4 Session Modification更新PSA1和PSA2，下发UL CL的CN Tunnel Info，使得两个锚点的下行流量都能正确路由到UL CL进行汇聚。

#### 步骤6：更新(R)AN的用户面路径

SMF通过**Namf_Communication_N1N2MessageTransfer**向AMF发送N2 SM Information，包含新的CN Tunnel Info（指向UL CL UPF）。AMF转发至(R)AN，触发PDU Session Resource Modify过程。

**注意**：如果(R)AN和UL CL之间存在已有的UPF（如I-UPF），SMF通过N4更新该I-UPF而非直接更新(R)AN（见TS 23.502 §4.3.5.4步骤6）。

## 三、UL CL移除与变更信令流程

### 3.1 UL CL移除流程（TS 23.502 Section 4.3.5.5）

```mermaid
sequenceDiagram
    participant UE
    participant RAN as (R)AN
    participant AMF
    participant SMF
    participant ULCL as UL CL UPF
    participant PSA2 as PSA2<br/>(本地锚点)
    participant PSA1 as PSA1<br/>(中心锚点)

    Note over UE,PSA1: 初始状态：UL CL + PSA1 + PSA2 均存在
    
    SMF->>SMF: 1. 决定移除PSA1<br/>（UE移动/流终止）

    SMF->>RAN: 4. [条件] 更新(R)AN<br/>CN Tunnel Info → PSA2
    Note right of SMF: 仅当UL CL也需释放时
    
    SMF->>PSA2: 5. N4 Modification<br/>提供AN Tunnel Info

    SMF->>PSA1: 6. N4 Session Release Request
    PSA1-->>SMF: N4 Session Release Response

    SMF->>ULCL: 7. N4 Session Release Request<br/>（释放UL CL）
    ULCL-->>SMF: N4 Session Release Response

    Note over UE,PSA2: 数据面：UE→RAN→PSA2（仅本地路径）
```

移除流程的关键设计点：
- UL CL和PSA1的移除是**联动的**：当不再需要分流时，UL CL和关联的PSA同时释放
- 如果仅移除某个PSA但保留分流能力，UL CL不会被释放
- 步骤4中，如果(R)AN和UL CL之间存在中间UPF，SMF更新该中间UPF而非(R)AN

### 3.2 UL CL同时变更流程（TS 23.502 Section 4.3.5.7）

当UE移动导致需要同时更换UL CL和本地PSA时，使用此流程。**这是边缘计算场景中最复杂的信令流程之一**：

```mermaid
sequenceDiagram
    participant UE
    participant T-RAN as Target (R)AN
    participant AMF
    participant SMF
    participant T-ULCL as Target UL CL
    participant S-ULCL as Source UL CL
    participant PSA3 as PSA3<br/>(新本地锚点)
    participant PSA2 as PSA2<br/>(旧本地锚点)
    participant PSA1 as PSA1<br/>(中心锚点)
    participant AF

    Note over UE,PSA1: Source UL CL + PSA2 + PSA1 存在
    
    SMF->>SMF: 1. 决定变更UL CL（UE移动）
    
    SMF->>PSA3: 2. N4 Session Establishment<br/>（建立新本地锚点PSA3）
    PSA3-->>SMF: N4 Response

    SMF->>AF: Early Notification（DNAI变更）
    AF-->>SMF: Notification Response

    SMF->>T-ULCL: 3. N4 Session Establishment<br/>（建立Target UL CL）<br/>含: N9 forwarding tunnel to S-ULCL<br/>+ UL转发规则→PSA3/PSA1/S-ULCL
    T-ULCL-->>SMF: N4 Response

    SMF->>PSA1: 4. N4 Modification<br/>（更新DL路径）
    
    SMF->>PSA3: 5. N4 Modification<br/>（更新DL路径 + 可选buffering）

    SMF->>AF: 6. Late Notification
    AF-->>SMF: Notification Response

    SMF->>AMF: N1N2MessageTransfer<br/>新CN Tunnel Info @Target UL CL
    AMF->>T-RAN: N2 PDU Session Resource Modify

    Note over S-ULCL,T-ULCL: N9 forwarding tunnel生效<br/>DL: S-ULCL→T-ULCL→T-RAN<br/>UL(旧会话): T-RAN→T-ULCL→S-ULCL→PSA2

    T-ULCL->>SMF: 10. User Plane Inactivity Report<br/>（N9隧道无活跃流量）
    
    SMF->>PSA2: 11. N4 Session Release
    SMF->>S-ULCL: 12. N4 Session Release
```

**N9 Forwarding Tunnel**是此流程的关键设计：

根据TS 23.501 §5.6.4.2的规定，当UL CL重定位时，网络可在Source UL CL和Target UL CL之间建立**临时N9转发隧道**，用于维持UE与旧边缘应用之间的会话连续性。Target UL CL配置如下包过滤器：

- 将UE发往旧边缘应用（源本地DN）的上行流量→强制进入N9转发隧道→Source UL CL→PSA2
- 将UE发往新边缘应用（目标本地DN）的上行流量→直接转发至PSA3

N9转发隧道的释放条件（TS 23.501 §5.6.4.2）：
- 可配置时间内无活跃流量
- AF指示的时间
- AF显式通知SMF可释放源PSA

## 四、PFCP规则详解（TS 29.244）

### 4.1 UL CL上的PFCP规则架构

根据**TS 29.244 Section 5.2**的Packet Forwarding Model，UL CL UPF上的规则架构如下：

```mermaid
graph TB
    subgraph "UL CL UPF — PFCP规则集"
        direction TB

        UL_PDR1["UL PDR-1<br/>匹配: 非本地流量<br/>SDF: to any<br/>Priority: Low"]
        UL_PDR2["UL PDR-2<br/>匹配: 本地DN流量<br/>SDF: to Local-Prefix<br/>Priority: High"]
        DL_PDR1["DL PDR-1<br/>匹配: PSA1来的DL<br/>F-TEID: PSA1 Tunnel"]
        DL_PDR2["DL PDR-2<br/>匹配: PSA2来的DL<br/>F-TEID: PSA2 Tunnel"]

        FAR_C["FAR-Center<br/>Action: Forward<br/>Outer Header: N9→PSA1<br/>GTP-U TEID @PSA1"]
        FAR_L["FAR-Local<br/>Action: Forward<br/>Outer Header: N9→PSA2<br/>GTP-U TEID @PSA2"]
        FAR_UE["FAR-UE<br/>Action: Forward<br/>Outer Header: N3→RAN<br/>GTP-U TEID @RAN"]

        QER1["QER<br/>QFI=9<br/>UL/DL MBR"]
        URR1["URR<br/>Volume/Time<br/>Measurement"]
    end

    UL_PDR1 -->|FAR ID| FAR_C
    UL_PDR2 -->|FAR ID| FAR_L
    DL_PDR1 -->|FAR ID| FAR_UE
    DL_PDR2 -->|FAR ID| FAR_UE
    UL_PDR1 --> QER1
    UL_PDR2 --> QER1
    UL_PDR1 --> URR1

    style UL_PDR2 fill:#c8e6c9
    style FAR_L fill:#bbdefb
```

### 4.2 关键PFCP IE参数表

| PFCP IE | 关键参数 | UL CL场景用途 |
|---------|---------|-------------|
| **Create PDR** | PDR ID, Precedence, PDI (Source Interface, F-TEID, SDF Filter, Application ID) | 定义包检测规则，匹配上行/下行流量 |
| **PDI (Packet Detection Information)** | Source Interface (ACCESS/CORE), UE IP Address, SDF Filter | 区分UL/DL方向，匹配特定流量模式 |
| **SDF Filter** | Flow Description (5-tuple), Bidirectional flag | 核心分流规则，如 `permit out ip from <UE-IP> to <Local-Prefix>` |
| **Create FAR** | FAR ID, Apply Action (FORWARD/DROP/BUFFER), Forwarding Parameters | 定义转发行为：转发至PSA1或PSA2 |
| **Outer Header Creation** | GTP-U IPv4/IPv6, TEID, IP Address | N9/N3隧道的GTP-U头封装 |
| **Create QER** | QER ID, QFI, Gate Status, UL/DL Maximum Bit Rate | QoS流标记和比特率执行 |
| **Create URR** | URR ID, Measurement Method, Reporting Triggers | 本地流量计量和计费 |

### 4.3 Session-AMBR执行

根据TS 23.501 §5.7.2.的说明：

> *"For multi-homed PDU Sessions, UL and DL Session-AMBR shall be enforced in the UPF that supports the Branching Point functionality."*

对于UL CL场景，Session-AMBR由UL CL UPF执行。特别值得注意的是：DL Session-AMBR在每个N6接口终止的UPF上**独立执行**（即PSA1和PSA2各自独立执行DL Session-AMBR），这样可以避免在UL CL处因丢弃超额DL流量而导致的计费误差。

## 五、边缘计算增强机制（TS 23.548）

### 5.1 EAS发现与UL CL联动

TS 23.548定义了完整的边缘应用服务器（EAS）发现机制，与UL CL形成联动：

```mermaid
sequenceDiagram
    participant UE
    participant RAN as (R)AN
    participant UPF
    participant SMF
    participant EASDF
    participant PCF
    participant AF

    UE->>UPF: DNS Query（解析app.example.com）
    UPF->>EASDF: DNS Query转发
    EASDF->>SMF: DNS Query Report
    SMF->>SMF: 检查EAS Deployment Info<br/>匹配DNAI
    SMF->>EASDF: DNS Message Handling Rule<br/>（含EAS IP地址范围）
    EASDF->>UPF: DNS Response（含EAS IP）
    UPF->>UE: DNS Response

    Note over UE,AF: EAS IP解析完成后，触发UL CL插入
    
    SMF->>SMF: 根据EAS IP选择DNAI<br/>→选择本地PSA2和UL CL
    
    Note over UE,AF: 后续执行TS 23.502 §4.3.5.4的UL CL插入流程
```

### 5.2 Edge Relocation中的EAS IP替换

TS 23.548 §6.3.3定义了一种**EAS IP替换（EAS IP Replacement）**机制，这是UL CL场景下边缘重定位的增强方案：

- **上行方向**：Local PSA将目的IP地址和端口号从Source EAS替换为Target EAS
- **下行方向**：Local PSA将源IP地址和端口号从Target EAS替换回Source EAS

此机制需要FAR中包含"IP Address and Port Number Replacement"信息，要求TCP/TLS/QUIC上下文在EAS之间进行迁移。

### 5.3 AF请求源/目标PSA同时连接

根据TS 23.548 §6.3.4，AF可以请求在边缘重定位时保持源PSA和目标PSA的**同时连接**：

- **"Keep existing PSA"指示**：SMF可使用TS 23.502 §4.3.5.7的re-anchoring过程
- **"Keep existing PSA timer"**：覆盖SMF配置的非活跃时间间隔

## 六、I-SMF控制的UL CL（TS 23.501 §5.34.4 / TS 23.502 §4.23.9）

当PDU Session涉及I-SMF（Intermediate SMF）时，UL CL的插入由I-SMF控制：

```mermaid
graph LR
    subgraph "I-SMF控制域"
        ISMF["I-SMF"]
        IULCL["UL CL UPF<br/>(I-SMF控制)"]
        LPSA["Local PSA<br/>(I-SMF控制)"]
    end

    subgraph "SMF控制域"
        SMF["SMF"]
        CPSA["中心PSA1<br/>(SMF控制)"]
    end

    RAN2["(R)AN"] -->|N3| IULCL
    IULCL -->|N9| LPSA
    IULCL -->|N9| CPSA

    ISMF -.->|N4| IULCL
    ISMF -.->|N4| LPSA
    SMF -.->|N4| CPSA
    SMF -.->|N11| ISMF

    style IULCL fill:#e1f5fe
    style LPSA fill:#fff3e0
```

关键设计（TS 23.502 §4.23.9）：

- I-SMF根据SMF提供的信息决定是否插入UL CL，并选择UL CL和本地PSA的UPF
- SMF生成N4信息（PCC规则、计费要求）发送给I-SMF，I-SMF据此派生实际安装到UPF的规则
- SMF指示规则应在UL CL/BP还是本地PSA上执行
- UL CL/BP变更后，I-SMF向SMF报告DNAI和IPv6前缀信息

## 七、实战连接：抓包识别与故障排查

### 7.1 抓包识别UL CL流程

在Wireshark中识别UL CL插入过程的关键过滤器：

```
# PFCP Session Establishment（SMF→UPF，建立UL CL和PSA2）
pfcp && pfcp.msg_type == 50  # PFCP Session Establishment Request

# PFCP Session Modification（SMF→PSA1，更新下行路径）
pfcp && pfcp.msg_type == 52  # PFCP Session Modification Request

# N2 SM Information（SMF→AMF→RAN）
ngap && ngap.procedureCode == 89  # PDUSessionResourceModify

# HTTP/2 SBI（SMF→AMF）
http2 && http2.headers.path contains "namf-comm" && "n1n2message"
```

### 7.2 常见故障点与排错思路

| 故障现象 | 可能原因 | 排错方法 |
|---------|---------|---------|
| UL CL插入后本地DN不可达 | SDF Filter规则配置错误 | 抓取N4接口PFCP消息，检查PDR中的SDF Filter是否正确匹配本地DN IP前缀 |
| 部分流量未分流 | PDR优先级设置不当 | 检查UL PDR的Precedence值，本地流量PDR优先级应高于默认PDR |
| DL流量无法汇聚 | FAR的Outer Header Creation错误 | 检查DL FAR中的N3 GTP-U TEID是否与RAN侧一致 |
| Session-AMBR执行异常 | UL CL与PSA的QER配置冲突 | 确认UL CL上配置了Session-AMBR QER，PSA上配置了per-QoS Flow QER |
| N9转发隧道不释放 | User Plane Inactivity Timer未配置 | 检查SMF是否在N4中配置了URR的Inactivity Timer |
| EAS IP替换失败 | FAR未配置IP Replacement IE | 确认SMF下发的FAR中包含IP Address and Port Number Replacement信息 |
## 八、UL CL生命周期状态转换图

```text
stateDiagram-v2
    [*] --> No_ULCL: PDU Session建立<br/>(仅PSA1)
    
    No_ULCL --> ULCL_Inserting: SMF决策插入UL CL<br/>(触发: 移动性/AF请求/流检测)
    
    state ULCL_Inserting {
        [*] --> PSA2_Selected: N4 Estab @PSA2
        PSA2_Selected --> ULCL_Establishing: N4 Estab @UL CL
        ULCL_Establishing --> PSA1_Updating: N4 Modify @PSA1
        PSA1_Updating --> RAN_Updating: N2 Modify @RAN
        RAN_Updating --> [*]
    }
    
    ULCL_Inserting --> ULCL_Active: 数据面生效<br/>(双PSA路径)
    
    ULCL_Active --> PSA_Changing: SMF决策变更PSA<br/>(TS 23.502 §4.3.5.6)
    PSA_Changing --> ULCL_Active: N4 Modify完成
    
    ULCL_Active --> ULCL_Relocating: UE移动导致<br/>UL CL重定位<br/>(TS 23.502 §4.3.5.7)
    
    state ULCL_Relocating {
        [*] --> Target_Establishing: N4 Estab @Target UL CL + PSA3
        Target_Establishing --> N9_Tunnel_Active: N9转发隧道建立
        N9_Tunnel_Active --> Waiting_Inactivity: 等待流量平息
        Waiting_Inactivity --> Source_Releasing: 释放Source UL CL + PSA2
        Source_Releasing --> [*]
    }
    
    ULCL_Relocating --> ULCL_Active: Target UL CL生效
    
    ULCL_Active --> ULCL_Removing: SMF决策移除<br/>(TS 23.502 §4.3.5.5)
    
    state ULCL_Removing {
        [*] --> PSA1_Releasing: N4 Release @PSA1
        PSA1_Releasing --> ULCL_Releasing: N4 Release @UL CL
        ULCL_Releasing --> [*]
    }
    
    ULCL_Removing --> No_ULCL: 仅PSA2路径
    No_ULCL --> [*]: PDU Session释放
```

## 常见问题

**Q1: UL CL和Branching Point的核心区别是什么？在什么场景下选择UL CL？**

A: UL CL基于目的IP地址/前缀进行分流，UE完全无感知，仅持有单一IP地址，适用于IPv4/IPv6/IPv4v6/Ethernet类型。BP基于IPv6源前缀分流，UE需要知道多前缀的存在，仅适用于IPv6类型。MEC边缘分流场景优先选择UL CL，因为它不需要UE参与，对IPv4/IPv6均支持，部署更灵活。BP主要用于IPv6多宿主（Multi-homing）的SSC Mode 3服务连续性场景。

**Q2: UL CL插入过程中，如果AF返回负面的Notification Response，SMF如何处理？**

A: 根据TS 23.502 §4.3.5.4步骤2和3的描述，当AF运行时协调启用且"AF acknowledgment to be expected"指示存在时，SMF在PSA2选择后发送Early Notification，或在UL CL配置前发送Late Notification。如果收到负面的Notification Response，**SMF可以中止整个UL CL插入过程**。这给了AF拒绝不合适的UL CL插入的能力，例如当目标边缘应用还未准备好时。

**Q3: N9 Forwarding Tunnel在UL CL重定位中的作用是什么？为什么需要临时隧道？**

A: 当UL CL从Source重定位到Target时，UE可能仍在与旧边缘应用（Source EAS）进行通信。N9转发隧道在Source UL CL和Target UL CL之间建立临时通道，使得发往旧EAS的流量能通过Target UL CL→Source UL CL→PSA2路径继续传输，而发往新EAS的流量直接走Target UL CL→PSA3。这保证了**会话连续性**——UE不需要断开重建连接。隧道在流量平息后自动释放（通过URR的User Plane Inactivity Timer或AF显式通知）。

**Q4: 在HR-SBO漫游场景中，UL CL的部署有什么特殊考虑？**

A: 根据TS 23.548 §6.7，在Home Routed with Session Breakout漫游场景中，UL CL/BP UPF和本地PSA部署在VPLMN中，而中心PSA（Remote PSA）在HPLMN中。V-SMF负责选择和配置UL CL/BP。关键考虑包括：(1) H-SMF提供Authorized DL Session AMBR for Offloading给V-SMF；(2) UL CL需要检测FQDN以判断流量是否可以本地卸载；(3) 如果EAS IP不在H-SMF授权的IP范围内，UL CL/BP必须将流量转发给H-UPF而非本地卸载。

**Q5: 如何在free5GC或Open5GS等开源项目中实践UL CL？**

A: free5GC从v3.2+版本开始支持UL CL功能，通过SMF的UPF选择配置文件（upfcfg.yaml）可以配置多个UPF及其DNAI映射关系。在测试中：(1) 配置至少3个UPF实例（UL CL、PSA1中心、PSA2本地）；(2) 在SMF中配置分流策略（基于目的IP前缀）；(3) 使用UERANSIM模拟UE移动触发UL CL插入/移除。Open5GS也通过PFCP规则支持类似功能。建议参考free5GC-compose项目中的ULCL Traffic Steering实验环境进行实操验证。

## 参考来源

1. [3GPP TS 23.501 V18.x](https://www.3gpp.org/DynaReport/23501.htm) — Section 5.6.4.2 (UL CL功能定义), Section 5.6.4.3 (Branching Point), Section 5.7.2 (Session-AMBR), Section 5.34.4 (I-SMF控制UL CL)
2. [3GPP TS 23.502 V18.x](https://www.3gpp.org/DynaReport/23502.htm) — Section 4.3.5.4 (UL CL插入), Section 4.3.5.5 (UL CL移除), Section 4.3.5.6 (PSA变更), Section 4.3.5.7 (UL CL同时变更), Section 4.23.9 (I-SMF控制)
3. [3GPP TS 29.244 V18.x](https://www.3gpp.org/DynaReport/29244.htm) — Section 5.2 (Packet Forwarding Model), Section 5.17.2 (UL CL and BP), Section 7.5.4.17 (Create PDR/FAR/URR/QER)
4. [3GPP TS 23.548 V18.x](https://www.3gpp.org/DynaReport/23548.htm) — Section 4.2 (边缘计算参考架构), Section 4.3 (连接模型), Section 6.2.3 (EAS发现), Section 6.3 (Edge Relocation), Section 6.3.3 (EAS IP替换)
5. [free5GC ULCL Traffic Steering](https://deepwiki.com/free5gc/free5gc-compose/8.2-ulcl-traffic-steering) — free5GC开源实现中的UL CL分流实验指南

---

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