首页 › slicing-mec › UL CL本地分流信令机制拆解

UL CL上行分类器本地分流信令机制深度拆解

一、为什么需要 UL CL:MEC 本地分流的核心诉求

5G 时代,MEC(多接入边缘计算)把应用服务器下沉到网络边缘,带来超低时延、大带宽本地处理和流量卸载三大红利。但一个根本性的工程难题摆在面前:UE 的 PDU 会话始终锚定在中心 PSA(PDU Session Anchor)UPF 上,所有上行数据包默认都要绕行中心机房再回到边缘,时延优势被 N9/N6 的回程链路彻底抵消。

3GPP 给出的解法是 UL CL(Uplink Classifier,上行分类器)。它在 PDU 会话的用户面中间"开一个岔",让目的 IP 属于本地 DN(如边缘应用、本地企业网)的上行流量就近从本地 PSA 落地(Local Breakout),其余流量照常走中心 PSA。整个过程对 UE 完全透明——UE 始终只感知到一个 PDU 会话、一个 IP 地址、一个 N3 隧道。

UL CL 不是"协议",而是 UPF 上的一种功能(functionality),由 SMF 通过 N4(PFCP)接口动态下发规则来实现。它的规范定位非常明确:

本文聚焦 TS 23.502 第 4.3.5 节"为支持 UL CL 插入/移除的 PDU 会话修改流程",把从触发条件到 N4 规则下发、再到隧道建立的完整信令链路逐一拆开。

二、三种本地分流技术的本质区别

在进入信令之前,必须厘清 3GPP 为本地分流设计的三种机制——它们经常被混为一谈,但触发条件、用户面形态、对 UE 的可见性完全不同。

维度 UL CL(上行分类器) IPv6 Multi-homing(多归属) LADN(本地数据网络)
规范章节 TS 23.501 §6.2.3 / §5.8.2 TS 23.501 §5.8.3 TS 23.501 §5.6.5
UE 可见性 透明,单 IP 不透明,多 IPv6 前缀 不透明,独立 PDU 会话
PSA 数量 多 PSA(1 中心 + 1/N 本地) 多 PSA,每 PSA 一个前缀 单 PSA/会话
触发方式 目的 IP/DNN 路由 新 IPv6 前缀分配 UE 位置进入 LADN 服务区
典型场景 MEC 本地分流、企业本地网 多 ISP/多 DN 同时接入 区域性本地业务
会话数 1 个 PDU 会话 1 个 PDU 会话 每业务 1 个 PDU 会话

UL CL 的优势在于单会话、单 IP、全程透明——这正是 MEC 商用部署最青睐的形态。本文后续全部围绕 UL CL 展开。

三、UL CL 用户面架构拓扑

UL CL 的精髓是一个 UPF 同时挂两个(或多个)PSA,扮演"分叉点(Branching Point)"角色。其数据面拓扑如下:

graph TD
    UE[UE] -->|N3| RAN[(gNB / NG-RAN)]
    RAN -->|N3 TEID-a| IUPF[I-UPF<br/>Intermediate UPF]
    IUPF -->|N9 TEID-1| ULCL((UL CL<br/>上行分类器))
    ULCL -->|匹配本地前缀<br/>N9 TEID-2| PSA2[本地 PSA2<br/>Local Anchor]
    ULCL -->|其余流量<br/>N9 TEID-3| PSA1[中心 PSA1<br/>Central Anchor]
    PSA2 -->|N6 本地| MEC[MEC 应用服务器<br/>边缘 DN]
    PSA1 -->|N6 中心| INTERNET[互联网 / 中心 DN]
    style ULCL fill:#ffe4b5,stroke:#ff8c00,stroke-width:3px
    style PSA2 fill:#d4edda,stroke:#28a745
    style PSA1 fill:#cce5ff,stroke:#007bff

关键理解点:

  1. I-UPF 与 UL CL 的关系:在很多实现中,I-UPF(中间 UPF,用于 home-routed 漫游或上行分类)与 UL CL 可以是同一个物理 UPF,也可以分开。图中分开画是为了讲清职责。在纯 MEC 本地分流(非漫游)场景下,RAN 之下直接就是 UL CL,没有 I-UPF 这一层。
  2. 下行合并:UL CL 既要对上行做"分流",也要对下行做"合并"——来自 PSA1 和 PSA2 的下行包都要汇入同一条 N3 隧道发往 RAN。
  3. TEID 编排:每一段 N3/N9 都有独立的 GTP-U TEID,SMF 必须在 N4 规则里把这些 TEID 正确写进 FAR 的 Outer Header Creation IE。

四、UL CL 插入(PSA Insertion)完整信令时序

UL CL 的典型生命周期是"会话建立时无 UL CL → UE 进入边缘服务区 → 动态插入 UL CL + 本地 PSA2 → 业务结束/UE 离开 → 移除"。下面是 TS 23.502 §4.3.5.3/§4.3.5.4 定义的 UL CL Insertion 全链路时序:

sequenceDiagram
    participant UE
    participant RAN as gNB
    participant AMF
    participant SMF
    participant UDM
    participant PCF
    participant ULCL as UL CL UPF
    participant PSA1 as 中心 PSA1
    participant PSA2 as 本地 PSA2

    Note over UE,PSA2: 阶段0: PDU会话已建立,锚定在中心PSA1
    UE->>PSA1: 上行流量(经N3→...→PSA1)

    Note over UE,PSA2: 阶段1: 触发条件达成(UE位置/URSP/DNS解析EAS)
    SMF->>SMF: 本地策略/DNAI判定<br/>需插入UL CL + PSA2
    SMF->>UDM: Nudm_SDM_Get(UE上下文/签约)
    UDM-->>SMF: 签约信息+URSP规则
    SMF->>PCF: Npcf_SMPolicyControl_Update<br/>(上报位置/请求分流策略)
    PCF-->>SMF: PCC规则 + Traffic Steering Policy<br/>(DNAI, 本地前缀)

    Note over SMF,PSA2: 阶段2: 选择UL CL与本地PSA2
    SMF->>SMF: UPF选择(按DNAI/拓扑/负载)

    Note over SMF,PSA2: 阶段3: N4会话建立(新建UPF)
    SMF->>PSA2: N4 PFCP Session Establishment Request<br/>(PDR/FAR/QER, 分配N9 TEID-local, N6接口)
    PSA2-->>SMF: N4 PFCP Session Establishment Response<br/>(F-TEID)
    SMF->>ULCL: N4 PFCP Session Establishment Request<br/>(多目的FAR: 本地前缀→PSA2, 其余→PSA1)
    ULCL-->>SMF: N4 PFCP Session Establishment Response<br/>(F-TEID)

    Note over SMF,PSA1: 阶段4: N4会话修改(已有PSA1)
    SMF->>PSA1: N4 PFCP Session Modification Request<br/>(更新FAR: 上行重定向到UL CL的N9)
    PSA1-->>SMF: N4 PFCP Session Modification Response

    Note over SMF,PSA2: 阶段5: N3/N9隧道联动(若需变更N3)
    SMF->>RAN: 通过AMF: N2 PDU Session Resource Modify<br/>(新N3 TEID指向UL CL)
    AMF->>RAN: N2转发
    RAN-->>AMF: N2 PDU Session Resource Modify Response<br/>(RAN侧N3 TEID)
    AMF-->>SMF: Namf_Communication_N1N2MessageTransfer响应
    SMF->>ULCL: N4 Modification(写入RAN侧N3 TEID)

    Note over UE,PSA2: 阶段6: 分流生效
    UE->>ULCL: 上行包(本地前缀)经N3/N9到达
    ULCL->>PSA2: 本地前缀→本地DN
    ULCL->>PSA1: 其余流量→中心DN
    Note over UE,PSA2: UE无感知,仍认为只有一条到PSA1的会话

逐阶段拆解关键信令消息与 IE:

阶段 1:触发与策略协商。 SMF 的触发源有多种:UE 移动性上报的位置变化、EASDF(Edge Application Server Discovery Function,Rel-17 引入)解析 DNS 后回传的 EAS IP、URSP(UE Route Selection Policy)重评估、或运营商本地配置。SMF 据此判断 UE 当前应服务于哪个 DNAI(Data Network Access Identifier)。随后 SMF 向 PCF 发起 Npcf_SMPolicyControl_Update,PCF 返回的 PCC 规则里携带 Traffic Steering Policy ID 和 DNAI,这是后续选 UPF 的依据。

阶段 2:UPF 选择。 SMF 根据 DNAI、UPF 拓扑(哪些 UPF 邻近该 DNAI 的 DN)、负载与切片信息(S-NSSAI)选择本地 PSA2 与 UL CL。这一步对应 TS 23.501 §6.3.3 的 UPF 选择功能。

阶段 3:N4 会话建立(新建 UPF)。 这是 UL CL 的灵魂。SMF 向 PSA2 和 UL CL 分别下发 PFCP Session Establishment Request,里面装着 PDR(检测规则)、FAR(转发规则)、QER(QoS 规则)、URR(用量规则)。对 UL CL 而言,FAR 是多目的的——这是它与普通 UPF 的根本区别。

阶段 4:N4 会话修改(已有 PSA1)。 原 PSA1 一直把上行包直接发往 N6;现在要在它前面插入 UL CL,所以必须修改 PSA1 的 FAR,让上行包改发到 UL CL 的 N9 隧道。这一步往往被忽视,却是链路打通的关键。

阶段 5:N3/N9 隧道联动。 如果 UL CL 插入改变了 N3 终点(即 RAN 要直接把 N3 指向 UL CL 而非 PSA1),SMF 要通过 AMF 发起 N2 PDU Session Resource Modify,更新 RAN 侧的 N3 TEID。

阶段 6:分流生效。 一切对 UE 透明,UE 仍然只看到一条会话。

五、N4 PFCP 关键 IE 深度解析

UL CL 的全部"魔法"都封装在 N4 下发的转发规则里。PFCP 定义了五类规则,下表给出 UL CL 场景下每类的具体作用:

规则类型 全称 在 UL CL 场景的核心作用 关键 IE
PDR Packet Detection Rule 定义"哪些包"被识别:匹配 UE IP、SDF 模板(五元组/目的 IP 前缀)、Source Interface(N3/N6/N9) PDI、F-TEID、UE IP Address
FAR Forwarding Action Rule 定义"怎么转发":UL CL 上行 FAR 含多个 Destination Interface,按目的前缀分发到 PSA1/PSA2 Apply Action、Outer Header Creation、Destination Interface、Forwarding Parameters
QER QoS Enforcement Rule 保证本地分流也满足 QoS(如 URLLC 切片的 GBR) QFI、Gate Status、MBR/GBR
URR Usage Reporting Rule 本地流量计费/统计,区分本地 DN vs 中心 DN Measurement Method、Reporting Triggers
BAR Buffering Action Rule 下行缓存(如无线拥塞时缓存本地应用下行) Buffering Packet Count

其中 PDR 与 FAR 的协同是 UL CL 的内核。其结构与绑定关系如下:

graph TD
    subgraph PDR["PDR - 检测规则"]
        P1[Source Interface: N3]
        P2[UE IP Address: 10.1.2.3]
        P3[SDF Filter: 目的IP前缀<br/>192.168.10.0/24 → 本地]
        P4[Local F-TEID: N3接收TEID]
        P1 & P2 & P3 --> P5{匹配?}
    end
    subgraph FAR1["FAR#1 - 转发到本地"]
        F1a[Apply Action: FORWARD]
        F1b[Destination Interface: N6/CORE via N9]
        F1c[Outer Header Creation:<br/>N9 TEID-to-PSA2, IP-ULCL→IP-PSA2]
    end
    subgraph FAR2["FAR#2 - 转发到中心"]
        F2a[Apply Action: FORWARD]
        F2b[Destination Interface: N9]
        F2c[Outer Header Creation:<br/>N9 TEID-to-PSA1]
    end
    PDR -->|PDR_ID 关联| FAR1
    PDR -->|PDR_ID 关联| FAR2
    P5 -->|目的IP=本地前缀| FAR1
    P5 -->|目的IP=其余| FAR2
    style PDR fill:#fff3cd,stroke:#ffc107
    style FAR1 fill:#d4edda,stroke:#28a745
    style FAR2 fill:#cce5ff,stroke:#007bff

理解要点:

  1. 一个 PDR 可关联多个 FAR。在普通 UPF 上,一条上行 PDR 通常只绑定一条 FAR(发给中心)。而 UL CL 上,同一条上行 PDR 会绑定两条 FAR——分别指向 PSA1 和 PSA2。UPF 在转发时按 SDF Filter 的目的前缀做查表分流。
  2. Outer Header Creation 是隧道织网的关键。每个 FAR 的 Outer Header Creation IE 必须写明下一跳 UPF 的 IP 和对端分配的 F-TEID。SMF 在阶段 3/4 拿到各 UPF 回复的 F-TEID 后,要反向填入相邻 UPF 的 FAR 里,形成"你发给我用的 TEID / 我发给你的 TEID"的配对。这是抓包排错时最常出问题的地方。
  3. Source Interface 字段决定方向。N3=接入侧、N6=DN侧、N9=核心侧。同一个 UL CL 上,上行 PDR 的 Source Interface 是 N9(从 I-UPF 来)或 N3(从 RAN 来),下行 PDR 的 Source Interface 是 N9(从 PSA 来)。SMF 必须为每个方向配置独立的 PDR/FAR 对。

六、设计意图:为什么这样设计

理解 3GPP 的设计哲学,有助于在排错和方案选型时做出正确判断。

意图一:控制面与用户面彻底解耦。 UL CL 不引入任何新的 NAS 信令,UE 无需知道分流发生。所有复杂性都集中在 N4 控制面——SMF 是唯一的全局编排者,UPF 只是"无脑执行规则"的转发引擎。这种 CUPS 架构(TS 23.501 自 Rel-15 起)让运营商可以独立扩缩控制面与数据面。

意图二:用 PFCP 的"规则下发"代替"专用协议"。 3GPP 没有为 UL CL 设计专用信令,而是复用 PFCP 的 PDR/FAR 机制。一个 UPF 是普通转发、是 UL CL、还是 Multi-homing Branching Point,完全由 SMF 下发的 FAR 形态决定。这种"同一协议、不同规则集"的设计极大降低了协议复杂度。

意图三:DNAI 作为策略锚点。 UL CL 的插入位置不是由 IP 路由表决定的,而是由 DNAI(Data Network Access Identifier)决定的。DNAI 把"网络拓扑位置"和"业务策略"绑定,PCF 用 DNAI 下发分流策略,SMF 用 DNAI 选 UPF。这让 MEC 分流策略可以与切片、URSP、位置策略统一编排。

意图四:透明性换取 UE 兼容性。 UL CL 对 UE 完全透明,意味着任何 Rel-15 的 UE 都能享受 MEC 分流,无需升级。代价是 UE 永远以为自己在和中心 PSA 通信——这也带来一个隐患:UE 的 IP 由中心 PSA 分配,本地 PSA2 上看到的源 IP 必须与之一致,否则下行回包的 N9 路径会断裂。

七、状态转换:UL CL 的生命周期

从 SMF 视角,一个 PDU 会话的 UL CL 状态机如下:

stateDiagram-v2
    [*] --> 无UL_CL: PDU会话建立<br/>(单PSA1)
    无UL_CL --> 插入中: 触发条件满足<br/>(DNAI/EAS/位置)
    插入中 --> 双锚点: N4建立+修改成功<br/>隧道联动完成
    双锚点 --> 双锚点: 业务正常分流<br/>本地<->PSA2 中心<->PSA1
    双锚点 --> 变更中: UE移动到新DNAI<br/>(PSA Change 4.3.5.6)
    变更中 --> 双锚点: 新PSA2插入+旧PSA2删除
    双锚点 --> 移除中: 业务结束/UE离开/会话释放
    移除中 --> 无UL_CL: UL CL+PSA2 N4删除<br/>PSA1 FAR回退
    无UL_CL --> [*]: PDU会话释放

需要特别注意的是 "变更中(PSA Change)"状态,对应 TS 23.502 §4.3.5.6。当 UE 从 DNAI-A 移动到 DNAI-B,SMF 不会先删后插(那样会有瞬断),而是先插新 PSA3、再删旧 PSA2的无缝切换,期间 UL CL 的 FAR 临时指向两个本地 PSA,保证业务连续性。这是 SSC Mode 3 思想在 MEC 场景的延伸。

九、常见问题

Q1:UL CL 和 Local Area Data Network(LADN)都能做本地业务,到底该选哪个? A:核心区别在"会话数"和"UE 可见性"。LADN 是为每个本地业务建立独立的 PDU 会话,UE 要感知并主动发起,适合"区域性、UE 主动"的业务(如园区专网)。UL CL 是在现有 PDU 会话内动态开岔,UE 完全无感,适合"MEC 按需分流、应用感知"的场景。商用 MEC 多用 UL CL,因其无需 UE 改造、可平滑叠加。

Q2:一个 PDU 会话最多能插几个 UL CL / 本地 PSA? A:TS 23.501 允许一个 PDU 会话对应多个 PSA,理论上 UL CL 可以分流到多个本地 DN。但实际部署受限于 UPF 转发表规模与 SMF 编排复杂度,常见为"1 中心 + 1~2 本地"。每个本地 DN 对应一个 DNAI 和一组分流规则。

Q3:UL CL 插入会不会导致 UE 的 IP 地址变化? A:不会。这正是 UL CL 相比 IPv6 Multi-homing 的优势。UE 的 IP 始终由中心 PSA1 在会话建立时分配,本地 PSA2 上看到的 UE 源 IP 与之一致。如果业务需要独立的本地 IP,则应使用 IPv6 Multi-homing(每个 PSA 分配独立前缀)。

Q4:插入 UL CL 时如何保证业务不中断? A:关键在信令顺序——SMF 必须先完成新 UPF 的 N4 建立、再修改原 PSA 的 FAR、最后联动 N3/N9,确保任何时刻都有一条可用路径。对 PSA Change(切换本地锚点)场景,遵循 TS 23.502 §4.3.5.6 的"先插后删"原则,期间 UL CL 的 FAR 临时多目的,实现无损切换。

Q5:UL CL 的分流规则匹配的是三层 IP 还是四层端口? A:两者皆可。PDR 的 SDF Filter 可以基于目的 IP 前缀(最常见,适合按 DN/前缀分流),也可以基于五元组(IP+端口+协议),后者用于更细粒度的应用感知分流。Rel-17 的 EASDF 方案通常解析出 EAS 的 IP 后,用精确 IP 规则下发,实现"到具体边缘服务器"的分流。

参考来源

  1. 3GPP TS 23.501 V18.10.0 — System architecture for the 5G System — §5.8.2 Traffic Steering Control、§6.2.3 User Plane of a PDU Session、§5.34 Edge Computing
  2. 3GPP TS 23.502 V18.10.0 — Procedures for the 5GS — §4.3.5.x UL CL / IPv6 multi-homing PSA Insertion, Removal and Change 流程
  3. TS 23.502 Section 4.3.5.6 — Change of additional PDU Session Anchor (UL CL case) — UL CL 场景下额外 PSA 变更流程图与步骤
  4. 3GPP Edge Computing 专题页 — Session breakout(UL CL / Multi-homing Branching Point)架构说明
  5. free5gc-compose ULCL Deployment (DeepWiki) — I-UPF 作为 UL CL 的开源实现与 PFCP 规则配置实证

本文由「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学通信知识星球海报-扫码加入