5g下行链路共享信道(5GNRRLC)

在5G无线侧,RLC具有TM、UM和AM三种不同的工作模式,每种模式都可以发送和接收数据,根据需要服务于不同的逻辑信道,本文章提供了AM模式数据传输的概述。

RLC AM 模式特性

  • 在传输和接收时都需要进行缓冲
  • 在发送端完成分段,在接收端重新组装
  • RLC PDU需要ACK/NACK反馈机制
  • SRB1/SRB2/SRB3和DRB的数据使用RLC AM模式(SRB0呢?)
  • 序列号AM(12,18)位
  • RLC AM模式完整/分段SDU与SN相关
  • 1个RLC SDU=1个RLC PDU

数据是怎样通过RLC层进行传输的呢?

RLC实体从PDCP层接收/发送PDCP PDU(即RLC SDU),并通过MAC和PHY层向其对等RLC实体发送/接收RLC PDU。

  • PDU是层的输出
  • SDU层的输入

5g下行链路共享信道(5GNRRLC)(1)

PDU传输顺序是什么?

1. 控制PDU Control PDU

2. 重传PDU Retransmit PDU

3. 分段PDU Segmented PDU

4. 完整PDU Complete PDU

RLC传输(Complete/Segmented PDU)

下图描述了完整和分段式PDU的传输

5g下行链路共享信道(5GNRRLC)(2)

RLC PDU的数目根据MAC层TB的大小来传输。如果MAC层TB的大小不足以传输完整的RLC PDU,则对RLC PDU进行分段。MAC层TB的大小取决于调度的字节数,这是基于无线条件来的。

5g下行链路共享信道(5GNRRLC)(3)

  • SI(Segment indicates):指示RLC PDU是包含完整的RLCSDU还是RLC SDU的第一个、中间、最后一个段。
  • SO(Segment Offset):段偏移(仅适用于中间段、最后一段)

RLC AM数据重传

在AM模式下,每个RLCPDU以升序发送序列号,并存储在重传输缓冲器中。由于RLC AM支持ARQ以保证可靠的传输,因此UE发送RLC STATUS PDU消息来指示UE接收到的RLC-PDU的当前状态。如下图所示:

第一步,SN=2的RLCPDU丢弃;第二步,因此,在RLC状态下,从UE发送的PDU(AckSn-4,NackSn-2);第三步,在接收到RLC状态PDU之后,SN=2的RLC PDU从DU重新传输。

5g下行链路共享信道(5GNRRLC)(4)

RLC最大重传是多少

如果STATUS PDU被丢弃,那么轮询重传计时器到期后,SN=2的RLC PDU被重传,这是从DU发送的最新RLC PDU。如果轮询重传计时器到期计数超过maxRetxThreshhold值,则触发RLF(无线链路故障)并释放UE。

5g下行链路共享信道(5GNRRLC)(5)

RLC窗

当TxNext和TxNextAck之间的差等于SN窗口大小(最大SN大小的一半)时,RLC窗口关闭。在下图中,窗口关闭已经发生,如果在Retx Buffer 中没有RLC PDU,则重传最高传输的PDU(Sn-131172)。

5g下行链路共享信道(5GNRRLC)(6)

  • TxNext:该状态变量保存要为下一个新生成的AMD PDU分配的SN值
  • TxNextAck:该状态变量保存下一个RLC SDU的SN值,该值将按顺序接收肯定确认,并用作发送窗口的下边缘。

Window Stall的情况下,主动请求被发送到CU中的PDCP以停止发送数据。根据规范,当发送的PDU计数没有收到ACK(窗口大小=13072)时,就会出现暂停情况,这意味着DU必须保持131072个缓冲区。

WindowStall条件导致WindowSize出现问题

  • 由于系统限制,DU可能不支持这种巨大的缓冲区。
  • 虚UE可能消耗所有缓冲器而不为其他UE留下缓冲器。

所以,Window stall条件门限能够通过如下等式进行修改

Window StallThreshhold = (MAX_DATA_RATE/AVG_PDU_SIZE)*RLC_RTT

RLC_RTT = StatusProhibit Timer MAX_HARQ_RETX

o MAX_DATA_RATE: UE支持的最大数据速率

o RLC_RTT: RLC的RTT(Round TripTime)往返时间

o MAX_HARQ_RETX: 最大重传HARQ

o AVG_PDU_SIZE: RLCPDU大小的平均值

接收并重组RLC AM PDU

  • 从MAC层接收AMD PDU。
  • 如果RLC PDU SN在接收窗口内,则RLC层继续,如果不是,则丢弃
  • RLC层还检查AMD PDU是否携带了已经接收到的RLC SDU段字节(检查重复)。它继续进行处理,因为接收到的AMD PDU包含新的数据字节。
  • RLC层将AMD PDU放置在接收缓冲器中

定期发送Status Report以向UE共享UL分组数据的接收状态。下面的两个图描述了根据在t-reassembly (t1,t2,t3)定时器中对RLC分组数据所做的处理来更新RLC UL状态变量。假设在每个t-reassembly 中,接收到50个RLC PDU,并且在每个t-reassembly 定时器持续时间内发送PDU。由于未从UE接收到TB(MAC传输块),RLC SN接收丢失。

5g下行链路共享信道(5GNRRLC)(7)

在下图中,具有RLC SN(5~8)的MAC层TB在t1时间期间丢失,并且由于HARQ重传而在t2期间接收。这里可以看到,在t2持续时间内发送的状态PDU不再包括AckSn=5。

注:t1持续时间内丢失的数据包将始终在t3持续时间内使用STATUS PDU(使用NackSn)通知UE。

5g下行链路共享信道(5GNRRLC)(8)

在上图中,具有RLC SN(5~8)和RLC SN(40~49)的MAC TB在t1持续时间内丢失。在t2中,在接收到具有RLC SN(5~8)的Harq Retx(Harq Retransmitted TB)之前发送STATUS PDU,因此STATUS PDU不报告RLC SN(5~8)的接收,而只发送状态PDU(AckSn-5)。t2到期后,假设具有RLC SN(40~49)的MAC TB丢失,并且丢失的分组信息以PDU状态发送给UE(AckSn-50,NackSn-40,range-10)。

在t3期间,在状态报告中将t1中丢失的RLC分组报告给UE。处于STATUS PDU(AckSn 50,NackSn-40,范围10)。来自SN(40–49)的PDU被视为丢失或丢失。

接收和重组RLC定时器

· tReassembly: tReassembly >= 下行分组数据到达UE的时间 HARQ的时间

· tpollretransmit: tpollretransmit >= tstatusProhibit 2 个PUSCH 传输时间 ( BSR RLC Status PDU)

· tstatusProhibit: HARQ RTT <= tstatusProhibit <= tReassembly

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页