LTE网络RLC层的polling机制

本文将从UE角度对LTE网络RLC层的polling机制进行详细阐述。


前言

在LTE网络中,RLC层提供了两种服务模式,一种是保证数据无损传输(lossless)的AM模式(acknowledged mode),另一种是不保证数据可靠传输的UM模式(unacknowledged mode)。在AM模式下,RLC层要保证数据可靠传输,因此,此时的RLC协议是一种可靠性数据传输协议(reliable data transmission protocol, RDP)。

RDP是网络协议中常用的一种协议,TCP协议就是其中之一。与TCP协议相比,RLC位于无线通信协议栈的更底层,对时延的要求更高。因此,为了更快地实现数据的无损传输,RLC层引入了polling(问询)机制。


Polling的目的

UE1在向网络发送数据的过程中,由于物理层存在一定的误码率(BLER),有一些包(packet, 即RLC PDU)有时候可能会在传输过程中发送失败或者丢失。但是,哪一些包发送失败了,从UE侧是无法知道的。因此,为了实现数据的可靠传输,UE需要网络侧的反馈,告诉UE在网络侧哪一些包已经收到,哪一些还没有收到,从而让UE能够重传那些网络还没收到的包,这个反馈就是状态报告(status report)。

但是网络侧怎么能够知道什么时候给UE发送状态报告呢?如果网络侧频繁不停地给UE发送状态报告,那么虽然UE能够很及时地知道网络侧接收情况,但是这样就浪费了很多下行资源;而如果网络侧周期性地给UE发送状态报告,那么UE侧又无法及时得知网络侧的接收情况。引入Polling就是为了这个目的。UE需要向网络询问,哪一些包收到了,哪一些还没收到,这样网络就会回复状态报告,UE就能及时地重传那些没被网络收到(acknowledged)的包。


Polling的触发条件

在每个RLC data PDU的header部分,有一个P位的标志位,这个标志位就代表polling。当P位为1时,表示UE向网络侧发送polling,期望对方回复状态报告,反之亦然。在以下任一条件满足的情况下,UE都会触发polling

  • PDU_WITHOUT_POLL >= pollPDU
  • BYTE_WITHOUT_POLL >= pollByte
  • 在发送完当前的RLC data PDU后,buffer里不再剩余任何待发送的RLC data PDU
  • t-PollRetransmit 定时器超时

UE每发送一个新的RLC data PDU时,PDU_WITHOUT_POLL会加1;BYTE_WITHOUT_POLL也会增加sizeof(RLC PDU payload)。在更新了PDU_WITHOUT_POLL和BYTE_WITHOUT_POLL后,假如PDU_WITHOUT_POLL ⩾ \geqslant pollPDU,或者BYTE_WITHOUT_POLL ⩾ \geqslant pollByte,那么UE需要将该RLC PDU header的P位置1,向网络发送polling。这两个条件保证了UE每向网络发送一部分数据后,都能及时地知道这些数据在网络侧的接收情况。pollPDUpollByte 由网络配置,通过RRC层向RLC层下发。

当UE发送buffer里最后一个新传RLC data PDU时,也应该置P位为1。这也是符合直觉的。因为在发送完最后一个新传RLC data PDU后,UE有可能很长时间都不会发送新的数据了,这时候前两个条件就无法触发了。因此,这时候需要向网络发送polling,获取网络的接收状态报告,然后及时地将前面还没发送成功的包给发送出去。

假如在上面的polling触发,并且重传RLC PDU后,网络侧还是有一些包没收到,而此时UE不再有新的包发送了,那么网络侧岂不是再也收不到这些没收到的包了?针对这个问题,RLC层提供了最后一个polling触发条件,保证了在这种场景下,UE还能向网络发送这些丢失的包。UE在RLC层有一个 t-PollRetransmit 定时器,每当UE发送了polling后,都会启动 t-PollRetransmit 定时器(或者重启,假如此时定时器还在运行)。当 t-PollRetransmit 定时器超时时,假如

  • buffer(包括RLC data PDU新传队列和重传队列)为空
  • 或者无法发送新传RLC PDU(比如此时因为收不到给VT(A)的ACK,导致window stall了)

那么UE需要向网络重传一包RLC data PDU,并将该RLC data PDU的P位置1,向网络发送polling,这样就保证了在无法发送新传的数据时,UE还能收到网络的状态报告,从而重传之前丢失的包,补齐网络侧的接收窗口,而不至于让网络侧长时间无法完全收到这些包。UE在这种场景下向网络侧重传的RLC data PDU,可以选择以下两种之一:

  • SN2为VT(S) – 1的RLC data PDU,即发送窗口最右侧的那个RLC data PDU
  • 发送窗口中任何一个还没被网络侧确认已经收到的RLC data PDU

总结

本文从UE侧角度介绍了LTE网络RLC层的一个基本功能——polling机制。polling机制只在AM模式下才会生效,其目的是为了能及时得知网络侧的接收情况,从而及时地向网络重传丢失的数据包,保证数据的低时延可靠传输。最后介绍了polling的触发条件。

参考文献

[1] 3GPP协议 36322 section 5.2.2
[2] Radio Protocols for LTE and LTE-Advanced (2012) by SeungJune Yi, SungDuck Chun, etl. section 5.4.4
[3] 深入理解LTE-A. 温金辉著. section 36.3.3.2


  1. User equipment,在蜂窝网络中指终端设备,大部分场景下是手机,也可能是智能手表,智能仪表等其它无线终端设备。 ↩︎

  2. Sequence number,每一包RLC data PDU都有一个sequence number,在一段时间内可以唯一标识这包RLC data PDU。 ↩︎

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值