首页 › core-network › SSC模式3锚点重选信令全链拆解

SSC模式3锚点重选信令全链拆解:会话与业务连续性的"先建后拆"

在5G核心网中,会话与业务连续性(Session and Service Continuity, SSC)机制决定了当UE移动或网络拓扑变化时,一个PDU会话的IP锚点(PSA UPF)是否、以及如何被更换。其中SSC模式3是三种模式中工程实现最复杂、信令交互最"重"的一种:它采用"先建后拆"(make-before-break)策略——在释放旧锚点之前先建立通往同一数据网络的新锚点,并显式改变UE的IP地址。本文依据 TS 23.501 §5.6.9.2.3 与 TS 23.501 §6.3.3.3,结合 TS 23.502 §4.3.2 / §4.23.4 的信令流程,逐条拆解 PSA 重选的触发、UPF 选择算法、N1/N2/N4 关键信息元(IE),以及数据面平滑切换中的 End Marker 防丢包设计。


一、SSC三模式的精确边界与模式3的位置

TS 23.501 §5.6.9 定义了三种SSC模式,理解它们的差异是理解模式3的前提。一个PDU会话在整个生命周期内SSC模式不变(TS 23.501 §5.6.4),因此SSC模式的选择发生在会话建立时,且一旦选定不可中途切换——这正是模式3必须用"重建新会话"而非"修改旧会话"来实现锚点重选的根本原因。

模式 锚点是否变更 IP地址是否保持 切换时序 典型场景
SSC Mode 1 否(PSA不变,仅中间UPF/UL CL可变) 是(保持) 不中断 普通上网、需要IP连续性的长连接
SSC Mode 2 是 否(变更) 先拆后建(break-before-make) 可容忍短暂中断、对路由最优敏感
SSC Mode 3 是 否(变更) 先建后拆(make-before-break) 移动性中既要最优锚点又要尽量不丢包

模式3的工程价值正是表格最后一行所揭示的:它把"换锚点"(必然换IP)与"尽量不中断"这两个看似矛盾的需求通过并行双会话调和起来。

TS 23.501 §5.6.9.2.3 对模式3的规范原文(经 iTecSpec 核对)明确写道:

"For PDU Session of SSC mode 3, the network allows the establishment of UE connectivity via a new PDU Session Anchor to the same data network before connectivity between the UE and the previous PDU Session Anchor is released. When trigger conditions apply, the network decides whether to select a PDU Session Anchor UPF suitable..."

这句话定义了模式3的两条铁律:(1) 锚点切换的目标必须是同一数据网络(same DNN + S-NSSAI)的新PSA;(2) 新锚点建立先于旧锚点释放。这与模式2的"释放旧会话后才建立新会话"形成鲜明对比。

设计意图:为什么模式3不用UL CL?

读者可能会问:既然要保持业务连续,为什么不直接用 SSC Mode 1 + UL CL(上行分类器)/ Branching Point 来做流量分流?答案是:

flowchart LR
    A["移动/分析/AF触发<br/>旧PSA已非最优"] --> B{SSC模式判定}
    B -->|Mode 1| C["保留PSA+IP<br/>插入UL CL分流"]
    B -->|Mode 2| D["释放旧会话<br/>再建新会话<br/>IP变, 中断"]
    B -->|Mode 3| E["并行建立新PSA新IP<br/>迁移业务<br/>后释放旧会话"]
    C --> F["IP不变, 最优但锚点不变"]
    D --> G["锚点最优, 短暂中断"]
    E --> H["锚点最优 + 尽量不中断<br/>IP变更需上层适配"]
    style E fill:#d4edda,stroke:#28a745
    style H fill:#d4edda,stroke:#28a745

二、SSC模式选择策略:URSP与SSCMSP如何驱动

UE在发起PDU会话前,必须先确定该用哪种SSC模式。这一决策由 TS 23.503 §6.6.2 定义的 URSP(UE Route Selection Policy) 中的SSC模式选择策略(SSCMSP) 完成。URSP规则将"应用(通过Traffic Descriptor匹配)"映射到一组路由选择描述子(Route Selection Descriptor),其中可包含以下组件:

当应用发起数据请求时,UE先匹配URSP规则;若规则指定SSC Mode 3,则UE在 PDU SESSION ESTABLISHMENT REQUEST 中携带该模式。SMF收到后会校验订阅:UE请求的模式3必须同时满足UDM签约中的"Default SSC Mode"或"Allowed SSC Mode"(Cisco SMF文档明确:"The SMF verifies if UE sent SSC mode is part of either default SSC mode or allowed SSC mode")。校验失败则拒绝或回退到默认模式。

工程要点:模式3必须在UE侧(URSP)与网络侧(UDM签约)同时被允许,二者缺一不可。这是排错中最常见的"模式协商失败"根因。


三、触发条件与SMF的锚点重选决策

TS 23.501 §5.6.9.2.3 指出"When trigger conditions apply, the network decides"。模式3的重锚点触发完全由网络(SMF)决策,UE无法主动发起锚点更换(UE能做的只是"重建会话",但何时重建由网络触发或UE基于本地决策)。典型触发条件包括:

  1. UE移动性:UE移出当前PSA UPF的服务区域,旧N9/N6路径变得明显次优(时延、回传成本)。
  2. AF影响路由(AF-influenced routing):AF通过NEF/PCF请求将某UE/DNN流量路由到指定DNAI对应的本地DN(TS 23.502 §4.23.3 AF session with QoS 触发)。
  3. NWDAF分析:SMF订阅NWDAF的UPF负载、业务体验(Service Experience)、DN性能分析,当预测某UPF将过载或体验劣化时触发(TS 23.501 §6.3.3.3 明确将 analytics 列为选择输入)。
  4. 运营商OAM策略/阈值:如会话数、吞吐量阈值。

UPF选择算法(TS 23.501 §6.3.3.3)

SMF为新PSA选择UPF时,所考虑的输入参数经 iTecSpec 核对,至少包括:

输入参数 来源 在模式3重选中的作用
UPF动态负载 UPF上报/NWDAF 避开过载节点,实现负载均衡
Analytics(统计/预测) NWDAF 预测性重选,提前规避瓶颈
Service Experience分析 NWDAF 业务体验驱动的锚点优化
DN Performance分析 NWDAF 依据DN侧吞吐/时延选最优锚点
UPF与DN的拓扑/可达性 OAM配置 确保新PSA能直连目标DN(DNAI)
UE位置(TA/Cell) AMF 选择地理/逻辑最近的UPF
DNN、S-NSSAI 会话上下文 DNAI约束、切片亲和性
能力(如支持的QoS、IP类型) NRF/UPF profile 能力匹配过滤

关键设计:§6.3.3.3 的NOTE指出"在本版本中,SMF对PDU会话UPF选择不使用额外参数"——意味着选择是上述多输入的组合启发式,规范不规定具体打分公式,留给厂商实现,这正是不同厂商行为差异的根源之一。

flowchart TD
    T1["触发: 移动/AF/分析/OAM"] --> DEC["SMF锚点重选决策"]
    DEC --> Q1{当前会话SSC模式?}
    Q1 -->|Mode 1| X1["不换PSA, 插入UL CL"]
    Q1 -->|Mode 3| Q2["选新PSA UPF<br/>输入: DNAI/负载/分析/位置"}
    Q1 -->|Mode 2| X2["直接释放旧会话"]
    Q2 --> Q3["分配新IP/Prefix<br/>新PDU Session ID"]
    Q3 --> Q4["建立新会话端到端<br/>N4/N2/N1"]
    Q4 --> Q5["业务迁移到新IP"]
    Q5 --> Q6["释放旧会话+旧PSA"]
    style Q2 fill:#fff3cd
    style Q4 fill:#d4edda
    style Q6 fill:#f8d7da

四、完整信令时序:先建后拆的端到端流程

下图展示网络触发、UE执行新建立、SMF管理双会话窗口、最后释放旧会话的完整信令链。这是模式3区别于模式1(UL CL)和模式2(直接释放)的核心。

sequenceDiagram
    autonumber
    participant UE
    participant RAN as gNB(RAN)
    participant AMF
    participant SMFo as SMF(旧, 管旧会话)
    participant PSAo as UPF(旧PSA)
    participant SMFn as SMF(新)*
    participant PSAn as UPF(新PSA)
    participant UDM
    participant PCF

    Note over UE,PSAo: 阶段0: 已有SSC Mode 3会话运行, IP=IP1
    SMFo->>SMFo: 检测触发(移动/AF/NWDAF)<br/>判定需重锚点
    SMFo->>AMF: N1N2Transfer(指示UE重建同DNN+S-NSSAI会话)
    AMF->>UE: 下行NAS(触发新PDU会话建立)

    Note over UE,PSAn: 阶段1: 建立新会话(make)
    UE->>AMF: UL NAS TRANSPORT<br/>PDU SESSION ESTABLISHMENT REQUEST<br/>(新PDU ID, SSC mode3, DNN, S-NSSAI, 类型)
    AMF->>SMFn: Nsmf_PDUSession_CreateSMContext
    SMFn->>UDM: Nudm_SDM(Get订阅/SSC允许)
    SMFn->>SMFn: 选择新PSA(§6.3.3.3) 分配新IP2
    SMFn->>PSAn: N4 PFCP Session Establishment Request<br/>(Create PDR/FAR/QER, 新F-TEID)
    PSAn-->>SMFn: N4 PFCP Session Est. Response(F-TEID)
    SMFn->>PCF: Npcf_SMPolicyControl_Create
    SMFn->>AMF: Namf_Communication_N1N2MessageTransfer<br/>(N1: ESTABLISH ACCEPT含IP2,SSC3; N2: SM info)
    AMF->>RAN: N2 PDU SESSION RESOURCE SETUP REQUEST
    RAN->>UE: RRC Reconfiguration(N3隧道)
    UE-->>RAN: RRC Reconfiguration Complete
    RAN-->>AMF: N2 PDU SESSION RESOURCE SETUP RESPONSE
    AMF->>SMFn: Nsmf_PDUSession_UpdateSMContext(N2 SM resp)

    Note over UE,PSAn: 阶段2: 双会话并行窗口<br/>UE同时持有IP1(旧)与IP2(新)
    UE->>UE: URSP/上层把新流绑定到IP2<br/>应用重连(MPTCP/SCTP/应用层)

    Note over UE,PSAo: 阶段3: 释放旧会话(break)
    SMFn->>SMFo: 互通(经AMF)协调释放旧会话
    SMFo->>PSAo: N4 PFCP Session Modification/Deletion<br/>(发End Marker到RAN/UE)
    SMFo->>AMF: N1N2Transfer(N1: PDU SESSION RELEASE)
    AMF->>UE: 下行NAS(PDU SESSION RELEASE)<br/>旧IP1回收
    UE-->>AMF: 上行NAS(PDU SESSION RELEASE ACK)
    AMF->>SMFo: UpdateSMContext(释放完成)
    Note over UE,PSAn: 终态: 仅IP2+新PSA, 路径最优

注:阶段0的触发指示在标准中由SMF通过现有会话上下文下发;阶段1的新会话可能由同一个SMF承担(SMF不重选,仅换PSA),也可能因UE移出SMF服务区而触发 SMF重选(TS 23.501 §6.3.2),此时由AMF为新会话选择新SMF(图中SMFn即此情形)。两条路径的信令差异主要在 CreateSMContext 是否走旧SMF。


五、关键信息元(IE)逐条解析

5.1 N1 SM 消息:PDU SESSION ESTABLISHMENT REQUEST(UE→网络)

IE 含义 模式3关键点
PDU Session ID 会话标识 新会话用不同于旧会话的ID
PDU Session Type IPv4/IPv6/IPv4v6/Ethernet 模式3常见IPv4v6/IPv6以利迁移
SSC Mode 请求的SSC模式 携带"mode 3"
DNN 数据网络名 必须与旧会话相同(重锚点前提)
S-NSSAI 切片 必须与旧会话相同
SM PDU DN Container 可选容器 携带UP/应用层信息

5.2 N1 SM 消息:PDU SESSION ESTABLISHMENT ACCEPT(网络→UE)

IE 含义 模式3关键点
PDU Address 分配的UE IP 新IP2(≠IP1),模式3换IP的直接体现
SSC Mode 协商确认的模式 确认为mode 3
QoS Rules QoS规则集 新会话QoS
Session AMBR 聚合最大比特率 限速
5GSM Cause 结果码 成功为#200

5.3 N4 接口:PFCP Session Establishment(SMF→新PSA)

flowchart TD
    subgraph PFCP Session Est. Request
        A["Create PDR<br/>PDI: F-TEID, SDF Filter"] --> B["Create FAR<br/>Forward: OuterHeaderCreation(N6/N9)"]
        B --> C["Create QER<br/>QFI, MFBR/GFBR, Gate"]
        C --> D["Create URR<br/>测量/计费上报"]
        D --> E["Create BAR<br/>缓存动作规则"]
    end
    E --> R["新PSA建立N3(到gNB)与N9/N6(到DN)隧道"]
    style A fill:#e3f2fd
    style B fill:#e3f2fd

关键IE:F-TEID(新PSA为下行分配的N3/N9隧道端点)、Outer Header Creation(封装GTP-U外层头指向gNB或下一个UPF)、PDR中的Source Interface(区分Access侧N3与Core侧N6)。这些是抓包定位"新锚点是否真正就绪"的核心字段。

5.4 N2 SM 信息(AMF↔RAN)


六、数据面平滑切换:End Marker与防丢包

"先建后拆"虽然降低了中断,但新旧路径并存期间仍存在乱序与重复包风险。TS 23.502 规定在旧PSA释放时,SMF通过N4指示旧PSA发送 End Marker 包(GTP-U扩展头标记的空包)。Cisco UPF文档明确:"At the time of the handover procedure, the PDU session... Constructing the End Marker Packets through UPF"。

End Marker的作用机制: 1. 新会话路径就绪,UE业务流量开始走新PSA(IP2)。 2. SMF向旧PSA下发 PFCP Session Deletion,旧PSA在删除前向RAN方向注入End Marker。 3. gNB收到End Marker后,知道旧隧道上再无数据,可安全丢弃旧隧道的迟到包,避免乱序上送UE。

设计精髓:End Marker是控制面(N4)触发、用户面(GTP-U)传递的"路径终结哨兵",是PSA重选数据面一致性的关键保障,也是TS 29.281(GTP-U)与TS 29.244(PFCP)协同的典范。


七、PDU会话状态与重选时间线

stateDiagram-v2
    [*] --> ACTIVE_M3: 旧会话(SSC3, IP1)运行
    ACTIVE_M3 --> TRIGGER: 网络检测重锚点条件
    TRIGGER --> DUAL_WINDOW: 新会话建立完成(IP2就绪)
    note right of DUAL_WINDOW
        双会话并行: UE持IP1+IP2
        业务逐步迁移到IP2
    end note
    DUAL_WINDOW --> MIGRATING: 上层/URSP绑定新流
    MIGRATING --> RELEASE_OLD: 旧流量归零/超时
    RELEASE_OLD --> ACTIVE_NEW: 旧会话释放, End Marker
    ACTIVE_NEW --> [*]

双会话窗口期(DUAL_WINDOW)的长短取决于上层迁移速度。若应用不支持多宿主(如普通TCP),需等旧连接自然断开后由新会话承载;若用MPTCP/URSP多路径,则可近乎无缝。这是模式3"软连续性"的本质——它保证锚点切换,但不保证单IP连续性。


八、实战:抓包识别与故障排查

8.1 抓包如何识别SSC模式3重选

在Wireshark/TShark(pcap-analyzer可解析NGAP/5G-NAS/PFCP/GTP)中,模式3重选的指纹是:

  1. 5G-NAS SM:同一UE、同一DNN+S-NSSAI,短时间内出现两个不同PDU Session ID的 ESTABLISHMENT REQUEST/ACCEPT,且两个 PDU Address 不同(IP1→IP2)。
  2. N4/PFCP:针对不同F-SEID的两个 Session Establishment,其中旧会话随后收到 Session Deletion Request 且携带 End Marker 相关指示。
  3. N2/NGAP:两次 PDU SESSION RESOURCE SETUP,对应两条N3 F-TEID。
  4. 触发侧:可观察到 NWDAF/PCF 的 Npcf_SMPolicyControl_Update 或AF经NEF的 Traffic Influence 创建。

TShark 示例:tshark -r cap.pcap -Y "5gsm.msg_type==0xc1 || pfcp.msg_type==50" 可快速过滤建立与PFCP会话创建消息。

8.2 常见故障点与排错思路

现象 可能根因 排查方向
UE请求mode3被拒(cause #95/67等) UDM签约未允许mode3;URSP未下发mode3 查UDM SSC Modes;查PCF下发的URSP
新会话建立失败 新PSA选择失败(DNAI无可达UPF);N4会话建失败 查SMF UPF选择日志;查NRF UPF profile/DNAI配置
业务中断明显 上层未感知IP变更;双窗口过短 查URSP是否绑定新流;查应用是否支持多宿主
乱序/重复包 End Marker未发送或迟到 查旧PSA N4删除是否带End Marker;查gNB处理
旧会话不释放 SMF间状态不同步;释放定时器未触发 查SMF-AMF UpdateSMContext链路
## 九、SSC模式3与其他方案的横向对比
维度 SSC Mode 1 SSC Mode 1 + UL CL SSC Mode 2 SSC Mode 3
PSA锚点 不变 不变(原锚点+本地锚点并存) 变更 变更
UE IP 不变 不变 变更 变更
切换时序 N/A(仅中间节点变) 中间节点插入/移除 先拆后建 先建后拆
业务中断 无 无 有(断) 极低(软连续)
信令开销 低 中(插BP/UL CL) 中 高(完整重建+释放)
上层适配 无 无 需重连 需重连/多宿主
典型场景 普通上网 本地分流+IP连续 容忍中断 MEC重定位/大范围移动

可见模式3用最高信令开销换取最优锚点+最低中断的平衡,适合对二者都敏感的高价值业务。


十、常见问题

Q1: SSC模式3和模式2都换IP,本质区别是什么? A: 时序不同。模式2是break-before-make(先释放旧会话,UE检测到释放后才重建,存在明显中断);模式3是make-before-break(网络先触发UE建立新会话到同一DN,新旧并行,业务迁移后才释放旧会话,中断极低)。两者都换IP,但模式3靠双会话窗口实现软连续。

Q2: 既然换IP,模式3还算"业务连续"吗? A: 连续性分多个层次。模式3保证的是会话级与锚点级连续性(同一DN的连接不丢),但不保证单IP连续性。真正的无缝需上层配合(URSP把新流绑定到新会话、MPTCP多宿主、应用层快速重连)。这正是"会话与业务连续性"而非"IP连续性"命名的由来。

Q3: 模式3重选一定换SMF吗? A: 不一定。若UE仍在当前SMF服务区,SMF不重选,仅由该SMF选择新PSA并管理双会话。若UE移出SMF服务区,则AMF触发SMF重选(TS 23.501 §6.3.2)为新会话选新SMF,此时旧SMF与新SMF需经AMF协调释放旧会话。

Q4: 抓包时如何一眼区分"模式3重建"与"普通新建会话"? A: 看三个指纹:(1) 同UE同DNN+S-NSSAI短时间内出现两个不同PDU Session ID;(2) 两个会话的PDU Address(IP)不同;(3) 其中一个随后被RELEASE且N4删除带End Marker。三者同时出现即为模式3重选。

Q5: UPF选择算法在标准中固定吗?为什么各厂商行为不同? A: 不固定。TS 23.501 §6.3.3.3 只列举了SMF"可考虑"的输入(负载、analytics、DNAI、位置等),其NOTE明确"不使用额外参数",即不规定组合权重公式。打分逻辑属实现细节,因此厂商间存在差异,这也是跨厂商互操作需充分测试的原因。


参考来源

  1. 3GPP TS 23.501 — System architecture for the 5G System (5GS) — §5.6.9.2.3 SSC Mode 3、§5.6.4 SSC模式选择、§6.3.3.3 UPF选择
  2. TS 23.501 §5.6.9.2.3 SSC Mode 3 — iTecSpec — SSC Mode 3 规范原文核对
  3. TS 23.501 §6.3.3.3 Selection of an UPF — iTecSpec — UPF选择输入参数
  4. 3GPP TS 23.502 — Procedures for the 5G System — §4.3.2 PDU会话建立、§4.23.4 PSA重选流程
  5. SSC Modes - Session and Service Continuity in 5G — Techplayon — 三模式工程解读
  6. 5G PDU Session Establishment — ShareTechnote — SSC模式与会话建立时序
  7. Session and Service Continuity Mode — Cisco Ultra Cloud Core SMF — SSC模式校验与End Marker实现

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