5G NR协议栈及功能2 - MAC RLC PDCP SDAP - Go语言中文社区

5G NR协议栈及功能2 - MAC RLC PDCP SDAP


  备注:本文所有图片均来自3GPP标准,包括3GPP TS 38.300 V15.0.0 (2017-12)和3GPP TS 38.202 V15.0.0 (2017-12)等。本文主要介绍截止目前(2018年1月25日),3GPP 5G NR相关的协议内容,后期可能会有更新。
  本系列共分为两部分:
  1. 5G NR协议栈及功能1 - 总体架构与物理层 http://blog.csdn.net/jxwxg/article/details/79160245
  2. 5G NR协议栈及功能2 - MAC RLC PDCP SDAP  http://blog.csdn.net/jxwxg/article/details/79160449

一 层2功能介绍

  NR层2包含SDAP、PDCP、RLC和MAC层。

 


 

二 MAC层


2.1 MAC层实体


  MAC层实体如下图所示:




  当配置了双链接时,MCG和SCG的MAC层实体如下图所示:




2.2 服务和功能


  1.       逻辑信道与传输信道之间的映射

  2.       复用、解复用:将来自一个或多个逻辑信道的MAC SDU复用到一个传输块并传递给PHY;将从物理层传来的传输块解复用成多个MAC SDU并传递给一个或多个逻辑信道

  3.       报告调度信息

  4.       通过HARQ进行错误纠正(在载波聚合中,每个载波对应一个HARQ实体)

  5.       通过动态调度管理用户间的优先级

  6.       逻辑信道优先级管理

  7.       填充

 

2.3 逻辑信道

  逻辑信道根据传输信息的类型来区分。逻辑信道主要分为两类:控制信道和业务信道。

         控制信道用于传输控制平面的信息,包含以下逻辑信道:

  1.       Broadcast Control Channel (BCCH):用于广播系统控制信息的下行信道

  2.       Paging Control Channel (BCCH):用于转发寻呼消息和系统信息变更的下行信道

  3.       Common Control Channel (CCCH):当UE与网络没有建立RRC Connection时,UE与网络间传输控制信息的信道

  4.       Dedicated Control Channel (DCCH):当UE与网络已经建立RRC Connection时,UE与网络间传输控制信息的一对一信道

       

  业务信道用于传输用户平面的信息,包含以下逻辑信道:

  1.       DedicatedTraffic Channel (DTCH):一对一信道,指向一个UE,传输UE的业务数据,在上下行中都存在

 

2.4 逻辑信道&传输信道&物理信道映射

  逻辑信道按照传输信息类型区分,所以不存在上下行。传输信道按照信息怎么传输区分,所以区分上下行传输信道。


(图片来自www.sharetechnote.com

 

2.5 HARQ

  HARQ保证物理层对等实体间传输的准确性。当没有空分复用时,一个HARQ进程处理一个传输块;当配置空分复用时,一个HARQ进程可以处理一个或多个传输块。


 

2.6 RNTI类型及数值


 

三 RLC层


3.1 传输模式&传输实体

 

  与LTE系统一样,NR RLC也包含三种传输模式:

  1.       TransparentMode (TM)

  2.       UnacknowledgedMode (UM)

  3.       AcknowledgedMode (AM)

 

  每个逻辑信道对应一种RLC配置,RLC配置和ARQ都不依赖于物理层子载波间隔、CP类型和TTI长度等。

  1.       SRB0承载、寻呼和系统信息广播采用TM传输模式

  2.       其他SRB承载采用AM传输模式

  3.       DRB承载可以采用AM或UM模式

 

  TM传输模式包含两个实体:发送实体和接收实体;

  UM传输模式包含两个实体:发送实体和接收实体;

  AM传输模式只包含一个实体:发送与接收在同一个实体中(方便ARQ处理)。


 

3.2 服务和功能

 

  1.       传输上层的PDU

  2.       编号(与PDCP层编码独立)(UM与AM模式)

  3.       通过ARQ纠错(AM模式)

  4.       对RLC SDU进行分割(UM与AM模式)和重分割(AM模式重传时)

  5.       重组RLC SDU(UM与AM模式)

  6.       重复检测(根据编号进行,AM模式)

  7.       RLCSDU丢弃(UM与AM模式)

  8.       RLC层重建

  9.       协议错误检测(AM模式)

 

3.3 TM模式


  TM模式不对传入RLC的SDU做任何处理,直接透传。TM模式传输的PDU称为TMD PDU。

  TM模式可以从下列逻辑信道中接收或者发送RLC PDU:BCCH,DL/UL CCCH和PCCH


3.4 UM模式


  UM模式可以从下列逻辑信道中接收或者发送RLC PDU:DL/UL DTCH。UM模式传输的PDU称为UMD PDU。

  UM发送实体为RLC SDU添加协议头;如果需要,还需对RLC SDU进行分割(没看到有拼接这一条),然后更新协议头。

  UM接收实体探测RLC SDU是否丢失;重组RLC SDU并把RLC SDU传输给上层;丢弃无法重组为RLC SDU的UMD PDU。

  UM模式接收侧维护一个接收窗口。




3.5 AM模式

  AM模式可以从下列逻辑信道中接收或者发送RLC PDU:DL/UL DTCH DL/UL DCCH。AM模式传输的数据PDU称为AMD PDU;控制PDU称为 STATUS PDU。

  AM发送实体为RLC SDU添加协议头;如果需要,还需对RLC SDU进行分割(没看到有拼接这一条),然后更新协议头。AM发送实体支持ARQ重传,当重传的RLC SDU大小与MAC指示的大小不符时,可以对RLC SDU进行分割或者重分割。

  AM接收实体:探测AM PDU是否重复接收并丢弃重复的AM PDU;检测丢失的AM PDU并请求重传;恢复RLC SDU并提交给上层。

  AM模式发送短优先级:Control RLC PDU > 重传PDU > 普通PDU

  AM模式发送侧和接收侧都维持一个窗口。



3.6 RLC实体操作


3.6.1RLC Entity Establishment


  当上层要求RLC创建一个RLC实体时,UE应当:

  1.     创建一个RLC实体

  2.     将RLC实体参数初始化

  3.     开始数据接收

 

3.6.2RLC Entity Re-Establishment

  当上层要求RLC实体重建时,UE应当:

  1.     丢弃所有的RLC SDU, RLCSDU分段,RLC PDU等

  2.     停止并重置所有的Timer

  3.     将RLC实体参数初始化

 

3.6.3RLC Entity Release

  1.     丢弃所有的RLC SDU, RLCSDU分段,RLC PDU等

  2.     释放RLC实体

 

3.7 ARQ

  1.       RLC根据RLC Status Report重传RLC PDU或者RLC PDU的分段

  2.       可以根据需要请求RLC Status Report

  3.       RLC接收侧也能发起RLC Status Report请求

 

  AM RLC实体通过STATUS PDU给对等的AM RLC实体提供ACK/NACK。在下列情况下,AM RLC实体将发送STATUS PDU:

  1.      收到来自对等AM RLC实体的Polling

  2.      检测到AM PDU接收失败

 

四 PDCP层


4.1 架构和实体


  PDCP层为映射为DCCH和DTCH逻辑信道的无线承载提供传输服务。每个无线承载对应一个PDCP层实体,每个PDCP层对应1个,2个,或者4个RLC实体(根据单向传输/双向传输,RB分割/不分割,RLC模式等确定)。

  如果RB不分割,则一个PDCP实体对应1个UM RLC(单向),或者2个UM RLC实体(双向各一个),或者1个AM RLC实体。如果RB分割,则一个PDCP实体对应2个UM RLC(单向),或者4个UM RLC实体(双向各一个),或者2个AM RLC实体



  PDCP实体的结构图如下所示:




  每个PDCP实体对应一个无线承载。同时,每个PDCP层都包含控制平面和用户平面,根据无线承载携带的信息确定相应的平面。如果存在RB分割,则添加Routing和Duplication功能。

 

4.2 功能


4.2.1用户面服务和功能

  1.      编号

  2.      头压缩和解压缩(ROHC算法)

  3.      传输用户数据

  4.      重排序和重复检测

  5.      PDCP PDU路由(当存在Bear Split时)

  6.      PDCP SDU重传

  7.      加密、解密和完整性保护

  8.      PDCP SDU丢弃

  9.     PDCP重建、为RLC AM恢复数据

  10.   PDCP PDU复制

 

4.2.2控制平面功能

  1.      编号

  2.      加密、解密和完整性保护

  3.      传输控制面数据

  4.      重排序和重复检测

  5.     PDCP PDU复制

 

  PDCP层加密功能只对Data部分(不包含SDAP协议头)进行。携带SRB的Data PDU必须进行完整性保护,携带DRB的Data PDU根据配置需要进行完整性保护。

  PDCP层维护两个Timer。PDCP发送端的Timer为:discardTimer;PDCP接收端的Timer为t-Reordering

  当某个PDU SDU对应的discardTimer超时,或者已经收到该PDCP SDU成功接收的Status Report,PDCP需要将该PDCP SDU以及相应的PDCP Data PDU放弃。t-Reordering则用于探测PDCP Data PDU是否成功接收。

 

4.3 流程


4.3.1PDCPEntity Establish


  当上层通知PDCP层建立PDCP实体时,UE需要:

  1.      为无线承载建立一个PDCP实体

  2.      初始化PDCP实体的参数

  3.      开始数据传输

 

4.3.2PDCPEntity Re-Establish


  当PDCP收到上层重建指令时,PDCP发送实体需要:

  1.      SRB:丢弃所有存储的PDCP SDU和PDCP PDU

  2.      UM DRB:对于那些已经分配SN但还没有传输给下层的PDCP SDU,按照SN递增的顺序将这些PDCP SDU传输后再开始PDCP Entity Re-Establish

  3.      AM DRB:从第一个还没收到ARQ反馈的PDCP SDU开始,执行重传并把所有已存的PDCP SDU按照SN递增的顺序发送;发送完之后再开始DCP Entity Re-Establish


  当PDCP收到上层重建指令时,PDCP接收实体需要:

  1.  SRB:丢弃所有缓存的PDCP SDU和PDCP PDU

  2.  DRB:简单来说,将存储的PDCP SDU按照递增的顺序传输给上层

 

4.3.3PDCPEntity Release


  1.      在PDCP发送实体中,丢弃所有缓存的PDCP SDU和PDCP PDU

  2.      对于UM DRB和AM DRB,按照递增的顺序将缓存的PDCP SDU传递给上层

  3.      为无线承载释放PDCP实体

 

五 SDAP层


  每个PDU Session对应一个SDAP实体:

  1.      QoS流与无线承载之间的映射

  2.      在上下行数据包中标识QoS flow ID (QFI)

 

六 层2数据流

  下图总结层2中各层的数据流。



版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/jxwxg/article/details/79160449
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-08-26 15:58:16
  • 阅读 ( 3420 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢