5G — 关键信令流程解读
初始注册流程
这天一大早,九小云在睡梦中被闹钟惊醒,手机随之开机,手机在开机完成后立即执行了一个 初始注册流程,具体步骤如下图所示:
流程步骤较多,详细解释可参考 3GPP TS 23.502 第 4.2.2 节。关键步骤如上图红圈所示:
第一个红圈指的是 AMF 根据 5G-GUTI 等参数获取 UE Context(包含 SUPI 等信息)的过程。
第二个红圈指的是 AMF 把 AMF ID 及 UE ID(e.g. SUPI)登记到 UDM,并从 UDM 获取用户签约数据(e.g. DNN、QoS 等参数),以及向 UDM 订阅用户数据变更通知的过程。
PDU Session 建立流程
九小云匆匆洗漱和早餐后,就上班去了。上了地铁,无聊的九小云掏出手机,打开浏览器,关注一下欧美最新的疫情情况。在此过程中,手机发起了 PDU Session 建立流程,具体步骤如下图所示:
详细解释可参考 3GPP TS 23.502 第 4.3.2 节。关键步骤如上图红圈所示:
第一个红圈指的是 SMF 根据 UE 的 DNN 及 S-NSSAI 等信息选择 UPF 的过程。
第二个红圈指的是 SMF 通知 UPF 建立 N3 接口的 GTP-U 隧道并协调 AMF 及 (R)AN 打通 N3 隧道上行传输通道的过程。
第三个红圈指的是 SMF 告诉 UPF 关于 (R)AN 侧 N3 隧道信息(F-TEID = IP+TEID)并打通 N3 隧道下行传输通道的过程。
通过 N3 隧道,基站与 UPF 之间就可以来回传输用户数据了。如下图中的红色直线:
gNB 切换流程
就在九小云浏览新闻的过程中,地铁穿越黄浦江底,从浦东来到了浦西,在此过程中,发生了基于 Xn 接口(两个 gNB 之间的接口)的切换流程。假设切换过程中,UPF 没有重新分配,切换的流程如下图所示:
详细解释可参考 3GPP TS 23.502 第 4.9.1.2 节。关键步骤如上图红圈所示:
第一个红圈指的是在切换执行过程中,Src gNB 缓存的用户数据通过 Src gNB 与 Dst gNB 之间的 Xn 接口进行转发的过程。
第二个红圈指的是 SMF 根据 AMF 指示更新 UPF 的 N3 隧道信息(gNB 下行 F-TEID)并打通 N3 隧道下行传输通道的过程。而上行数据传输通道早在切换准备阶段就已经打通,即通过 Src gNB 在发起切换请求中把 gNB 侧的 N3 隧道信息(F-TEID)携带给 Dst gNB 来实现的。
看下面这个示意图就容易理解了:
切换前,相当于 UE 在浦东,用户数据传输走的是黄色这条路。乘地铁到浦西后,用户数据传输切换到了绿色这条路。而在这个切换过程中,缓存在浦东某个基站上的数据,通过红色这条路径转发给了浦西某个基站,浦西的基站再根据数据包目的地址转发给手机或网络。
网络侧触发业务请求流程
九小云来到了办公室,开始了一天的工作。真是忙碌的一天,九小云写了 N 千行代码,修正了产品 M 个 Bug,愣是一整天都没看一眼手机。虽然没有使用,手机和网络可都没有闲着,手机也要时不时地在网络中寻找存在感,让网络知道自己还活着。具体实现上,手机根据定时器设置,定时向网络发起周期性注册更新流程,具体步骤会比初始注册流程简单一些,其实就是相当于一个心跳机制,与 5G 网络之间周期性保活。
忙了一天,终于下班了,九小云正打算收拾东西回家时,在杭州的女朋友发来了微信语音。此时手机需要从空闲态迁移到连接态,并执行由网络触发的服务请求流程,目的是建立起端到端的信令连接和用户面连接。具体流程如下图所示:
关键步骤如红圈所示:
如果网络下行的数据到达时,手机处于连接态,则执行 4a 步骤(“UE 触发的服务请求” 流程的一部分),用来激活用户面连接;
如果网络下行的数据到达时,手机处于空闲态,则执行 4b 步骤,AMF 向 TA List 内的所有 gNB 发送寻呼消息,寻呼消息携带 UE ID,这样就能找到对应的 UE,再执行 “UE触发的服务请求” 流程(上图步骤 6),用来激活用户面连接。
UE 触发的业务请求流程
3GPP TS 23.502 中给出的 “UE 触发的服务请求流程” 包括了多个场景,步骤比较多,流程比较复杂,对初学者来说很难理解。为了便于理解,这里给出了一个简化版本,如下图所示:
关键步骤如红圈所示:
第一个红圈指的是 SMF 激活 UPF 用户面打通 N3 隧道上行传输通道的过程。
第二个红圈指的是 SMF 告诉 UPF 关于 (R)AN 侧 N3 隧道信息(F-TEID)并打通 N3 隧道下行传输通道的过程。
N2 接口的切换流程
九小云远在杭州的女朋友发来微信语音,说自己遇到伤心事,要求九小云马上出现在她面前,不然就要跟他分手。九小云没有办法,顾不上疫情尚未结束的风险,立刻买了张高铁票并匆匆赶往虹桥火车站。沪杭高铁从上海虹桥驶出,一路上九小云通过微信安慰女朋友。当高铁穿越上海金山区进入浙江省嘉善县境内时,发生了基于 N2 接口的切换流程。
现阶段,国内运营商按行政省份为单位建设 5G 网络,由于归属于不同的省分中心,跨省的基站之间通常不存在 Xn 接口。因此在发生跨省的切换时,需要通过核心网网元之间的互操作流程来实现。
切换的流程如下图所示:
详细解释可参考 3GPP TS 23.502 第 4.9.1.3 节。关键步骤如上图红圈所示:
第一个红圈指的是在切换执行过程中,Src gNB 缓存的用户数据通过 UPF 转发给 Dst gNB 的过程。
第二个红圈指的是 SMF 根据 AMF 指示更新 UPF 的 N3 隧道及 N9 隧道信息并打通下行传输通道的过程,而上行数据传输通道在切换准备阶段就已经打通。
第三个红圈指的是执行移动性注册更新的简化流程并把当前新的 AMF 登记到归属地 UDM 的过程。
切换前,相当于 UE 在上海,用户数据传输走的是蓝色这条路。乘高铁到浙江后,用户数据传输切换到了绿色这条路。而在这个切换过程中,缓存在上海某个基站上的数据,通过红色这条路径转发给了浙江某个基站,浙江的基站再根据数据包目的地址转发给手机或网络。
黄色这条线也很关键,因为源基站与目的基站之间没有 Xn 接口,切换准备阶段和切换执行阶段的信令交互只能通过 Src AMF、Src SMF、Dst AMF 之间复杂的互操作流程来实现,主要目的是建立起上图中绿色的 N3 与 N9 隧道,并释放蓝色的 N3 与 N9 隧道,以及建立起红色这条数据转发通道。
VoLTE 与 QoS
一路上九小云通过微信语音与女朋友通话,但在高速行驶的高铁上,微信语音断断续续,实在是不靠谱,看来关键时刻还得要看运营商的移动网络。九小云使用的是宇宙最大运营商中国 XX 的网络,该运营商现阶段主流的语音实现方案是 VoLTE。
九小云改用运营商网络的语音通话后,果然,即使在 300km/h 的高铁上,女朋友的声音依然清晰且无任何卡顿,正如其广告语所述:
VoLTE(Voice over LTE),即基于 4G 网络为移动用户提供语音业务的实现方式(需 IMS 网络配合),其本质是 Voice over IP。微信语音同样是 Voice over IP 的语音实现方式,为什么与 VoLTE 的语音通话质量差距这么大呢?
这还要从 EPC 的 QoS 说起,3GPP 根据不同的 QoS 参数(优先级、时延、丢包率等)将 QoS 划分为多个类别,并用 QCI(Quality Class Identity)来表示,3GPP 定义的部分 QCI 如下表所示:
其中 QCI 取值 1~4 是 GBR(Guaranteed Bit Rate)类型,QCI 取值 5~9 是 Non-GBR(Non-Guaranteed Bit Rate)类型。GBR 即保证比特速率,网络会保证足够的网络资源,保证承载最低速率达到设定值;相应地,也会定义 MBR 限定其最高速率。Non-GBR 即网络不会保证其最低速率,还会通过 UE-AMBR 和 APN-AMBR 参数限定用户维度和 APN 维度的所有 Non-GBR 承载的最大速率。
同时,不同 QCI 对应的优先级、时延和丢包率也不同,以适应不同的业务需求。从表中可以看到对时延要求最高的是 QCI=3(50ms),适合于实时游戏业务;对丢包率要求最低的是 QCI=1(百分之一),适合于语音业务,因为语音业务对时延相对敏感,而对丢包率相对不敏感;而 QCI=5 的丢包率是百万分之一,比 QCI=1 高很多,同时优先级最高,适合于传送信令。
终端使用互联网业务和语言通话业务时,连接的 APN 及传输承载如下图所示:
终端使用 IMS 语音业务时,传输 IMS 语音的专有承载为 QCI=1,优先级为 2 且该承载是保证带宽的(GBR);而使用 OTT(Over The Top)业务拨打语音电话时(e.g. 微信语音、QQ 语音、Skype 等),传输互联网语音的专有承载为 QCI=7,优先级为 7 且该承载是不保证带宽的(Non GBR),需要与其它互联网业务竞争网络资源。
用通俗的话讲就是,IMS 语音业务走的特殊通道,享受 VIP 待遇;而 OTT 语音业务走的是普通道路,人多车多拥挤不堪,如下图所示:
这就是IMS语音业务与OTT语音业务在通话质量上差距巨大的主要原因。
PDU Session 释放流程
高铁很快到了杭州,九小云也见到了女朋友。安顿好女朋友后,考虑到第二天还要上班,九小云又得匆忙乘坐高铁赶回上海。一路上又经历了一次基于 N2 接口的切换与多次基于 Xn 接口的切换。待回到住处时,已是凌晨两点了。九小云疲惫不堪,关掉微信,手机关机。在这过程中,首先执行 PDU Session 释放流程,具体步骤如下图所示:
详细解释可参考 3GPP TS 23.502 第 4.3.4 节。关键步骤如上图红圈所示:
第一个红圈指的是 SMF 根据不同的触发条件,通过 N4 会话请求消息通知 UPF 释放用户面资源及释放 UE IP 地址的过程。
第二个红圈指的是 AMF 根据 SMF 的指示,通过 N2 会话消息通知 AN 释放资源的过程。
用户注销流程
最后,手机还需要执行用户注销流程,具体步骤如下图所示:
详细解释可参考 3GPP TS 23.502 第 4.2.2.3 节。关键步骤如上图红圈所示:
第一个红圈指的是 SMF 向 UDM 取消订阅用户数据变更通知及删除 UDM 保存的本次 PDU Session 信息的过程。
第二个红圈指的是 AMF 与 PCF 之间结束策略关联的过程。
累了一天,九小云倒头就睡着了。 这就是九小云忙碌而又充实的一天。