如同我们人类社会一样,网络也是一个社会,各种接入到网络中的设备就是网络社会中的人。为了维持社会的稳定和辨识各终端用户,网络社会是怎么做到用户区分的呢?毕竟网络是我们人类创建的,所以它也就具备了我们所拥有的特性,网络社会中赋予了各个终端用户永久身份证号——IMSI和临时ID——GUTI、P-TMSI等来标识终端。
1
IMSI——网络中的用户身份证号
IMSI——International Mobile Station Identity作为通信网络中最重要的一个ID——网络身份证号——而存在,如同我们每个人的身份号一样的重要,是作为手机sim卡永久却唯一的号码,如图:
IMSI由三部分构成:
IMSI如同我们的身份证号是对Sim卡唯一切永久的,那么必然至关重要,因此在网络通信过程中不到万不得已是不会动用IMSI的,那么什么是万不得已的呢?比如之前我们讲4G附着信令中的鉴权,必然要用到IMSI才可以到HSS中取得用户的鉴权向量和开户信息,另一个就是在建立session的过程中MME和SGW/PGW是要首先通过IMSI将Session建立并统一起来的。
既然IMSI如此重要,而且它所包含的只是PLMN网络信息和PLMN下用户的唯一信息MSIN,依然不利于用户定位(网络好大脸),而且过多的暴露IMSI就如同打招呼告诉人家你的身份证号一样的尴尬:
因此为了避免尴尬(开玩笑),更为了能很好的保护用户信息(IMSI尽量少的游走在网络中),并且能准确定位用户,3GPP规范了如同我们人类姓名一样的用户临时身份ID——4G中的GUTI和2/3G中的P-TMSI。
2
GUTI——4G网络中的用户的临时ID
GUTI——Globally Unique Temporary UE Identity作为4G中用户的临时身份ID而被MME唯一分配,如同用户的姓名一般,只是会随着环境的改变而改变:比如在MME间切换后,或者当前GUTI的使用时间到期了。结构如图:
上图展示了整个GUTI的构成,一下子比IMSI复杂了不少吧?其实整体结构就两部分:一部分是标示此GUTI是由哪个MME分配的即MME的GUMMEI,另一部分是在此MME中用户的唯一ID——M-TMSI。
GUTI作为网络内部用户的临时ID自然是随着环境的变化而变化的,之前我们在讲4G附着的时候也说明了GUTI是在Attach完成之后通过Attach Accept消息下发给终端用户的,而之后的信令消息终端都要通过GUTI或者GUTI中的某一些字段比如S-TMSI来完成,从而达到IMSI尽量少地暴露在网络中的目的,而GUTI也可以迅速的被MME判断此用户是否曾经驻留在我这里,从而迅速完成GUTI Attach或者TAU等信令消息。
同时GUTI作为包含有GUMMEI信息的ID在MME pool的时候也被eNodeB用来作为将终端的Request上报到对应的MME的凭证。
3
P-TMSI——2/3G网络中的用户临时ID
P-TMSI作为2/3G的PS域核心网中GMM层的用户临时ID而被SGSN分配,如同4G的GUTI一样作为用户2/3G的用户姓名,结构如下图所示:
P-TMSI一共有4个八进制位共32bits,而其中两个最高位字节(31和30位)被永久置为11以标示此TMSI由SGSN分配(其他组合00、01、10标示此TMSI由VLR/MSC分配即电路域的TMSI)。
为了避免节点重启之后导致重复分配相同的P-TMSI,P-TMSI还被规定需要设计为有标示时间或者重启的bit位。
在Intra domain connection of RAN nodes to multiple CN nodes即SGSN pool的场景下,3GPP规定了SGSN分配的TMSI中必须包含NRI用来标示pool内的特定SGSN member。NRI的长度从0-10bits变化,当然0bit的长度表示没有NRI即SGSN pool这个feature是没有使用的。NRI在TMSI中有其固定位置从23bit到14bit。
由于4G中标示MME pool中member的MMEC只有8bits,为了能更好的完成2、3G到4G的互切换,在实际应用中NRI的长度被最大设定为8bits(不明白?请往下看:-D)。
4
GUTI和RAI/P-TMSI之间的mapping关系
我们已经知道了在2/3G中用户的临时ID为P-TMSI,4G中临时ID为GUTI,因为移动通信的移动性,那么终端用户必然不会静止不前,而在位置移动的过程中自然就会从4G信号覆盖完美到没有4G而只有2/3G的位置,或者从2/3G覆盖的区域进入到4G的地盘,正所谓我的地盘你的用我的ID,但是由于不同网络之间的临时ID是不一样的,那要怎么办呢?正所谓上有政策下有对策,你有张良计我有过墙梯,3GPP制定的过程中也规范了在2/3G和4G切换的过程中必须要完成RAI/P-TMSI和GUTI之间的mapping。
4.1
GUTI到RAI/P-TMSI的mapping
当用户附着到4G之后移动到2/3G的网络辖区下,UE需要首先完成GUTI到RAI/P-TMSI的对应然后发送request给SGSN,GUTI到RAI/P-TMSI的对应关系如下:
从图中我们可以看到,MCC/MNC作为网络标示,不管是4G还是2/3G保持不变。
当New SGSN收到用户的Request之后通过mapped RAI/P-TMSI提取出Old MME信息,并向old MME发起索要用户信息如IMSI的请求,而Old MME此时再将mapped RAI、P-TMSI和P-TMSI signature对应回GUTI以匹配自己所保存的用户信息。
4.2
RAI/P-TMSI到GUTI的mapping
当用户从2/3G移动到4G网络发起Request(Attach、TAU等),首先需要将RAI/P-TMSI转换成4G的临时ID——GUTI,如下图所示:
为了区别mapped的MMEGID即2/3G中的LAC和MME中真实MMEGID的不同,3GPP中规定了LAC的最高bit位需要为0,而MMEGID的最高位为1。然而由于2、3G的过早问世,所以早已经有LAC的最高bit位为1,那么索性就放弃什么1和0的纷争,只要能保证一个网络中的LAC和MMEGID不重叠即可(说给做网络规划的人听:-D)。
对于New MME而言收到一个带有mapped GUTI的用户请求,需要将mapped GUTI在转化为RAI/P-TMSI从而得到Old SGSN的信息,然后New MME即可以向Old SGSN索要此用户的IMSI等相关信息。
因为GUTI和RAI/P-TMSI的完美对应关系,终端再在网络移动的过程中就可以畅通无阻的完成无缝衔接,当然ID仅仅是一个开始,在移动过程中还需要一系列的验证和交互,后续再说~
以上就是数据核心网中的用户身份ID的简单介绍和至关重要的GUTI和RAI/P-TMSI的对应关系,希望对大家有所帮助。
以上内容参考以下3GPP整理:
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有