跬步网 - 5G知识分享平台, 5G论坛

 找回密码
 立即注册
搜索
热搜: 金辉5G NR LTE
查看: 62890|回复: 29

[5G_NR] NR无线协议栈

[复制链接]

198

主题

1637

帖子

7万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
78848
发表于 2020-1-19 10:14:03 | 显示全部楼层 |阅读模式
NR无线协议栈
) U  R! f9 W4 j5 g- s! a
    RAN侧协议栈包括用户面协议栈和控制面协议栈。
1 w- T4 `4 e% ^1 m5 l) {1 d# b9 }
    用户面协议栈(见图1)由SDAP、PDCP、RLC和MAC子层组成。

7 ~, A. q6 G) Q; O- Z  f
8 l, F6 K9 F+ ]4 J' j% j
图1:用户面协议栈
2 Y; R" v: C5 o+ u
    SDAP(Service Data Adaptation Protocol):SDAP层主要负责QoS流与数据无线承载(DRB)之间的映射,以及为下行数据和上行数据包添加QFI(QoS flow ID)标记。每个独立的PDU会话对应一个独立的SDAP协议实体。对于DC(Dual Connectivity)而言,MCG和SCG各自对应一个SDAP协议实体。LTE中并不存在SDAP层,NR中引入SDAP层是因为使用了新的QoS处理方式,并且SDAP层仅在基站接入5G核心网(而不是4G核心网)时存在。

- u) ^# c1 j# _7 ?5 _5 e- |) D
    PDCP(Packet Data Convergence Protocol):PDCP层负责对来自控制面的RRC消息和来自用户面的IP包进行处理,其功能包括IP头部压缩、加密和完整性保护等。同时它还负责重传、重排序(按序递送)和丢弃重复包。在双连接场景下,PDCP还可配置支持路由和复制功能(CA场景也可配置复制功能)。针对一个特定UE,每个无线承载(radio bearer)对应一个PDCP实体。
1 P! h$ Y/ S8 g. J6 A! y  R
    RLC(Radio Link Control):RLC层主要负责分段和重传处理。为了降低时延,与LTE相比,NR的RLC层不支持按序递送数据到高层。RLC层以RLC channel的形式为上层提供服务。针对一个特定UE,每个逻辑信道(logical channel)对应一个RLC实体。
' C" j7 Q1 _+ z4 V; H- V8 z
    MAC(Medium Access Control):MAC层主要负责逻辑信道复用、HARQ重传以及调度相关的功能。上下行的资源调度都是由gNB负责的。MAC层以逻辑信道的形式为RLC层提供服务。
% z, Z8 c8 Q5 [; |7 |* S4 o9 G  D9 f& R
    PHY(Physical layer):物理层主要负责编解码、加扰、调制/解调、多天线处理以及将信号映射到合适的物理时频资源上。物理层以传输信道的形式为MAC层提供服务。
/ |, X7 H: K# J4 W: j- N

9 X3 P# Q: g. ?) n
图2:控制面协议栈
$ g* ^  }2 W& I/ \$ D0 a4 h
    控制面协议栈(见图2)包括PDCP、RLC和MAC子层(不包括SDAP层)以及RRC层。虽然NAS层不属于RAN侧协议,但为了完整性,也列在图中。
7 ?( P# ^# _2 `8 ~! q9 h
    NAS(Non-Access Stratum):NAS层相关流程位于核心网的AMF与UE之间。NAS层主要负责鉴权、安全和idle模式相关流程(如Paging)。其还负责为UE分配IP地址。
; @# D. K# c* E$ f6 n6 l
    RRC(Radio resource Control):RRC层相关流程位于gNB与UE之间。RRC层主要负责RAN侧相关的控制功能,包括发送系统信息和Paging消息,连接相关的管理,移动性功能(如小区选择/重选),测量配置和上报以及UE能力的处理等。

0 f' m* g' ^, l. K" S# s
    通常来说,针对特定的协议层,来自上层或发往上层的数据报文被称为SDU(Service Data Unit),发往下层或接收自下层的数据报文被称为PDU(Protocol Data Unit)。例如:对于PDCP层而言,来自或发往SDAP层的数据报文被称为PDCP SDU(等同于SDAP PDU),发往RLC层或接收自RLC层的数据报文被称为PDCP PDU(等同于RLC SDU)。

! k, w; e4 f! c

/ {, f9 i+ j, L; \3 h8 N! {( g
图3:用户面下行数据流举例

* C- N' t3 K4 E
    图3是用户面下行数据流在空口协议栈上如何处理的一个例子(用户面上行数据流也类似。这里的H表示对应层生成的header或subheader),并最终生成了2个传输块(Transport block)。其中一个传输块由来自无线承载RB x的2个RLC PDU(分别对应IP报文n和n+1)和来自无线承载RB y的1个RLC PDU(对应IP报文m的一个分段)组成;另一个传输块由来自无线承载RB y的1个RLC PDU(对应IP报文m的另一个分段)组成。各层的处理过程分别如下:
2 T0 z! f( a9 L
    SDAP层将从上层接收到的IP报文映射到不同的无线承载上。在这个例子中,IP报文n和n+1被映射到无线承载RB x上,IP报文m被映射到无线承载RB y上。SDAP层会根据需要给相应的SDU添加SDAP头部后,将SDAP PDU递送给PDCP层。
4 R8 k# }( u$ }2 [8 e6 j. P
    PDCP层对来自SDAP层的PDCP SDU做IP头压缩(可选)、加密和完整性保护(可选)处理,并在添加相应的PDCP头部后,将PDCP PDU递送给RLC层。

, t. y! P' d! |9 x& w
    RLC层首先会为来自PDCP层的每一个RLC SDU添加一个RLC头部,并将其保存在对应逻辑信道的传输buffer中。当MAC层通知RLC实体(不同的逻辑信道有不同的RLC实体)有一次传输机会时,RLC实体会将一个或多个RLC PDU递送给MAC层。在需要时,RLC实体会对RLC SDU进行分段并重新添加RLC头部,然后将新生成的RLC PDU递送给MAC层。

- }1 I# S: o( ~3 G
    MAC层会将多个RLC PDU(MAC SDU)复用在一起,生成一个MAC PDU。这些RLC PDU可能来自同一个逻辑信道,也可能来自不同的逻辑信道。MAC层会在每个RLC PDU的前面添加一个subheader,该subheader中有一个“LCID”字段,以指定对应的RLC PDU所属的逻辑信道。与此同时,MAC层的控制元素(MAC CE)也可能复用在MAC PDU中。
) A4 H) Q, t. H- H' k/ T/ L
    物理层以传输块(或者说MAC PDU)为单位进行处理。物理层会在对传输块进行添加CRC、码块分割并添加CRC、信道编码、速率匹配、加扰、调制、层映射、预编码处理后,映射到相应的物理时频资源上,并最终通过空口将数据发送给对端。

0 O* h* n, c. A, n* s; Z) p
    在后续的文章中,我们还会对每一层协议的处理流程做详细的介绍。

" d% r0 [  A; y
更多精彩文章,请前往 “ 金辉5G_NR系列文章目录
4 l+ k& J. w3 `' H2 |
7 B- Q# P- K4 I( n
; N) ~( D: f! \9 c

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

38

帖子

208

积分

VIP会员

Rank: 10Rank: 10Rank: 10

积分
208
发表于 2020-3-9 17:02:26 | 显示全部楼层
根据37340的描述图,Figure 4.2.2-3: Network side protocol termination options for MCG, SCG and split bearers in MR-DC with EPC (EN-DC).,比如MCG承载其PDCP可以位于MCG也可以位于SCG,如果PDCP位于SCG,难道发送RRC的消息时还需要将这个RRC消息从SCG通过X2口发送到MCG的RLC?为啥不直接放在MCG呢。
# J: \2 {) m! Z
回复

使用道具 举报

198

主题

1637

帖子

7万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
78848
 楼主| 发表于 2020-3-9 17:39:04 | 显示全部楼层
19831219zjj 发表于 2020-3-9 17:02
, J8 p& @% x' C根据37340的描述图,Figure 4.2.2-3: Network side protocol termination options for MCG, SCG and split  ...
/ T' U. i9 x: T% P5 L9 E# \: M
MR-DC中,确实存在同一承载的PDCP实体位于MCG,而RLC实体位于SCG的情况(或反过来)。但要考虑到:# q  d% L" d* k. E
对于MR-DC而言,每个RAN侧节点都有自己的RRC实体,都能生成RRC PDU并发送给UE,其中eNB/ng-eNB对应的是LTE RRC实体(在36.331中定义),gNB/ng-gNB对应的是NR RRC实体。对应你这里的问题,由于MCG无法完全地了解SCG的情况,MCG是不能为SCG生成RRC消息的(反过来也成立),那么当SCG与UE之间不存在RRC连接时,需要将SCG的RRC消息通过X2接口发往MCG(例如:PDCP实体位于SCG的MCG承载),再由MCG发往UE。
$ [/ M6 I) q/ d* P
$ T' {; R+ }% W( G9 W7 h! ~对于SN,其初始的SN RRC配置总是需要经由MN发送给UE,并使用MCG SRB(SRB1)来发送。但接下来的SN RRC重配置信息可以经由MN发送给UE,也可以由SN自己直接发送给UE。如果一个RRC PDU由SN产生,并经由MN发送给UE,那么MN收到来自于SN的RRC PDU后,是不会修改由SN提供的UE配置的。2 R2 S' S* D+ Q: Y0 c6 D. Y
  d8 \0 A$ |; a/ B% D6 T
如果SN为gNB(即对于EN-DC和NGEN-DC而言),那么可以选择为UE建立了一条与SN相连的SRB(即SRB3),此时用于SN的RRC PDU可以通过SRB3在UE和SN之间直接发送,即直接通过NR Uu接口进行RRC PDU的收发。只有用于SN且不需要与MN进行任何协调的SN RRC重配置消息对应的RRC PDU可以直接通过SRB3发送给UE。0 d3 \) Z; m. [6 G8 @2 h; T

7 n8 X4 r! q! ~1 ?, b4 Y另外关于控制面的更多处理,可以看37.340的4.2.1节的介绍。1 f" K6 M0 k' j  e- @' ~( {

点评

1.但是我还是不明白,在什么情况下配置了PDCP实体,却在它本侧不配置 RLC实体, 我看对应的36331中承载配置中都有PDCP配置: DRB-ToAddMod ::= SEQUENCE { eps-BearerIdentity INTEGER (0..15) OPTIONAL, --  详情 回复 发表于 2020-3-11 22:14
回复

使用道具 举报

0

主题

38

帖子

208

积分

VIP会员

Rank: 10Rank: 10Rank: 10

积分
208
发表于 2020-3-9 20:36:33 | 显示全部楼层
37340,4.3.2提到的MN terminated bearers, MCG bearers,MN terminated SCG bearers到底啥区别啊:For MN terminated bearers, the user plane connection to the CN entity is terminated in the MN;
8 z0 T% O, q) b! N4 E9 N" O) YFor MCG bearers, only MCG radio resources are involved;
回复

使用道具 举报

198

主题

1637

帖子

7万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
78848
 楼主| 发表于 2020-3-9 21:08:31 | 显示全部楼层
19831219zjj 发表于 2020-3-9 20:36
0 ?& [/ o0 A/ ]  T7 O9 k) g37340,4.3.2提到的MN terminated bearers, MCG bearers,MN terminated SCG bearers到底啥区别啊:For MN  ...

: \2 N- s. }* Q! r首先要明确MCG承载,SCG承载和split承载的概念。
  • MCG承载:在MR-DC中,一个无线侧RLC实体只位于MCG中的承载。MCG承载只会使用MCG的无线资源。
  • SCG承载:在MR-DC中,一个无线侧RLC实体只位于SCG中的承载。SCG承载只会使用SCG的无线资源。
  • split承载:在MR-DC中,一个在MCG和SCG中均存在无线侧RLC实体的承载。split承载会使用MCG和SCG的无线资源。
    : O% W- ^3 {2 w

, J' D8 `' V) e1 |9 c$ M8 m
可以看出,在MR-DC中,区分不同承载类型的关键在于确定该承载的RLC实体是位于MCG还是SCG中,或同时存在于MCG和SCG中。对于某一个特定的承载,其PDCP实体可能与其对应的RLC实体不在同一个CG上。例如:一个MCG承载的PDCP实体可能位于MCG或SCG上,但其RLC实体一定只位于MCG上。

; z: U; f6 V) c% |! A
对于MN terminated bearer和SN terminated bearer,看的是PDCP实体在哪里:
  • MN terminated bearer的PDCP实体位于MN上
  • SN terminated bearer的PDCP实体位于SN上; \* y& R+ m: j, A; m' {' S) z

3 I/ @# L/ q. H  _4 A附上2幅图:  v' {' |7 B4 h: o+ L
/ J7 E3 a) n/ d7 E0 ~
. m- N, e) O/ |4 ]0 x5 u2 p
- V+ K! R  p) v, c+ q3 V* ^/ _
) s+ y+ B, O" R7 o6 n2 b& O
7 O3 p) T3 A* j6 k% x* q

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

3

帖子

42

积分

新手上路

Rank: 1

积分
42
发表于 2020-3-11 17:07:25 | 显示全部楼层
请教一下PDCP的重传和RLC的重传有什么区别么?
回复

使用道具 举报

198

主题

1637

帖子

7万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
78848
 楼主| 发表于 2020-3-11 17:53:37 | 显示全部楼层
yyysos 发表于 2020-3-11 17:07- y' }; z0 K) X8 i) ]1 c
请教一下PDCP的重传和RLC的重传有什么区别么?

: {0 f+ L! z5 G6 {3 q不同层之间的重传还真不好比较。: J7 g. Q, }, K( X; h& c
RLC的重传可以看看“RLC之ARQ流程”的几篇文章,RLC层的重传主要用于正常的业务流程中,保证误包率不要太高。
" M4 e" W4 N9 ~0 e0 `( r! HPDCP的重传的用来重传未被AM RLC确认的数据,主要用于切换流程中。可以看看“PDCP之切换”的针对AM DRB的几篇文章,
回复

使用道具 举报

0

主题

38

帖子

208

积分

VIP会员

Rank: 10Rank: 10Rank: 10

积分
208
发表于 2020-3-11 22:14:42 | 显示全部楼层
jinhui.wen 发表于 2020-3-9 17:39! f+ J) S# C5 D& e5 L2 F) y/ N* @
MR-DC中,确实存在同一承载的PDCP实体位于MCG,而RLC实体位于SCG的情况(或反过来)。但要考虑到:
0 b& b2 D9 V4 D' i7 L- Y! g# l9 D4 u对于M ...

( w' v8 ?3 `- b# \+ e- D0 {1.但是我还是不明白,在什么情况下配置了PDCP实体,却在它本侧不配置 RLC实体, 我看对应的36331中承载配置中都有PDCP配置:: d2 j) q; Q. p
DRB-ToAddMod ::=        SEQUENCE {
0 L& R. W+ G0 [6 b2 v( Q% S+ j        eps-BearerIdentity                                        INTEGER (0..15)                        OPTIONAL,                -- Cond DRB-Setup
9 u1 c' p7 J1 K$ k2 n3 A        drb-Identity                                                DRB-Identity,
7 C8 g' C" ]8 b* j        pdcp-Config                                                        PDCP-Config                                OPTIONAL,                -- Cond PDCP
$ a1 v; b% ?9 L- U& a。。。。。。
. F+ T" U( E: H# a" K) x
6 n" j" B$ e8 H/ l# ? 是跟下面的条件 有关吗:
+ x: G0 C; W4 sThe field is mandatory present:
' a8 D* }: V5 }9 s( ~5 l5 `4 y# I" Y3 f- `- when connected to E-UTRA/EPC:) r/ R1 |' T0 a( A0 G0 A+ ~
- for the bearers configured with E-UTRA PDCP, if the corresponding DRB is being setup;
' z% f1 H  y- [& f- Q) ethe field is optionally present, need ON: :
+ N4 k- V% a; T( p5 ]- B* r2 m- when connected to E-UTRA/EPC:
% l& @3 `/ h6 ~' A$ V* I1 G+ t' X2 ^- for the bearers configured with E-UTRA PDCP, upon reconfiguration of the corresponding split DRB or LWA DRB, upon the corresponding DRB type change from split to MCG bearer, upon the corresponding DRB type change from MCG to split bearer or LWA bearer, upon the corresponding DRB type change from LWA to LTE only bearer, upon handover within E-UTRA and upon the first reconfiguration after re-establishment but in all these cases only when fullConfig is not included in the RRCConnectionReconfiguration message;
" y- @, P" i8 u5 T- y( Qotherwise it is not present.& k& g" M  ?4 h' K$ J+ G
2.我在23401中看到:An E-UTRAN cell, based on operator configuration, broadcasts whether it is capable of supporting dual connectivity with locally available NR secondary cell(s).但是我没有找到对应的系统消息中哪个参数对应这句话,cellBarred-5GC-r15?好像 也不对

点评

举个option3x的例子吧。如果s1-u建在gNB和SGW之间,那么一定是用SN的PDCP了,但是由于各种原因,SgNB没有添加成功,也就说key=master,那么SN侧是没有RLC的,数据是由NR的PDCP通过X2 Tunnel转发到MN侧的RLC,通过MN  详情 回复 发表于 2020-3-16 20:05
回复

使用道具 举报

198

主题

1637

帖子

7万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
78848
 楼主| 发表于 2020-3-11 23:04:32 | 显示全部楼层
19831219zjj 发表于 2020-3-11 22:14
; e& E7 c# w3 H  u5 G8 b( a1.但是我还是不明白,在什么情况下配置了PDCP实体,却在它本侧不配置 RLC实体, 我看对应的36331中承载配 ...

0 N2 k1 y1 ]) o6 x这个要看RLC的配置,以NR为例,是由RLC配置来选择其要服务的SRB或DRB的。
* H# \. o$ J8 ^
0 S9 m4 U1 k7 M; ]1 D& J* F% q; k$ e7 A% z1 g
对于UE来说,通过这个配置,就可以知道送往哪个PDCP实体了,具体你可以看一下相关字段的说明。) |! d4 D- L' H; X' m+ C
. w! K7 U' `+ g' {$ t) I$ U
对于基站侧,由于RLC的配置是基站配置的,收到对应RLC实体的数据后,基站知道是送往MN还是SN的PDCP实体。' ~6 t! N! ^, b1 W

3 J) |# N/ I+ r1 E- Q0 P0 R0 P1 l% G5 [4 h5 U. c1 K: L4 b. f
* @3 i4 |0 L% i* x7 N7 c7 E5 \

9 x0 T: {- w% ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

点评

金辉老师,可能我也没明白你回答的问题,我理解是这样的: 在一个EN-DC中,从36331的参数配置来看,建立MCG的承载我理解是下面的参数,这里面包含了RLC&PDCP的配置,所以我感觉这个配置是PDCP&RLC都在MN的 DRB-ToA  详情 回复 发表于 2020-3-12 22:47
回复

使用道具 举报

0

主题

2

帖子

50

积分

VIP会员

Rank: 10Rank: 10Rank: 10

积分
50
发表于 2020-3-12 11:39:25 | 显示全部楼层
请教一个问题,NR某个TB里的CB会包含两个或者更多的MAC SDU的数据吗?还是一个CB只可能有一个MAC SDU的数据
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|苏公网安备 32010402000881号|跬步网 ( 苏ICP备20002541号 )

快速回复 返回顶部 返回列表