首页 › slicing-mec › 5G UL CL上行分类器MEC本地分流机制

5G UL CL上行分类器:MEC本地分流的PFCP信令深度拆解

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

5G MEC(多接入边缘计算)的商用落地,本质上要回答一个问题:当一个业务流的目标服务器已经下沉到园区/基站机房边缘时,用户面流量为什么还要绕行几十公里到中心UPF再折返? 这种"绕路"带来的不仅是时延,更是骨干带宽的浪费。

3GPP在Release 15就为5G核心网设计了4种本地分流(Local Breakout)技术:UL CL(上行分类器,Uplink Classifier)、IPv6多归属(Multi-homing,基于Branching Point)、LADN(Local Area Data Network)、专用DNN。其中UL CL是面向MEC场景最主流、最灵活、对终端完全透明的方案,也是当前运营商企业专线、视频直播边缘渲染、工业AR/VR、车联网V2X等场景部署量最大的方案。

本文聚焦UL CL机制本身——它的UPF功能定位、SMF如何通过N4(PFCP)协议下发分流规则、完整的PDU会话建立信令时序、以及抓包识别与故障定位方法。所引用的核心规范为:

二、UL CL的本质:一个对终端透明的UPF分流功能

2.1 UL CL的功能定义

UL CL并不是一个独立的网元,而是UPF上的一个功能(Functionality)。根据TS 23.501第5.8.2节,UL CL的作用是:基于SMF下发的流量检测过滤器(Filter),将上行业务流分拣到不同的PDU会话锚点UPF(PSA),同时把来自不同PSA的下行业务流合并后转发给接入网(N3方向)。

关键设计点有三:

  1. 对终端完全透明:UE自始至终只持有一个IP地址(IPv4/IPv6),UL CL插入/删除/迁移过程UE无感知。这与IPv6多归属(BP)要求UE持有多个IPv6前缀截然不同。
  2. 适用于IPv4、IPv6、Ethernet所有PDU会话类型:而BP(Branching Point)仅支持IPv6 PDU会话。
  3. 单PDU会话、多PSA:一个PDU会话可以同时挂多个PSA(PSA1=中心锚点,PSA2=边缘锚点),UL CL在中间做"水龙头"分拣。

2.2 UL CL UPF在网络中的位置

UL CL UPF通常是数据面的第一跳UPF(I-UPF,Intermediate UPF),直接与RAN的N3接口相连。它身后挂两个(或多个)PSA:

flowchart LR
    UE[UE 终端] -->|N3 GTP-U| ULCL["UL CL UPF<br/>(I-UPF, 上行分类器)"]
    ULCL -->|N9 匹配'其他流量'<br/>FAR→PSA1| PSA1["PSA1 中心锚点UPF<br/>公网/中心DN"]
    PSA1 -->|N6| INTERNET[Internet/中心业务]
    ULCL -->|N9 匹配'边缘流量'<br/>FAR→PSA2| PSA2["PSA2 边缘锚点UPF<br/>本地DN/MEC"]
    PSA2 -->|N6 本地| MEC["MEC平台<br/>边缘应用EAS"]
    style ULCL fill:#ffe4b5,stroke:#d2691e,stroke-width:2px
    style PSA2 fill:#e0ffe0,stroke:#228b22

UL CL UPF的核心任务:上行按过滤器分拣、下行合并。注意:一个PDU会话同时存在多个UL CL UPF时,只有一个UPF作为N3接口的连接点(即与RAN直连),其余通过N9串联。 这是TS 23.501明确约束的。

三、完整信令时序:带UL CL的PDU会话建立

下面拆解一条"UE发起、SMF判定需要边缘分流、一次建立即插入UL CL + PSA2"的完整PDU会话建立流程。这是最典型的MEC本地分流落地场景。

sequenceDiagram
    autonumber
    participant UE
    participant RAN as gNB(RAN)
    participant AMF
    participant SMF
    participant PCF
    participant UDM
    participant ULCL as UL CL UPF<br/>(I-UPF)
    participant PSA1 as PSA1<br/>(中心锚点)
    participant PSA2 as PSA2<br/>(边缘锚点)
    participant DN as 边缘DN/MEC

    UE->>AMF: NAS: PDU Session Establishment Request<br/>(DNN, S-NSSAI, PDU Session ID, Request Type)
    AMF->>SMF: Nsmf_PDUSession_CreateSMContext<br/>(SUPI, DNN, S-NSSAI, UE Location)
    SMF->>UDM: Nudm_SDM_Get (SM Subscription, DNAI信息)
    SMF->>PCF: Npcf_SMPolicyControl_Create (获取PCC规则)
    Note over SMF: UPF选择:基于DNAI+UE位置+策略<br/>选定 PSA1(中心) / UL CL UPF / PSA2(边缘)
    SMF->>PSA1: N4 PFCP Session Establishment Request<br/>(PDR/FAR: N9↔N6 公网)
    PSA1-->>SMF: N4 PFCP Response (F-TEID_N9_PSA1)
    SMF->>PSA2: N4 PFCP Session Establishment Request<br/>(PDR/FAR: N9↔N6 边缘DN)
    PSA2-->>SMF: N4 PFCP Response (F-TEID_N9_PSA2)
    SMF->>ULCL: N4 PFCP Session Establishment Request<br/>(分流规则:见第四节PDR/FAR详解)
    ULCL-->>SMF: N4 PFCP Response (F-TEID_N3_AN, F-TEID_N9_去PSA1/PSA2)
    SMF->>AMF: Namf_Communication_N1N2MessageTransfer<br/>(N2: PDU Session Resource Setup + N3 F-TEID;<br/>N1: PDU Session Establishment Accept)
    AMF->>RAN: N2 PDU Session Resource Setup Request (N3 TEID=ULCL)
    RAN->>UE: RRC Reconfiguration (建立DRB)
    UE-->>RAN: RRC Reconfiguration Complete
    RAN-->>AMF: N2 PDU Session Resource Setup Response
    AMF->>SMF: Nsmf_PDUSession_UpdateSMContext (N3隧道已建)
    Note over UE,DN: 数据面打通:UE→RAN→UL CL→(分拣)→PSA1/PSA2→中心DN/边缘MEC

3.1 各信令消息的关键IE解析

消息1(NAS PDU Session Establishment Request,TS 24.501 8.3.1)关键IE:

IE 含义 在UL CL场景的作用
DNN 数据网络名称 SMF据此+UE位置判断是否走边缘分流策略
S-NSSAI 网络切片标识 边缘切片(如URLLC切片)常与UL CL绑定
PDU Session ID 会话标识 会话内唯一,对应N4会话
Request Type 请求类型 "initial"新建;"existing"则可能触发SSC迁移

消息3(Nudm_SDM_Get)的关键返回:会话管理订阅数据中包含UE允许访问的DNAI列表(Data Network Access Identifier)。DNAI是UL CL的"地理坐标"——它标识一个数据网络接入点,SMF依据UE当前TA对应到哪个DNAI来决定选哪个边缘PSA。

消息6(N4 PFCP Session Establishment Request,TS 29.244) 是整个机制的核心,下节单独详解。

消息12(Namf_Communication_N1N2MessageTransfer)的N2 SM信息中携带的N3接口F-TEID指向UL CL UPF(而非PSA1/PSA2)——这是抓包时识别"是否走了UL CL分流"的关键判据:N3隧道对端的IP/TEID是UL CL UPF的,而PDU会话的IP地址却由PSA1分配。

3.2 设计意图:为什么是"一次建立即分流"

把UL CL在PDU会话建立阶段就插入,而不是建好后再修改,是Rel-15之后MEC优化的主流做法。好处是:终端拿到会话IP后第一包就能命中边缘,无"先绕中心、再改路"的抖动。但对SMF的UPF选择逻辑要求更高——必须在建链前就知道这个会话需要分流(依据DNAI、URSP、AF影响等),这引出第四节的状态判定。

四、N4 PFCP规则拆解:UL CL UPF的PDR/FAR

UL CL的"分拣"魔法,全部由SMF通过N4(PFCP)下发的PDR(包检测规则)+ FAR(转发行为规则)实现。规则在UL CL UPF上的整体结构如下:

flowchart TB
    subgraph ULCL["UL CL UPF 内部规则表 (由SMF经N4下发)"]
        direction TB
        subgraph UL["上行(来自N3/AN) PDR分拣"]
            PDR_UL1["PDR_UL1: 匹配边缘业务流<br/>PDI: SrcIface=Access, UE-IP, SDF过滤器<br/>(目的IP前缀=边缘DN/MEC网段)"]
            PDR_UL2["PDR_UL2: 匹配'其他'业务流<br/>PDI: SrcIface=Access, UE-IP<br/>(默认/兜底)"]
        end
        subgraph DL["下行(来自N9) PDR分拣"]
            PDR_DL1["PDR_DL1: 来自PSA1的N9流<br/>PDI: SrcIface=Core, TEID=去PSA1"]
            PDR_DL2["PDR_DL2: 来自PSA2的N9流<br/>PDI: SrcIface=Core, TEID=去PSA2"]
        end
    end
    PDR_UL1 -->|关联| FAR_UL1["FAR_UL1: ApplyAction=Forward<br/>DstIface=Core, OuterHeader=GTP-U去PSA2<br/>(N9→边缘锚点)"]
    PDR_UL2 -->|关联| FAR_UL2["FAR_UL2: ApplyAction=Forward<br/>DstIface=Core, OuterHeader=GTP-U去PSA1<br/>(N9→中心锚点)"]
    PDR_DL1 -->|关联| FAR_DL1["FAR_DL1: ApplyAction=Forward<br/>DstIface=Access, OuterHeader=GTP-U去RAN<br/>(N3→UE)"]
    PDR_DL2 -->|关联| FAR_DL2["FAR_DL2: ApplyAction=Forward<br/>DstIface=Access, OuterHeader=GPT-U去RAN<br/>(N3→UE, 与DL1合并)"]
    style PDR_UL1 fill:#e0ffe0
    style FAR_UL1 fill:#e0ffe0
    style PDR_UL2 fill:#ffe0e0
    style FAR_UL2 fill:#ffe0e0

4.1 PDR/FAR关键IE参数说明表

规则类型 关键IE 取值/含义(UL CL场景)
PDR(TS 29.244 5.2.2) PDR ID 会话内唯一标识,SMF分配
Precedence(优先级) 边缘业务PDR优先级数值必须小于兜底PDR(数值小=优先匹配)
PDI.Source Interface Access(来自N3) / Core(来自N9)
PDI.F-TEID 用于匹配N9下行入口TEID
PDI.UE IP Address 标识本会话终端
PDI.SDF Filter 分流判据:目的IP前缀/FQDN/五元组,匹配边缘DN
Associated FAR/QER/URR ID 关联的转发/QoS/计费规则
FAR(TS 29.244 5.2.3) FAR ID 与PDR关联
Apply Action Forward / Drop / Buffer / Duplicate;UL CL主要用Forward
Forwarding Parameters.Destination Interface Access(去N3/RAN) / Core(去N9/N6)
Forwarding Parameters.Outer Header Creation 决定封装:去N9要带GTP-U+目的TEID;去N3同理
Forwarding Parameters.Network Instance 指向特定DN/网络实例(边缘实例)

4.2 一个关键设计点:优先级(Precedence)

UL CL要让"边缘流量"被精确截留,必须保证边缘匹配PDR的Precedence数值 < 兜底PDR的Precedence数值(数值越小优先级越高)。如果配置反了,边缘流量会被兜底规则先匹配、错误地转发到PSA1中心锚点——这是生产环境最常见的配置错误之一。

下行方向,来自PSA1和PSA2的两条N9流,经各自的DL PDR匹配后,都关联"Forward → Access(N3去RAN)"的FAR,从而实现下行合并。UE在DRB上收到的GTP-U内层包IP不变,完全感知不到分流。

五、SMF的UL CL触发与状态机

UL CL不是无条件插入的。SMF需要在多个触发条件下判断"要不要插入/迁移/删除UL CL",其决策状态机如下:

stateDiagram-v2
    [*] --> 无ULCL: 普通PDU会话(单PSA)
    无ULCL --> 评估分流: 触发条件到达
    state 触发条件 <<choice>>
    评估分流 --> 触发条件
    触发条件 --> 插入ULCL: 命中(需要边缘分流)
    触发条件 --> 无ULCL: 不命中(继续单PSA)

    插入ULCL --> 分流中: N4 PFCP Modification成功<br/>(新增PSA2+ULCL UPF)
    分流中 --> 迁移PSA: UE移动/DNAI变化(AF via NEF)
    迁移PSA --> 分流中: SSC mode3 锚点重选<br/>保持UE IP不变
    分流中 --> 删除ULCL: 业务结束/UE离开边缘区域
    删除ULCL --> 无ULCL: N4 PFCP Modification<br/>(释放PSA2+ULCL)

5.1 三类典型触发源

  1. UE位置/DNAI变化:UE移动到新TA,UDM/AMF上报位置,SMF判断当前UE已进入某个边缘DNAI服务区,触发UL CL插入。SSC mode 3支撑下可做锚点重选(Relocate)而保持IP不变。
  2. AF影响业务路由(AF Influence on Traffic Routing,TS 23.501 5.13 / TS 23.502 4.3.6):第三方应用经NEF的Nnef_TrafficInfluence服务向PCF下发业务路由影响(指定DNAI/UPF),PCF经Npcf_SMPolicyControl_UpdateNotify通知SMF,SMF据此插入UL CL。这是MEC使能平台与5GC打通的标准接口。
  3. URSP规则(UE Route Selection Policy):UE侧根据URSP把特定应用流(如FQDN匹配)路由到带特定DNN/S-NSSAI的PDU会话,间接触发分流会话建立。

5.2 为什么UL CL常与SSC mode 3绑定

SSC mode 3允许"先建新锚点、再断旧锚点",期间UE保持IP不变。这与UL CL的"插入第二PSA、迁移到边缘"天然契合。SSC mode 1(固定锚点)下UL CL也能用,但锚点不能迁移,移动到边缘区域外时体验会回退到绕中心。SSC mode 2则会断流重建,不适合低时延业务。生产部署中,MEC会话默认选SSC mode 3。

六、四种本地分流技术对比

UL CL并非唯一选择,理解差异才能正确选型。

维度 UL CL(上行分类器) IPv6多归属(BP) LADN 专用DNN
标准条款 TS 23.501 5.8.2 TS 23.501 5.8.3 TS 23.501 5.6.5 TS 23.501 6.3.3
支持IP类型 IPv4/IPv6/Ethernet 仅IPv6 IPv4/IPv6 IPv4/IPv6
终端感知 完全透明 UE需持多个IPv6前缀 UE需感知LADN DNN UE需配置专用DNN
单会话多PSA 是(1会话+2锚点) 是(IPv6多前缀) 否(受限区域DNN) 否(独立会话)
分流粒度 五元组/FQDN/前缀(最细) IPv6前缀(按前缀) 按DNN整体 按DNN整体
IP地址 单IP 多IPv6前缀 单IP 单IP(每会话独立)
典型场景 通用MEC本地分流(首选) IPv6-only园区 园区/校园本地网 专用企业独立切片

结论:UL CL在灵活性、终端透明度、分流粒度上综合最优,是MEC商用部署的默认方案。LADN/专用DNN更"重"(需独立会话/DNN),适合完全隔离的专用网;BP受限于IPv6,落地受限。

七、抓包识别与故障排错

7.1 抓包如何确认"流量确实走了UL CL"

在N3(RAN↔UPF)和N9(UPF↔UPF)接口抓包,关键判据:

  1. N3对端IP是UL CL UPF,而非PSA1/PSA2:用Wireshark过滤gtp,观察GTP-U外层目的IP。若N3隧道终点IP与给UE分配IP的网关(PSA1)不在同一UPF,说明中间插了UL CL。
  2. 同一UE的UL包出现"分叉":在N9上能看到同一源UE-IP的包,部分目的TEID指向PSA1、部分指向PSA2,证明UL CL在工作。
  3. PFCP Establishment/Modification抓包:过滤pfcp,查看Create PDR/Create FAR IE。若一个PFCP会话内出现多条Destination Interface=Core、且Outer Header Creation指向不同UPF的FAR,即为UL CL分拣规则。
  4. FAR的Outer Header Creation:抓包中FAR包含Outer Header Creation且GTP-U标志位=1、带TEID,说明转发走N9隧道(到PSA),而非本地N6。

7.2 常见故障点与排错思路

现象 可能根因 排错思路
边缘业务仍绕行中心(时延高) PDR Precedence配置错误,兜底规则优先 抓PFCP,核对边缘PDR优先级数值 < 兜底PDR
边缘业务不通(包丢失) FAR Outer Header Creation的TEID/IP与PSA2不符 核对PSA2返回的F-TEID是否正确写入UL CL的FAR
下行包不到UE DL PDR的Source Interface/TEID匹配失败 核对DL PDR的F-TEID与实际N9入向TEID一致
UE移动后掉线 SSC mode选错(mode2断流)或锚点重选失败 确认会话SSC mode=3,检查SMF PSA重选日志
AF下发分流无效 NEF→PCF→SMF链路断或DNAI映射缺失 检查Nnef_TrafficInfluence授权与DNAI配置
## 八、常见问题

Q1:UL CL和Branching Point(BP)到底什么区别?什么时候必须用BP? A:两者都是UPF分流功能,核心区别:UL CL对终端透明、单IP、支持IPv4/IPv6/Ethernet所有类型;BP是IPv6多归属专用,要求UE持多个IPv6前缀(每个PSA分配一个前缀),按前缀分流。只有当业务需要UE同时通过多个IPv6前缀连接多个数据网络(多归属场景)时才必须用BP;纯本地分流首选UL CL。

Q2:UL CL插入后,UE的IP地址由谁分配?迁移锚点时IP会变吗? A:UE的IP由PSA1(中心锚点)分配,UL CL UPF不参与IP分配。只要会话处于SSC mode 3,SMF做PSA重选时保持PSA1的IP不变("先建后断"),UE全程无感知IP变化。SSC mode 2则会断流重建并可能换IP。

Q3:一个PDU会话能插入多个UL CL UPF吗? A:可以,但TS 23.501约束:同时存在多个UL CL UPF时,只有一个UPF作为N3接口(与RAN直连)的连接点,其余UL CL通过N9串联。典型三级分流(园区→地市→省中心)就是这种多级UL CL拓扑。

Q4:AF如何动态影响UL CL的插入?需要走NEF吗? A:标准路径是 AF → NEF(Nnef_TrafficInfluence) → PCF(Npcf_PolicyAuthorization/SMPolicyControl) → SMF → N4下发UL CL。NEF负责鉴权和DNAI映射翻译。可信AF(如运营商自有MEC平台)可直连PCF,跳过NEF,时延更低。

Q5:抓包看到PFCP会话里FAR的Apply Action=Duplicate,这和UL CL有关吗? A:Duplicate是UPF复制转发(用于合法监听LI或计费采集),与UL CL的Forward分拣不同。UL CL场景FAR几乎都是Forward(去不同PSA),不会用Duplicate。若看到Duplicate,应排查是否误开了监听或镜像功能。

参考来源

  1. 3GPP TS 23.501 V19.x — System architecture for the 5G System — 第5.8.2节(Uplink Classifier)、5.8.3节(Branching Point)、5.13节(Edge Computing)、6.3.3节(UPF选择)
  2. 3GPP TS 23.502 V19.x — Procedures for the 5G System — 第4.3.2节(PDU Session Establishment)、4.3.3节(PDU Session Modification)、4.3.6节(AF influence on traffic routing)
  3. 3GPP TS 29.244 V19.x — Interface (N4) PFCP — 第5.2.2节(PDR)、5.2.3节(FAR)规则IE定义
  4. 5G边缘分流技术UL CL技术原理与应用实践 — 电信科学 — UL CL端到端时延实测(20ms以内)与应用实践
  5. 【一望5G】UL CL分流方案解读 — 知乎 — 主/辅锚点UPF分流架构与典型场景
  6. 拆解5G UPF的四种本地分流技术:UL CL、IPv6多归属、DNN和LADN — CSDN — 四种本地分流技术横向对比

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