首页 › slicing-mec › 5G MEC UL CL分流信令全链拆解

5G MEC 上行分类器(UL CL)本地分流插入信令全链拆解

本文聚焦 TS 23.501 §5.6.4、TS 23.502 §4.3.4/§4.3.5.2、TS 29.244(N4 PFCP)与 TS 23.548(R17 边缘计算增强),拆解 SMF 在已建立 PDU 会话中动态插入 上行分类器(Uplink Classifier, UL CL) 与本地 PDU 会话锚点(L-PSA)的完整信令链与 N4 规则下发细节。


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

5G 系统要把一个 UE 的部分业务流量"就近"卸载到边缘数据网络(Edge DN)的应用服务器(EAS),同时保持另一些业务(如互联网)仍走中央锚点,最经济的方法不是断开 PDU 会话重建,而是在用户面数据路径中插入一个分流点——这就是 UL CL。

UL CL 是 UPF 支持的一种功能(functionality),它依据 SMF 下发的业务流过滤器(SDF Filter,基于五元组、QFI、UE IP 等)对上行报文进行匹配,并把匹配/不匹配的报文分别转发到不同的 PDU 会话锚点(PSA)。其设计目标三句话可概括:

  1. 业务连续性不受影响:UE IP 地址不变(由主锚点 PSA1 分配),无需重建 PDU 会话,TCP 长连接不断;
  2. 按需分流:只有命中本地业务过滤器的流量才走边缘,其余仍走中央,避免骨干网拥塞;
  3. 与边缘计算编排解耦:应用层(AF)通过 NEF/PCF 提供流量路由影响(Traffic Routing Influence),控制面(SMF)据此决策 UL CL 插入/移除/重定位,数据面(UPF)只负责执行 PDR/FAR。

需要特别区分三个易混概念:UL CL(按 SDF 过滤分流,IPv4/IPv6 均可)、Branching Point / BP(仅 IPv6 Multi-Homing,按 IPv6 Prefix 分流,每个 Prefix 对应一个 PSA)、SSC Mode 3 PSA 重选(先建新 PSA 再删旧 PSA,会改变 N3/N9 拓扑但 UE IP 不变,本质是锚点迁移而非"并行分流")。三者都涉及"插入/移除 UPF",但触发条件、分流粒度与会话连续性语义完全不同(详见下文对比表)。

flowchart LR
    subgraph 插入前
        UE1[UE] -->|N3| PSA1A[PSA1 中央锚点\n分配UE IP] -->|N6| INET1[Internet/中央DN]
    end
    UE1 -.同PDU会话.-> X((插入UL CL))

    subgraph 插入后
        UE2[UE] -->|N3| ULCL[UL CL\n分流功能]
        ULCL -->|匹配本地业务\nN9| LPSA[L-PSA 边缘锚点] -->|N6| EAS[本地EAS/边缘DN]
        ULCL -->|其余业务\nN9| PSA1B[PSA1 中央锚点] -->|N6| INET2[Internet]
    end

二、触发 UL CL 插入的三种来源

TS 23.501 §5.6.4 定义了 SMF 决定插入/移除 UL CL(或 BP)的三类触发条件,工程实践中通常由不同网元发起:

  1. SMF 本地配置触发:基于 DNN、S-NSSAI、LADN(Local Area Data Network)或 UE 当前所在 TA。典型如 UE 进入某 LADN 服务区,SMF 立即插入 UL CL + L-PSA 把本地业务卸载到本地 DN。
  2. AF 经由 NEF/PCF 的流量路由影响:第三方应用功能(AF)通过 NEF(Nnef_TrafficInfluence_Create,TS 29.522)或直接经 PCF(Npcf_PolicyAuthorization,TS 29.514)下发 AF-Service-Identifier、DNAI(Data Network Access Identifier)、N6 Traffic Routing Rule、Application Relocation Information 等,PCF 转译为 PCC Rule,SMF 收到后据此选择 L-PSA 与 UL CL 位置。
  3. UE 移动导致的 DNAI 变化(Edge Relocation):UE 在移动过程中,SMF 通过 AMF 的位置上报或 UPF 的 Usage Report 触发,重新评估 EAS DNAI,迁移 UL CL/L-PSA 到更优的边缘站点(TS 23.548 边缘重定位流程)。

R17 起,TS 23.548 引入 EASDF(Edge Application Server Discovery Function),从根本上改变了"UE 如何知道该连哪个边缘服务器"的问题:EASDF 作为 UE 的 DNS 服务器(通过 SMF 下发的 DNS Server Address 配置),对 UE 的应用域名查询返回与 UE 当前位置/边缘拓扑匹配的本地 EAS IP。UE 拿到本地 EAS IP 后,发往该 IP 的流量自然被 UL CL 的 SDF Filter 命中、卸载到本地——这是 UL CL 与应用层协同的"上层闭环"。


三、完整信令时序图:UL CL 插入流程(SMF 发起的会话修改)

下面以"AF 经 NEF/PCF 触发、SMF 在已建立 PDU 会话中插入独立 UL CL UPF 与 L-PSA"为典型场景,画出从应用触发到数据分流生效的全链路。该流程对应 TS 23.502 §4.3.5.2(SMF initiated PDU Session Modification)与 TS 23.548 的边缘计算信令增强。

sequenceDiagram
    autonumber
    participant AF as AF<br/>(应用功能)
    participant NEF as NEF
    participant PCF as PCF
    participant SMF as SMF
    participant LPSA as L-PSA<br/>(边缘锚点)
    participant ULCL as UL CL<br/>(分流UPF)
    participant PSA1 as PSA1<br/>(中央锚点)
    participant AMF as AMF
    participant RAN as (R)AN
    participant UE as UE

    AF->>NEF: Nnef_TrafficInfluence_Create<br/>(AF-Service-Id, DNAI, App Relocation Info)
    NEF->>PCF: Npcf_AMPolicy… / SMPolicyAssociationUpdate<br/>(Traffic Routing Influence)
    PCF->>SMF: Npcf_SMPolicyControlUpdate<br/>(PCC Rule + Traffic Routing Policy + DNAI)
    Note over SMF: 决策:选择L-PSA、选择UL CL UPF、<br/>确定业务流过滤器(SDF Filter)
    SMF->>LPSA: N4 PFCP Session Establishment Request<br/>(建L-PSA的PDR/FAR, 分配L-PSA侧N9 F-TEID)
    LPSA-->>SMF: N4 PFCP Session Establishment Response<br/>(L-PSA F-TEID)
    SMF->>ULCL: N4 PFCP Session Modification Request<br/>(新建本地分流PDR + 两条FAR)
    Note right of ULCL: PDR: SDF Filter=本地EAS IP段<br/>FAR-Local: FORW→L-PSA<br/>FAR-Central: FORW→PSA1
    ULCL-->>SMF: N4 PFCP Session Modification Response
    SMF->>PSA1: N4 PFCP Session Modification Request<br/>(更新下行FAR, 指向UL CL的F-TEID)
    PSA1-->>SMF: N4 PFCP Session Modification Response
    SMF->>AMF: Namf_Communication_N1N2MessageTransfer<br/>(PDU Session Modification Command + N2 SM Info)
    AMF->>RAN: N2 PDU Session Resource Modify Request<br/>(含UL NG-RAN TNL info if 需新建N3)
    RAN->>UE: RRC Reconfiguration<br/>(若有新N3隧道则更新)
    RAN-->>AMF: N2 PDU Session Resource Modify Response
    UE-->>RAN: RRC Reconfiguration Complete
    Note over UE,RAN: 数据路径就绪,开始分流
    UE->>RAN: 上行报文(目标=EAS IP)
    RAN->>ULCL: N3 上行报文
    ULCL->>LPSA: 命中本地Filter→N9→L-PSA→N6→本地EAS
    ULCL->>PSA1: 其余报文→N9→PSA1→中央DN

关键工程要点解读:


四、N4 PFCP 规则下发的 IE 结构详解

UL CL 之所以能"分流",本质是 SMF 通过 N4(PFCP,TS 29.244)向 UPF 下发了两组规则:用于识别业务的 PDR(Packet Detection Rule) 与用于转发决策的 FAR(Forwarding Action Rule)。理解 PDR/FAR 的 IE 组成,是抓包排错的核心能力。

flowchart TB
    subgraph PDR["PDR (业务识别)"]
        PD1[PDR ID]
        PD2[Precedence 优先级]
        subgraph PDI["PDI (包检测信息)"]
            PI1[Source Interface<br/>= ACCESS/Core]
            PI2[F-TEID<br/>本端接收隧道]
            PI3[SDF Filter<br/>五元组/UE IP Filter]
            PI4[QFI]
        end
        PD3[Outer Header Removal<br/>剥离GTP-U]
    end
    subgraph FARLocal["FAR-Local (本地转发)"]
        FL1[FAR ID]
        FL2[Apply Action = FORW]
        subgraph FP1["Forwarding Parameters"]
            F1[Destination Interface<br/>= CORE/ACCESS]
            F2[Network Instance<br/>= 本地DN]
            F3[F-TEID<br/>对端L-PSA隧道]
        end
    end
    subgraph FARCen["FAR-Central (中央转发)"]
        FC1[FAR ID]
        FC2[Apply Action = FORW]
        subgraph FP2["Forwarding Parameters"]
            C1[Destination Interface<br/>= CORE]
            C2[F-TEID<br/>对端PSA1隧道]
        end
    end
    PDR -- 匹配本地Filter --> FARLocal
    PDR -- 不匹配/默认 --> FARCen

UL CL 节点的规则模型要点:

  1. 上行方向:UL CL 在 ACCESS 侧(N3)接收 UE 上行报文,配置一条 PDR(Source Interface = ACCESS)携带 SDF Filter(如目标 IP 属于本地 EAS 地址段)。该 PDR 关联两条 FAR:命中本地 Filter 的报文经 FAR-Local 转发到 L-PSA(Destination Interface=CORE,F-TEID=L-PSA 的 N9 接收端);其余报文经 FAR-Central 转发到 PSA1。
  2. 下行方向:L-PSA 与 PSA1 各自从 N6 收到下行报文后,经 N9 发往 UL CL。UL CL 在 CORE 侧配置对应下行 PDR,其 FAR(Destination Interface=ACCESS,F-TEID=(R)AN 侧 N3 接收端)把两个来源的下行报文汇聚后发往 (R)AN——UL CL 在此扮演"下行汇聚器"角色。
  3. Precedence(优先级)的作用:多条 PDR 可作用于同一报文,按 Precedence 值小者优先。本地业务 PDR 的 Precedence 必须高于(数值更小)默认 PDR,否则所有流量会落到默认 FAR(走中央),本地分流失效。
  4. QER/URR 配套:本地业务通常有独立 QoS(低时延),需配置 QER(QoS Enforcement Rule)承载 QFI/GBR;计费与流量统计需配置 URR(Usage Reporting Rule),且在双 PSA 场景下要注意避免对同一业务流重复计量。

表 1:N4 PFCP 关键 IE 参数说明

IE 名称 所属规则 作用 UL CL 场景取值示例
PDR ID PDR 规则唯一标识 本地上行 PDR=10,默认上行 PDR=20
Precedence PDR 匹配优先级(值小优先) 本地业务=100,默认=200
Source Interface PDI 标识接收接口方向 ACCESS(收 UE 上行)/CORE(收 PSA 下行)
F-TEID(PDI 内) PDI 本端接收隧道端点 UL CL 的 N3 接收 F-TEID
SDF Filter PDI 业务流五元组/IP 段过滤 目标 IP=本地 EAS 段 / 应用 Server IP
Apply Action FAR 转发动作 FORW(转发)/DROP/BUFF/DUPT
Destination Interface Forwarding Param 转发目标方向 本地→CORE(L-PSA);下行→ACCESS(AN)
F-TEID(Forwarding 内) Forwarding Param 对端接收隧道端点 L-PSA 或 PSA1 的 N9 接收 F-TEID
Network Instance Forwarding Param 目标 DN 实例(DNN) 本地 DNN(如 mec.local)
QFI QER/PDI 5QI 与 QoS 流映射 本地低时延业务=85(URLLC)
Outer Header Removal PDR 是否剥离 GTP-U 上行=剥离后做 IP 五元组匹配

五、UL CL 与相关机制对比

表 2:UL CL vs Branching Point vs SSC Mode 3 PSA 重选

维度 UL CL(上行分类器) Branching Point(分支点) SSC Mode 3 PSA 重选
适用 IP 类型 IPv4 / IPv6 均可 仅 IPv6 Multi-Homing IPv4 / IPv6 均可
分流粒度 按 SDF Filter(五元组/IP) 按 IPv6 Prefix(每 Prefix 一 PSA) 不分流,整体迁移锚点
同一时刻 PSA 数 多个(中央+本地并行) 多个(每 Prefix 一 PSA) 新旧两个 PSA 临时并存,最终只剩新 PSA
UE IP 是否变化 否(主锚点 PSA1 分配) 多个 IPv6 Prefix 并存(多归属) 否(重选前后 IP 可保持)
业务连续性 长连接不断,按需分流 多 Prefix 并行 先建新后删旧,会话连续
典型场景 MEC 本地分流、LADN IPv6 多归属多 DN UE 移动致锚点不再最优
触发主体 AF/NEF、SMF 配置、UE 移动 UE 多归属需求、PCC DNAI 变化、SSC mode=3
TS 章节 TS 23.501 §5.8.2.6 / §5.6.4 TS 23.501 §5.8.2.6 TS 23.501 §5.6.9 / §5.15.5.3

三者并非互斥:一个 PDU 会话既可用 UL CL 做本地分流,也可能在后续移动中触发 SSC Mode 3 重定位;而 BP 本质是 UL CL 在 IPv6 多归属下的特化形式(用 Prefix 代替五元组做分流判定)。


六、状态转换与数据面拓扑演变

从控制面 PDU 会话状态看,UL CL 插入并不改变 PDU 会话主状态(始终 ACTIVE),改变的是 Session Management 上下文内的 User Plane 拓扑。下图刻画了从"单 PSA 直连"到"UL CL + 双 PSA 并行分流"的状态/拓扑转换:

stateDiagram-v2
    [*] --> 单PSA: PDU会话建立(PSA1, UE获IP)
    单PSA --> UL_CL_插入中: 触发条件达成<br/>(AF/NEF/PCF/DNAI变化)
    state UL_CL_插入中 {
        [*] --> 建L_PSA
        建L_PSA --> 配UL_CL: 拿到L-PSA F-TEID
        配UL_CL --> 改PSA1下行FAR
        改PSA1下行FAR --> N1N2下发
    }
    UL_CL_插入中 --> 双PSA分流: 数据路径就绪
    双PSA分流 --> 双PSA分流: 持续按SDF分流<br/>(本地↔L-PSA, 中央↔PSA1)
    双PSA分流 --> UL_CL_移除中: 业务结束/UE离开区域
    UL_CL_移除中 --> 单PSA: 删L-PSA与UL CL规则<br/>恢复PSA1直连
    双PSA分流 --> Edge_重定位: DNAI变化(换边缘站点)
    Edge_重定位 --> 双PSA分流: 迁移UL CL/L-PSA到新DNAI

工程意义:由于主状态不变,UL CL 的插入/移除对 UE 的 NAS 层几乎"无感"(仅收到一条 PDU Session Modification Command 作通告),真正的复杂性全在 N4 侧——这也是为何 UL CL 故障 90% 是 N4 规则配置问题而非信令流程问题。


七、实战连接:抓包识别与故障排错

7.1 抓包如何识别 UL CL 插入流程

在 N4 接口(PFCP,通常 UDP/8805)抓包,定位 PFCP Session Modification Request,关注以下特征即可判定是一次 UL CL 插入:

在 N2 接口(NGAP)抓包,看是否有 PDU Session Resource Modify 携带新的 UL NG-RAN TNL Information——若有,说明部署了独立 UL CL UPF,新建了 N3 隧道;若无,说明 UL CL 与 PSA1 合一部署。

7.2 常见故障点与排错思路

  1. 本地业务仍走中央(分流未生效):首查 PDR 的 SDF Filter 是否正确匹配目标 EAS IP/端口;再查 Precedence——本地 PDR 优先级必须高于默认 PDR,否则被默认 FAR"截胡"。
  2. 下行中央业务不通(上行正常):典型是漏改 PSA1 的下行 FAR。PSA1 下行原本直发 AN,插入 UL CL 后必须先到 UL CL,否则报文发往已失效的旧隧道被丢弃。
  3. 本地业务下行不通:L-PSA→UL CL→AN 的下行 FAR,Destination Interface 必须为 ACCESS,且 F-TEID 指向 (R)AN 侧 N3 接收端;常见错误是误指向了 UL CL 自身的接收端。
  4. 插入后丢包/乱序:检查是否配置了 DUPT(Duplicate)误把同一报文发往两个 PSA;正常分流是按 Filter 二选一,不是复制。
  5. 计费重复计量:双 PSA 下,若 PSA1 与 L-PSA 各报 URR,同一会话会被计两次。需在 SMF 侧按业务流维度归并,或仅由分流点(UL CL)上报本地业务用量。

八、R18 边缘计算增强要点

TS 23.548 在 R18 进一步完善了边缘计算架构,与 UL CL 强相关的是:


九、常见问题

Q1:UL CL 插入会改变 UE 的 IP 地址吗? A:不会。UE 的 IP 始终由主锚点 PSA1 在 PDU 会话建立时分配。UL CL 与 L-PSA 只是在数据路径上"并行"新增一个分支,共享同一 UE IP,因此 TCP 长连接保持不断,这是 UL CL 相对 SSC Mode 2/3 的关键业务连续性优势。

Q2:UL CL 和 Branching Point 到底什么区别? A:核心区别在分流判据与 IP 类型。UL CL 用 SDF Filter(五元组/IP 段)判分流,IPv4/IPv6 都支持;BP 仅用于 IPv6 Multi-Homing,按 IPv6 Prefix 判分流,每个 Prefix 对应一个 PSA。功能上 BP 可视为 UL CL 在多归属场景的特化。

Q3:插入 UL CL 后,(R)AN 与核心网之间的 N3 隧道会变吗? A:取决于部署形态。若 UL CL 与 PSA1 合一部署,N3 不变;若 UL CL 是独立部署的新 UPF,则需新建 (R)AN↔UL CL 的 N3 隧道,N2 携带新的 UL NG-RAN TNL Address 并触发 RRC Reconfiguration。

Q4:本地业务走了中央,最可能的原因是什么? A:按概率排序:① 本地 PDR 的 SDF Filter 与实际业务流不匹配(目标 IP/端口写错);② 本地 PDR 的 Precedence 优先级不够高,被默认 PDR 先匹配;③ FAR 配置成 DUPT(复制)而非按需分流。抓 N4 看报文实际命中的 PDR ID 即可定位。

Q5:AF 如何告诉 5GC 该把流量卸到哪个边缘站点? A:AF 通过 NEF(Nnef_TrafficInfluence)或直接经 PCF(Npcf_PolicyAuthorization)下发 DNAI + AF-Service-Identifier + N6 Traffic Routing Rule。DNAI 是 5GC 内部对边缘接入点的标识,SMF 据 DNAI 选择对应 L-PSA/UL CL 拓扑,PCF 把应用语义转译为含 SDF Filter 的 PCC Rule 下发。


参考来源

  1. 3GPP TS 23.501 — System architecture for the 5G System — §5.6.4(支持通过 UPF 重选/UL CL/BP 接入本地 DN)、§5.6.7(AF 对流量路由的影响)、§5.8.2.6(UL CL 与 Branching Point)
  2. 3GPP TS 23.502 — Procedures for the 5G System — §4.3.4 / §4.3.5.2(PDU 会话修改,UL CL 插入信令)
  3. 3GPP TS 23.548 — 5G System Enhancements for Edge Computing (R17/R18) — EASDF、EAS 发现、Edge Relocation、UL CL/L-PSA 重定位
  4. 3GPP TS 29.244 — Interface between SMF and UPF (N4 PFCP) — PDR/FAR/QER/URR IE 定义与会话修改流程
  5. ShareTechnote — 5G Core SMF / UPF — SMF 选择 UPF 与 N4 会话建立的实践解读
  6. free5GC Book — Chapter 5: SMF, UPF and User Plane Procedures — PFCP 会话建立与 PDR/FAR 关联的开源实现
  7. Cisco UCC 5G UPF Configuration Guide — 厂商 UPF 流量识别与转发规则工程实现

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