做网络优化的人几乎都遇到过这种投诉:后台看指标,切换成功率99.8%,漂亮得很;用户那边却在地铁上掉了一次视频通话。你翻遍空口日志,A3事件、测量报告、切换命令,每一步都教科书般完美。那业务为什么还是断了?
因为切换和业务连续,根本不是同一层的事。
切换解决的是空口问题:手机从一个基站搬到另一个基站,无线信号不断。但你的业务数据并不只跑在空口上——它还要穿过一条从基站通向核心网的隧道,最后从一台叫UPF的设备走出去,进入互联网。这条路的终点站,才是真正的要害:你的IP地址,是锚在这台UPF上的。
基站换了,只要锚点UPF不变,你的IP就不变,业务无感。可一旦网络决定把锚点也换掉——比如你从广东漫游到了北京——你的IP就要换,所有绑定这个IP的连接(TCP、UDP会话、登录状态)全部作废。业务断不断,取决于锚点动不动,而不是基站动不动。
这一篇要讲的,就是移动性管理拼图中最后一块没被讲透的部分:会话与业务连续性,行话叫SSC(Session and Service Continuity)。它回答一个核心问题:当人移动、当业务下沉、当网络重构时,IP层的连续性该怎么保。
把网络想象成快递系统。
你网购时填的收货地址,决定了包裹怎么送到你手上。在5G里,这个“收货地址”不是你家,而是锚点UPF。所有发往你手机的数据包,先 according 地址找到锚点UPF,再由它通过隧道转交给当前为你服务的基站,最后从空口落到你手机上。
所有数据包 → 锚点UPF(收货地址) → 隧道 → 当前基站 → 手机
现在你搬家了(换了基站、换了城市),有两种思路:
思路一:不换地址。 人搬到哪,快递先寄到老地址,再由老地址的人转寄给你。数据包永远先到原来的锚点UPF,再由它跨千里转发过来。IP不变,业务无感——但你人在广东,数据却要先飞到北京的锚点再绕回来,白白多跑两千公里,时延和带宽都吃亏。
思路二:换地址。 在北京给你登记一个新收货地址,以后包裹直达。路径最优了——但所有按旧地址给你发货的商家(TCP连接、视频流、游戏服务器)都找不到你了,业务要全部重来一遍。
这就是移动性管理的根本两难:路径最优与业务连续,不可兼得。而不同业务对这两者的偏好天差地别——工业机械臂一毫秒都断不得,宁可绕路;刷网页的人不在乎IP换不换,只要快。
于是5G的架构师们没有硬选一个答案,而是把“什么叫连续”定义成了三种模式,让网络按业务需求挑。这就是SSC mode 1、2、3的由来。
在讲三种模式之前,先把“锚点”这个概念钉死。
5G里手机上网的基本单位不是“连接”,而是PDU会话。每建立一个PDU会话,核心网的会话管理功能(SMF)就要做一件关键决策:从一堆UPF里挑一台当“锚点”。这台锚点UPF承担三件事:
flowchart TD
UE["手机UE"] --> gNB["基站gNB"]
gNB -->|"N3隧道 GTP-U封装"| UPF["锚点UPF"]
UPF --> DN["数据网络DN"]
NOTE["IP地址锚定在这里"] -.-> UPF
这张图的关键在于那条虚线:IP地址锚在UPF上,而不是基站上。基站只管无线那一段,你的IP跟它毫无关系。所以基站换一百次,只要锚点UPF不动,IP就纹丝不动——这就是为什么你在市内坐高铁刷手机,IP地址看起来“很稳定”。
反过来,只要锚点一换,IP必换。理解了这一点,三种SSC模式就只是三个不同的“搬家策略”而已。
会话建立时锚定在哪台UPF上,就终身不离不弃,直到会话释放。IP全程不变。
这套模式服务的是“连续压倒一切”的业务:工业远程控制、电网差动保护、远程驾驶。这些场景丢一个包都可能出人命,多几十毫秒时延反而是小事。
但绕路问题总得有个补丁。业界的办法是:锚点不动,但在靠近手机的“路边”再插一台UPF,做一个上行分类器(UL CL)或分支点——它像个岔路口,把发往本地服务器(比如园区里的边缘服务器)的流量就地分流,只有发往远方的流量才绕回北京锚点。锚点还是那个锚点,IP还是那个IP,但本地业务不用再跨省了。这是mode 1在边缘计算时代依然能活下来的关键设计。
网络决定换锚点时,先把新锚点的会话完整建好、通路打通,然后才释放旧锚点的会话。新旧两条路短暂并存,无缝交接。
类比:先租好新房子、搬完家,再退旧房。中间没有一天睡大街。
sequenceDiagram
participant UE as 手机UE
participant AMF as AMF
participant SMF as SMF
participant NU as 新UPF
participant OU as 旧UPF
Note over SMF: 决定重定位锚点
SMF->>NU: 创建新锚点 会话B
SMF-->>UE: 触发建立新PDU会话B
UE->>AMF: 请求建立会话B
AMF->>SMF: 转发请求
SMF->>NU: 完成建立 分配新IP
SMF-->>UE: 会话B就绪
SMF->>OU: 释放旧锚点 会话A
Note over UE,OU: 新路打通后才拆旧路
注意图里那个决定性的细节:释放旧会话A的指令,排在会话B完全就绪之后。这就是“先建后拆”四个字的全部含义。切换的空口那部分(老读者熟悉的Xn切换、N2切换)照常发生,真正讲究的是IP层的这次换锚。
允许先把旧会话断掉,再建新锚点的会话。中间有一段真正的离线时间。
但直接断掉太野蛮,所以mode 3加了一层温柔:网络在释放旧会话之前,会提前通知UE“这个会话快没了”,UE收到通知就立刻去申请新会话,新旧动作尽量紧凑衔接,把离线窗口压到最短。类比:房东提前一个月通知你退租,你从容找新房,虽然中间还是要搬一天家。
用一个简单的公式对比mode 2和mode 3的中断窗口:
$$T_{\text{中断}}^{\text{mode2}} = T_{\text{路径交接}} \quad\text{(新旧并行,只算交接时间)}$$
$$T_{\text{中断}}^{\text{mode3}} = T_{\text{释放}} + T_{\text{新建会话}} \quad\text{(串行,两段相加)}$$
前者是毫秒级,后者是秒级。差了一个数量级,但网络付出的复杂度也差了一个数量级。
三种模式放在一起看:
| 维度 | SSC mode 1 | SSC mode 2 | SSC mode 3 |
|---|---|---|---|
| 锚点UPF | 终身不变 | 换,先建后拆 | 换,先拆后建 |
| UE的IP | 不变 | 变 | 变 |
| 业务中断 | 无 | 毫秒级衔接 | 秒级离线窗口 |
| 上层TCP | 完全不断 | 因IP变化需重连 | 因IP变化需重连 |
| 类比 | 老家地址终身不变 | 先租新房再退旧房 | 房东通知后再搬家 |
| 网络复杂度 | 低(加UL CL中) | 高(双会话并存) | 低 |
| 典型业务 | 工控/远程驾驶 | 语音/云游戏 | 浏览/下载 |
既然三种模式差异这么大,那一次PDU会话建立时,到底谁决定用哪种?
答案是三方博弈,网络终裁:
flowchart TD
Q{"业务能不能容忍换IP"} -->|"完全不能"| M1["SSC mode 1 锚点不动"]
Q -->|"能换 但怕空窗"| M2["SSC mode 2 先建后拆"]
Q -->|"能换 也能忍中断"| M3["SSC mode 3 先拆后建"]
M1 --> P["UL CL分流补救绕路"]
M2 --> P2["边缘计算就近落地的主力"]
M3 --> P3["普通上网与跨接入搬家"]
还有一个容易被忽略的点:mode 2/3的锚点重定位不是只有移动才触发。边缘计算场景下,应用功能(AF,比如某个云游戏平台)可以主动请求网络“把这台手机的锚点挪到我园区里的UPF来”,为的是让时延从30毫秒掉到5毫秒。人在原地没动,锚点照样搬家。SSC机制的本质是“锚点重定位的工程化流程”,移动只是触发条件之一。
| 角色 | 提供什么 | 原理上的角色 |
|---|---|---|
| UE | 请求/支持的mode列表 | 提出偏好,无决定权 |
| SMF与运营策略 | 最终选定的mode | 终审法官 |
| DNN/切片配置 | 默认mode模板 | 事前规则 |
| AF应用侧 | 锚点重定位请求 | 业务驱动的触发者 |
现在你能完整解释这个日常现象了:市内移动,切换只在基站间发生,锚点UPF岿然不动,IP当然不变(这就是mode 1的实际运行图景)。而当你跨省漫游,运营商往往出于路由效率和合规考虑,让目标省份的SMF重新给你选一个本地锚点——锚点一换,IP跟着换。很多人以为“IP变了是基站的事”,其实是核心网在千里之外给你换了一次锚。
5G前传后传那几篇文章里讲过,UPF正在从省中心大机房下沉到园区、工厂、变电站。下沉之后,一个新问题立刻浮出水面:下沉的UPF是临时的,你不会永远待在这个园区。离开园区时,业务锚点必须迁回省中心——这一迁就是一次标准的mode 2锚点重定位。可以说,没有SSC机制,边缘计算就只能是“进得去出不来的陷阱”:人在园区里时延5毫秒,一出大门业务直接断。SSC mode 2就是那座让业务“进得来也出得去”的桥。
坑一:切换全绿,业务照断。 排查思路要跳出空口:如果trace里看到旧PDU会话释放、新PDU会话建立,且两次分配的IP不同——这是锚点重定位了,空口背了锅。看会话释放原因和前后IP是否一致,一眼定位。
坑二:ping得通,业务断。 用户投诉“网络明明是通的,APP却要重新登录”。ping走的是新IP的ICMP,当然通;断的是绑在旧IP上的TCP长连接和登录态。IP变了就是变了,这不是故障,是mode 2/3的固有行为。要怪只能怪应用没用上支持连接迁移的传输协议。
坑三:双会话并存引发的计费困惑。 mode 2交接的那一小段时间里,手机身上同时挂着两个PDU会话、两个IP。做话单核对和流量对账的人如果不知道这一点,会对“凭空多出来的短会话”百思不解。那不是异常,是先建后拆的痕迹。
坑四:NAT残留。 企业出口的防火墙/NAT设备上,旧IP的会话表项还没老化,新IP的会话又进不来白名单,出现“换锚后头几秒部分站点打不开”。这种问题在无线侧查一万遍日志也查不出来,得去传输和IT侧找。
Q: SSC mode和切换(handover)到底是什么关系? A: 两个不同层面的接力赛。切换是空口层的事——手机把无线连接从一个基站挪到另一个基站;SSC是核心网的事——决定数据出口(锚点UPF和IP)动不动。切换成功了,锚点若同时被换,业务照样断一次;反过来,锚点不动时哪怕切换失败重连,IP还在,业务也能快速恢复。排查业务中断时,先分清这两层各自的状态。
Q: 为什么我的IP在市内不变,一出省就变了? A: 市内移动只触发基站间切换,锚点UPF不变,IP自然不变(典型的mode 1运行状态)。跨省时运营商会出于路由效率重新选择本地锚点,锚点换则IP换。这不是故障,是网络在“路径最优”与“业务连续”之间做的一次重新定价。
Q: mode 2和mode 3都要换锚点,网络凭什么给某个会话选2不选3? A: 看业务对“空窗期”的容忍度。语音、云游戏这类实时业务宁可让两条路短暂并存(资源开销大)也不能接受离线,给mode 2;浏览、下载断了无感,就用实现简单的mode 3。而UE申请了哪些mode、DNN/切片配了什么默认值,划定了网络实际可选的范围。
Q: 现网怎么查一个会话用的是哪种SSC mode? A: 从信令面入手:PDU会话建立的应答消息里会明确携带网络选定的SSC mode;核心网侧的会话追踪和话单里也有对应字段。工程上更快的办法是看行为特征——会话全程IP不变的是mode 1;出现“新会话先建、旧会话后释”且时间上有重叠的是mode 2;旧释新建且中间有离线窗口的是mode 3。
Q: 现在很火的QUIC连接迁移,和SSC是什么关系? A: 分工不同的两层。SSC在网络层解决“锚点和IP要不要换、怎么换”的问题;QUIC连接迁移在传输层解决“IP换了之后,连接能不能不断”的问题——它用连接ID代替四元组来标识连接,IP变了连接还活着。两者配合才是完整的连续性方案:SSC把换锚的空窗压到最短,QUIC把换IP的断连抹平。只靠任何单层,都做不到真正的业务无感。
本文由「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 等场景全覆盖。
