首页 › core-network › 5G SSC模式三PSA重选信令拆解

5G SSC模式三PSA重选机制与Make-Before-Break信令全链拆解

一、为什么5G需要重新定义"会话连续性"

在4G EPC架构中,一条PDN连接自始至终锚定在同一个PGW上,无论终端(UE)如何移动,分配到的IP地址全程保持不变。这种"锚点固定、IP不变"的模型虽然保证了会话连续性,却把整个用户面的回程流量都强行拉回中心PGW,无法适应5G的边缘计算(MEC)与本地分流需求。

5G核心网(5GC)将用户面功能(UPF)从集中式演进为分布式可编程节点,要求锚点UPF能够跟随UE的移动而动态重选,使业务流量就近卸载。但"换锚点"必然带来一个问题:IP地址要不要变?业务要不要断? 3GPP在TS 23.501 clause 5.6.9中用三种会话与服务连续性(Session and Service Continuity, SSC)模式来精确回答这两个问题,SSC mode 3就是其中工程上最复杂、对边缘计算最关键的一种。

本文聚焦TS 23.501 §5.6.9.3与TS 23.502 §4.3.2定义的SSC模式三PSA(PDU Session Anchor)重选机制,拆解其Make-Before-Break(先建后拆)信令全链、关键IE(TS 24.501)、SMF决策逻辑,以及抓包识别与排错方法。

二、三种SSC模式的设计哲学

SSC模式的本质是"当锚点UPF需要更换时,网络以何种方式完成过渡"。三者的差异集中在IP是否保持与业务是否中断两个维度上。

维度 SSC Mode 1 SSC Mode 2 SSC Mode 3
锚点PSA 全程不变 改变(旧先释放) 改变(新先建立)
切换模型 固定锚点 Break-Before-Make Make-Before-Break
IP地址/前缀 保持 改变 改变
业务中断 无 有(旧会话释放→新建间隙) 几乎无(新旧会话短暂并存)
路由最优性 差(锚点固定,远端回程) 好 好
触发方 无需触发 网络触发释放,UE重建 网络触发新建,再释放旧
典型场景 IMS/VoNR、需IP稳定的TCP长连接 普通Internet访问、可容忍短暂中断 URLLC、MEC本地业务、实时流媒体

下面的状态图刻画了同一DNN+S-NSSAI下三条PDU会话在SSC模式三PSA重选过程中的生命周期与锚点迁移:

stateDiagram-v2
    direction LR
    [*] --> SessA_Old: PDU会话A建立(SSC mode3)\n锚点=PSA-Old
    SessA_Old --> SessB_New: SMF触发新建会话B\n锚点=PSA-New
    note right of SessB_New
        Make-Before-Break窗口
        会话A与会话B短暂并存
        用户面双路径同时在线
    end note
    SessB_New --> SessA_Released: 新会话B用户面就绪\nSMF释放会话A
    SessA_Released --> SessB_Stable: 旧PSA-Old N4拆除
    SessB_Stable --> [*]: 锚点迁移完成\nIP前缀已更新

设计意图可以归纳为三点:第一,把"IP保持"和"路由最优"解耦——mode 1要IP保持就牺牲路由,mode 2/3要路由最优就接受IP变化;第二,用"双会话并存窗口"换取零中断——这是mode 3区别于mode 2的核心代价(需要UE支持同时维护两条到同一DN的PDU会话);第三,把锚点选择权交给SMF的策略决策(SSC模式选择、UPF重选触发条件均由SMF依据签约与本地策略决定)。

三、SSC模式三完整信令时序拆解

下图是SSC模式三PSA重选的完整信令流,假设UE已存在一条锚定在PSA-Old的PDU会话(PSS ID=5,SSC mode 3)。SMF在检测到重选条件后,先建立一条锚定在PSA-New的新会话(PSS ID=6),再释放旧会话,整个过程UE短暂持有两条PDU会话。

sequenceDiagram
    autonumber
    participant UE
    participant AN as (R)AN/gNB
    participant AMF
    participant SMF
    participant PSA_O as PSA-Old
    participant PSA_N as PSA-New
    participant NRF
    participant PCF

    Note over UE,PSA_O: 阶段0:已有会话A(PSS=5)锚定PSA-Old, SSC mode3

    Note over SMF: 阶段1:SMF决策PSA重选(UE移动/DNAI变化/本地策略)
    SMF->>NRF: Nnrf_NFDiscovery(UPF, DNAI, S-NSSAI)
    NRF-->>SMF: 返回候选UPF列表
    SMF->>SMF: 选择PSA-New为新锚点

    Note over SMF,PSA_N: 阶段2:建立新会话B(PSS=6)的N4用户面
    SMF->>PSA_N: N4 Session Establishment Request(F-TEID, PDR/FAR/QER)
    PSA_N-->>SMF: N4 Session Establishment Response(N9 F-TEID)
    SMF->>PCF: Nsmf_SMPolicyControl_Update(DNAI变更通知)
    PCF-->>SMF: 更新后的PCC规则(可选新ULCL/I-UPF)

    Note over SMF,UE: 阶段3:网络触发新会话B建立(Make)
    SMF->>AMF: Namf_Communication_N1N2MessageTransfer\nN2=PDU Session Resource Setup\nN1=PDU SESSION ESTABLISHMENT ACCEPT\n(新IP前缀, PSS=6, SSC mode3)
    AMF->>AN: N2 PDU Session Resource Setup Request
    AN->>UE: RRC Reconfiguration(含N1 SM容器)
    Note over UE: UE获得新IP前缀, 会话B用户面就绪\nUE现同时持有会话A+B

    Note over AN,SMF: 阶段4:新会话B用户面激活
    AN-->>AMF: N2 PDU Session Resource Setup Response(AN隧道F-TEID)
    AMF->>SMF: Nsmf_PDUSession_UpdateSMContext(AN隧道)
    SMF->>PSA_N: N4 Session Modification(下发AN N3 F-TEID)

    Note over SMF,PSA_O: 阶段5:释放旧会话A(Break旧锚点)
    SMF->>AMF: Namf_Communication_N1N2MessageTransfer\nN1=PDU SESSION RELEASE COMMAND(PSS=5)\nN2=PDU Session Resource Release
    AMF->>AN: N2 PDU Session Resource Release Command
    AN->>UE: RRC释放PSS=5相关资源
    UE-->>AN: 释放确认
    AN-->>AMF: N2 Release Response
    AMF->>SMF: Nsmf_PDUSession_UpdateSMContext(释放)
    SMF->>PSA_O: N4 Session Release Request
    PSA_O-->>SMF: N4 Session Release Response

    Note over UE,PSA_N: 完成:会话B(PSS=6)锚定PSA-Old已迁移至PSA-New, 零中断

逐步解析关键交互:

步骤1-3(决策与发现):SMF的PSA重选触发源有三类——UE移动导致跟踪区(TA)变化、应用触发的DNAI(Data Network Access Identifier)变化、或运营商本地策略周期评估。SMF通过Nnrf_NFDiscovery按DNAI+S-NSSAI+UPF能力发现候选PSA-New,这里的关键查询参数是upf_info中的pdu_session_types与dnai_list。

步骤4-6(N4预建):SMF在通知UE之前,先与PSA-New完成N4会话建立,这是Make-Before-Break能在用户面层无缝衔接的前提。N4 Session Establishment Request中携带检测规则(PDR)、转发规则(FAR)、QoS执行规则(QER)。注意此时N9侧F-TEID已分配,但N3侧(到AN的隧道)尚未激活——因为新会话的N2信令还没下发。

步骤7-10(网络触发新会话建立):这是SSC模式三最核心的一步。普通PDU会话建立是UE主动发起(Request type=initial request),而SSC模式三是网络主动触发。SMF通过Namf_Communication_N1N2MessageTransfer一次性下发N2(给AN的PDU Session Resource Setup)和N1(给UE的PDU SESSION ESTABLISHMENT ACCEPT,内含新的IP前缀与PSS ID=6)。UE收到后即获得新IP,两条会话的用户面在AN侧短暂并存。

步骤11-13(新会话用户面激活):AN完成空口资源分配后,将AN侧N3隧道F-TEID通过N2 Response回传,AMF经Nsmf_PDUSession_UpdateSMContext转发给SMF,SMF再用N4 Session Modification把AN隧道写入PSA-New的FAR,新会话B用户面正式激活。

步骤14-20(释放旧会话):新会话B激活后,SMF才触发旧会话A(PSS=5)的释放——PDU SESSION RELEASE COMMAND给UE,N4 Session Release给PSA-Old。至此Make-Before-Break窗口关闭,锚点迁移零中断完成。

四、关键IE结构解析(TS 24.501)

SSC模式三在空口NAS信令上的识别,依赖几个核心IE。下图是PDU SESSION ESTABLISHMENT REQUEST消息中与SSC相关的IE结构:

graph TD
    A[PDU SESSION ESTABLISHMENT REQUEST] --> B[PDU Session Identity]
    A --> C[PTI Procedure Transaction Identity]
    A --> D[Integrity protection maximum data rate]
    A --> E[PDU session type]
    A --> F[SSC mode]
    A --> G[5GSM capability]
    A --> H[Maximum number of supported packet filters]
    A --> I[DNN]
    A --> J[S-NSSAI]
    A --> K[Request type]
    A --> L[SM PDU DN request container]

    F --> F1["值=3 → SSC mode 3"]
    K --> K1["值=0 initial request<br/>值=1 existing PDU session<br/>值=4 modification request"]
    E --> E1["IPv4 / IPv6 / IPv4v6 / Ethernet / Unstructured"]

下表给出关键IE的取值与SSC模式三的关联:

IE名称(TS 24.501) 长度 取值 SSC模式三中的含义
SSC mode 1 octet 1 / 2 / 3 UE请求mode 3;SMF校验签约是否允许该DNN+S-NSSAI使用mode 3
Request type 1 octet initial/existing/modification 新会话B建立时为initial request,与旧会话A的existing PDU session区分
PDU session type 1 octet IPv4/IPv6/IPv4v6/Ethernet 锚点迁移后新IP前缀类型必须与会话A一致(同DNN)
DNN 可变 如internet/ims 新旧会话B/A的DNN必须相同,否则不算同一业务的连续性迁移
S-NSSAI 4 octet SST+SD 新旧会话需属于同一切片
PDU Session Identity 1 octet 0-15 新会话B必须用不同的PSS ID(如6),UE不能同时持两条同ID会话
5GSM capability 1 octet 反射QoS/多跳等 UE需声明支持同时多PDU会话,否则无法完成Make-Before-Break

值得强调的设计点:为什么新会话必须用新的PSS ID? 因为TS 23.501规定一条PDU会话由(UE ID, PDU Session ID)唯一标识,UE与SMF都不能为同一PSS ID同时维护两条N4会话。所以Make-Before-Break的"双会话窗口"在信令层面表现为两个PSS ID并存,而非一条会话挂两个锚点。这一点是抓包时区分SSC mode 3与mode 1/2的关键判据。

SMF侧在Namf_Communication_N1N2MessageTransfer中还有一个隐含的决策字段——PduSessionId与TEID的新旧配对。SMF在签约数据(UDM的SessionManagementSubscriptionData)中查询该DNN+S-NSSAI的allowed SSC modes,若签约仅允许mode 1而UE请求mode 3,SMF会以5GSM cause #67(SSC mode not allowed)拒绝。

五、SMF的SSC模式三决策逻辑

PSA重选不是随时发生,SMF有一套明确的触发与决策逻辑。下图刻画SMF在判定是否启动SSC mode 3重选时的状态流转:

flowchart TD
    Start([SMF持续监测触发源]) --> T1{触发源到达?}
    T1 -->|UE移动到新TA| E1[位置变化事件]
    T1 -->|AF/NEF通知DNAI变化| E2[应用重定位事件]
    T1 -->|本地策略周期评估| E3[运营商策略事件]
    E1 & E2 & E3 --> T2{会话SSC mode==3?}
    T2 -->|否, mode1| R1[保持锚点不变]
    T2 -->|否, mode2| R2[Break-Before-Make\n释放旧会话让UE重建]
    T2 -->|是| T3{签约允许该DNN\n使用mode3?}
    T3 -->|否| R1
    T3 -->|是| T4{UE支持多PDU会话\n且资源充足?}
    T4 -->|否| F1[降级为mode2处理]
    T4 -->|是| T5{存在更优DNAI的\n候选PSA-New?}
    T5 -->|否| R1
    T5 -->|是| Act[启动Make-Before-Break\n建新会话B]
    Act --> Fin([完成锚点迁移])
    R1 --> Fin
    R2 --> Fin
    F1 --> Fin

关键决策点解读:

六、与SSC模式二的深度对比

mode 2与mode 3都会换锚点、都会换IP,区别在于过渡方式,这直接决定了中断时长与UE实现复杂度。

对比项 SSC Mode 2(Break-Before-Make) SSC Mode 3(Make-Before-Break)
时序 释放旧会话→UE重建新会话 建立新会话→释放旧会话
双会话窗口 无 有(短暂并存)
业务中断 有,时长≈新会话建立全程 几乎无,仅UE应用切换本地IP
网络侧N4 旧PSA先拆除 新PSA先建立,旧PSA后拆除
UE实现复杂度 低(一次会话) 高(需支持同DNN多会话+IP迁移)
对AR/URLLC 不友好(中断敏感) 友好
信令消息量 少(一次Release+一次Est) 多(两次Est/Release + 双N4)
资源消耗 低 高(峰值双倍用户面资源)
抓包特征 先见RELEASE再见ESTABLISH 先见ESTABLISH再见RELEASE,PSS ID不同

一个高频疑问:既然mode 3零中断更好,为什么不全部用mode 3? 因为mode 3峰值占用双倍空口与N4资源,且要求UE具备多会话能力。对于海量mIoT终端或纯无连接类业务,mode 2的资源效率更高。运营商通常按业务类型在UDM签约中预设:IMS类用mode 1,普通宽带用mode 2,MEC/URLLC用mode 3。

七、抓包识别实战

在端到端抓包(NGAP/NAS/N4/PFCP)中识别SSC模式三,可按以下特征定位。

NAS层识别(N1接口,经NGAP透传): - 用Wireshark过滤 nas-5gs.message_type == 0xc1(PDU SESSION ESTABLISHMENT REQUEST)与 0xc2(ACCEPT)。在同一DNN下连续看到两条ESTABLISH,且PSS ID不同、均带ssc_mode == 3,即可初步判定为mode 3重选。 - 关键判据:检查request_type——新会话B的request_type == initial request (0),而它并非由UE主动发起(无对应的前序UE ESTABLISH REQUEST,而是网络下发的ACCEPT)。 - 对比mode 2:会先看到PDU SESSION RELEASE COMMAND(消息类型0xc6),其后再见UE发起的ESTABLISH。

N4/PFCP层识别(SMF↔UPF): - 过滤 pfcp.msg_type == 50(Session Establishment Request)。SSC mode 3的特征是:对同一UE同一DNN,先出现一条指向PSA-New的Session Establishment,随后才出现指向PSA-Old的Session Deletion(msg_type == 54)。这个"先建后删"顺序与mode 2的"先删后建"恰好相反,是最可靠的判据。 - 检查PDR/FAR中的F-TEID:新会话B的N9 F-TEID指向PSA-New,与旧会话A的N9 F-TEID指向PSA-Old形成对照。

NGAP层识别(N2接口): - 过滤 ngap.procedureCode == 37(PDU Session Resource Setup)与 ngap.procedureCode == 38(PDU Session Resource Release)。mode 3下同一UE的Setup与Release会针对不同PDU Session ID成对出现,且Setup在前。

八、常见故障点与排错思路

故障现象 可能根因 排错思路
SSC mode 3请求被拒,cause #67 签约allowed SSC modes不含mode 3 查UDM SessionManagementSubscriptionData中该DNN+S-NSSAI的SSC配置
Make-Before-Break窗口不消失,旧会话不释放 SMF未收到新会话用户面激活确认(N2 Setup Response丢失) 检查AN↔AMF的N2链路、Nsmf_PDUSession_UpdateSMContext是否回传AN F-TEID
新会话建立后UE应用仍用旧IP UE未处理新IP前缀(IPv6 RA / DHCPv4) 抓N1 ACCEPT确认新IP已下发,查UE协议栈IPv6 Router Advertisement处理
双会话期资源超限导致RRC拒绝 空口无法同时承载两条PDU会话资源 评估UE多会话能力声明、检查gNB PDU Session Resource容量
SMF选不到PSA-New NRF DNAI未配置或UPF未注册对应DNAI 查Nnrf NFDiscovery返回结果、UPF的dnai_list注册

排错优先级建议:先确认NAS层SSC模式协商(UE请求 vs 签约允许),再确认N4层"先建后删"顺序,最后定位用户面F-TEID配对。多数mode 3问题集中在签约配置与双会话资源窗口两个环节。

常见问题

Q: SSC mode 3能否做到IP地址不变? A: 标准定义下mode 3允许IP变化,但工程上有"同会话PSA变更"的实现变体,可在IP不变的前提下完成锚点迁移(更接近mode 1的IP保持+mode 3的锚点可变)。是否支持取决于厂商与场景,TS 23.501 §5.6.9.3将其作为可选实现。

Q: Make-Before-Break的双会话窗口最长能持续多久? A: 标准未规定硬性时长,但要求SMF在新会话用户面激活后"尽快"释放旧会话。实际部署中通常在秒级内完成,过长的双会话窗口会造成空口与N4资源浪费,运营商一般通过SMF定时器(如数秒)兜底强制释放。

Q: UE如何感知需要发起mode 3的新会话建立? A: mode 3下新会话建立是网络主动触发的——SMF经AMF下发PDU SESSION ESTABLISHMENT ACCEPT(携带新IP与PSS ID),UE被动接收。这区别于mode 2(UE感知旧会话释放后由应用层主动重建)。

Q: SSC mode 3与边缘计算ULCL分流是什么关系? A: 二者互补。ULCL是在单一锚点会话内插入分流规则实现本地卸载(IP不变);mode 3是迁移整个锚点PSA。MEC场景中常组合使用:mode 3把锚点迁到本地PSA,再在该PSA配置ULCL规则。DNAI是连接两者的纽带。

Q: 为什么我的抓包里mode 3看起来像两次普通会话建立? A: 因为信令层面mode 3的双会话窗口本质上就是"两条普通PDU会话建立"。区分关键在于:① 两条会话DNN/S-NSSAI相同;② PSS ID不同;③ N4侧"先建新PSA后删旧PSA"的顺序;④ 新会话由网络主动触发而非UE主动发起。

参考来源

  1. 3GPP TS 23.501 V18.x — System architecture for the 5G System — clause 5.6.9 SSC modes, clause 5.6.7 SSC mode selection
  2. 3GPP TS 23.502 V18.x — Procedures for the 5G System — clause 4.3.2 PDU Session management procedures, SSC mode 3 re-establishment
  3. 3GPP TS 24.501 V18.x — NAS protocol for 5G — PDU SESSION ESTABLISHMENT REQUEST message, SSC mode IE, Request type values
  4. ShareTechnNote — 5G SSC Modes — SSC mode 1/2/3 流程与场景对比解读
  5. 3GPP TS 29.244 V18.x — Interface between SMF and UPF (N4/PFCP) — PDR/FAR/QER 规则与 PSA 重选的 N4 交互

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