加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

RLC相关流程-part2(数据传输流程)

(2021-01-13 10:52:35)
标签:

杂谈

分类: 5GNR系统概述
TM(Transparent Mode) data transfer



对于TM(Transparent mode)数据传输,不论是传输侧还是接收侧的流程都与LTE中RLC的TM数据传输相同。RLC完全透传,在RLC层不存在重传、重复检测、分段和重组。该配置用于给多个用户发送信息的控制面广播信道,比如BCCH,PCCH等。



UM(Unacknowledge Mode) data transfer



UM模式支持分段但是不支持重传。这种模式用于不需要无错递交的场景,比如语音通话。
在传输侧,
  • 对于LTE而言,当RLC提交一个UMD PDU给MAC层时,传输侧的UM RLC entity应当:设置UMD PDU的SN为VT(US)(该变量指向下一个将要生成的UMD PDU的SN),同时VT(US) = VT(US) + 1;
  • 而对于NR而言,当RLC提交一个UMD PDU给MAC时,传输侧的UM RLC entity 应当:
          1. 如果该UMD PDU包含一个RLC SDU分段,设置该UMD PDU的SN = TX_Next;
          2. 如果该UMD PDU包含一个映射到一个RLC SDU最后一个字节的一个分段,则TX_Next = TX_Next + 1;

其中TX_Next变量指向分配给下一个将要生成的包含RLC SDU segmentUMD PDUSN。该值初始为0,对于一个包含分段RLC SDUUMD PDU,在该分段RLC SDU传输完毕之前,SN不变,在传输完该RLC SDU的最后一个segment之后,SN递增加1

 

N.B. 需要强调指出的是,在UM模式中,只有分段的UMD SDU才包含序列号。

 

之所以出现这样的差异就是我们在博文‘RLC相关流程-part1里面提到的:对于NR RLC,一个RLC SDU就是一个RLC PDU,可以提前组包;而对于LTERLC,一个RLC PDU长度取决于MAC调度后确定的TB长度,从而导致一个RLC PDU由多个RLC SDU拼接或者分段组成。那么对于NRRLC而言,一旦出现RLC PDU分段(只存在于组成MAC PDU的最后一个RLC PDU)也就是意味着一个RLC SDU被分段了,因此必须等到全部分段收到,才能将SN1。而对于LTERLC而言,一个RLC PDU不等于一个RLC SDU,因此一个PDUSN就不用考虑是不是该PDU最后一部分是由一个RLC SDU的分段组成的,只要PDU提交后,RLCPDUSN号就应该加1

RLC相关流程-part2(数据传输流程)

在接收侧,我们先来和LTE做一个对比:
1. 对于reassembly window的描述:
     RLC相关流程-part2(数据传输流程)
 

可以看到,NRLTE对于reassembly window的描述基本相同,唯一不同的是在各自的描述过程中使用了不同的状态变量,下面我们来看看这两个状态变量的含义:

       RX_Next_Highest:该变量表示的是一个SN,该SN为已接收到的UMD PDU中最大SN之后的即将接收到的UMD PDUSN。该变量用UM reassembly window的上边界。初始设置为0

       VR(UH):该变量表示的是一个SN,该SN为接收到的UMD PDU中最大SN之后的即将接收到的UMD PDUSN该变量用UM reassembly window的上边界。初始设置为0

           由此可见,对于reassembly window相关的定义和流程,NRLTE是相同的。

          当从MAC接收到一个UMD PDU时,

RLC相关流程-part2(数据传输流程)


      最后就是接收方在定时器的处理上有所不同。我们前面说过,在NR中的RLC没有重排序功能,重排序功能

      被放到了PDCP层实现。因此在RLC层,引入了个新的定时器:t-Reassembly。我们来看看该定时器的相

      关定义和流程:

RLC相关流程-part2(数据传输流程)
         N.B.需要注意的是,之前我们提到过,对于UMD PDU,只有包含RLC SDU segmentPDU才有SN,而包

        含一个完整的RLC SDUUMD PDU是没有SN的,因此我们在UM接收端提到的变量RX_Next_Reassembly

        和UM_WindowSize都是针对包含有连续多个属于同一个RLC SDURLC SDU segments的多个RLC PDU

        场景中才会出现。对于一个完整的RLC SDU对应一个RLC PDU的场景,不需要这些参数。


2. LTE中的reordering定时器的流程相比较,

RLC相关流程-part2(数据传输流程)

乍一看NR中的t-Reassembly定时器和LTE中的t-reordering定时器流程相同。但是大家要记住, 在LTE中,PDCP层的SN除了handover的时候保证data forwarding的有序之外,数据传输的有序性都是靠RLC SDUSN来保证的;而NR中,我们说过了,和LTE恰恰相反,是通过PDCP SN来保证数据的有序性。因此这两个定时器的功用是不同的,NR中的t-Reassembly时器仅仅是用于发现包含有RLC SDU segmentsRLC PDUs的是否存在丢包,仅此而已。



AM(Acknowledge Mode) data transfer



AM模式是DL-SCH和UL-SCH的主要工作模式,支持分段、重复删除和错误数据的重传。
我们先来看看在传输侧LTE AM RLCNR AM RLC分别是怎样处理的。
在传输侧,对于LTE而言,
RLC相关流程-part2(数据传输流程)

在传输侧,对于NR而言,
RLC相关流程-part2(数据传输流程)

从以上内容可以知道,NR AM RLC和LTE AM RLC在传输侧对于数据PDU的处理方式是相同的。

下面我们再看看在接收侧NR AM RLC和LTE AM RLC分别是怎样处理的。
在接收侧,对于LTE而言,
RLC相关流程-part2(数据传输流程)

在接收侧,对于NR而言,
RLC相关流程-part2(数据传输流程)

从以上对比可以看出,接收侧NR  RLCLTE RLC对于数据SDU的处理大致相同,但是依然存在以下两个差异:
  • AMD PDU放置到接收缓冲区后的操作;
  • NR AM RLC中的t-Reassemble定时器超时和LTE AM RLC中的t-Reordering定时器超时的处理。
这两个差异其实都是由于我们先前说过的在NR中一个RLC SDU就是一个RLC PDU(放入MAC PDU的最后一个RLC PDU除外,由于长度限制,极大可能要对该RLC PDU对应的RLC SDU进行分段)以及NR RLC不保证数据的有序传输而导致的,而第一个差异是最主要的,对于第二个差异,除了定时器名称不同外,从流程上看两个定时器的流程是基本相同的。下面我们来做详细介绍。
RLC相关流程-part2(数据传输流程)
RLC相关流程-part2(数据传输流程)


如果大家对比LTE中对t-reordering定时器超时/运行中/没有运行时的流程,就可以发现,他们与NR中的流程基本相同,这里我就不再叙述,有兴趣的同学自己翻看36.322协议。


总结一下,对于NR接收侧的AM RLC实体和LTE接收侧的AM RLC实体,最大的不同就是:NR中,AM RLC接收侧实体在接收到一个完整的AMD PDU后,如果能重新组装成一个完整的RLC SDU就直接送到PDCP层,而不需要等到所有RLC SDU都收到后再按序发送到PDCPt-Reassemble定时器的作用只是为了确保所有RLC PDU的正确接收,不再具有全部收到后再按序发送的目的。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有