好的,我们继续接续上一篇文章,对 3GPP TS 31.102 规范进行深度拆解。


深度解析 3GPP TS 31.102:4.2.17 EFLOCI & 4.2.23 EFPSLOCI (位置信息)

本文技术原理深度参考了3GPP TS 31.102 V18.8.0 (2025-03) Release 18规范中,关于“4.2.17 EFLOCI (Location Information)”和“4.2.23 EFPSLOCI (Packet Switched location information)”的核心章节。本文旨在为读者深入剖析USIM卡中这对至关重要的“位置信标”文件,是如何记录用户在移动网络中的最后足迹,并成为手机快速重返网络、保障通信连续性的关键。

在之前的探索中,我们了解了手机如何选择网络。现在,让我们聚焦于手机成功驻留在一个网络之后发生的事情。手机与网络之间并非“一次连接,终身在线”,尤其是在移动场景下。关机、进入隧道导致信号丢失、切换飞行模式……这些日常操作都会导致手机暂时脱网。

当我们的主角“李想”的手机重新开机或恢复信号时,它面临一个关键任务:如何快速、高效地重新“回到”网络中?是像第一次开机那样,从头开始进行全频段扫描和网络搜索吗?这样做无疑太慢了。

更聪明的做法是,手机应该“记住”自己上次关机或掉线前,身在何处。这样,它就可以优先在“记忆中”的位置发起网络附着(Attach)或位置更新(Location Update)请求,大大缩短搜网时间。

这个“记忆”就存储在USIM卡的EFLOCIEFPSLOCI文件中。它们如同飞行记录仪的“黑匣子”,忠实地记录下手机在失联前的最后位置坐标。这对文件分别服务于电路交换(CS)域和分组交换(PS)域,共同构成了USIM的位置信息档案。


1. “最后的足迹”:LOCI文件的核心价值

EFLOCIEFPSLOCI的核心价值在于通过存储最后一次成功注册的位置信息,来优化和加速下一次的网络重连过程。

This EF [EFLOCI] contains the following Location Information:

  • Temporary Mobile Subscriber Identity (TMSI);
  • Location Area Information (LAI);
  • Location update status.

This EF [EFPSLOCI] contains the following Location Information:

  • Packet Temporary Mobile Subscriber Identity (P-TMSI);
  • Routing Area Information (RAI);
  • Routing Area update status.

规范原文清晰地列出了这两个文件分别存储的三要素,它们共同构成了一个完整的“位置快照”。

  • 临时身份 (TMSI / P-TMSI): 网络为了保护用户隐私(避免在空口频繁传输IMSI)而分配的临时身份标识。TMSI用于CS域,P-TMSI用于PS域。这个临时身份只在特定的“位置区”内有效。

  • 位置区标识 (LAI / RAI): 标记了手机最后所在的“地理区域”。

    • LAI (Location Area Identity): CS域的位置区标识。一个LAI可能覆盖几十甚至上百个基站。

    • RAI (Routing Area Identity): PS域的路由区标识。RAI与LAI可能相同,也可能不同,取决于运营商的网络规划。

  • 更新状态 (Update Status): 一个标志位,记录了上一次位置更新的结果(如成功、失败、PLMN禁用等)。

工作机制:

  1. 记录足迹: 每当李想的手机成功完成一次位置更新(Location/Routing Area Update)后,网络会返回新的TMSI/P-TMSI和更新状态。手机必须立即将这些新信息(连同当前的LAI/RAI)写入USIM的EFLOCI/EFPSLOCI文件。这个“写”操作至关重要,它确保了USIM中保存的是最新鲜的位置快照。

  2. 快速重连: 当手机重启或从无信号区域恢复时,它会执行以下优化流程:

    • 首先读取EFLOCI/EFPSLOCI,获取上次的LAI/RAI和TMSI/P-TMSI。

    • 优先在上次LAI/RAI对应的频点和网络上进行搜索。

    • 一旦找到信号,手机会立即使用存储的TMSI/P-TMSI发起位置更新请求,而不是使用IMSI发起完整的附着流程。

    • 网络侧(VLR/SGSN)如果能够识别这个TMSI,并且确认位置区未变,整个重连过程会非常迅速,信令交互极少。

场景化举例:

李想乘坐地铁,手机在A站有信号,成功注册在一个LAI为LAI_A的区域,网络分配给他的TMSI是TMSI_A。手机立刻将LAI_ATMSI_A和“已更新”状态写入EFLOCI

当地铁进入隧道,手机信号丢失。

当地铁驶出隧道到达B站,手机恢复信号。

  • 传统方式 (无LOCI): 手机需要从头扫描所有频段,找到最强信号,用IMSI发起漫长的初始附着流程。

  • 优化方式 (有LOCI): 手机读取EFLOCI,得知自己上次在LAI_A。它会优先搜索与LAI_A相关的网络。如果B站依然属于LAI_A,手机会立刻用TMSI_A发起位置更新。网络收到后,发现TMSI有效,立即恢复了李想的通信服务。整个过程可能只需要几秒钟。


2. 电路域的信标:4.2.17 EFLOCI (位置信息)

EFLOCI专门服务于CS域,保障了语音通话和短信服务的快速恢复。

2.1 文件结构与编码剖析

表 4.2.17-1: EFLOCI 文件结构

| 属性 | 值 |

| :--- | :--- |

| Identifier | ‘6F7E’ |

| SFI | ‘0B’ |

| Structure | Transparent |

| File size | 11 bytes |

| Update activity | High |

| Access Conditions | READ: PIN, UPDATE: PIN, … |

字节内容

| 字节 | 描述 | M/O | 长度 |

| :--- | :--- | :--- | :--- |

| 1 to 4 | TMSI | M | 4 bytes |

| 5 to 9 | LAI | M | 5 bytes |

| 10 | RFU (Reserved for Future Use) | M | 1 byte |

| 11 | Location update status (位置更新状态) | M | 1 byte |

逐项解读:

  • Update activity: High。这个文件会随着用户的移动和网络状态的改变而被频繁更新,因此对UICC的写入性能和寿命有一定要求。

  • Access Conditions: 读取和更新都受PIN保护,确保了用户的位置信息和临时身份不会在USIM未解锁的情况下被轻易读取或篡改。

2.2.1 TMSI (4 bytes) & LAI (5 bytes) 编码

Coding: according to TS 24.008.

  • TMSI (Temporary Mobile Subscriber Identity): 一个32位的临时标识符,由网络动态分配。

  • LAI (Location Area Identity): 由MCC (3位), MNC (2-3位) 和 LAC (Location Area Code, 2字节) 组成,共5个字节,编码方式与之前介绍的PLMN ID类似。

2.2.2 Location Update Status (1 byte) 编码

这个字节是整个机制的“状态机”,记录了上次位置更新的结果,指导手机下一步的行动。

Coding: Byte 11:

Bits: b3 b2 b1

0 0 0 : updated.

0 0 1 : not updated.

0 1 0 : PLMN not allowed.

0 1 1 : Location Area not allowed.

  • '000' (updated): 最理想的状态,表示上次位置更新成功,存储的TMSI和LAI都是有效的。手机重连时应大胆使用它们。

  • '001' (not updated): 表示手机尝试过更新,但可能因为信号弱等原因未收到网络确认。TMSI可能已失效,手机下次应谨慎使用。

  • '010' (PLMN not allowed): 这与EFFPLMN文件联动。当收到这个拒绝原因时,手机不仅要将状态设为010,还应该将该PLMN加入EFFPLMN黑名单。

  • '011' (Location Area not allowed): 表示用户在该位置区无权接入(如区域限制服务),手机应避免在该LA再次尝试。


3. 分组域的航标:4.2.23 EFPSLOCI (分组交换位置信息)

EFPSLOCIEFLOCI在PS域的平行版本,保障了数据上网业务的快速恢复。其结构和工作原理与EFLOCI高度相似。

3.1 文件结构与编码剖析

表 4.2.23-1: EFPSLOCI 文件结构

| 属性 | 值 |

| :--- | :--- |

| Identifier | ‘6F73’ |

| SFI | ‘0C’ |

| Structure | Transparent |

| File size | 14 bytes |

| Update activity | High |

| Access Conditions | READ: PIN, UPDATE: PIN, … |

字节内容

| 字节 | 描述 | M/O | 长度 |

| :--- | :--- | :--- | :--- |

| 1 to 4 | P-TMSI | M | 4 bytes |

| 5 to 7 | P-TMSI signature value | M | 3 bytes |

| 8 to 13 | RAI | M | 6 bytes |

| 14 | Routing Area update status | M | 1 byte |

EFLOCI的关键区别:

  1. 文件更大 (14 bytes):

    • P-TMSI Signature (3 bytes): P-TMSI签名。这是PS域特有的一个安全增强机制。当网络分配P-TMSI时,会同时分配一个签名。手机在后续使用该P-TMSI时,需要附上这个签名,网络可以此来快速验证P-TMSI的合法性,防止被伪造。

    • RAI (6 bytes): 路由区标识。其构成与LAI类似,但增加了RAC (Routing Area Code),因此长度更长。

  2. 内容不同: 存储的是PS域的P-TMSI和RAI,而不是CS域的TMSI和LAI。

  3. 状态位含义相似: Routing Area update status的编码和含义与Location update status基本一致,只是将“Location Area”换成了“Routing Area”。

场景化举例:

李想在咖啡馆用手机上网,手机通过PS域附着网络,获得了P-TMSI_B, RAI_BP-TMSI Signature。手机立即将这些信息写入EFPSLOCI

随后,他将手机设为飞行模式。几分钟后,他关闭飞行模式。

  1. 手机读取EFPSLOCI,得到上次的RAI_BP-TMSI_B

  2. 它优先搜索RAI_B对应的网络。

  3. 找到信号后,立即用P-TMSI_BP-TMSI Signature发起路由区更新(Routing Area Update)流程。

  4. 网络验证通过后,迅速恢复了李想的数据连接,几乎是“秒连”。

4. 演进的足迹:从LOCI到5GS LOCI

需要强调的是,EFLOCIEFPSLOCI是2G/3G时代的产物,在4G(EPS)和5G(5GS)时代,它们被功能更强的新文件所取代:

  • 4G时代: EFEPSLOCI (EPS location information),存储GUTI和TAI。

  • 5G时代: EF5GS3GPPLOCI / EF5GSN3GPPLOCI,存储5G-GUTI和TAI。

但它们的设计思想一脉相承,都是为了**“记录最后位置,加速网络重连”**。TS 31.102作为一部涵盖多代通信技术的USIM规范,保留对EFLOCIEFPSLOCI的定义,正是为了确保USIM卡能够完美地向后兼容2G/3G网络环境。

总结:“记忆”的力量

EFLOCIEFPSLOCI这对“位置信标”文件,是USIM中体现“记忆”力量的典范。它们通过在掉线前刻录下最后的“时空坐标”(临时身份+位置区),为下一次的网络重逢铺平了最快的道路。

  • 加速网络重连: 这是它们最核心的价值。通过从完整的初始附着流程降级为简化的位置/路由区更新流程,极大地缩短了手机掉线重连的时间,提升了用户体验的连续性。

  • 降低信令开销: 简化的流程意味着更少的空口信令交互,为运营商节省了宝贵的无线资源,尤其是在大规模用户同时重连的场景下(如火车出隧道)。

  • 保障向后兼容: 作为2G/3G时代的遗产,它们确保了现代USIM卡在老旧网络环境下依然能够高效工作。

对于李想而言,他每次重启手机或从地铁隧道出来,手机能够迅速恢复信号,这背后都离不开EFLOCIEFPSLOCI(以及它们在4G/5G的后继者)所提供的“记忆”的力量。这张小小的卡片,不仅记得他是谁,还记得他曾去过哪里,并以此为他指引着回家的最近的路。


FAQ环节

Q1:TMSI/P-TMSI既然是临时的,为什么还要费力地存到USIM里?存在手机内存里不行吗?

A1:存在USIM里是为了安全和一致性。1) 安全: TMSI虽然是临时的,但在特定区域内是用户的唯一标识,属于敏感信息。USIM提供了比手机普通内存(可能被恶意APP访问)更安全的存储环境。2) 一致性: 将身份标识(IMSI)和与之关联的临时身份(TMSI)及位置信息(LAI)存储在同一个安全载体(USIM)中,确保了身份信息的一致性和完整性。当用户更换手机时,所有关键的网络接入信息都跟随USIM卡一同迁移,新手机可以立即利用这些信息快速接入网络,提供了无缝的设备更换体验。

Q2:Location update status中记录的失败状态(如”PLMN not allowed”)有什么用?

A2:它是一个重要的状态标志,用于指导手机的下一步行动。例如,如果状态是”PLMN not allowed”,手机在下次搜网时,不仅知道上次的位置信息已失效,还应该去查询EFFPLMN文件,主动避开这个被禁用的网络。如果状态是”Location Area not allowed”,手机则应该避免在同一个LA再次发起尝试。这些状态信息将一次失败的连接尝试,转化为了宝贵的“经验”,让手机的下一次决策更加智能。

Q3:为什么EFPSLOCIEFLOCI多了一个“P-TMSI签名”?

A3:P-TMSI签名是PS域引入的一项安全增强措施。在早期的GSM网络中,存在一些潜在的身份伪造风险。为了应对PS域更复杂的数据业务场景,3GPP引入了P-TMSI签名。这个签名由网络使用只有网络和USIM才知道的密钥计算得出