前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >通信|我是谁?网络ID之用户2、3G的外号——P-TMSI,一个通信老物件儿

通信|我是谁?网络ID之用户2、3G的外号——P-TMSI,一个通信老物件儿

作者头像
琉璃康康
发布2024-04-02 16:42:23
1300
发布2024-04-02 16:42:23
举报
文章被收录于专栏:七禾页话七禾页话
书接上文的通信网络中的身份证——IMSI和SUPI(

今天这一篇介绍2/3G中的临时ID,对于这两年入行通信做4/5G的朋友可能会有点儿陌生,但是对于入行7、8年以上的可能是一波回忆杀,甚至有些东西当时测试的时候可能没有注意到,所以就常学常新吧。

另外2/3G还没有完全退网,所以这篇也不是现在完全用不到的东西。

聊临时ID前,先来看看一个要的ID——TMSI。

TMSI:临时ID中的基本盘

TMSI的全称是Temporary Mobile Subscription Identifier,它是一个由4个八位字节组成,也就是一共32bits,是可以使用完整的十六进制进行编码的。

它是由核心网节点比如VLR/MSC、SGSN、MME或者AMF分配的。

为了避免节点重启之后导致重复分配相同的TMSI,P-TMSI还被规定需要设计为有标识时间或者重启的bit位,总之麻雀虽小五脏俱全,制定规则的时候考虑的还是挺多的。

另外核心网节点不能分配一个32位都是1的TMSI,这是因为TMSI必须要存储在SIM卡中,而SIM用32位都为1来表示没有有效的TMSI可以使用。

为什么说TMSI是临时ID中的基本盘呢?因为它将来会在各种临时ID中出现,比如4G GUTI中的M-TMSI,5G中的5G-TMSI,以及2/3G中的P-TMSI,还有S-TMSI、5G-S-TMSI等等,总之就是“踢”。

P-TMSI:2/3G网络中的用户临时ID

说起P-TMSI要倒回到十年前的记忆了,刚入行通信的时候是Gb和SS7从窄带、宽带、Frame Relay、ATM等技术在向over IP过度的尾声,当时被SS7支配的都要放弃了,虽然Over IP之后SS7已经简单不少,但是依然是通信中复杂的存在,谈“七”色变。

虽然是老物件儿,但是偶尔还得拿出来看一看、用一用,所以坐等2/3G退网

P-TMSI中的P是Packet的缩写,所以表示了它是2/3G PS域核心网的用户临时ID,作为TMSI的一类,P-TMSI由SGSN分配,因此:

  • P-TMSI在一个SGSN内是唯一的,即每个SGSN中的不同用户P-TMSI是唯一的。
  • P-TMSI是只有用户和它所在的SGSN知道并互相认可,通过GMM层进行分发。
  • 另外当用户下线后,在SGSN上彻底没有了这个用户的信息后,它的P-TMSI被释放,可以分配给别的用户。

P-TMSI的结构跟TMSI的结构完全一样,如下图所示:

P-TMSI一共有4个八进制位共32bits,而其中两个最高位字节(31和30位)被永久置为11,以表示此TMSI是由SGSN分配的P-TMSI(其他组合00、01、10表示此TMSI由VLR/MSC分配即电路域的TMSI)。

P-TMSI需要注意的是在SGSN Pool的场景下,3GPP规定了SGSN分配的TMSI中必须包含NRI(Network Resource Identifier)用来标识pool内特定的SGSN member。NRI的长度从0-10bits变化,当然0bit的长度表示没有NRI即SGSN pool这个功能是没有使用的。NRI在TMSI中有其固定位置:从23bit到14bit,也就是说组了SGSN Pool之后,SGSN在分配P-TMSI的时候中间的23到14bit位就不能随意分了,要把自己的NRI放进去。

但由于4G中标识MME pool member的MMECode长度只有8bits,为了能更好地完成2、3G到4G的互操作,在实际应用中NRI的长度应该被最大设定为8bits(为什么?请听下回分解

)。

说到P-TMSI,还有一个搭配的P-TMSI Signature概念。

P-TMSI Signature包含3个八进制位,即一共24bit,它可以被SGSN分配,没有什么特殊的分配规则,唯一的就是不要将24bit都置为1,因为终端使用24个1表示没有有效的P-TMSI Signature:

TLLI:老物件儿新感受

既然聊到了2/3G的ID,就离不开TLLI这个概念,TLLI的全称是Temporary Logical Link Identity,它是由MS或SGSN根据P-TMSI或直接根据某些规则构建的。

TLLI依然是由4个八进制位构成,一共32bit位,按重要性顺序从0到31编号,0 bit为LSB(Least Significant Bit,即最低有效位),31 bit是MSB(Most Significant Bit,即最高有效位)。

TLLI目前规划了四种类型:

  • Local TLLI(本地TLLI)是由手机终端构建:最高两位即31和30bit是1,29-0 bit是直接用P-TMSI的29-0 bit的值,所以可以看到Local TLLI和P-TMSI是一样的。
  • Foreign TLLI(外部TLLI)是由手机终端构建:最高位即31bit是1,然后30bit是0,然后29-0 bit依然是直接用P-TMSI的29-0 bit的值。
  • Random TLLI(随机TLLI)依然是由手机终端构建,规则是:最高位即31bit是0,然后30到27 Bit被置为1,26到0随机产生,
  • 还有一个是Auxiliary TLLI(辅助TLLI)是由SGSN构建的,构建规则是:最高的31 bit是0,30到28位是1,27位是0,然后26到0位是独立分配的。

以上四类是目前的规划,将来还可能会引入其他类型的TLLI。TLLI的构建规则总结如下表:

其中:“T”、“R”、“A”和“X”表示可以为TLLI类型取任何值的位。更准确地说,“T”表示从P-TMSI导出的位,“R”表示随机选择的位,“A”表示由SGSN选择的位,“G”表示从分配的G-RNTI导出的位,“X”表示保留范围中的位。

另外TLLI码空间的一部分被GERAN(2G)重新使用,以允许在RLC/MAC消息中包含GERAN的无线网络临时标识。

四类规划的TLLI是如何使用的呢?3GPP 24.008的4.7.1.4.1定义了使用规则,总结如下:

  • 如果手机具有有效的P-TMSI,那么手机在发起Attach request和Routing area update request的时候,会使用由这个P-TMSI得出的Foreign TLLI(即把P-TMSI的Bit31和Bit30改为10),而在Attach和RAU成功完成之后则使用Local TLLI(和P-TMSI在数值上一样)。
  • 如果手机没有有效的P-TMSI(例如第一次开机、上次Attach请求被拒绝等),手机在Attach request的时候只能使用IMSI来标识身份,而在LLC层将会使用Random TLLI。在Attach成功完成后,SGSN给手机分配了一个P-TMSI,手机就会从这个P-TMSI中得出Local TLLI使用。

在下图2G Attach Request消息中可以看到BSSGP这个LLC层的TLLI最高两位是1和0,29-0位的值跟P-TMSI中29-0位的值一样,所以这个TLLI是一个Foreign TLLI。


在Attach Accept中SGSN分配了新的P-TMSI,如下:

在之后手机发的Payload的消息BSSGP中TLLI最高两位是1,当然这个TLLI跟上图中Attach Accept中的P-TMSI是完全一样的,所以是一个Local TLLI:

这就是一个Foreign TLLI到Local TLLI变化成功的测试结果。


以上就是通信网络中2/3G的临时ID,虽然其已经在退网的边缘,但是承担的历史使命没有完成,所以还得关注,内容参考以下3GPP整理:

  • 3GPP 23.003——Numbering, addressing and identification
  • 3GPP 23.236——Intra-domain connection of Radio Access Network (RAN) nodes to multiple Core Network (CN) nodes
  • 3GPP 33.401——System Architecture Evolution (SAE); Security architecture
  • 3GPP 24.008——Mobile radio interface Layer 3 specification; Core network protocols
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-03-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 七禾页话 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档