5G核心网学习平台
网络切片 实践篇 #05

5GC实践篇之切片篇第14篇:PCF签约信息变更触发切片重选(URSP策略更新通知)

《5G核心网原理与实践》实践篇 · 网络切片 网元功能

5GC实践篇之切片篇第14篇:PCF签约信息变更触发切片重选(URSP策略更新通知)

作者:爱卫生


1 测试背景与用例简介

在前面的第4篇文章中,我们讨论了UE与PCF交互获取URSP策略信息的基本流程。那是一个"初始获取"的场景——UE在注册过程中从PCF获取URSP/NSSP策略,保存到本地,后续根据策略选择切片发起PDU会话。

但URSP策略并不是一成不变的。在实际运营中,运营商经常需要动态调整用户的切片策略,例如:

  1. 用户订购了新的增值业务(如URLLC切片服务);
  1. 运营商调整了套餐策略(如将某个App从eMBB切片迁移到专用切片);

  2. 企业用户的IT策略变更(如将视频会议流量从公网切片迁移到企业专网切片)。

本篇聚焦的场景是:用户在PCF上签约了新的业务,切片信息发生变更。PCF通过Namf_N1N2MessageTransfer接口向AMF下发更新后的URSP策略。如果UE当前处于CM-IDLE状态,AMF需要先触发寻呼使UE进入CM-CONNECTED状态,然后将URSP策略通过DL NAS Transport消息下发给UE。UE收到新的URSP策略后更新本地配置,后续应用流量将根据新策略选择切片。

同时,本场景还涉及PCF向AMF订阅策略变更通知的流程(N1N2MessageSubscribe),这是PCF能够主动推送策略变更的前提条件。

1.1 URSP策略更新的触发链路


运营商/用户修改签约 -> PCF检测到策略变更 -> PCF检查是否已订阅AMF通知 ->

PCF通过Namf_N1N2MessageTransfer发送新URSP -> AMF检查UE状态 ->

CM-IDLE: 触发寻呼 -> UE Service Request -> 下发URSP ->

CM-CONNECTED: 直接下发URSP ->

UE更新本地策略 -> 后续PDU会话使用新策略

2 协议规范与关键技术

2.1 相关协议规范

本篇涉及PCF策略推送和URSP更新下发,相关协议如下:

  • TS 23.501 第5.15节:定义了URSP策略的结构和NSSP组件。

  • TS 23.501 第6.1.2.4节:PCF相关描述,PCF如何管理UE的策略。

  • TS 23.502 第4.2.4节:UE Configuration Update流程,AMF向UE下发策略更新的过程。

  • TS 23.502 第4.2.3节:Service Request流程,CM-IDLE状态下触发UE进入CM-CONNECTED。

  • TS 29.507:Namf_Communication和Npcf_AMPolicy服务接口。

  • Npcf_AMPolicyAssociation:PCF与AMF之间的策略关联。

  • Namf_N1N2MessageTransfer:PCF向AMF发送N1消息(URSP策略)。

  • N1N2MessageSubscribe:PCF订阅AMF的N1消息通知。

  • TS 24.526:URSP规范,定义了URSP策略的编码和传输。

  • TS 24.501 第5.4.4节和第9.11节:NAS消息中URSP的传输,特别是DL NAS Transport消息的Payload container type=5表示策略更新。

2.2 PCF策略下发架构

PCF向UE推送URSP策略更新的架构如下:


PCF ---> AMF ---> RAN ---> UE

  |       |

  |       +-- UDM(签约变更通知)

  |

  +-- UDR(策略数据存储)

网元 角色
PCF 策略决策点,检测签约变更并生成新URSP
UDR 存储策略数据和签约数据
UDM 管理用户签约,通知PCF签约变更
AMF 策略传输中继,将PCF的URSP通过NAS下发给UE
UE 策略执行点,根据URSP选择切片

2.3 Namf_N1N2MessageTransfer消息

PCF通过Namf_N1N2MessageTransfer接口向AMF发送URSP策略更新。该接口的关键参数:

请求参数 说明
n1MessageContainer N1消息容器(包含URSP策略)
n1MessageClass 消息类型(SM或5GMM)
n2InfoContainer N2信息容器(本场景不涉及)
policyAssociationId PCF与AMF的策略关联ID

AMF的响应取决于UE当前的连接状态:

UE状态 AMF响应 后续行为
CM-CONNECTED 200 OK 直接下发URSP
CM-IDLE 202 Accepted 触发寻呼,UE进入CONNECTED后下发

2.4 DL NAS Transport中的Payload Container Type

URSP策略通过DL NAS Transport消息下发给UE。Payload Container Type字段标识了消息内容的类型:

Type值 含义 本场景是否涉及
1 N1 SM Information
2 SMS
3 LPP Message
4 SOR Container
5: UE Policy Container | 是(URSP策略)
6 UE Parameter Update
7 Multiple Payload

本场景中,Payload Container Type=5,表示Payload Container中携带的是UE Policy信息(即URSP策略)。

2.5 PCF订阅机制(N1N2MessageSubscribe)

PCF在向AMF下发策略之前,需要先订阅AMF的N1消息通知。订阅流程:

  1. PCF在创建AM Policy Association时,通过Npcf_AMPolicyAssociation_Create向AMF注册;

  2. PCF可以通过Namf_Communication_N1N2MessageSubscribe订阅UE的N1消息;

  3. 当UE有上行N1消息(如URSP更新确认)时,AMF通过Namf_Communication_N1MessageNotify通知PCF。

3 消息流程与详细解读

3.1 整体流程概览


sequenceDiagram

    participant PCF as PCF

    participant AMF

    participant RAN as NG-RAN

    participant UE as UE终端

    Note over PCF,UE: 前提:UE已注册<br/>PCF已创建AM Policy Association

    Note over PCF: 用户签约新的业务<br/>PCF检测到策略变更<br/>生成新的URSP策略

    PCF->>AMF: Namf_N1N2MessageTransfer<br/>携带新URSP策略

    Note over PCF,AMF: N1 Message Container: UE Policy<br/>Payload: Updated URSP Rules

    alt UE为CM-IDLE状态

        Note over AMF: AMF检测到UE为CM-IDLE<br/>返回202 Accepted

        AMF->>RAN: NGAP Paging<br/>寻呼UE

        RAN->>UE: RRC Paging

        UE->>RAN: RRC Connection Request

        RAN->>AMF: NGAP Initial UE Message<br/>NAS Service Request

        Note over UE,AMF: UE进入CM-CONNECTED

    end

    AMF->>RAN: NGAP Downlink NAS Transport<br/>DL NAS Transport(Payload type=5)

    Note over AMF,RAN: Payload Container Type=5<br/>携带新URSP策略

    RAN->>UE: NAS DL NAS Transport<br/>Updated URSP

    Note over UE: UE处理新URSP策略<br/>更新本地URSP配置

    UE->>RAN: NAS UL NAS Transport<br/>UE Policy Update Ack

    RAN->>AMF: NGAP Uplink NAS Transport<br/>UL NAS Transport

    AMF->>PCF: Namf_Communication_N1MessageNotify<br/>UE Policy Update Ack

    Note over AMF,PCF: 通知PCF:UE已确认策略更新

    PCF-->>AMF: 200 OK

3.2 流程详细解读

前提条件:PCF已创建Policy Association

在UE初始注册阶段,AMF向PCF发起了AM Policy Association创建请求。PCF保存了该UE的策略上下文,并可能通过N1N2MessageSubscribe订阅了该UE的N1消息通知。

步骤1:PCF检测到策略变更

用户通过运营商自助服务平台(或运营商后台)订购了新的业务(例如URLLC切片)。这个变更触发以下链路:

  1. 运营支撑系统(OSS/BSS)更新UDR中的策略数据;

  2. UDR通知PCF策略数据变更;

  3. PCF生成新的URSP策略(包含新的切片路由规则)。

新的URSP策略示例:


旧URSP策略:

  Rule 1: App=videoconf -> S-NSSAI=SST=1/SD=010203 (eMBB), DNN=internet

  Rule 2: App=iotgw -> S-NSSAI=SST=3 (MIoT), DNN=iot

  Rule 3: Match-All -> S-NSSAI=SST=1 (eMBB default), DNN=internet

新URSP策略(变更后):

  Rule 1: App=videoconf -> S-NSSAI=SST=2 (URLLC), DNN=internet  [变更!]

  Rule 2: App=iotgw -> S-NSSAI=SST=3 (MIoT), DNN=iot

  Rule 3: App=gamecloud -> S-NSSAI=SST=1/SD=010203, DNN=game  [新增!]

  Rule 4: Match-All -> S-NSSAI=SST=1 (eMBB default), DNN=internet

步骤2:PCF通过Namf_N1N2MessageTransfer下发新URSP

PCF将新的URSP策略封装为N1消息(UE Policy Container),通过Namf_N1N2MessageTransfer发送给AMF:


Namf_N1N2MessageTransfer Request:

  n1MessageContainer:

    n1MessageClass: "5GMM"

    n1MessageContent:

      contentType: "application/nas"

      content: <UE Policy Container with Updated URSP>

  policyAssociationId: "pa-4608800000XXXXXX-001"

步骤3:AMF检查UE状态

AMF收到N1N2MessageTransfer请求后,检查UE当前的连接管理状态:

  • CM-CONNECTED:AMF可以直接通过N2接口将NAS消息下发给UE;

  • CM-IDLE:AMF需要先触发寻呼,使UE进入CM-CONNECTED状态。

本场景假设UE处于CM-IDLE状态,AMF返回202 Accepted(而非200 OK),表示消息已接受但需要等待UE可达后再下发。

步骤4:AMF触发寻呼(CM-IDLE场景)

AMF向RAN发送NGAP Paging消息,RAN在UE注册区域内广播寻呼消息。UE收到寻呼后:

  1. 发起RRC连接建立;

  2. 发送NAS Service Request消息;

  3. AMF将UE状态更新为CM-CONNECTED。

步骤5:AMF下发URSP策略

UE进入CM-CONNECTED状态后,AMF通过NGAP Downlink NAS Transport消息将URSP策略下发给UE:


DL NAS Transport:

  Payload Container Type: 5 (UE Policy Container)

  Payload Container:

    UE Policy DL:

      URSP Rule List:

        [Updated URSP Rules]

步骤6:UE处理并确认URSP更新

UE收到DL NAS Transport消息后:

  1. 解析Payload Container Type=5,识别为UE Policy信息;

  2. 解析URSP规则列表,更新本地保存的URSP策略;

  3. 评估新策略与当前PDU会话的关系:

  4. 如果新策略不影响已建立的PDU会话,不做额外处理;

  5. 如果新策略导致某个App的切片选择变化,UE在下次发起该App流量时使用新策略;

  6. 通过UL NAS Transport发送UE Policy Update Ack确认。

步骤7:AMF通知PCF

AMF收到UE的UL NAS Transport(UE Policy Update Ack)后,通过Namf_Communication_N1MessageNotify通知PCF:


Namf_Communication_N1MessageNotify:

  n1MessageContainer:

    n1MessageClass: "5GMM"

    n1MessageContent:

      contentType: "application/nas"

      content: <UE Policy Update Ack>

PCF收到确认后,标记该UE的策略更新已完成。

3.3 URSP策略更新完整流程


flowchart TD

    A[用户修改签约/运营商调整策略] --> B[PCF检测到策略变更]

    B --> C[PCF生成新URSP策略]

    C --> D[PCF通过N1N2MessageTransfer发送给AMF]

    D --> E{AMF检查UE状态}

    E --> F[CM-CONNECTED:返回200 OK]

    E --> G[CM-IDLE:返回202 Accepted]

    G --> H[AMF触发Paging]

    H --> I[UE发起Service Request]

    I --> J[UE进入CM-CONNECTED]

    F --> K[AMF下发DL NAS Transport]

    J --> K

    K --> L[UE更新本地URSP策略]

    L --> M[UE发送UL NAS Transport确认]

    M --> N[AMF通知PCF策略更新完成]

4 关键信令参数分析

4.1 PCF下发的URSP策略(N1消息)

PCF通过N1N2MessageTransfer发送的URSP策略(示例):


{

  "uePolicy": {

    "urspRules": [

      {

        "urspRulePrecedence": 1,

        "trafficDescriptor": {

          "appId": "com.operator.videoconference"

        },

        "routeSelectionDescriptor": [

          {

            "routeSelectionPrecedence": 1,

            "routeDescriptorType": 2,

            "snssai": {"sst": 2},

            "dnn": "internet"

          }

        ]

      },

      {

        "urspRulePrecedence": 2,

        "trafficDescriptor": {

          "appId": "com.operator.iotgateway"

        },

        "routeSelectionDescriptor": [

          {

            "routeSelectionPrecedence": 1,

            "routeDescriptorType": 2,

            "snssai": {"sst": 3},

            "dnn": "iot"

          }

        ]

      },

      {

        "urspRulePrecedence": 3,

        "trafficDescriptor": {

          "appId": "com.operator.gamecloud"

        },

        "routeSelectionDescriptor": [

          {

            "routeSelectionPrecedence": 1,

            "routeDescriptorType": 2,

            "snssai": {"sst": 1, "sd": "010203"},

            "dnn": "game"

          }

        ]

      },

      {

        "urspRulePrecedence": 255,

        "trafficDescriptor": {

          "matchAll": true

        },

        "routeSelectionDescriptor": [

          {

            "routeSelectionPrecedence": 1,

            "routeDescriptorType": 2,

            "snssai": {"sst": 1},

            "dnn": "internet"

          }

        ]

      }

    ]

  }

}

4.2 DL NAS Transport消息参数

参数名称 说明
Payload Container Type 5 UE Policy Container
Payload Container Updated URSP Rules 新的URSP策略
Additional Information N/A 无额外信息

4.3 UL NAS Transport消息参数(UE确认)

参数名称 说明
Payload Container Type 5 UE Policy Container
Payload Container UE Policy Update Ack 策略更新确认

4.4 AMF CLI验证数据

AMF策略下发处理日志(脱敏):


# AMF UE Policy Distribution Log

Time: 2026-04-17 17:10:05.100

SUPI: imsi-4608800000XXXXXX

GPSI: 86138000XXXXXX

Received N1N2MessageTransfer from PCF:

  Policy Association ID: pa-4608800000XXXXXX-001

  N1 Message Type: UE Policy Container

  URSP Rules: 4 rules (1 updated, 1 new)

UE Connection State Check:

  CM State: CM-IDLE

  Action: Return 202 Accepted, trigger Paging

Paging Triggered:

  TAI List: [46088-A001, 46088-A002]

  Paging DRX: 32

  Paging Priority: Normal

UE Service Request Received:

  Time: 2026-04-17 17:10:07.500

  UE State updated: CM-IDLE -> CM-CONNECTED

DL NAS Transport Sent:

  Payload Container Type: 5 (UE Policy)

  URSP Rules: 4 rules delivered

  RAN UE NGAP ID: 0x0003

UL NAS Transport Received:

  Time: 2026-04-17 17:10:08.200

  Payload Container Type: 5

  UE Policy Update Ack received

N1MessageNotify sent to PCF:

  N1 Message: UE Policy Update Ack

  Response from PCF: 200 OK

URSP Policy Distribution: COMPLETED

PCF策略推送日志(脱敏):


# PCF Policy Update Log

Time: 2026-04-17 17:10:04.800

SUPI: imsi-4608800000XXXXXX

Policy Association: pa-4608800000XXXXXX-001

Trigger: Subscription Data Change

  Source: UDR Policy Data Update

  Change Type: URSP Rule Modified + URSP Rule Added

  Affected Rules:

    Rule 1: App=videoconf, S-NSSAI changed SST=1/SD=010203 -> SST=2

    Rule 3: App=gamecloud, NEW, S-NSSAI=SST=1/SD=010203, DNN=game

N1N2MessageTransfer Sent:

  Target AMF: amf-01-set01-instance01

  AMF Response: 202 Accepted (UE is CM-IDLE)

Waiting for UE Policy Update Ack...

N1MessageNotify Received:

  Time: 2026-04-17 17:10:08.300

  UE Policy Update Ack: RECEIVED

  URSP Update Status: COMPLETED

4.5 PCF订阅流程(N1N2MessageSubscribe)

PCF在初始创建Policy Association时或后续,可以订阅AMF的N1消息通知:


Namf_Communication_N1N2MessageSubscribe Request:

  uePolicyAssociationId: "pa-4608800000XXXXXX-001"

  n1MessageClass: "5GMM"

  n2InformationClass: N/A

  subscriptionData:

    callbackUri: "https://pcf.operator.com/n1n2notify/4608800000XXXXXX"

    n1MessageCallback: true

AMF返回:


Response: 201 Created

  subscriptionId: "sub-amf-001-4608800000XXXXXX"

此后,当UE向AMF发送任何N1消息时,AMF都会通过回调URI通知PCF。

5 测试验证与数据解读

5.1 测试预置条件

本场景的测试预置条件包括:

  • UE已成功注册到网络;

  • PCF已创建AM Policy Association;

  • PCF已通过N1N2MessageSubscribe订阅了UE的N1消息通知;

  • AMF中保存了UE当前的URSP策略版本;

  • 运营商后台已准备好触发策略变更操作。

5.2 验证要点

验证点1:PCF正确检测策略变更

在PCF日志中确认:

  • PCF检测到UDR中的策略数据变更;

  • PCF正确生成了新的URSP策略;

  • 新策略包含正确的切片路由规则。

验证点2:N1N2MessageTransfer正确发送

在PCF-AMF接口跟踪中确认:

  • PCF发送了N1N2MessageTransfer请求;

  • 请求中包含正确的N1消息(UE Policy Container);

  • AMF正确响应(200 OK或202 Accepted)。

验证点3:AMF正确处理CM-IDLE场景

在AMF日志中确认:

  • AMF检测到UE为CM-IDLE状态;

  • AMF返回202 Accepted(而非200 OK);

  • AMF触发了Paging流程;

  • UE通过Service Request进入CM-CONNECTED后,AMF下发了URSP策略。

验证点4:UE正确接收并应用新URSP

在NAS消息跟踪中确认:

  • DL NAS Transport消息中Payload Container Type=5;

  • UE收到了更新的URSP策略;

  • UE发送了UL NAS Transport确认(UE Policy Update Ack)。

验证点5:PCF收到UE确认

在PCF日志中确认:

  • PCF收到了AMF的N1MessageNotify;

  • UE Policy Update Ack被正确处理;

  • 策略更新流程完成。

5.3 数据解读

通过分析测试数据,可以得出以下关键结论:

  1. 202与200的区别是关键诊断信息:AMF返回202 Accepted说明UE当前CM-IDLE,策略需要等待UE可达后下发;返回200 OK说明UE当前CM-CONNECTED,策略直接下发成功。在排障时,如果看到202但UE长时间未收到策略更新,可能是寻呼失败或UE不可达。

  2. Payload Container Type=5是策略更新的标志:在NAS消息跟踪中,看到DL NAS Transport消息的Payload Container Type=5,就意味着这是一条策略下发消息,而非普通的SM信令。

  3. PCF订阅是推送式更新的前提:PCF必须先通过N1N2MessageSubscribe订阅AMF的通知,才能在UE发送UL NAS Transport时收到确认。如果没有订阅,PCF无法知道UE是否成功接收了策略更新。

  4. URSP更新不影响已建立的PDU会话:新URSP策略只影响UE后续发起新应用流量时的切片选择。已建立的PDU会话不会因为URSP变更而自动释放或切换切片。

6 小结与思考

6.1 本篇小结

本篇详细分析了PCF签约信息变更触发切片重选的URSP策略更新通知流程。关键要点如下:

  1. 触发链路:用户/运营商修改签约 -> PCF检测变更 -> 生成新URSP -> 通过N1N2MessageTransfer发送给AMF。

  2. CM-IDLE处理:AMF返回202 Accepted,触发Paging使UE进入CM-CONNECTED后再下发策略。

  3. NAS传输机制:URSP策略通过DL NAS Transport(Payload Container Type=5)下发,UE通过UL NAS Transport确认。

  4. PCF订阅机制:PCF通过N1N2MessageSubscribe订阅AMF的N1消息通知,确保能收到UE的策略更新确认。

6.2 延伸思考

思考1:URSP更新失败的回退机制

如果UE未能成功接收URSP更新(例如UE关机、信号中断等),AMF无法下发策略。PCF可以设置重试定时器,在定时器超时后重新尝试推送。但如果UE长时间不可达,策略更新将被延迟。当UE重新可达时,AMF或PCF可以再次触发策略下发。

思考2:URSP更新与PDU会话重建的关系

本篇讨论的场景中,URSP更新不影响已建立的PDU会话。但如果运营商需要立即将某个App的流量从旧切片迁移到新切片,可能需要触发PDU会话释放和重建。TS 23.502定义了PDU Session Release流程,AMF/SMF可以主动释放PDU会话,强制UE使用新策略重建。

思考3:第15篇预告

第15篇将继续讨论PCF签约信息变更触发切片重选的场景,但将重点对比CM-IDLE和CM-CONNECTED两种状态下的处理差异。本篇以CM-IDLE为主线(因为CM-IDLE场景更复杂),第15篇将深入对比两种状态下的信令差异、时序差异和运维要点。


← 返回 网络切片 实践篇