深度解析 3GPP TS 23.003:2 Identification of mobile subscribers (Part 2 - 临时身份的“马甲”:从TMSI到5G-GUTI)
本文技术原理深度参考了3GPP TS 23.003 V18.7.0 (2024-09) Release 18规范中,关于“2 Identification of mobile subscribers”的核心章节,旨在为读者提供一个从2G到5G,移动通信网络中临时用户标识演进的全景视图。本文作为系列解读的第二部分,将聚焦于TMSI, TLLI, GUTI, 5G-GUTI等关键临时标识。
引言:小玲获得了她的网络“马甲”
在上一篇文章中,我们的主角小玲,一位通信工程专业的毕业生,在她的5G手机首次开机时,通过发送加密后的永久身份SUCI,成功地向网络证明了自己的合法身份。认证成功,这是万里长征的第一步。
网络现在已经确认了小玲的“身份证号”(SUPI/IMSI),但接下来的所有通信,如果还继续使用这个永久身份,无异于将身份证挂在胸前逛街,隐私风险极高。因此,认证成功后,网络要做的第一件重要事情,就是给小玲的手机颁发一个“临时通行证”或“网络马甲”。
这个“马甲”就是我们今天要深入探讨的主角——临时用户标识。从2G时代的TMSI,到4G时代的GUTI,再到5G时代的5G-GUTI,这个小小的“马甲”在不断演进,其设计的精巧程度,也反映了移动通信核心网架构的巨大变革。现在,让我们看看网络到底给了小玲一个什么样的“马甲”。
1. TMSI - 2G/3G时代的“本地临时呼号” (TS 23.003, 2.4 Structure of TMSI)
最早的临时标识可以追溯到GSM时代,它就是TMSI(Temporary Mobile Subscriber Identity)。它的核心特点是其“本地有效性”。
Since the TMSI has only local significance (i.e. within a VLR and the area controlled by a VLR, or within an SGSN and the area controlled by an SGSN, or within an MME and the area controlled by an MME), the structure and coding of it can be chosen by agreement between operator and manufacturer in order to meet local needs. The TMSI consists of 4 octets. It can be coded using a full hexadecimal representation.
规范明确指出,TMSI只在分配它的那个节点(如VLR或SGSN)所管辖的区域内有效。这意味着,上海的VLR分配给小玲的TMSI,到了北京的VLR覆盖范围就失效了。这种“本地化”管理方式,使得TMSI的结构和编码可以由运营商和设备商自行商定,非常灵活。其标准长度为4个字节(32比特)。
场景还原:小玲的手机同时支持语音和数据业务。在2G/3G网络中,这意味着她需要同时向两个不同的功能实体注册:
- VLR (Visitor Location Register):负责电路域(CS),也就是语音通话和短信业务。
- SGSN (Serving GPRS Support Node):负责分组域(PS),也就是上网数据业务。
因此,小玲的手机实际上会获得两个TMSI:一个由VLR分配,用于CS域的后续信令交互(如位置更新、寻呼);另一个由SGSN分配,称为P-TMSI (Packet-TMSI),用于PS域的信令交互。
为了区分这两个TMSI,规范做了一个巧妙的设计:
In areas where both MSC-based services and SGSN-based services are provided, some discrimination is needed between the allocation of TMSIs for MSC-based services and the allocation of TMSIs for SGSN-based services. The discrimination shall be done on the 2 most significant bits, with values 00, 01, and 10 being used by the VLR, and 11 being used by the SGSN.
TMSI的最高两位比特被用作“域指示器”。如果最高两位是11,那么手机和网络都知道这是一个P-TMSI,属于PS域;如果是其他值(00, 01, 10),则属于CS域。这样,仅凭一个32位的数字,就能清晰地区分其应用场景。
此外,为了支持更灵活的网络部署,比如Iu-Flex(一个RAN节点连接到多个CN核心网节点),TMSI内部还可以包含一个NRI(Network Resource Identifier)字段,帮助RAN将信令正确路由到服务该用户的那个核心网节点。
If intra domain connection of RAN nodes to multiple CN nodes … is applied in the MSC/VLR or SGSN, then the NRI shall be part of the TMSI. The NRI has a configurable length of 0 to 10 bits.
这个NRI就像是在TMSI这个“临时呼号”里嵌入了一个“分机号”,确保了信息能准确送达。
2. LMSI - 提升VLR寻址效率的“本地索引” (TS 23.003, 2.5 Structure of LMSI)
在深入下一个临时标识前,我们先看一个与TMSI时代紧密相关的辅助标识——LMSI(Local Mobile Station Identity)。它的作用更偏向于网络内部的性能优化。
In order to speed up the search for subscriber data in the VLR a supplementary Local Mobile Station Identity (LMSI) is defined. The LMSI may be allocated by the VLR at location updating and is sent to the HLR together with the IMSI. The HLR makes no use of it but includes it together with the IMSI in all messages sent to the VLR concerning that MS.
可以这样理解:VLR管理着大量来访用户,当网络需要查找某个用户的数据时(比如有电话打进来),HLR(Home Location Register,用户的归属地数据库)会向VLR查询。如果每次都用IMSI去庞大的VLR数据库里搜索,效率较低。
因此,VLR在小玲做位置更新时,除了分配TMSI,还会分配一个LMSI(也是4个字节)。这个LMSI就像是VLR为小玲的用户档案创建的一个内部“索引号”或“文件编号”。VLR将这个“文件编号”告知HLR。
下次,当HLR需要从这个VLR获取小玲的信息时,它会在消息中同时带上小玲的IMSI和这个LMSI。VLR拿到消息后,可以直接使用LMSI这个“文件编号”一步到位地找到用户数据,大大提升了处理速度。整个过程中,HLR只是一个“传话筒”,它并不知道LMSI的具体含义。
3. TLLI & P-TMSI Signature - GPRS数据时代的专用标识 (TS 23.003, 2.6 & 2.7)
随着GPRS数据业务的兴起,仅仅有P-TMSI还不够。在实际的数据传输过程中,网络还需要一个更底层的标识来区分不同手机在同一个无线信道上的逻辑链路。这就是TLLI(Temporary Logical Link Identity)的作用。
A TLLI is built by the MS or by the SGSN either on the basis of the P-TMSI (local or foreign TLLI), or directly (random or auxiliary TLLI), according to the following rules. The TLLI consists of 32 bits…
TLLI是MS和SGSN之间在RLC/MAC层(无线链路控制/媒体接入控制层)使用的地址。它通常由P-TMSI转换而来,但也可以随机生成。规范定义了TLLI的详细结构,如下表(源自规范Table 1: TLLI structure)所示:
| 31 | 30 | 29 | 28 | 27 | 26 to 0 | Type of TLLI |
|---|---|---|---|---|---|---|
| 1 | 1 | T | T | T | T | Local TLLI |
| 1 | 0 | T | T | T | T | Foreign TLLI |
| 0 | 1 | 1 | 1 | 1 | R | Random TLLI |
| 0 | 1 | 1 | 1 | 0 | A | Auxiliary TLLI |
| 0 | 1 | 1 | 0 | X | X | Reserved |
| 0 | 1 | 0 | X | X | X | Reserved |
| 0 | 0 | 0 | 0 | G | G | Part of the assigned G-RNTI |
| 0 | 0 | 0 | 1 | R | R | Random G-RNTI |
表格解读:
- Local TLLI: 最高两位为
11,由MS基于当前VPLMN分配的P-TMSI生成。这是最常见的类型。 - Foreign TLLI: 最高两位为
10,由MS基于之前PLMN分配的P-TMSI生成,用于跨SGSN移动的场景。 - Random TLLI: 最高位为
0,当MS没有有效的P-TMSI时随机生成一个TLLI发起接入。 - Auxiliary TLLI: 由SGSN分配,用于特定场景。
场景还原:当小玲的手机要发送数据包时,它会根据自己持有的P-TMSI生成一个Local TLLI,并在RLC/MAC层的头部填入这个TLLI作为源地址。这样,网络侧的BSS/RNC就能识别这个数据包来自哪个逻辑链路。
与P-TMSI相伴的还有一个P-TMSI Signature。
The P-TMSI Signature consists of 3 octets and may be allocated by the SGSN.
这是一个由SGSN分配的3字节(24位)的签名。在路由区更新(RAU)等过程中,手机会带上这个签名。旧的SGSN可以用它来快速验证这个P-TMSI的合法性,起到一定的安全保护作用。
4. GUTI - 4G时代,临时身份的全球化升级 (TS 23.003, 2.8 & 2.9)
进入4G(EPS)时代,网络架构发生了巨大变化。多个MME(Mobility Management Entity)可以组成一个“MME Pool”,共同为一个广大区域提供服务。TMSI的“本地有效性”弊端就显现出来了:如果用户在一个Pool内从一个MME移动到另一个MME,由于TMSI只在原MME内唯一,新MME无法直接识别,导致信令流程复杂化。
为了解决这个问题,4G引入了GUTI(Globally Unique Temporary UE Identity)。
The purpose of the GUTI is to provide an unambiguous identification of the UE that does not reveal the UE or the user’s permanent identity in the Evolved Packet System (EPS). It also allows the identification of the MME and network.
GUTI的核心突破在于它的“全球唯一性”。一个GUTI不仅能唯一标识一个用户,还能唯一标识出分配这个GUTI的MME和运营商。
GUTI的结构完美体现了这种全局寻址能力:
= , where = and =
让我们来拆解这个结构:
- M-TMSI (32 bits): 这部分等同于原来的TMSI,用于在MME内部唯一标识UE。
- GUMMEI (Globally Unique MME Identifier): 这是GUTI的关键创新,它在全球唯一地标识了一个MME。
- MCC + MNC: 标识了运营商的PLMN。
- MMEI (MME Identifier): 在PLMN内标识一个MME。
- MME Group ID (16 bits): 标识MME所在的MME Pool。
- MMEC (MME Code, 8 bits): 在MME Pool内唯一标识一个MME。
场景还原:小玲的4G手机注册到网络后,MME会给她分配一个GUTI。假设这个GUTI解析出来是:MCC=460, MNC=01, MMEGI=100, MMEC=5, M-TMSI=0x12345678。 当小玲从这个MME(MMEC=5)覆盖区移动到同一个Pool里另一个MME(MMEC=10)覆盖区时,她的手机发起TAU(Tracking Area Update)请求,请求中携带的就是这个完整的GUTI。 新的MME(MMEC=10)看到GUTI中的GUMMEI,就知道这个用户之前是由哪个运营商、哪个MME Pool、哪个MME服务的。于是,它可以直接向旧的MME(MMEC=5)查询小玲的用户上下文信息,整个过程快速而高效。
为了进一步优化无线资源,4G还定义了GUTI的缩短版——S-TMSI。
For paging purposes, the mobile is paged with the S-TMSI. The S-TMSI shall be constructed from the MMEC and the M-TMSI:
=
当网络需要寻呼小玲时,由于寻呼消息是在整个TA(Tracking Area,通常由一个MME Pool服务)内广播的,所以只需要携带在Pool内唯一的信息即可。S-TMSI由MMEC和M-TMSI组成,长度为8+32=40位,比完整的GUTI(可达80位)要短得多,大大节省了宝贵的寻呼信道资源。
5. 5G-GUTI - 适应云化架构的“超级马甲” (TS 23.003, 2.10, 2.11 & 2.12)
5G核心网采用了服务化、云化的全新架构,AMF(Access and Mobility Management Function)取代了MME。为了适应这种更灵活的架构,5G-GUTI应运而生。其设计思想与GUTI一脉相承,但在细节上更加精进。
The purpose of the 5G-GUTI is to provide an unambiguous identification of the UE that does not reveal the UE or the user’s permanent identity in the 5G System (5GS). It also allows the identification of the Access and Mobility Management Function (AMF) and network.
5G-GUTI的结构与GUTI类似,但组成部分有了新的名称和含义:
<5G-GUTI> =
<5G-TMSI>, where = and =
我们来对比一下GUAMI和GUMMEI:
- 5G-TMSI (32 bits): 相当于M-TMSI,在AMF内唯一标识UE。
- GUAMI (Globally Unique AMF Identifier): 全球唯一AMF标识符。
- MCC + MNC: 同样用于标识运营商。
- AMFI (AMF Identifier): 用于在PLMN内标识一个或一组AMF。
- AMF Region ID (8 bits): 标识一个AMF区域,这是一个比AMF Set更大的地理或逻辑范围。
- AMF Set ID (10 bits): 标识一个AMF集合,功能上类似于MME Pool。
- AMF Pointer (6 bits): 在一个AMF Set中指向一个具体的AMF。这个设计的精妙之处在于,多个AMF可以共享同一个AMF Set ID,通过不同的Pointer值来区分。这为负载均衡和冗余备份提供了极大的便利。
场景还原:小玲的5G手机在注册成功后,获得了AMF分配的5G-GUTI。当RAN(基站)收到小玲手机发来的NAS消息时,如果消息中包含5G-GUTI,RAN就可以从5G-GUTI中解析出AMF Set ID和AMF Pointer,从而知道应该将这个NAS消息路由到核心网的哪一个AMF上,实现了RAN到AMF的精准路由。
同样地,5G也有缩短版的5G-S-TMSI:
<5G-S-TMSI> =
<5G-TMSI>
它由10+6+32=48位组成,用于寻呼等无线信令过程,以提升效率。
最后,针对物联网场景,特别是NB-IoT,规范还定义了Truncated 5G-S-TMSI。
The Truncated 5G-S-TMSI is a 40 bit UE identifier constructed from the 5G-S-TMSI. It is used in RRC Connection Re-Establishment for the control plane for NB-IoT…
这是一个40位的标识,是5G-S-TMSI的进一步截短版本,包含了AMF Set ID(n位)、AMF Pointer(m位)和5G-TMSI(40-n-m位)的最低有效位。它专用于NB-IoT场景下的RRC连接重建过程,以适应NB-IoT设备对信令开销极其敏感的特点。
结语:从本地到全球,从实体到云端
从2G的TMSI到5G的5G-GUTI,我们看到临时用户标识的演进路径清晰地反映了核心网架构的变革:
- 从本地到全球:TMSI的“本地化”属性,演进为GUTI/5G-GUTI的“全球唯一”属性,极大地简化了用户的移动性管理,使得跨节点、跨区域的无缝切换变得更加高效。
- 从实体到虚拟:GUTI中MMEGI/MMEC的设计,对应着物理MME设备的池化;而5G-GUTI中AMF Region/Set/Pointer的设计,则完美匹配了5G核心网NF(网络功能)可以灵活部署、动态伸缩的云原生特性。
- 效率与性能的持续追求:S-TMSI和Truncated S-TMSI的出现,表明了在功能日益强大的同时,3GPP对无线资源效率的极致追求从未停止。
小玲的手机,正是凭借着这个不断进化的“网络马甲”,才能在复杂的5G网络中被快速、准确、安全地识别,享受到无处不在的移动通信服务。在接下来的文章中,我们将继续沿着规范的脉络,探索更多关于用户号码、地址和标识的奥秘。
FAQ
Q1:GUTI和5G-GUTI最核心的区别是什么? A1:最核心的区别在于标识核心网节点的方式不同,以适应不同的网络架构。GUTI使用“MME Group ID + MME Code”来定位一个物理或虚拟的MME。而5G-GUTI使用“AMF Region ID + AMF Set ID + AMF Pointer”,这种三级结构更能体现5G核心网中AMF作为云原生网络功能(NF)的部署灵活性,支持更复杂的负载均衡、冗余和切片等高级特性。
Q2:为什么需要S-TMSI和5G-S-TMSI这样的缩短版临时ID? A2:主要是为了节省无线空口资源,提高信令效率。在寻呼(Paging)等场景下,消息是在一个较大的区域内广播的,每一比特的开销都会被放大。完整的GUTI/5G-GUTI包含了全球唯一的MCC和MNC等信息,但在一个TA(跟踪区)内寻呼时,这些信息是冗余的。S-TMSI/5G-S-TMSI去掉了这些冗余信息,只保留了在TA内能够唯一识别用户和目标节点(MME/AMF)的必要字段,从而大幅缩短了寻呼消息的长度。
Q3:一个支持4G和5G的手机,会同时拥有GUTI和5G-GUTI吗? A3:是的。当手机注册在5G网络(5GC)下时,它会从AMF获取并维护一个5G-GUTI。当它移动到4G网络(EPC)覆盖下并发起TAU时,它会将5G-GUTI映射为一个GUTI上报给MME,成功后MME会分配一个新的GUTI。反之亦然。因此,为了实现4G/5G之间的无缝移动,UE需要有能力同时处理并存储这两种临时标识。
Q4:TLLI和P-TMSI有什么关系? A4:TLLI(临时逻辑链路标识)是GPRS/UMTS PS域中,在无线链路层(RLC/MAC)用于寻址的标识。它通常是基于P-TMSI(分组临时移动用户标识)生成的。可以理解为,P-TMSI是网络层(NAS层)分配给用户的临时身份,而TLLI是链路层为了在空口上传输数据包而使用的、由P-TMSI派生出来的“信封地址”。
Q5:Truncated 5G-S-TMSI为什么是40位?它主要用在什么场景? A5:Truncated 5G-S-TMSI是为NB-IoT(窄带物联网)优化的。NB-IoT设备通常是低功耗、低成本设备,其通信特点是数据量小、对信令开销极其敏感。40位的长度是为了在满足RRC连接重建过程中的寻址需求的同时,尽可能地减少信令比特数。相比完整的5G-S-TMSI(48位),这8个比特的节省对于NB-IoT设备而言意义重大。