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层的输入
PDU传输顺序是什么?
1. 控制PDU Control PDU
2. 重传PDU Retransmit PDU
3. 分段PDU Segmented PDU
4. 完整PDU Complete PDU
RLC传输(Complete/Segmented PDU)
下图描述了完整和分段式PDU的传输
RLC PDU的数目根据MAC层TB的大小来传输。如果MAC层TB的大小不足以传输完整的RLC PDU,则对RLC PDU进行分段。MAC层TB的大小取决于调度的字节数,这是基于无线条件来的。
- 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重新传输。
RLC最大重传是多少
如果STATUS PDU被丢弃,那么轮询重传计时器到期后,SN=2的RLC PDU被重传,这是从DU发送的最新RLC PDU。如果轮询重传计时器到期计数超过maxRetxThreshhold值,则触发RLF(无线链路故障)并释放UE。
RLC窗
当TxNext和TxNextAck之间的差等于SN窗口大小(最大SN大小的一半)时,RLC窗口关闭。在下图中,窗口关闭已经发生,如果在Retx Buffer 中没有RLC PDU,则重传最高传输的PDU(Sn-131172)。
- 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接收丢失。
在下图中,具有RLC SN(5~8)的MAC层TB在t1时间期间丢失,并且由于HARQ重传而在t2期间接收。这里可以看到,在t2持续时间内发送的状态PDU不再包括AckSn=5。
注:t1持续时间内丢失的数据包将始终在t3持续时间内使用STATUS PDU(使用NackSn)通知UE。
在上图中,具有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