*** 欢迎转发,转发请注明出处。***
前段时间学习5G积攒了一些学习笔记,整理一下发出来,也算蹭个热点,撞撞风口,走走流量。原计划分为四级整理笔记,适应从肉食者到搬砖者不同的人群分级学习,尽量节省阅读和学习时间:
5G普及篇。本篇中,尽量不出现专业词汇,比如:UDM/UDR——均用存放用户数据那玩意儿;AUSF——审批你是不是公司内部员工那台设备;AMF——你想做什么,先联系我,我帮你对缝儿的那家伙儿;SMF……写到一半感觉我写不下去了。可能即使写出来,连搞5G的专业人士也不知所云,后来尊享篇就中途趴窝,下马了。
5G大概篇,适于不需要太深入了解的人群。本篇中,专业词汇、专有名词的英文缩写都会出现,但仅介绍基本知识。速看一遍,走马观花,管中窥豹也能窥个差不多。
适用于通信专业的技术同仁。本篇对技术细节、关键知识点进行梳理,详细介绍,以期读完之后既知其一,又知其二,又能知其它。什么时候忘了,回来一查,还有《新华字典》的效果,那就更给力了。
适用于狂热于技术,对技术有剥皮剔骨专执信念的人群,计划对消息比特0-1的设置、二进制的分析、ASN.1、TLV等知识详细说明,能折腾到这种程度,对于一个维护人员来讲,已经无异于自掘坟墓,驾鹤西去,神游太虚了,于是美其名曰“畅享”篇。不过,我实在不想过早仙游,所以本篇只能任凭发挥,随意“畅想”了。
经过衡量,最后只剩下了专享篇和优享篇两级。具体内容均根据3GPP R16(2020年12月)版本做了更新,也有可能个别地方更新不及时或者干脆理解错了,只能随时发现随时更新了。涉及到的流程图、消息定义等直接采用3GPP文档原图,不做任何更改,以方便有阅读疑问时,根据本篇回查对应的3GPP,不至于张冠李戴,郢书燕说。先进行第一篇5G注册流程介绍。
注:
(1)3GPP流程图中的虚线表示该步骤可选;
(2)消息参数用方括号括住的为可选字段。
1. UE发送Registration Request到(R)AN,消息中包含注册类型、用户标识、UE能力及请求的切片等参数。
2. (R)AN接收到消息,根据用户临时标识或切片选择合适的AMF,如果(R)AN找不到合适的AMF,则将Registration Request发送给缺省AMF,由缺省AMF进行AMF重新选择流程。
3. (R)AN将Registration Request消息转发给AMF。
4. 如果Registration Request中携带的是5G-GUTI,AMF发现不是自己分配的,则会向调用Old AMF请求用户的上下文。
5. Old AMF响应New AMF,返回用户上下文信息。
6. 如果UE没有提供SUPI,也没有从Old AMF处获取到SUPI,AMF向UE发送Identity Request消息请求获取SUPI。
7. UE向AMF返回Identity Response消息,消息中包含SUPI。
8. AMF根据SUPI或者SUCI选择一个AUSF,进行用户鉴权。
9. AUSF执行对UE的鉴权过程。
10.用户新注册AMF发生改变,则New AMF发送Namf_Communication_RegistrationStatusUpdate消息给Old AMF。
11.AMF向UE发送Identity Request消息,请求获取PEI。UE向AMF返回Identity Response消息。
12.AMF向EIR发起PEI检查过程,EIR向AMF返回检查结果响应。
13. New AMF根据SUPI选择UDM。
14a-c. AMF需要向UDM注册并获取签约数据,并订阅签约数据变更通知。
14d.New AMF向UDM注册成功后,UDM向Old AMF发送Nudm_UECM_DeregistrationNotify通知,携带通知原因值。
14e.Old AMF向UDM取消签约数据订阅。
15.如果AMF需要执行接入策略,则选择一个PCF。
16.New AMF和PCF进行接入策略交互。
17.如果AMF改变或UE的PDU Session Status与AMF保存的不一致,AMF更新SMF中会话上下文。
18、19. 国内部署不涉及。
21.New AMF向UE发送Registration Accept消息,接受UE发起的注册请求。如果New AMF为UE分配了新的5G-GUTI,一起下发。
21b. 如果UE请求了UE策略,则AMF需要和PCF执行UE策略交互。
21.如果AMF为UE分配了新的5G-GUTI,则UE向New AMF发送Registration Complete消息。
该步骤涉及UE和gNB之间Uu接口信令交互。gNB在UE和AMF之间充当NAS信令网关的作用,NAS信令在gNB中透明转发,gNB不需要理解NAS信令的内容。Uu接口的信令协议栈(从上往下):RRC/PDCP/RLC/MAC/PHY。
RRC层介绍
UE在发送Registration Request消息之前需要和gNB先建立RRC连接。UE和gNB之间在发送Registration Request消息过程中共涉及到三条RRC信令交互。具体流程如下:
1) RRCSetupRequest
该消息用于建立RRC连接,包括SRB1的建立。处于RRC-IDLE状态下的UE需转变为RRC-CONNECTED状态时发起该过程,如:呼叫、响应寻呼等。UE发送完该消息后,仍然可以继续进行小区重选测量及小区重选评估,如果条件满足,执行小区重选流程。
该消息承载在SRB0上。RRCSetupRequest消息的定义如下:
其中:
- InitialUE-Identity字段
UE的NAS层提供给RRC层的信息。如果上层提供了5G-S-TMSI(共48bit),则设置ng-5G-S-TMSI-Part1为5G-S-TMSI的最右侧39bit,否则设置为39bit的随机数值(注:网络上有些文档写的是40bit,经查询最新的TS 38.331-g20版本应该为39bit)。
- EstablishmentCause字段
该字段的取值为mo-SMS、mo-Signalling等值,可用的取值详见上图。
2) RRCSetup
该消息用于建立SRB1,其承载在SRB0上。gNB收到RRCSetupRequest消息,则为UE创建UE Context,并执行SRB1的准入和资源分配。如果允许建立SRB1,则在RRCSetup消息中携带SRB1的完整配置信息发送给UE。UE收到该消息后进入RRC_CONNECTED状态,并停止小区重选。
RRCSetup消息的定义如下:
其中:
- RRC-TransactionIdentifier字段
该消息相比RRCSetupRequest增加了RRC-TransactionIdentifier标识,其与消息类型一起用于识别一个RRC流程(transaction)(取值范围0-3)
- RadioBearerConfig字段
携带建立SRB1的配置信息,其中srb-Identity的取值为1,表示建立SRB1。在RRC Setup中只允许对SRB1进行配置。
3)RRCSetupComplete
该消息用于UE确认已经成功完成RRC连接的建立,其承载在SRB1上。UE收到RRCSetup消息后根据其中的radioBearerConfig进行无线承载配置。
其中:
- ng-5G-S-TMSI-Part2
设置为5G-S-TMSI 最左面9 bit。如果gNB在RRCSetupComplete消息中的ng-5G-S-TMSI-Value字段得到的不是完整的NG-5G-S-TMSI,则利用RRCSetupRequest消息中提供右侧39bit和RRCSetupComplete消息中提供最左面9bit,合并成一个完整的NG-5G-S-TMSI。
- guami-Type
用于指示GUAMI是从原生5G-GUTI导出的(native取值),还是从EPS GUTI导出的(mapped取值)。
- registeredAMF
UE注册的GUAMI信息。
UE的NAS层提供给RRC层5G-S-TMSI或者GUAMI的规则如下:
- selectedPLMN-Identity
该值包含的并不是完整的PLMN ID信息,而是SIB1广播的PLMN ID列表的索引。
- DedicatedNAS-Message
该消息中的DedicatedNAS-Message只用于传输initial NAS message。在3GPP中,初始NAS消息共定义了4种,分别是:Registration Request、Deregistration Request、 Service Request及Control Plane Service Request。注册流程中的第一条Registration Request消息就包含在该字段中发送给gNB。
注:在RRC规范的定义中,还有一条ULInformationTransfer消息用户上行NAS信令的传输,该消息需要在SRB2建立之后,用于上行NAS消息传递。ULInformationTransfer消息在SRB2没有建立的时候也可以承载在SRB1上。
从网上搜到的UE侧的信令截图可以看出Registration Request并没有使用ULInformationTransfer进行传述:
(该图片来源https://blog.csdn.net/weixin_33218985/article/details/112141324)
- s-NSSAI-List
如果UE的NAS层提供提供了一个或者多个S-NSSAI,则设置该值。该值的设置与Access Stratum Connection Establishment NSSAI Inclusion Mode参数相关,而该参数包含在REGISTRATION ACCEPT消息中。
如果新买的手机,UE中没有保存Access Stratum Connection Establishment NSSAI Inclusion Mode参数时,UE可以不提供S-NSSAI。
如果UE中保存有Access Stratum Connection Establishment NSSAI Inclusion Mode参数,UE可以提供requested NSSAI或者allowed NSSAI。具体提供的是requested NSSAI还是allowed NSSAI,与Access Stratum Connection Establishment NSSAI Inclusion Mode参数采用的是哪个模式相关。这里仅以中国移动的路由组织规范推荐的mode B说明。
Mode B定义的两个场景:(1)由业务请求(Service Request)引起的连接建立,允许UE包含触发连接家里的各个S-NSSAI;(2)在周期性注册更新(Periodic Registration Update)、更新UE能力的注册流程的连接建立,允许UE包含Allowed NSSAI;UE的NAS层提供给RRC层NSSAI的准则相对比较容易理解,如果UE有Allowed NSSAI,则优先提供Allowed NSSAI。如果UE的Allowed NSSAI在后续流程中可能引起改变时,则提供Request NSSAI。具体规则如下:
NAS层包含Registration Request消息。3GPP R16中共定义了29个IE,这里仅介绍重点的IE。
- 5GS Registration type
5G中,共有四种注册类型:
1) 初始注册(Initial Registration)
UE开机时,处于RM-DEREGISTERED状态发起的注册流程。2) 移动性注册(Mobility Registration Update)发起移动性注册的场景:(1)进入到不在TA List的新TA(2)更新UE能力及协议参数(和TA是否改变无关);(3)请求改变NSSAI信息;(4)(R16新增)UE的Preferred Network Behaviour改变,和AMF当前支持的Supported Network Behaviour参数不兼容。(5) 请求改变允许使用的NSSAI。3) 周期性注册(Periodic Registration Update)T3512超时发起的注册流程。4) 紧急注册(Emergency Registration)紧急注册国内未开启。在该IE中还有一个重要的指示,UE如果不包含需要激活的PDU Session或者UE要进行紧急注册,但UE还有上行信令需要发送时包含该参数,需要在该5GS Registration type IE中设置"Follow-on request pending"。
- 5GS mobile identity
该IE中包含SUCI或5G-GUTI或PEI。注册中UE携带的用户标识,按下列优先级逐次降低提供相应的标识:1) 从EPS GUTI映射来的5G-GUTI;2) 当前UE正在注册的PLMN分配的native 5G-GUTI;3) 对等PLMN网络分配的native 5G-GUTI;4) 其它PLMN分配的5G-GUTI;5) 其它情况,UE提供SUCI进行注册。如果UE既有有效的EPS GUTI又有5G-GUTI,则原来的5G-GUTI会放在Additional GUTI字段中。如果有多个native 5G-GUTI,按照上面UE标识的选择顺序,选择最高优先级的标识。紧急注册时,可以使用PEI进行注册,这里不进行介绍。
- [Requested NSSAI]
该参数为可选参数,Registration Request中不包含该参数的情况有:1) 如果UE没有allowed NSSAI 、configured NSSAI、default configured NSSAI,则UE不包含requested NSSAI;2) 如果UE想要注册的所有S-NSSAI(s) 都在pending NSSAI中,则UE不包含requested NSSAI。Registration Request中,该参数的来源有:1) Default Configurated NSSAI:UE既没有Configured NSSAI,又没有Allowed NSSAI时使用。Default Configurated NSSAI作为用户的签约数据,保存到UDR中,只有一个。2) Configured NSSAI或者下述3)、4)情况的子集3) Allowed NSSAI或者它的子集4) Allowed NSSAI或者它的子集,加上一个或者多个不包含在Allowed NSSAI中的Configured NSSAI。在确定下来这些计划注册的NSSAI后,UE还需要根据URSP中的NSSP和本地配置来最终确定Requested NSSAI。
- [Network slicing indication]
如果UE使用Default Configurated NSSAI进行注册,则需要包含该字段,在其中指示“Requested NSSAI created from default configured NSSAI”。
- [5GMM capability]
该IE中常用的能力信息有:1) UE是否支持EPC NAS即UE是否支持在EPC网络功能(S1 mode supported);2) NG-RAN到UTRAN的5G-SRVCC能力信息;R16版本的3GPP已经对从5G到2G的SRVCC功能进行了明确。如果UE支持该功能,则指示 "5G-SRVCC from NG-RAN to UTRAN supported",并且还需包含Mobile station classmark 2 IE和Supported codecs IE。3) Radio capability signalling optimisation (RACS)能力支持信息该功能的使用,需要在网络中增加部署UCMF网元实例;4) 网络切片的认证和授权(Network Slice-Specific Authentication and Authorization)能力信息。
- [5GS update type]
该IE中常用的能力信息有:1) UE的SMS over NAS支持情况;2) UE radio capability更新指示UE Radio Capability包含包含RAT相关的信息,如UE支持的power class, frequency bands等。AMF保存该参数内容,如果该参数可用,AMF会通过N2消息发送给RAN保存。如果UE的状态变为RM-DEREGISTERED,则需要删除该参数。如果发送给RAN的N2请求不包含该参数,RAN自身也没有该参数信息,则会触发RAN向UE索取该参数信息并通过N2 UE RADIO CAPABILITY INFO INDICATION消息上传给AMF。如果UE在CM-IDLE状态,该参数改变了,需要执行Mobility Registration Update。如果UE在CM-CONNECTED状态,该参数改变,UE需要先变为CM-IDLE之后再执行移动性注册。
- [ 5GS及EPS Preferred CIoT network behaviour信息]
该参数会影响物联网设备Registration Request请求消息从一个AMF到另一个AMF的重路由。
- [PDU session status]
指示UE在当前PLMN以前建立的PDU Session。PDU Session ID由UE进行分配,取值范围为1-15,0保留不用。该IE适用于移动性注册或者周期性注册。
- [Uplink data status]
该IE适用于移动性注册或周期性注册流程。如果有需要发送的上行数据,需要包含该字段。如果UE有always-on PDU Session,即使没有数据发送,也需要包含在该参数中。但是建立为always-on PDU Session是在5G SM流程中,PDU SESSION ESTABLISHMENT REQUEST消息中包含Always-on PDU session requested IE
- [Payload container]、[Payload container type]
如果UE有保存的UE policy sections(UE策略可以使用一个或者多个UE policy section),UE需要设置Payload container type IE为"UE policy container" ,并在Payload container IE中包含UE STATE INDICATION消息。网络收到该消息后,会执行UE Configuration Update流程下发新的UE策略。
- [NAS message container]
该字段存在的先决条件如下,这三条需要同时满足才能包含该字段:1) Registration Request作为初始NAS消息;2) UE存在有效的5G NAS安全上下文;3) UE有需要密文发送的内容。在没有NAS安全上下文的情况下,UE可以明文发送的内容有:1) Extended protocol discriminator;2) Security header type;3) Spare half octet;4) Registration request message identity;5) 5GS registration type;6) ngKSI;7) 5GS mobile identity;8) UE security capability;9) Additional GUTI;10) UE status11) EPS NAS message container.
注:
Registration Request本身就是一条NAS层的消息,但在该条消息中又包含一个[NAS message container] IE,规范对该IE的解释为:The purpose of the NAS message container IE is to encapsulate a plain 5GS NAS REGISTRATION REQUEST or SERVICE REQUEST message, or to encapsulate non-cleartext IEs of a CONTROL PLANE SERVICE REQUEST message. 不知道这个NAS message container和UE构建的Registration Request消息有什么区别?从其它介绍来看应该是不允许明文发送的部分内容,打包在了[NAS message container] IE中。
gNB收到RRCSetupComplete消息,根据RRC层包含5G-S-TMSI或GUAMI来对NAS消息进行路由。AMF选择的具体的规则如下:
1) 如果UE既没有提供GUAMI或5G-S-TMSI,又没有提供NSSAI信息(如:UE使用SUCI进行注册),则gNB根据RAT类型将Registration Request消息路由到default AMF;
2) 如果UE提供了GUAMI或5G-S-TMSI,也提供NSSAI信息,如果gNB根据GUAMI或5G-S-TMSI能匹配到合适的AMF,则将Registration Request消息路由到该AMF;如果根据GUAMI或5G-S-TMSI没有匹配到合适的AMF,根据NSSAI信息选择一个AMF,将注册消息路由到该AMF;3) 如果消息中UE只提供了NSSAI信息,则根据NSSAI信息选择AMF,并将注册消息路由到该AMF。
4) 其它匹配不到合适AMF的情况,根据RAT路由到default AMF。
注:
3GPP TS 23.501和中国移动的5G路由组织规范,在AMF选择部分都使用了Requested NSSAI作为AMF选择的参数。从上面介绍的RRC信令交互的部分和Uu接口协议栈可以知道,在这里使用Requested NSSAI的概念,个人感觉并不准确。因为Requested NSSAI是NAS消息层的概念,gNB并不理解NAS消息的内容,根本无法使用NAS消息中包含的内容。gNB能够利用的只有UE的NAS层传递给RRC层的NSSAI信息,而RRC层的NSSAI信息可以是Requested NSSAI也可以是Allowed NSSAI。
gNB选择完AMF后,向AMF发送INITIAL UE MESSAGE(初始N2消息)。为该UE分配一个唯一的RAN UE NGAP ID,也包含在INITIAL UE MESSAGE消息中。从选择的AMF可用的TNL associations中,选择一个可以用于发送初始消息的TNL associations(TNL Association的权重因子为0的,不用用于初始N2消息的发送),为该UE创建NGAP UE-TNLA-binding,并通过选定的TNL association转发该UE的消息到AMF。
TNL Association应该就是SCTP的Association,第一个TNL Association在gNB上电后,根据配置的IP地址和端口号与AMF建立Association,后续如果需要增加TNL Association时,AMF需要给5G-AN发送AMF CONFIGURATION UPDATE消息,该消息中包含增加TNL Association的IP地址和端口号。TNL Association最多可以创建32个。
INITIAL UE MESSAGE只用于发送上行的第一条NAS消息。后续的NAS消息使用UPLINK NAS TRANSPORT。既然两条消息都用于传输上行NAS消息,为什么会有这个区别?我们先来看这两条消息的定义。
INITIAL UE MESSAGE消息的定义:
UPLINK NAS TRANSPORT消息的定义:
从上面两条消息的定义可以看出来INITIAL UE MESSAGE只需要包含gNB本侧的RAN UE NGAP ID,而UPLINK NAS TRANSPORT需要知道gNB和AMF两侧的UE NGAP ID才能进行通信,这个两个字段又都是必选字段。所以3GPP定义了两条消息。在gNB和AMF之间第一回合的交互中,互相知道了对方的UE NGAP ID后才能使用UPLINK NAS TRANSPORT消息传递NAS消息。对于传输下行NAS消息的DOWNLINK NAS TRANSPORT不存在这样的问题,因为gNB发送完第一条INITIAL UE MESSAGE消息后已经将本侧的RAN UE NGAP ID带给了AMF。
注:
在INITIAL UE MESSAGE消息中,还包含Allowed NSSAI IE,规范的解释:If the Allowed NSSAI IE is included in the INITIAL UE MESSAGE message the AMF shall use the IE as defined in TS 23.502 [10]. 但是在TS 23.502中并没有看到该IE的使用场景。在此处包含Allowed NSSAI感觉很奇怪。该IE不可能是UE发送给gNB的,因为3GPP定义的四种初始NAS消息中都没有发现Allowed NSSAI IE。Allowed NSSAI是在Registration Accept消息中下发给UE的,正常gNB并不会得到NAS层UE的Allowed NSSAI。即使是gNB在哪条消息中获得了UE的Allowed NSSAI,似乎在INITIAL UE MESSAGE消息中发送给AMF,并没有什么作用,感觉真实很奇怪。如果哪位同仁知道该IE的作用,多多指教。
2021/0216日补充:
经过仔细查找,发现在注册过程中如果AMF出现重选的场景下,如果需要RAN转发初始注册请求可能会在INITIAL UE MESSAGE中出现Allowed NSSAI。初始AMF和UDM、NSSF已经交互完成得到了切片相关的信息,此时如果初始AMF不能为UE服务,而目标AMF和初始AMF不在同一个AMF Set,此时可能就需要RAN转发注册请求。AMF发送Reroute NAS Request消息给gNB,gNB发现在该消息中存在Allowed NSSAI时,会在发送给目标AMF的Initial UE Message消息中包含Allowed NSSAI IE和Source to Target AMF Information Reroute IE。
后续流程,留待下回分解 ......
相关内容会在公众号同步更新,搜索公众号:5G通信大家学
参考资料:
TS 23.501
TS 23.502
TS 38.331
TS 38.413