接入5G网络的终端(UE)将获得其唯一标识5G GUTI(5G Global Unique Temporary Identifier);5G GUTI由核心网元AMF分配。AMF为UE分配的5G-GUTI在3GPP和non 3GPP接入网中都可使用。
5G-GUTI中包括:GUAMI(全球唯一 AMF ID)和5G-TMSI(临时移动用户身份)两部分;其中GUAMI标识终端分配的AMF,而5G-TMSI是在AMF内唯一标识的终端(UE)
5G-GUTI结构图如下:
根据上图可看出5G-GUTI=GUAMI+5G-TMSI,其中:
GUAMI=MCC+MNC+AMF Identifier
AMF Identifier= AMF Region ID+AMF Set ID+AMF Pointer
5G-S-TMSI =AMF Set ID+AMF Pointer+5G-TMSI
AMF Identifier长度为24bits,其中包括:
AMF Region ID长度为8bits
AMF SetID长度为10bits
AMF Pointer长度为6bits
在5G网络中S-TMSI是GUTI的缩写形式,用于实现更有效的无线信令程序,这包括在寻呼和服务请求过程,其结构如下图所示。
5G-S-TMSI结构图如下:
5G网络中S-TMSI由长度为48 bits组成,这是因为在NG-RAN中通常使用5G-TMSI 的10个最低有效位来确定寻呼不同 UE的时间,而AMF应确保5G-TMSI的10 LSB均匀分布
无线网络中终端分两次上报5G-S-TMSI内容,其中:
在“RRC Setup Request”消息中上报ng-5G-S-TMSI-Part1(39bits)内容;
第二部分"ng_5G_S_TMSI_Part2(9bits)内容在“RRC SetupComplete”消息中上报。
终端上报的5G-S-TMSI:
UuMsg
message
t = c1
u
c1
t = rrcSetupRequest
u
rrcSetupRequest
rrcSetupRequest
ue_Identity
t = ng_5G_S_TMSI_Part1
u
ng_5G_S_TMSI_Part1(5G_S_TMSI第一部分)
numbits = 39(比特数:39)
data = 00010001 01111001 00011000 00010101 1101001(BIT)
establishmentCause = 4 : EstablishmentCause_Root_mo_Data
spare
numbits = 1
data = 0(BIT)
UuMsg
message
t = c1
u
c1
t = rrcSetupComplete
u
rrcSetupComplete
rrc_TransactionIdentifier = 0
criticalExtensions
t = rrcSetupComplete
u
rrcSetupComplete
tOptFlags
registeredAMFPresent = 0
guami_TypePresent = 0
s_NSSAI_ListPresent = 0
ng_5G_S_TMSI_ValuePresent = 1
lateNonCriticalExtensionPresent = 0
nonCriticalExtensionPresent = 0
selectedPLMN_Identity = 1
dedicatedNAS_Message
nocts = 44
data = ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff(HEX)
ng_5G_S_TMSI_Value
t = ng_5G_S_TMSI_Part2
u
ng_5G_S_TMSI_Part2(5G_S_TMSI第二部分)
numbits = 9(比特数:9)
data = 00000000 0(BIT)
TCP 的那些事儿(上)2014年5月28日陈皓TCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面。所以学习TCP本身是个比较痛苦的过程,但对于学习的过程却能让人有很多收获。关于TCP这个协议的细节,我还是推荐你去看W.Richard Stevens的《TCP/IP 详解 卷1:协议》(当然,你也可以去读一下RFC793以及后面N多的RFC)。另外
介绍:1.件头是位于文件开头的一段承担一定任务的数据,一般都在开头的部分。 2.头文件作为一种包含功能函数、数据接口声明的载体文件,用于保存程序的声明,而定义文件用于保存程序的实现 (implementation)。 3.为了解决在用户上传文件的时候在服务器端判断文件类型的问题,故用获取文件头的方式,直接读取文件的前几个字节,来判断上传文件是否符合...
前言iOS本地缓存数据方式有五种:1.直接写文件方式:可以存储的对象有NSString、NSArray、NSDictionary、NSData、NSNumber,数据全部存放在一个属性列表文件(*.plist文件)中。2.NSUserDefaults(偏好设置),用来存储应用设置信息,文件放在perference目录下。3.归档操作(NSkeyedArchiver)
今天访问WordPress程序做的网站,突然出现The page you are looking for is temporarily unavailable错误,服务器环境为: Linux+Nginx+MySQL+PHP。于是上网查找解决方法,找到以下两个解决方法,作为参考: 解决方法一: 访问discuz论坛很正常,但是一旦访问uc
所谓重载,就是赋予新的含义。函数重载(Function Overloading)可以让一个函数名有多种功能,在不同情况下进行不同的操作。运算符重载(Operator Overloading)也是一个道理,同一个运算符可以有不同的功能。实际上,我们已经在不知不觉中使用了运算符重载。例如,+号可以对不同类型(int、float 等)的数据进行加法操作;<<既是位移运算符,又可以配合 cout 向控制台输出数据。C++ 本身已经对这些运算符进行了重载。C++ 也允许程序员自己重载运算符,这给我们带
大家好,由我主讲的课程:JAVA笔试面试专家“培”练营已经由ITCast发布了,本课程共计30讲,涵盖了Java笔试、面试的方方面面,希望能对大家起到帮助的作用,该课程地址为:http://www.itcast.net/portal/courses/unit/269。下面是课程的大纲及简介学习进度课程名称学习内容学习时间第1天第1讲:Java方法参数传递详解...
dynamic_cast 运算符Visual Studio 2015其他版本 若要了解有关 Visual Studio 2017 RC 的最新文档,请参阅 Visual Studio 2017 RC 文档。将操作数 expression 转换成类型为type-id 的对象。 语法 dynamic_cast &lt; type-id &gt; ( expr...
题目描述:1441. 用栈操作构建数组 - 力扣(LeetCode) (leetcode-cn.com)Java代码:class Solution { public List<String> buildArray(int[] t, int n) { List<String> ans=new LinkedList<>(); for(int ni=1,ti=0;ti<t.length;ni++,ti+
MySQL存储引擎MyiSAM存储引擎在MySQL5.5之前,默认的存储引擎就是它,当我们建表的时候如果没有指定存储引擎,就会使用它。默认MyiSAM的表会在磁盘中产生3个文件C:\ProgramData\MySQL\MySQL Server 8.0\Data\imooc.frm:表结构文件(但是我的电脑盘上面并没有这个文件).MYD:数据文件.MYI:索引文件可以在创建表的时候指定数据文件和索引文件的存储位置,只有MyiSAM表支持指定了下面这两个语句之后,还是会产生M
串口通信的概念很好理解,串口按位(bit)发送和接收字节。我们常用的9针串口中有3针是有连接线的,分别是地线(1针),发送(2针),接收(3针),其他线用于握手的,可要可不要。大家有兴趣的可以拿起串口线接口看一下,串口母口的针孔附近一般都标有阿拉伯数字,标有1,2,3的那三个针孔就是上面说的接入连接线的。有时也有只使用一根线来完成数据收发的,即发送数据,又接收数据。但是因为只有一根线,所以发数据的时候不能接数据,接数据的时候不能发数据,也就是通信双方不能同时收发数据,我们把这种称为半双工通信;还
转载邹老师文章:https://blog.csdn.net/chenyusiyuan/article/details/4582076 ...
在一台服务器A上的虚拟环境(cuda9.0)移植到另一台环境B(cuda10.0)上。1.首先进入A的env路径,使用:sudo tar -cvf Filename.tar Dirname注意:一定要用root权限打包,否则可能会包不全其中Filename是自己指定的,Dirname是A环境的名称。2.利用scp /home/eini/anaconda3/envs/Filename.tar 172.%%.%%.%: /home/eini/anaconda3/envs将服务器A的环境拷贝到B