5G 网络切片(Network Slicing)在网络侧通过 NSSF、AMF、SMF 已经能精确地为不同业务选择 S-NSSAI、DNN 与承载。但有一个关键问题悬而未决:当一个 App 在 UE 上发起数据流时,UE 该把它放进哪条 PDU 会话?走哪个切片?用哪个 DNN?是复用已有会话、新建会话,还是直接卸载到非 3GPP? 如果让所有应用都挤进默认的互联网会话,切片隔离就形同虚设,MEC 本地分流、专网 DNN、URLLC 专切片的差异化能力全部失效。
UE Route Selection Policy(URSP,用户设备路由选择策略)就是 3GPP 给出的答案。它定义在 TS 23.503 §6.6.2,编码定义在 TS 24.526 §5.2,下发流程定义在 TS 23.502 §4.2.2。URSP 是一组由 PCF(策略控制功能)下发、UE 本地执行的"应用→路由"映射规则。它把网络切片策略从核心网一路延伸到终端的每一个 socket,是切片真正"端到端"闭环的关键环节,也是 MEC/边缘应用能否被引导到本地 PDU 会话(带本地 PSA/UL CL)的前提。
可以说:没有 URSP,网络切片就只是"网络的事";有了 URSP,切片才是"终端 + 网络"的事。
一条 URSP 规则(TS 23.503 §6.6.2.2)由三部分组成,本质上是一个"匹配条件 + 动作清单"的结构,逻辑上类似防火墙规则:
flowchart LR
R["URSP Rule"] --> P["Rule Precedence<br/>规则优先级"]
R --> TD["Traffic Descriptor<br/>流量描述符(匹配条件)"]
R --> RSD["RSD List<br/>路由选择描述符列表(动作清单)"]
TD --> TD1["应用描述符<br/>OS ID + OS App ID"]
TD --> TD2["IP 描述符<br/>目的IP/端口/协议"]
TD --> TD3["域描述符<br/>FQDN"]
TD --> TD4["DNN / 连接能力<br/>非IP描述符等"]
RSD --> R1["RSD-1: SSC1, DNN=internet, S-NSSAI=eMBB"]
RSD --> R2["RSD-2: SSC3, DNN=corp, S-NSSAI=enterprise"]
RSD --> R3["RSD-3: 非无缝非3GPP卸载"]
*.company.com)
- 非应用/非 IP 描述符、DNN 描述符
- 连接能力(Connection Capabilities:IP / Ethernet / Non-IP / Multicast)
- Rel-17+ 增加了组件类型,如"UE 状态报告"触发器每个 RSD 携带的"路由参数"才是切片落地的真正载体:
| 参数 | 所属 | 作用 | 典型取值 |
|---|---|---|---|
| Rule Precedence | URSP Rule | 规则间评估顺序 | 1~255,越小越优先 |
| Traffic Descriptor | URSP Rule | 应用流量匹配条件 | OS App ID / FQDN / IP 三元组 |
| Route Selection Precedence | RSD | 同一规则内 RSD 排序 | 数值越小越优先 |
| SSC Mode | RSD | 会话与业务连续性模式 | 1(保持锚点)/2 /3(可换锚点) |
| S-NSSAI | RSD | 切片选择 | SST + SD |
| DNN | RSD | 数据网络名(含专网/MEC DNN) | internet / corp / mec01 |
| PDU Session Type | RSD | 会话类型 | IPv4 / IPv6 / Ethernet / Unstructured |
| Access Type Preference | RSD | 接入偏好 | 3GPP / Non-3GPP / Multi-Access |
| Non-Seamless Non-3GPP Offload | RSD | 是否卸载到本地非3GPP | TRUE / FALSE |
| Route Selection Validation Criteria (RSVC) | RSD(Rel-17) | RSD 有效性条件 | 时间窗 / 位置 |
| Time Window / Spatial Validity | RSD(Rel-18) | 时空有效性 | 时段、跟踪区列表 |
设计意图:把"应用特征"与"网络路由参数"解耦——TD 只描述"这是谁发的流量",RSD 只描述"该走哪条路"。这样 PCF 运营人员可以独立调整路由策略(如新增一个 MEC DNN)而不必重写匹配规则,终端逻辑也更清晰。
URSP 规则不存在 UE SIM 里,而是动态下发。它在 UE 注册成功后,由 PCF 通过 AMF 透明中继、用 NAS 信令(N1 接口)送到 UE。承载协议是 UE Policy Delivery Protocol(UPDP,TS 24.526 §4 / TS 24.501),UPDP 消息封装在 NAS 的 UE Policy Container 这个透明容器里。整个传输对 AMF 是"透明"的——AMF 不解析 URSP 内容,只负责转发。
完整时序如下(TS 23.502 §4.2.2.2 / §4.2.2.3):
sequenceDiagram
autonumber
participant UE
participant AMF
participant PCF as PCF(UE Policy)
participant UDR
Note over UE,PCF: 阶段一:策略关联建立(注册后触发)
UE->>AMF: Registration Request
AMF->>PCF: Npcf_UEPolicyControl_Create<br/>(SUPI, PDN Type, UE 上下文)
PCF->>UDR: Nudr_DataRepository_Query<br/>(订阅的 URSP 数据)
UDR-->>PCF: URSP 规则集(签约策略)
PCF-->>AMF: 201 Created (Policy Association ID)
Note over UE,PCF: 阶段二:下行策略下发(PCF 主动)
PCF->>AMF: Namf_Communication_N1N2MessageTransfer<br/>(UE Policy Container = MANAGE UE POLICY COMMAND)
Note right of AMF: 封装为 UPDP 消息
AMF->>UE: DOWNLINK NAS TRANSPORT<br/>(UE Policy Container)
Note over UE: UE 解析 UPDP, 存储 URSP,<br/>按规则优先级排序
Note over UE,PCF: 阶段三:上行结果反馈
UE->>AMF: UPLINK NAS TRANSPORT<br/>(UE Policy Container = MANAGE UE POLICY COMPLETE)
AMF->>PCF: Namf_Communication_N1MessageNotify<br/>(UE Policy Container)
Note over PCF: PCF 记录下发结果<br/>(成功/部分成功/失败)
Note over UE,PCF: 阶段四:策略更新(订阅变更/AMF/会话事件触发)
UDR->>PCF: PolicyData Change Notification
PCF->>AMF: N1N2MessageTransfer(新 URSP)
AMF->>UE: DOWNLINK NAS TRANSPORT
关键信令消息解析:
MANAGE UE POLICY COMMAND。MANAGE UE POLICY COMPLETE 回复确认(或部分成功 / 失败原因),经 AMF 的 N1MessageNotify 回送 PCF。MANAGE UE POLICY COMMAND)。设计意图:让 AMF"透明中继"而非"理解策略",是为了职责分离——AMF 专注移动性管理,策略语义完全由 PCF 与 UE 协商。这也意味着 AMF 的实现可以保持轻量,跨厂商互通时策略格式由 TS 24.526 统一编码,与 AMF 厂商无关。
URSP 下发后"静默"存在于 UE,直到一个应用发起上行流量时才被激活。这是 URSP 的运行态,定义在 TS 23.503 §6.6.2.1 的匹配算法中:
flowchart TD
A["应用发起上行流量"] --> B["提取流量特征<br/>(App ID / FQDN / IP三元组)"]
B --> C["按 Rule Precedence 升序<br/>遍历 URSP 规则"]
C --> D{"TD 是否匹配?"}
D -- 否 --> C
D -- 是 --> E["选中该规则<br/>进入 RSD 评估"]
E --> F["按 RSD Precedence 升序<br/>逐个评估 RSD"]
F --> G{"RSD 有效性?<br/>RSVC/时间窗/位置<br/>是否满足"}
G -- 否 --> F
G -- 是 --> H{"已有PDU会话<br/>参数一致?"}
H -- 是 --> I["复用现有PDU会话<br/>(绑定该业务流)"]
H -- 否 --> J["发起UE请求的<br/>PDU会话建立"]
J --> K["用选中的 SSC/DNN/<br/>S-NSSAI/类型建会话"]
I --> L["业务流走对应切片/路由"]
K --> L
C -. 全部不匹配 .-> M["使用 match-all URSP<br/>或默认DNN"]
匹配算法要点(TS 23.503 §6.6.2.1):
internet),保证业务可达。一个典型场景:企业员工的 UE 收到 URSP,规则把 corp.company.com 的流量导向 DNN=corp + S-NSSAI=enterprise(切片) + Ethernet 类型,把视频会议 App 导向 DNN=mec01 + 本地切片(经 UL CL 在 MEC 本地卸载),其余流量走默认 internet。这样 MEC 分流、专网隔离、切片差异化在终端侧就已经分流完毕。
| 接口 | 协议 | 关键字段 / 识别要点 |
|---|---|---|
| N7(PCF↔AMF→实际走 N15) | HTTP/2 + JSON | Npcf_UEPolicyControl 资源 POST;body 含 uePolicyReq、pduSessionPolicy |
| N1(AMF↔UE) | NGAP + 5GMM NAS | DOWNLINK NAS TRANSPORT / UPLINK NAS TRANSPORT,内含 UE policy container IE |
| UPDP | 容器内 | MANAGE UE POLICY COMMAND / COMPLETE,TLV 编码的 URSP 规则(TS 24.526 §5.2) |
| Nudr | HTTP/2 | PolicyData/UePolicySet 数据集,存储签约 URSP |
在 Wireshark 中(需加载 5G NAS dissector),过滤 nas-5gs.message_type == 105 || nas-5gs.message_type == 106(对应 Downlink/Uplink NAS Transport),展开 UE policy container 即可看到 URSP 规则的优先级、TD 分量、RSD 列表。
Npcf_UEPolicyControl_Create 返回 201);再查 UDR 是否有该 SUPI 的签约 URSP 数据集;最后确认 PCF 是否真正调用 N1N2MessageTransfer。| 维度 | URSP | ANDSP | WLANSP |
|---|---|---|---|
| 全称 | UE Route Selection Policy | Access Network Discovery & Selection Policy | WLAN Selection Policy |
| 规范 | TS 23.503 §6.6.2 / 24.526 §5.2 | TS 23.503 §6.6.3 / 24.526 §5.2 | TS 24.526 §5.3.2 |
| 核心作用 | 应用流量→PDU 会话/切片/路由 | 非3GPP接入网发现与选择 | WLAN 节点选择 |
| 决定 | 走哪条切片/DNN/会话 | 选哪个 WLAN/可信N3IWF | 选哪个 SSID |
| 漫游下发方 | H-PCF(归属) | V-PCF(拜访,可叠加) | H-PCF |
| 触发 | 应用发起流量 | UE 接入决策 | WLAN 扫描/选择 |
URSP 与 ANDSP 是互补关系:ANDSP 解决"接入哪个非 3GPP 网络",URSP 解决"流量进哪条 PDU 会话/切片",二者共同支撑 ATSSS(多接入)与非无缝卸载场景。
Q1:URSP 和 PDU 会话锚点选择(SMF/UPF 选择)是什么关系? A:URSP 决定的是 UE 侧"业务流进哪条会话"——给出 SSC/DNN/S-NSSAI/类型。SMF 再依据这些参数做网络侧的 SMF/UPF 选择(含 MEC 本地 PSA/UL CL)。URSP 是"终端发起方",网络选择是"网络执行方",两者衔接才能实现端到端切片 + 边缘分流。
Q2:URSP 是什么时候下发到 UE 的? A:主要在 UE 初始注册成功后,由 AMF 触发建立 UE Policy 关联、PCF 从 UDR 取签约 URSP 后通过 NAS 下发。之后任何策略变更(签约变化、UE 策略更新触发器)都会引发重新下发。
Q3:如果 UE 收到的 URSP 规则中没有匹配应用流量的,会怎样?
A:UE 会使用运营商配置的 match-all 兜底规则或默认 DNN(如 internet)建立会话,保证业务可达,但此时该流量不会享受切片/边缘差异化——这正是很多"切片配置了却不生效"问题的根因。
Q4:URSP 下发为什么用 NAS 而不是 RRC? A:URSP 属于 NAS 层(非接入层)策略语义,与接入技术无关(3GPP 与非 3GPP 接入都要用)。用 NAS 的 UE Policy Container 透传,可保持策略在 NG-RAN 与 untrusted N3IWF 接入下行为一致,且让 AMF 透明中继、RAN 完全不感知策略内容。
本文由「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 等场景全覆盖。
