首页 › slicing-mec › 5G UL CL与BP双模式本地分流信令拆解

5G UL CL上行分类器与BP分支点本地分流全链路信令拆解

一、引言:为什么5G需要两种本地分流机制

在5G MEC(多接入边缘计算)部署中,用户面流量需要在靠近UE的边缘节点进行本地卸载,以降低端到端时延。3GPP在TS 23.501 V18.x中定义了两种核心的用户面分流功能:UL CL(Uplink Classifier,上行分类器)和BP(Branching Point,分支点)。二者虽然都服务于本地分流目标,但其工作机制、适用场景和信令流程存在本质差异。

本文基于TS 23.501 Section 5.8.2、TS 23.502 Section 4.3.2.2/4.23.5/4.23.9、TS 29.244 N4接口规范,对UL CL与BP的插入、分流、维护、删除全链路信令进行逐层拆解。

二、核心概念:UL CL vs BP架构定位

2.1 UL CL:基于SDF过滤器的上行分流器

UL CL是一种UPF功能,位于PDU Session数据路径中间节点(I-UPF),根据SMF下发的流量过滤规则(SDF Filter)对上行报文进行分类,将匹配特定目的IP/端口/协议的流量转发至本地PSA(PDU Session Anchor),其余流量继续发往中心PSA。

关键特征(TS 23.501 Section 5.8.2.2): - 仅对上行流量执行过滤(下行方向为合并转发) - UE持有单一IP地址,不感知UL CL的存在 - 支持IPv4和IPv6类型的PDU Session - 分流决策粒度为SDF(Service Data Flow)级别

2.2 BP:基于IPv6前缀的多归属分支点

BP是另一种UPF功能,专用于IPv6 Multi-homing场景。它允许一个PDU Session关联多个IPv6前缀,每个前缀对应不同的PSA。BP根据上行报文的源IPv6前缀进行路由决策。

关键特征(TS 23.501 Section 5.8.2.3): - 双向过滤:上行基于源前缀,下行基于目的前缀 - UE持有多个IPv6地址/前缀(每PSA一个) - 仅支持IPv6 PDU Session - UE需要感知多归属,通过Router Advertisement获得多个前缀

2.3 架构对比

UE ──► (R)AN ──┬─ I-UPF(UL CL) ──┬─► PSA1 ──► 中心DN/Internet
               │                  │
               │                  └─► PSA2 ──► 本地DN/MEC
               │
               └─ I-UPF(BP)  ────┬─► PSA1 (IPv6 Prefix-1) ──► 中心DN
                                  │
                                  └─► PSA2 (IPv6 Prefix-2) ──► 本地MEC
对比维度 UL CL BP
TS编号 23.501 §5.8.2.2 23.501 §5.8.2.3
过滤方向 仅上行(DL为合并) 双向
过滤依据 SDF Filter(目的IP/端口) IPv6源/目的前缀
UE IP地址 单一地址 多个IPv6前缀
UE感知 不感知 感知(多前缀)
PDU类型 IPv4/IPv6/以太网 仅IPv6
典型场景 公众MEC(商场、场馆) 企业园区专网
复杂度 低(UE不参与) 高(需多前缀管理)

三、UL CL插入完整信令流程

3.1 触发条件

UL CL的插入由SMF决策触发(TS 23.502 Section 4.3.2.2),可能的触发源包括:

  1. UE位置变化:UE移入/移出特定DNAI(Data Network Access Identifier)区域
  2. AF Traffic Influence:应用功能通过NEF/PCF向SMF发送路由影响请求(TS 23.502 Section 4.3.6.2)
  3. 本地策略:SMF根据DNN、S-NSSAI、UE位置等本地配置决策
  4. PCF策略更新:PCF通过SM Policy Association Modification下发新的PCC规则

3.2 UL CL插入信令时序图

以下为UE移动触发的UL CL插入完整信令流(TS 23.502 Section 4.3.2.2 + 4.23.5):

sequenceDiagram
    participant UE
    participant RAN
    participant AMF
    participant SMF
    participant PCF
    participant ULCL_UPF as I-UPF(UL CL)
    participant PSA1 as PSA1(中心)
    participant PSA2 as PSA2(本地/MEC)

    Note over UE,PSA2: Step 0: PDU Session已建立,UE→PSA1直连

    UE->>RAN: Mobility Registration Update
    RAN->>AMF: N2 Mobility Registration(含UserLocationInfo)
    AMF->>SMF: Nsmf_PDUSession_UpdateSMContext<br/>(UserLocationInfo, AccessType)

    Note over SMF: SMF检测到UE移入DNAI-2区域<br/>决定插入UL CL和PSA2

    SMF->>PCF: Npcf_SMPolicyControl_Update<br/>(UserLocation, DNAI change)
    PCF-->>SMF: Policy Decision(含Traffic Steering Info)

    Note over SMF: SMF选择I-UPF(支持UL CL)和PSA2

    SMF->>PSA2: N4 Session Establishment Request<br/>(PDR: UE IP→PSA2, FAR→N6 Local DN)
    PSA2-->>SMF: N4 Session Establishment Response<br/>(F-TEID for N9 DL)

    SMF->>ULCL_UPF: N4 Session Establishment Request<br/>(PDR1: SDF→Local, FAR→PSA2<br/>PDR2: Default, FAR→PSA1)
    ULCL_UPF-->>SMF: N4 Session Establishment Response<br/>(F-TEID for N3/N9)

    SMF->>PSA1: N4 Session Modification Request<br/>(更新FAR: DL→ULCL N9 tunnel)
    PSA1-->>SMF: N4 Session Modification Response

    SMF->>AMF: Nsmf_PDUSession_UpdateSMContext Response<br/>(N2 SM Info: UL CL N3 F-TEID)
    AMF->>RAN: N2 PDU Session Resource Setup Request<br/>(UL CL N3 F-TEID)
    RAN-->>AMF: N2 PDU Session Resource Setup Response<br/>(RAN N3 F-TEID)
    AMF->>SMF: Nsmf_PDUSession_UpdateSMContext<br/>(RAN N3 F-TEID)

    SMF->>ULCL_UPF: N4 Session Modification Request<br/>(更新Access侧F-TEID为RAN)
    ULCL_UPF-->>SMF: N4 Session Modification Response

    Note over UE,PSA2: 数据路径建立:<br/>UE→RAN→UL CL→PSA1(中心)<br/>UE→RAN→UL CL→PSA2(本地MEC)

3.3 关键IE解析

3.3.1 SMF→UL CL UPF的N4规则集

SMF向I-UPF(UL CL)下发两组PDR+FAR规则(TS 29.244 Section 7.5.2):

规则组1:本地流量转发

IE名称 取值 说明
PDR ID PDR-1 本地流量检测规则
Precedence 100 高优先级
PDI.Source Interface ACCESS 来自UE方向
PDI.UE IP Address 10.1.1.2 UE的IP地址
PDI.SDF Filter permit out ip from any to 192.168.100.0/24 目的为本地DN的流量
FAR ID FAR-LOCAL 关联本地转发动作
FAR.Apply Action FORW 转发
FAR.Destination Interface CORE 核心网侧
FAR.Outer Header Creation GTP-U/UDP/IPv4, TEID=0xAAA, IP=PSA2 N9隧道至PSA2

规则组2:中心流量转发(Default)

IE名称 取值 说明
PDR ID PDR-2 默认流量规则
Precedence 200 低优先级(兜底)
PDI.Source Interface ACCESS 来自UE方向
PDI.UE IP Address 10.1.1.2 UE的IP地址
FAR ID FAR-CENTRAL 关联中心转发动作
FAR.Apply Action FORW 转发
FAR.Destination Interface CORE 核心网侧
FAR.Outer Header Creation GTP-U/UDP/IPv4, TEID=0xBBB, IP=PSA1 N9隧道至PSA1

3.3.2 PDR规则匹配逻辑(状态图)

stateDiagram-v2
    [*] --> 收到上行报文
    收到上行报文 --> 检查PDR1: 目的IP匹配本地DN?

    检查PDR1: 目的IP匹配本地DN? --> 匹配: FAR-LOCAL转发至PSA2
    检查PDR1: 目的IP匹配本地DN? --> 不匹配: 检查PDR2
    检查PDR2 --> FAR-CENTRAL转发至PSA1

    匹配: FAR-LOCAL转发至PSA2 --> [*]
    FAR-CENTRAL转发至PSA1 --> [*]

3.3.3 下行合并机制

下行方向,PSA1和PSA2各自将报文通过N9隧道发往UL CL UPF。UL CL UPF根据下行PDR将两个PSA的流量合并后通过N3隧道统一转发给(R)AN→UE。这一合并操作不需要额外的过滤逻辑,因为两个PSA的下行报文都是同一UE IP为目的地址。

四、BP分支点插入信令流程

4.1 IPv6 Multi-homing PDU Session建立

BP的插入比UL CL更复杂,因为它涉及IPv6多前缀管理。TS 23.501 Section 5.6.4.3定义了Multi-homing PDU Session的建立流程。

sequenceDiagram
    participant UE
    participant RAN
    participant AMF
    participant SMF
    participant BP_UPF as I-UPF(BP)
    participant PSA1 as PSA1(Prefix-1)
    participant PSA2 as PSA2(Prefix-2)

    Note over UE,PSA2: PDU Session建立请求(IPv6 Multi-homing)

    UE->>AMF: NAS PDU Session Establishment Request<br/>(DNN, S-NSSAI, PDU Type=IPv6)
    AMF->>SMF: Nsmf_PDUSession_CreateSMContext

    SMF->>PSA1: N4 Session Est.(PDR: Prefix-1, FAR: N6 DN1)
    PSA1-->>SMF: N4 Response(F-TEID, IPv6 Prefix-1)

    Note over SMF: SMF决策需要本地分流<br/>选择BP UPF和PSA2

    SMF->>PSA2: N4 Session Est.(PDR: Prefix-2, FAR: N6 DN2/MEC)
    PSA2-->>SMF: N4 Response(F-TEID, IPv6 Prefix-2)

    SMF->>BP_UPF: N4 Session Est.<br/>(PDR1: Src Prefix-1→PSA1<br/>PDR2: Src Prefix-2→PSA2)
    BP_UPF-->>SMF: N4 Response(F-TEID)

    SMF->>AMF: CreateSMContext Response<br/>(N2 SM Info)
    AMF->>RAN: N2 PDU Session Resource Setup
    RAN-->>AMF: N2 Response
    AMF->>SMF: UpdateSMContext(RAN F-TEID)

    SMF-->>UE: NAS PDU Session Establishment Accept<br/>(Interface ID→Prefix-1)

    Note over UE: UE通过Router Solicitation<br/>获得Prefix-2

    UE->>PSA1: Router Solicitation(Prefix-1链路)
    PSA1-->>UE: Router Advertisement(Prefix-1)

    Note over SMF: SMF触发PSA2侧前缀分配

    SMF->>BP_UPF: N4 Modification(下发Prefix-2 RA触发)
    BP_UPF->>UE: Router Advertisement(Prefix-2)

    Note over UE,PSA2: 数据路径:<br/>源Prefix-1→BP→PSA1→DN1<br/>源Prefix-2→BP→PSA2→MEC

4.2 BP的N4规则设计

BP UPF的核心过滤逻辑基于IPv6源地址前缀(上行)和IPv6目的地址前缀(下行):

方向 PDR匹配条件 FAR目标
UL Source Interface=ACCESS, Src IPv6 Prefix=2001:db8:1::/64 → PSA1 N9 tunnel
UL Source Interface=ACCESS, Src IPv6 Prefix=2001:db8:2::/64 → PSA2 N9 tunnel
DL Source Interface=CORE(PSA1), Dst IPv6 Prefix=2001:db8:1::/64 → Access N3 tunnel
DL Source Interface=CORE(PSA2), Dst IPv6 Prefix=2001:db8:2::/64 → Access N3 tunnel

这种双向前缀匹配确保了:UE使用Prefix-1发出的报文经PSA1到中心DN,使用Prefix-2发出的报文经PSA2到本地MEC,且下行报文能正确返回。

4.3 UE侧前缀感知与应用绑定

与UL CL不同,BP模式下UE必须明确知道多个前缀的存在,并决定应用层流量使用哪个前缀:

五、I-SMF场景下的UL CL/BP控制

当UE移出Home-SMF服务的区域时,需要引入I-SMF(Intermediate SMF)来管理拜访地的用户面。TS 23.502 Section 4.23.9定义了I-SMF控制下的UL CL/BP插入流程。

flowchart TB
    A[UE移入新TA区域] --> B{AMF检测超出<br/>H-SMF服务范围?}
    B -->|是| C[选择I-SMF]
    B -->|否| D[H-SMF直接管理<br/>UL CL/BP插入]
    C --> E[I-SMF建立<br/>N4会话至I-UPF/UL CL]
    E --> F[I-SMF通过<br/>N16a接口通知H-SMF]
    F --> G[H-SMF更新PSA<br/>N4会话FAR]
    G --> H[数据路径:<br/>UE→I-UPF/UL CL→PSA1/PSA2]

I-SMF场景的关键差异:

方面 H-SMF直接管理 I-SMF场景
UL CL/BP选择 H-SMF直接选择 I-SMF选择I-UPF
N4会话管理 H-SMF直接与UL CL通信 I-SMF与I-UPF建立N4
PSA管理 H-SMF管理 H-SMF仍管理PSA
接口 无额外接口 N16a(I-SMF↔H-SMF)
DNAI决策 H-SMF本地策略 I-SMF上报DNAI给H-SMF

六、N4 PFCP消息IE深度解析

6.1 N4 Session Establishment Request中的UL CL/BP相关IE

以TS 29.244 Section 7.5.2.2为基准,SMF向UL CL UPF发送的PFCP Session Establishment Request包含以下关键IE结构:

PFCP Session Establishment Request
├── Node ID (SMF标识)
├── F-SEID (SMF侧PFCP会话端点)
├── Create PDR (规则组1: 本地流量)
│   ├── PDR ID = 1
│   ├── Precedence = 100
│   ├── PDI (Packet Detection Information)
│   │   ├── Source Interface = ACCESS (0)
│   │   ├── F-TEID (UL CL N3/N9接收TEID)
│   │   ├── UE IP Address = 10.1.1.2
│   │   ├── SDF Filter
│   │   │   ├── Flow Description: "permit out ip from any to 192.168.100.0/24"
│   │   │   └── ToS Traffic Class: (可选)
│   │   └── Application ID: (可选,用于App检测)
│   ├── Outer Header Removal = GTP-U/UDP/IPv4
│   ├── FAR ID = 1
│   ├── QER ID(s) = (关联QoS规则)
│   └── URR ID(s) = (关联计费规则)
├── Create FAR (FAR-1: 本地转发)
│   ├── FAR ID = 1
│   ├── Apply Action = FORW (Forward)
│   └── Forwarding Parameters
│       ├── Destination Interface = CORE (1)
│       ├── Network Instance = "local.mec.dnn"
│       ├── Outer Header Creation
│       │   ├── Outer Header Type = GTP-U/UDP/IPv4
│       │   ├── TEID = 0xAAA (PSA2 N9 DL TEID)
│       │   └── IPv4 Address = PSA2_IP
│       └── Transportation Level Marking = DSCP value
├── Create PDR (规则组2: 中心流量)
│   ├── PDR ID = 2
│   ├── Precedence = 200 (低于规则组1)
│   ├── PDI
│   │   ├── Source Interface = ACCESS
│   │   ├── F-TEID (同上)
│   │   └── UE IP Address = 10.1.1.2
│   └── FAR ID = 2
├── Create FAR (FAR-2: 中心转发)
│   ├── FAR ID = 2
│   ├── Apply Action = FORW
│   └── Forwarding Parameters
│       ├── Destination Interface = CORE
│       ├── Outer Header Creation
│       │   ├── TEID = 0xBBB (PSA1 N9 DL TEID)
│       │   └── IPv4 Address = PSA1_IP
│       └── ...
└── Create QER / URR (可选)

6.2 BP场景的N4规则差异

BP模式下的PDI(Packet Detection Information)与UL CL有本质不同:

IE UL CL模式 BP模式
PDI过滤字段 SDF Filter(目的IP/端口) UE IPv6 Prefix(源前缀)
匹配粒度 5-tuple或App ID IPv6 /64前缀
下行过滤 不需要(仅合并) Dst IPv6 Prefix
UE IP字段 单一IP地址 多个Interface ID

BP的PDI中使用UE IP Address IE,但设置Type=2(IPv6 prefix而非完整地址),Prefix Length通常为/64。这使得BP的过滤效率极高——仅需匹配IPv6头部的前缀字段,无需深度包检测。

七、抓包识别与故障排查

7.1 Wireshark抓包识别要点

PFCP(N4)层面: - 过滤器:pfcp || gtpv2 - 识别UL CL插入:查找PFCP Session Establishment中同时包含两个Create PDR且Precedence不同的消息 - 关键字段:SDF Filter内容、Outer Header Creation中的目的TEID/IP - BP识别:PDI中包含IPv6 Prefix而非完整IP地址

GTP-U(N3/N9)层面: - 过滤器:gtp && gtp.message == 0xff(GTP-U用户数据) - 识别分流:同一UE IP的报文出现在两个不同的N9隧道中(TEID不同) - 验证本地分流:确认目的为192.168.100.0/24的报文被转发至PSA2的TEID

NAS层面: - UL CL场景:NAS PDU Session Modification Command中不携带新IP地址 - BP场景:UE收到新的Router Advertisement消息(新增IPv6前缀)

7.2 常见故障场景

故障现象 可能原因 排查方法
本地流量未分流至MEC SDF Filter配置错误或Precedence冲突 检查PFCP Session Est中PDR规则
UE无法访问本地DN PSA2的N6接口路由/DNS未配置 在PSA2上ping本地DN服务器
UL CL插入后全部流量中断 PSA1的N4 FAR未更新(DL仍直连RAN) 检查PSA1的N4 Modification
BP场景UE未获得第二前缀 RA消息被BP UPF拦截或未转发 抓包检查ICMPv6 RA
分流后QoS降级 UL CL UPF未正确配置QER 检查QER中的MBR/GBR参数
I-SMF场景数据面不通 N16a接口DNAI信息未同步 检查I-SMF→H-SMF的N16a消息
## 八、设计意图与演进方向

8.1 为什么设计两种机制

3GPP设计UL CL和BP双机制的核心理由:

  1. 向后兼容:UL CL模式对UE完全透明,不需要UE做任何改动。这使得运营商可以在现网UE上立即部署MEC业务。
  2. IPv6原生支持:BP模式利用了IPv6多前缀的原生能力,为需要精确路由控制的场景(如企业园区专网)提供了更优雅的方案。
  3. 分流粒度差异:UL CL基于SDF(五元组/应用ID),可以做到应用级分流;BP基于前缀,只能做到子网级分流。

8.2 R18/R19增强方向

常见问题

Q1: UL CL和BP能否同时用于同一个PDU Session? A: 不能。根据TS 23.501 Section 5.8.2,一个PDU Session同一时刻只能使用UL CL或BP其中一种分流机制。但可以在PDU Session生命周期内从一种切换到另一种(通过PDU Session Modification)。

Q2: UL CL插入时UE需要知道吗? A: 不需要。这是UL CL的核心优势——UE完全不感知中间UPF的插入和删除。SMF可能通过PDU Session Modification Command通知UE新的QoS规则,但UE不知道流量在中间被分流。

Q3: BP模式下应用如何选择使用哪个IPv6前缀? A: 有两种方式:一是UE操作系统层面的URSP规则,根据应用ID/Traffic Descriptor自动绑定源地址;二是应用自身通过bind()系统调用显式指定源IPv6地址。

Q4: UL CL删除后流量如何回退? A: SMF执行反向操作:删除UL CL UPF的N4会话,修改PSA1的FAR使其直连RAN(恢复N3隧道),通知AMF更新N2资源。整个过程UE不感知。

Q5: UL CL UPF能否和PSA合设? A: 可以。在小型MEC部署中,UL CL功能可以与PSA2(本地UPF)合设在同一物理节点。此时N9隧道变成内部接口,降低时延。但UL CL与PSA1(中心UPF)通常不部署在同一位置。

参考来源

  1. 3GPP TS 23.501 V18.10.0 — Section 5.8.2 (UL CL/BP概念), Section 5.6.4.3 (Multi-homing), Section 6.3.3 (UPF功能)
  2. 3GPP TS 23.502 V18.10.0 — Section 4.3.2.2 (PDU Session Modification with UL CL), Section 4.23.5/4.23.9 (I-SMF场景)
  3. 3GPP TS 29.244 — N4接口PFCP协议 — Section 7.5.2 (PFCP Session Establishment), PDR/FAR IE定义
  4. free5GC UL CL Deployment Guide — 开源5GC实现中的UL CL动态流量引导实践
  5. 华为云社区 — 5G NGC边缘业务本地分流 — LADN/UL CL/BP三种分流方案对比分析

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