开机入网流程
小区搜索和选择
(1) UE开机后按照3GPP TS 38.104定义的Synchronization Raster(同步频率栅格)搜索特定频点
(2) UE尝试检测PSS/SSS,取得下行时钟同步,并获取小区的PCI
(3) UE尝试读取MIB,获取SSB波束信息、系统帧号和广播SIB1的时频域信息
(4) UE读取SIB1,获取上行初始BWP信息,初始BWP中的信息配置,TDD小区的半静态配比以及其它UE接入网络的必要信息等,同时获取广播OSI(其它系统信息)的搜索空间信息
(5) UE读取OSI,获取小区的其它信息(主要是移动性相关的信息)
UE开机选网,小区搜索是UE实现与gNB取得时间和频率同步,并检测小区ID的过程。
PSS(UE解调主同步信号,实现符号同步,并获取小区组内ID)
SSS(UE解调次同步信号,获取小区组ID,结合小区组内ID,最终获取PCI(PCI有1008个))
PBCH(解调MIB消息,获取波束ID,以及半帧指示信息,完成下行帧同步)
SSB(PSS+SSS+PBCH)
系统消息广播
系统消息广播室UE获得基本网络信息的第一步,通过系统消息广播过程,UE可以获得基本的AS层和NAS层信息;
AS层信息:公共信道信息、一些UE所需的定时器、小区选择/重选信息以及邻区信息等
NAS层信息:包括运营商信息等
UE通过系统消息获得的这些信息,决定了UE在小区中进行驻留、重选以及发起呼叫的行为方式。
UE在如下场景会读取系统消息:
小区选择(如开机)、小区重选、系统内切换完成、从其它RAT系统进入5G RAT、以及从非覆盖区返回覆盖区时,UE都会主动读取系统消息。
UE在在上述场景中正确获取系统消息后,不会反复读取系统消息,只会在满足以下任一条件重新读取系统消息:
收到gNB寻呼,指示系统消息有变化;
收到gNB寻呼,指示有ETWS消息广播;
距离赏析正确接收系统消息3小时后。
系统消息内容
系统消息分为MSI(Minimum System Information)和OSI(Other System Information):
MSI:MIB和SIB1(RMSI剩余最小SI)
OSI:SIB2-SIBn,支持ODOSI模式
类 子类 承载内容 发送方式
MSI MIB 提供最基本的初始接入信息(系统帧号、载波间隔、SSB偏置),包含接收进一步系统信息所需的小区禁止状态信息和基本物理信息,和RMSI捕获方式 周期广播
RSMI(SIB1) SIB1定义了其它系统信息块的调度,并包含初始接入所需的信息:
1、 小区选择信息
2、 小区接入信息(PLMN,TAC,CellID)
3、 SI调度信息(SI周期、窗长、SIB映射等)
4、 小区配置信息(频带、频点、带宽、初始BWP配置等)
其他SIB信息可参考添加链接描述
小区搜索-同步信号
gNB下发系统信息可以是周期广播,也可以是按需订阅后广播,因此,UE获取系统消息过程也有如下方式:
A、搜索小区,解析MIB,检查小区状态:
1、 如果CellBarred = barred,则停止系统消息获取过程;
2、 否则继续后续步骤
B、使用MIB里面携带的参数,尝试解析SIB1:
1、如果SIB1解析成功,则存储相关信息,并继续后续步骤;
2、否则停止系统消息获取过程
C、根据SIB1中指示的其它SIB发送方式,进一步尝试获取其它SIB:
1、如果其它SIB是周期广播方式,则根据SIB1中指示的OSI搜索空间,尝试接收和解析SI;
2、否则,UE通过订阅请求获得其它SIB(称作ODOSI)
随机接入
UE与gNB建立上行同步,通信双方要实现相互通信,最重要的先决条件是建立通信双方的时间同步,对于NR也是如此,NR下行同步(Transmitter = gNB,Reciever = UE)通过广播同步信号实现,NR上行同步(Transmitter = UE,Reciever = gNB)则是通过随机接入过程实现的,随机接入简称RA(Random Access),是UE和网络之间建立无连接的必经之路,随机接入可以实现两个基本的功能;
随机接入分为基于竞争的随机接入(CBRA)和基于非竞争的随机接入(CFRA)
不同场景出发不同类型的随机接入
基于竞争的随机接入
基于非竞争的随机接入
RRC连接建立
RRC状态
参考3gpp 38.300,UE的RRC状态分为如下三种:
RRC空闲态、RRC连接态、RRC激活态
处于空闲态的UE需要发起业务(语音业务或数据业务)时,第一步就是发起RRC建立请求,触发空闲态到连接态迁移过程,这个过程就是RRC建立过程
RRC连接建立
RRC连接建立就是建立SRB1的过程:
1、 UE发起竞争性随机接入
2、 gNB回复MSG2(RAR)
3、 UENW:UE向gNB发送RRCSetupRequest消息,携带UE的InitalUE-Identity和EstablishmentCause,请求建立RRC连接,该消息对应于随机接入过程的MSG3
4、 NWUE:gNB为UE分配并建立SRB1承载,并向UE发送RRCSetup
5、 UE向gNB发送RRCSetupComplete消息,RRC连接建立成功
注册过程
RRC建立
- UE选择一个ZC序列的随机接入码。UE随机选择前导码,此前导码与随机访问前导码ID(RAPID)一起关联引用。每个前导码都与一个RA-RNTI相关联。这个RA-RNTI的公式定义来自38.321的RA-RNTI= 1 + s_id + 14 × t_id + 14 × 80 × f_id + 14 × 80 × 8 × ul_carrier_id
- gNB将给UE分配一个临时RNTI并在RAR中带给UE。
- UE使用RA-RNTI检测并解扰DCI 1_0的PDCCH来获取RAR的传输块信息。
- UE解码RAR传输块获得msg3的UL Grant、MCS、TPC、CSI、Temp C-RNTI。
- UE使用刚刚在RAR中获得的时频资源来发送msg3 RRC Setup Request,至少包含UE Identity和establishment cause。
EstablishmentCause ::= ENUMERATED {
emergency, highPriorityAccess, mt-Access, mo-Signalling,
mo-Data, mo-VoiceCall, mo-VideoCall, mo-SMS, mps-PriorityAccess, mcs-PriorityAccess,
spare6, spare5, spare4, spare3, spare2, spare1}
- gNB使用TC-RNTI加扰DCI 1_0的PDCCH并发送给UE,UE对应解扰获取msg4 RRC Setup。
- 开始准备建立SRB1的参数。
- UE解码RRC Setup消息获得无线承载相关配置和master cell group信息参数,如果解码OK则竞争冲突解决也同步完成。至此,SRB0建立完成,SRB1建立的参数也配置完成。
RRCSetup ::= SEQUENCE {
rrc-TransactionIdentifier RRC-TransactionIdentifier,
criticalExtensions CHOICE {
rrcSetup RRCSetup-IEs,
criticalExtensionsFuture SEQUENCE {}
}
}
RRCSetup-IEs ::= SEQUENCE {
radioBearerConfig RadioBearerConfig,
masterCellGroup OCTET STRING (CONTAINING CellGroupConfig),
lateNonCriticalExtension OCTET STRING OPTIONAL,
nonCriticalExtension SEQUENCE{} OPTIONAL
}
RadioBearerConfig ::= SEQUENCE {
srb-ToAddModList SRB-ToAddModList OPTIONAL, -- Cond HO-Conn
srb3-ToRelease ENUMERATED{true} OPTIONAL, -- Need N
drb-ToAddModList DRB-ToAddModList OPTIONAL, -- Cond HO-toNR
drb-ToReleaseList DRB-ToReleaseList OPTIONAL, -- Need N
securityConfig SecurityConfig OPTIONAL, -- Need M
...
}
SRB-ToAddModList ::= SEQUENCE (SIZE (1..2)) OF SRB-ToAddMod
SRB-ToAddMod ::= SEQUENCE {
srb-Identity SRB-Identity,
reestablishPDCP ENUMERATED{true} OPTIONAL, -- Need N
discardOnPDCP ENUMERATED{true} OPTIONAL, -- Need N
pdcp-Config PDCP-Config OPTIONAL, -- Cond PDCP
...
}
DRB-ToAddModList ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-ToAddMod
DRB-ToAddMod ::= SEQUENCE {
cnAssociation CHOICE {
eps-BearerIdentity INTEGER (0..15), -- EPS-DRB-Setup
sdap-Config SDAP-Config -- 5GC
} OPTIONAL, -- Cond DRBSetup
drb-Identity DRB-Identity,
reestablishPDCP ENUMERATED{true} OPTIONAL, -- Need N
recoverPDCP ENUMERATED{true} OPTIONAL, -- Need N
pdcp-Config PDCP-Config OPTIONAL, -- Cond PDCP
...
}
DRB-ToReleaseList ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-Identity
SecurityConfig ::= SEQUENCE {
securityAlgorithmConfig SecurityAlgorithmConfig OPTIONAL, -- Cond RBTermChange
keyToUse ENUMERATED{master, secondary} OPTIONAL, -- Cond RBTermChange
...
}
CellGroupConfig ::= SEQUENCE {
cellGroupId CellGroupId,
rlc-BearerToAddModList SEQUENCE (SIZE(1..maxLC-ID)) OF RLC-BearerConfig OPTIONAL, -- Need N
rlc-BearerToReleaseList SEQUENCE (SIZE(1..maxLC-ID)) OF LogicalChannelIdentity OPTIONAL, -- Need N
mac-CellGroupConfig MAC-CellGroupConfig OPTIONAL, -- Need M
physicalCellGroupConfig PhysicalCellGroupConfig OPTIONAL, -- Need M
spCellConfig SpCellConfig OPTIONAL, -- Need M
sCellToAddModList SEQUENCE (SIZE (1..maxNrofSCells)) OF SCellConfig OPTIONAL, -- Need N
sCellToReleaseList SEQUENCE (SIZE (1..maxNrofSCells)) OF SCellIndex OPTIONAL, -- Need N
...,
[[
reportUplinkTxDirectCurrent-v1530 ENUMERATED {true} OPTIONAL -- Cond BWP-Reconfig
]]
}
-- Serving cell specific MAC and PHY parameters for a SpCell:
SpCellConfig ::= SEQUENCE {
servCellIndex ServCellIndex OPTIONAL, -- Cond SCG
reconfigurationWithSync ReconfigurationWithSync OPTIONAL, -- Cond ReconfWithSync
rlf-TimersAndConstants SetupRelease { RLF-TimersAndConstants } OPTIONAL, -- Need M
rlmInSyncOutOfSyncThreshold ENUMERATED {n1} OPTIONAL, -- Need S
spCellConfigDedicated ServingCellConfig OPTIONAL, -- Need M
...
}
ReconfigurationWithSync ::= SEQUENCE {
spCellConfigCommon ServingCellConfigCommon OPTIONAL, -- Need M
newUE-Identity RNTI-Value,
t304 ENUMERATED {ms50, ms100, ms150, ms200, ms500, ms1000, ms2000, ms10000},
rach-ConfigDedicated CHOICE {
uplink RACH-ConfigDedicated,
supplementaryUplink RACH-ConfigDedicated
} OPTIONAL, -- Need N
...,
[[
smtc SSB-MTC OPTIONAL -- Need S
]]
}
SCellConfig ::= SEQUENCE {
sCellIndex SCellIndex,
sCellConfigCommon ServingCellConfigCommon OPTIONAL, -- Cond SCellAdd
sCellConfigDedicated ServingCellConfig OPTIONAL, -- Cond SCellAddMod
...,
[[
smtc SSB-MTC OPTIONAL -- Need S
]]
}
- gNB使用C-RNTI加扰DCI 0_0的PDCCH并发送给UE,UE对应解扰获取发送msg5 RRC Setup Complete所需要的时频资源和MCS信息。
10. UE在对应时频资源位置使用gNB配置的MCS发送RRC Setup Complete消息,主要包含dedicatedNAS_Message (Registration type, 5G-GUTI, Last TAI, Requested NSSAI, UE Capability, List of PDU Sessions等)。
RRCSetupComplete ::= SEQUENCE {
rrc-TransactionIdentifier RRC-TransactionIdentifier,
criticalExtensions CHOICE {
rrcSetupComplete RRCSetupComplete-IEs,
criticalExtensionsFuture SEQUENCE {}
}
}
RRCSetupComplete-IEs ::= SEQUENCE {
selectedPLMN-Identity INTEGER (1..maxPLMN),
registeredAMF RegisteredAMF OPTIONAL,
guami-Type ENUMERATED {native, mapped} OPTIONAL,
s-nssai-List SEQUENCE (SIZE (1..maxNrofS-NSSAI)) OF S-NSSAI OPTIONAL,
dedicatedNAS-Message DedicatedNAS-Message,
ng-5G-S-TMSI-Value CHOICE {
ng-5G-S-TMSI NG-5G-S-TMSI,
ng-5G-S-TMSI-Part2 BIT STRING (SIZE (9))
} OPTIONAL,
lateNonCriticalExtension OCTET STRING OPTIONAL,
nonCriticalExtension SEQUENCE{} OPTIONAL
}
RegisteredAMF ::= SEQUENCE {
plmn-Identity PLMN-Identity OPTIONAL,
amf-Identifier AMF-Identifier
}
Initial UE Message主要包含以下IE
Registration Request主要包含以下IE
NAS过程
11. 开始AMF选择,如果gNB不支持多AMF的话略过此步骤。
12. gNB收到MSG5后开始给UE分配对应的RAN UE NGAP ID,AMF使用此ID在gNB级别来分辨UE Context。
13. gNB发送Initial UE message到选中(如果有选的过程的话)的AMF,此消息携带在msg5中收到的Registration Request还有msg3中收到的establishment cause,5G-S-TMSI和AMF Set ID也许会有,也可以没有。
14. AMF通过下行直传发送Identity Request到UE去请求SUCI等身份识别信息(不是每次必须)。
15. UE通过上行直传发送自己的SUCI等身份识别信息(不是每次必须)。
16. AMF发送鉴权请求给UE,携带Key selector, RAND 和 AUTN。
17. UE反馈结合鉴权请求中参数经过运算后的鉴权响应到AMF。
18. AMF通过NAS Security Mode Command发送加密和完整性保护算法给UE,同时还会携带ngKSI、Replayed UE Security capabilities等信息。
19. UE发送对应的Security Mode Complete来响应NAS SMC,有些UE还可能在此条消息中重新携带Registration request信息。
20. 当上述Authentication和SMC过程都完成后,AMF会发起initial Context Setup Request给gNB,其中比较典型的会携带Registration Accept的NAS消息、Allowed NSSAI、UE Aggregate Maximum Bit Rate、PDU Session Resource Setup List Cxt Req等信息,还可能会携带CoreNetworkAssistanceInformation、GUAMI、UESecurityCapabilities、SecurityKey、IndexToRFSP、RRCInactiveTransitionReportRequest和多种多样的NAS PDU。其中,对于每一条需要建立的PDU Session都会有一个对应的PDU Session ID,并且针对于每一条PDU Session都会携带回应的上行的TEID。
AS加密和后续流程
- gNB发送AS层加密和完整性保护算法给UE。
SecurityModeCommand ::= SEQUENCE {
rrc-TransactionIdentifier RRC-TransactionIdentifier,
criticalExtensions CHOICE {
securityModeCommand SecurityModeCommand-IEs,
criticalExtensionsFuture SEQUENCE {}
}
}
SecurityModeCommand-IEs ::= SEQUENCE {
securityConfigSMC SecurityConfigSMC,
lateNonCriticalExtension OCTET STRING OPTIONAL,
nonCriticalExtension SEQUENCE{} OPTIONAL
}
SecurityConfigSMC ::= SEQUENCE {
securityAlgorithmConfig SecurityAlgorithmConfig,
...
}
22. UE确认对应的算法可用后发送确认给gNB,注意,此消息是有完整性保护但是没有经过加密的,但是从此时开始后续的消息都是加密的。
SecurityModeComplete ::= SEQUENCE {
rrc-TransactionIdentifier RRC-TransactionIdentifier,
criticalExtensions CHOICE {
securityModeComplete SecurityModeComplete-IEs,
criticalExtensionsFuture SEQUENCE {}
}
}
SecurityModeComplete-IEs ::= SEQUENCE {
lateNonCriticalExtension OCTET STRING OPTIONAL,
nonCriticalExtension SEQUENCE{} OPTIONAL
}
23. gNB发送RRC Reconfiguration消息给UE,此消息典型携带信息包括Initial Context Setup Request(可能带有Registration Accept), 无线承载建立的相关参数,UE测量参数,如果有CA的话还会携带辅小区的相关信息。UE在收到此消息后会开始配置主小区组、无线辅小区组(如果有的话)、配置无线承载、基于收到的测量配置开始做测量、根据收到的NAS消息进行上下文和PDU Session(如果有的话)的相应操作。(SRB2和DRB建立)
RRCReconfiguration ::= SEQUENCE {
rrc-TransactionIdentifier RRC-TransactionIdentifier,
criticalExtensions CHOICE {
rrcReconfiguration RRCReconfiguration-IEs,
criticalExtensionsFuture SEQUENCE {}
}
}
RRCReconfiguration-IEs ::= SEQUENCE {
radioBearerConfig RadioBearerConfig OPTIONAL, -- Need M
secondaryCellGroup OCTET STRING (CONTAINING CellGroupConfig) OPTIONAL, -- Need M
measConfig MeasConfig OPTIONAL, -- Need M
lateNonCriticalExtension OCTET STRING OPTIONAL,
nonCriticalExtension RRCReconfiguration-v1530-IEs OPTIONAL
}
RRCReconfiguration-v1530-IEs ::= SEQUENCE {
masterCellGroup OCTET STRING (CONTAINING CellGroupConfig) OPTIONAL, -- Need M
fullConfig ENUMERATED {true} OPTIONAL, -- Cond FullConfig
dedicatedNAS-MessageList SEQUENCE (SIZE(1..maxDRB)) OF DedicatedNAS-Message OPTIONAL, -- Cond nonHO
masterKeyUpdate MasterKeyUpdate OPTIONAL, -- Cond MasterKeyChange
dedicatedSIB1-Delivery OCTET STRING (CONTAINING SIB1) OPTIONAL, -- Need N
dedicatedSystemInformationDelivery OCTET STRING (CONTAINING SystemInformation) OPTIONAL, -- Need N
otherConfig OtherConfig OPTIONAL, -- Need M
nonCriticalExtension RRCReconfiguration-v1540-IEs OPTIONAL
}
RRCReconfiguration-v1540-IEs ::= SEQUENCE {
otherConfig-v1540 OtherConfig-v1540 OPTIONAL, -- Need M
nonCriticalExtension SEQUENCE {} OPTIONAL
}
MasterKeyUpdate ::= SEQUENCE {
keySetChangeIndicator BOOLEAN,
nextHopChainingCount NextHopChainingCount,
nas-Container OCTET STRING OPTIONAL, -- Cond securityNASC
...
}
关于Initial Context Setup Request所带IE主要如下:
Registration Accept所带主要IE如下:
- UE回复RRC Reconfiguration Complete来确认。
RRCReconfigurationComplete ::= SEQUENCE {
rrc-TransactionIdentifier RRC-TransactionIdentifier,
criticalExtensions CHOICE {
rrcReconfigurationComplete RRCReconfigurationComplete-IEs,
criticalExtensionsFuture SEQUENCE {}
}
}
RRCReconfigurationComplete-IEs ::= SEQUENCE {
lateNonCriticalExtension OCTET STRING OPTIONAL,
nonCriticalExtension RRCReconfigurationComplete-v1530-IEs OPTIONAL
}
RRCReconfigurationComplete-v1530-IEs ::= SEQUENCE {
uplinkTxDirectCurrentList UplinkTxDirectCurrentList OPTIONAL,
nonCriticalExtension SEQUENCE {} OPTIONAL
}
- gNB分配对应TEID供UPF发送下行数据使用。
- gNB发送Initial Context Setup Response给AMF,其中携带PDU Session Resource Setup List Cxt Res(也可能在后续用上下行直传消息来建立PDU Session),PDU Session建立响应消息中会指示对应每一条PDU session的下行数据使用哪个TEID。
- 通过上行直传消息发送Registration Complete消息到AMF,至此注册过程完成。
28&29. 可以使用对应的TEID来发送UL/DL data。