RLC层位于PDCP层和MAC层之间。它通过SAP(Service Access Point)与PDCP层进行通信,并通过逻辑信道与MAC层进行通信。每个UE的每个逻辑信道都有一个RLC实体(RLC entity)。RLC实体从PDCP层接收到的数据,或发往PDCP层的数据被称作RLC SDU(或PDCP PDU)。RLC实体从MAC层接收到的数据,或发往MAC层的数据被称作RLC PDU(或MAC SDU)。
RLC层主要负责(见36.322):
· 分段/串联和重组RLC SDU(concatenation/segmentation/reassembly,只适用于UM和AM模式):RLC PDU的大小是由MAC层指定的,其大小通常并不等于RLC SDU的大小,所以在发送端需要分段/串联RLC SDU以便其匹配MAC层指定的大小。相应地,在接收端需要对之前分段的RLC SDU进行重组,以便恢复出原来的RLC SDU并按序递送(in-sequence delivery)给上层。
· 通过ARQ来进行纠错(只适用于AM 模式):MAC层的HARQ机制的目标在于实现非常快速的重传,其反馈出错率大概在1%左右。对于某些业务,如TCP传输(要求丢包率小于),HARQ 反馈的出错率就显得过高了。对于这类业务, RLC层的重传处理能够进一步降低反馈出错率。
· 对RLC data PDU进行重排序(reordering,只适用于UM和AM模式):MAC层的HARQ操作可能导致到达RLC层的报文是乱序的,所以需要RLC层对数据进行重排序。重排序是根据序列号(Sequence Number,SN)的先后顺序对RLC data PDU进行排序的。
· 复包检重测(duplicate detection,只适用于UM和AM模式):出现重复包的最大可能性为发送端反馈了HARQ ACK,但接收端错误地将其解释为NACK,从而导致了不必要的MAC PDU重传。
对RLC data PDU进行重分段(resegmentation,只适用于AM模式):当RLC data PDU(注意:这里不是SDU)需要重传时,可能需要进行重分段。例如,当MAC层指定的大小小于需要重传的原始RLC data PDU的大小时,就需要对原始RLC data PDU进行重分段。
|