5g网络规划宝典(NR空口上层协议概览)
接着轮到RLC和PDCP了~
RLC先!
从TS38.322完成的部分看NR RLC几乎和LTE RLC一样。所以嘛如果大家对LTE RLC已经很了解了就会对5G RLC不会费太多时间精力学习就了解绝大部分了。
5G NR RLC功能概览
和LTE/WCDMA的RLC部分类似,NR RLC也有三个模式:TM(Transparent Mode), UM(Unacknowledge Mode) 和 AM(Acknowledge mode)。虽然这三个模式在LTE/WCDMA中的使用方式是不同的。对这三种模式的一般意义的理解如下:
- TM : No RLC Header, Buffering at Tx only, No Segmentation/Reassembly, No feedback (i.e, No ACK/NACK)
- UM : RLC Header, Buffering at both Tx and Rx, Segmentation/Reassembly, No feedback(i.e, No ACK/NACK)
- AM : RLC Header, Buffering at both Tx and Rx, Segmentation/Reassembly, Feedback(i.e, ACK/NACK)
这些模式都可以发送和接收数据。不同的是TM和UM在接受和发送端分别使用单独的实体,而AM却使用收发合一的实体。逻辑信道logical channel使用特定的RLC模式,具体如下:
- BCCH, PCCH, CCCH use RLC TM only。
- DCCH use RLC AM only。
- DTCH use RLC UM or AM. (具体到DTCH使用哪个RLC 模式由RRC的消息来通知)。
TM Mode /Procedure
如下图所示,TM mode下对RLC 数据几乎没有什么处理,只是在发端缓存数据,不存在RLC头部,不需要重排序,不需要分段和重组。也就是说在TM mode下,输入和输出的RLC数据是一样的。那么即使MAC/PHY层分配的资源块小于RLC包,RLC层也一样转发过去,当然由于这些RLC数据比MAC/PHY资源大,随后会被截断或者丢弃。
需要关注的是信道BCCH / PCCH / CCCH的数据将采用TM mode来处理。
< 38.322 -Figure 4.2.1.1.1-1: Model of two transparent mode peer entities >
UM Mode /Procedure
UM mode就是传说中的'Unacknowledged Mode'了, 'Unacknowledged Mode' 顾名思义就是不需要收端的反馈(如'ACK' or 'NACK'),从这一点上看和TM mode类似,但是UM mode下是需要RLC头部的。这也是RLC TM mode和UM mode的主要不同,但是这个不同点带来了很多处理过程的不同,UM mode下需要比TM多很多的处理过程。
这些增加的过程发生于发端和收端。如下图所示。
首先是发端的处理:
i) 缓存数据并产生RLC Header.
ii) 分段处理Segmetation (将大尺寸的数据块分割成多个小尺寸的数据块),修改RLC头部(基于分段的情况所作的修改)
iii) 增加RLC头部
和LTE UM RLC 不同的是,5G UM RLC将不做'Concatenation',根据下面的这段38.322 v0.1.0的描述, 'concatenation'被放到MAC层处理了。
From RAN2 NR#1:
- Working assumptionon no RLC concatenation taken at RAN2#96 is confirmed (i.e., concatenation ofRLC PDUS is performed in MAC).
然后关注收端的处理:
i) 缓存数据Buffering
ii) 重排序处理Reordering (原因是有的早发送的数据块可能会晚一些到达收端,那么这种情况下就会通过重排序来对到来的数据块进行处理为之后的重组作准备。
iii) 移除RLC header ,还原实际数据。
iv) 重组Reassembly
< 38.322 - Figure 4.2.1.2.1-1: Model of two unacknowledged modepeer entities >
下面来对比下5G RLC UM mode和4G RLC UM mode处理流程。解收端几乎没有区别,但是在发送端的主要区别就是5G RLC不再处理'Concatenation' 处理了。
AM Mode /Procedure
AM mode是RLC中处理过程最复杂的类型。'AM'顾名思义就是'Acknowledge Mode',名字本身就隐含了它需要来自对段的ACK/NACK反馈。它比较类似TCP/IP中的TCP协议,而RLC UM就更像TCP/IP里面的UDP协议。
那么是不是每个传送都需要ACK/NACK 呢?,如果每次传送都需要ACK/NACK的话控制消息开销会比较大,浪费的有限的资源就比较多了,因此类似TCP,AMmode也使用了RLC window,polling bit以及对ACK/NACK进行分类调度等众多的机制。这就使RLC AM过程比其他两种mode的处理要复杂的多。
如下图所示,左列和右列的处理内容和UM mode是一样的 ,他们的最主要的不同处于中间'Retransmission buffer' 和'RLC control' 的那些部分,首先到达retransmission buffer的都是那部分数据呢?,当RLC发端完成分段segmentation后,就会为分段的各个部分进行copy生成相互备份的两部分,然后其中一部分就会发送到下层MAC层,另一部分就进入Retransmission buffer。之后如果没有收到的反馈是NACK或者在某段时间内没有收到反馈,处于retransmission buffer中的那个备份就会被重传。当然如果收端收到了ACK的反馈指令,处于retransmission buffer的备份部分就会直接丢弃了。
< 38.322 - Figure4.2.1.3.1-1: Model of an acknowledged mode entity >
AM Mode /Procedure
AM mode是RLC中处理过程最复杂的类型。'AM'顾名思义就是'Acknowledge Mode',名字本身就隐含了它需要来自对段的ACK/NACK反馈。它比较类似TCP/IP中的TCP协议,而RLC UM就更像TCP/IP里面的UDP协议。
那么是不是每个传送都需要ACK/NACK 呢?,如果每次传送都需要ACK/NACK的话控制消息开销会比较大,浪费的有限的资源就比较多了,因此类似TCP,AMmode也使用了RLC window,polling bit以及对ACK/NACK进行分类调度等众多的机制。这就使RLC AM过程比其他两种mode的处理要复杂的多。
如下图所示,左列和右列的处理内容和UM mode是一样的 ,他们的最主要的不同处于中间'Retransmission buffer' 和'RLC control' 的那些部分,首先到达retransmission buffer的都是那部分数据呢?,当RLC发端完成分段segmentation后,就会为分段的各个部分进行copy生成相互备份的两部分,然后其中一部分就会发送到下层MAC层,另一部分就进入Retransmission buffer。之后如果没有收到的反馈是NACK或者在某段时间内没有收到反馈,处于retransmission buffer中的那个备份就会被重传。当然如果收端收到了ACK的反馈指令,处于retransmission buffer的备份部分就会直接丢弃了。
< 38.322 - Figure4.2.1.3.1-1: Model of an acknowledged mode entity >
RLC数据结构--RLC DataStructure
UMD DataStructure
AMD Data Structure
SO : SO 表示Segment Offset。用来表示原始RLC SDU的Bytes中RLC SDU分段的位置.
D/C : 这个域表示该RLC PDU是数据的还是控制的类型。
P : P表示Polling bit。用来指示发送的数据是否需要对段给与RLC ACK或者NACK的反馈。
< 38.322-Table 6.2.2.7-1: P field interpretation >
RLC先笼统地唠叨到这里,
然后PDCP!Let ‘s go~
第一句要说的是:5G NR PDCP几乎和LTE PDCP一样的。所以已经熟悉了LTE PDCP的就又省事了。
5G NR PDCP功能概览
在下行方向上,进入eNB和UE的数据首先要经过PDCP层的处理然后才会进入RLC层。而在上行方向上,在RLC层中的等待发往外部世界的数据也要经过PDCP层的处理。
在一切情况都ok的时候,我们看协议栈的处理也是很简单的,特别在PDCP层,所有的操作似乎只是给每个数据包增加/移除一个很小的头部,然后发送/接收自RLC层。那么下面我们就把PDCP的功能比较详细的列一下,就会发现还是不少内容的:
- Transfer of data (user plane or control plane)
- Maintenance of PDCP SNs
- Header compression and decompression using the ROHC
- Ciphering and deciphering of user plane data and control plane data
- Integrity protection and integrity verification of control plane data
- Timer based SDU discard
- For split bearers, routing or duplication
- Reordering and in-order delivery
- Duplicate discarding
5G NR PDCP的规范是TS 38.323,下图就取自TS38.323,从图中可以看到:
当使用RLC UM和RLC AM时候,PDCP和RLC层是直接相连的。而
当使用RLC TM时候,PDCP和RLC层之间没有连接,这就意味着RLC TM下的数据不需要PDCP层的处理。
<38.323 - Figure 4.2.1-1:PDCP layer, structure view >
下图展示了PDCP层更为详细的处理流程和信息,首先观察图表左边的部分:
- 到达PDCP层的数据首先被存储在发送缓冲区并通过"SequenceNumbering" 进行序列号编号,也就是PDCP层会对每个到达的数据块赋予一个序列号并对之进行管理和控制。这样在接收段的PDCP层就可以通过这个序列号知道很多事情,比如数据是否按序到达?有没有重复的数据包?而且在接收端进行数据包重组处理时候也需要序列号的指导。
- 然后要进行头部压缩处理Header Compression,和LTE类似,头部压缩只在U-plane进行。这就使说信令信息不进行头部压缩处理。
- 然后接下来就回看到两个支路,一个是要经过"Integrity/Ciphering",另一个是不经过"Integrity/Ciphering"而是直接进行下一步骤的处理了。Integrity Protection 只针对C-Plane数据,也就是信令信息 (C-Plane 数据就是RRC/NAS 消息,比如DCCH data, not DTCH data)。当然也可以通过OM命令来关闭"IntegrityProtection"这个步骤。
- 然后是加密过程Ciphering process,加密在控制面C-Plane 和用户面U-Plane数据上进行。也可以通过OM命令来关闭加密过程Ciphering process。
- 下一步就是要给数据包加上PDCP头部PDCP header。
- 如果Split bearer分割承载已经建立,则PDCP需要将数据包路由到对应的承载上去。
再看看图标的右边部分,也就是PDCP层的接收一边,只是对左边发送部分的逆处理。
< 38.323- Figure 4.2.2-1: PDCP layer, functional view >
从上述几段概括说明可以看到5G NR PDCP 层和LTEPDCP 非常相似(虽然在5G NR设备中的组网模式及云模式的实现和LTE eNB有了根本性的演进),下面列出了一些两者的不同:
PDCP数据结构--PDCP DataStructure
< Data PDU for SRB >
下图是对5G NR SRB PDCP和LTESRB PDCP的对比,可以看到总体结构是相同的,只是5G NR PDCP SN要比LTESRB PDCP SN大很多。
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com