RLC定时器简单整理

14 篇文章 24 订阅

RLC层一共包括三个定时器。在4G中,三个定时器分别为重排序定时器t-Reordering,polling重传定时器t-PollRetransmit,状态报告禁止定时器t-StatusProhibit。在5G中,因为RLC取消了重排序,所以取消了重排序定时器,增加了一个重组定时器t-Reassembly,但其使用方式基本相同。

t-Reordering重排序定时器

         重排序定时器用于4G的RCL接收端,用来在AM和UM模式中检测RLC PDU的丢失,一个RLC实体同时只会有一个重排序定时器在运行。重排序定时器的目的在UM模式时是表示乱序报文等待的时长,超时不再等待报文,视为报文丢弃。在AM模式中,超时表示触发状态报告告知对端报文接收情况。

        因为重排序定时器与接收窗口的维护关系比较密切。这里简单说明一下接收窗口的变量。

VR(R):期待顺序接收的下一个AMD PDU序列号,初始为0。该状态变量为接收窗口的下界。

VR(H):接收端所接收到的最高AMD PDU序列号seq,VR(H) = seq + 1,初始为0。

VR(MR):接收窗口的上界,即VR(MR) = VR(R) + AM_Window_Size。

VR(X):接收端探测到无序AMD PDU时,记录该无序AMD PDU序列号seq,VR(X) = seq + 1,初始为0。

VR(MS):触发status report的AMD PDU序列号seq,VR(MS) = seq + 1,初始为0。该状态变量目的是触发发送端尽快重传AMD PDU。

初始场景下,VR(R)= VR(H)= VR(X)= VR(MS)=0,接收报文后,状态变量会发送变化,依据状态变量的变化,触发重排序定时器的启动、重启或者停止。

UM模式

  1. 启动重排序定时器。出现VR(H) > VR(R),说明接收到的报文最高SN不等于最低SN,接收报文的过程中存在乱序的现象。需要启动重排序定时器。并设置VR(X) = VR(H)。
  2. 停止重排序定时器。VR(X)已经落在了重排序窗口以外,且VR(H) = VR(R),乱序现象不存在时,停止重排序定时器。
  3. 重启重排序定时器。VR(X)已经落在了重排序窗口以外,且VR(H) > VR(X),重启重排序定时器,这种场景一般出现在接收到一个更大序列的报文, VR(H)发生更新,因窗口长度限制VR(R)也被迫更新。此外定时器超时也可能重启重排序定时器。
  4. 重排序定时器超时。定时器超时会丢弃VR(X)序号前的报文,此时接收窗口下限会重新置位等于VR(X)。如果依然存在启动定时器的条件,则会重启重排序定时器。

AM模式

  1. 启动重排序定时器。出现VR(H) > VR(R),说明接收到的报文最高SN不等于最低SN,接收报文的过程中存在乱序的现象。需要启动重排序定时器。并设置VR(X) = VR(H)。
  2. 停止重排序定时器。VR(X)已经落在了接收窗口以外,且VR(H) = VR(R),乱序现象不存在时,停止重排序定时器。
  3. 重启重排序定时器。VR(X)已经落在了接收窗口以外,且VR(H) > VR(R),乱序现象依然存在时,重启重排序定时器。
  4. 重排序定时器超时。定时器超时不再等待对端发生乱序报文,超时的报文应在下次状态报告中告知对端接收情况。置位VR(MS)为大于等于VR(X)的第一个未接收的报文,并且触发状态报告。此时如果VR(H) > VR(MS), 则重启定时器,并设置VR(X) = VR(H)。

t-PollRetransmit poll重传定时器

poll重传定时器用于RLC发送端,主要是用于在发送AMD报文时周期性提示接收端对接收报文进行确认。其与poll的发送关系紧密。

何时会触发发送报文中携带poll标志?1.发送的报文个数和报文字节数超过门限pollPDU或者pollByte。发送的报文个数和报文字节数在每次携带poll后清零,然后不断累加。2.当前buffer中已经没有待发送的初传报文和重传报文。两个条件都能触发发送报文时携带poll标志。

何时启动和重启t-pollRetransmit?发送poll报文后,启动定时器。设置POLL_SN 等于VT(S) – 1,也就是最新发送的携带poll标志的报文序列号。

何时停止t-pollRetransmit?接收到状态报告,poll_sn对应的报文已经收到ack或nack,则停止定时器。

t-pollRetransmit超时的操作?定时器超时后,如果有数据待发送,则携带poll报文发送。否则重传一个待确认的报文,并且携带poll。

t-StatusProhibit状态报告禁止定时器

         状态报告禁止定时器用于RLC接收端,限制过于频繁的发送状态报告。每次发送状态时,启动t-StatusProhibit需要的等到定时超时才允许再次发送。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值