5G NR - RLC协议阅读笔记6 - ARQ

Just Learn It

这篇是RLC协议学习笔记的完结篇,但是对于RLC的学习是一个持续的过程,因为RLC的内容远不止于此。对协议有个基本了解仅仅学习RLC的第一步,一如我在最初的这篇前言里提到的,RLC真正难的是实践 – 开发以及解决实际应用中的问题。
看协议时,当你试图理解某个知识点,你只需要自己想一个能符合协议描述的最简单场景的例子(单个包、单个逻辑信道、单个UE、只丢失一个包、不考虑包的大小…)就可以,但是开发RLC就难太多了,除了考虑各种复杂的场景,还要考虑协议之外的东西,比如在确定了操作系统、语言和硬件等infrastructure的情况下,RLC和上下层如何交互以及接口用什么方式实现,使用什么内存管理策略,RLC涉及到的数据结构怎么设计最省空间最高效,各个定时器设置多长合适,传输缓存和重传缓存怎么设计,(gNodeB上)多个UE的RLC如何管理(比如如何处理UE优先级),开发阶段如何高效地做模拟测试……太多太多了,这还仅仅是我并非从事RLC开发工作的情况下想到的,而从事RLC开发的那些架构师/工程师需要的考虑又要多得多。
不过无论你是否从事RLC开发,学习RLC的过程若遇到挫折也不要妄自菲薄,因为上面提到的这些事情也远非一个人可以完成,即便是那些处于通信顶端的公司(华为、北电、诺基亚、罗德与施瓦茨、Keysight、爱立信、MTK、高通…),开发RLC也需要一个小团队,且这些设计/开发并非一蹴而就,而是有传承的。
RLC中的ARQ的理念跟TCP里ARQ是一致的 – 通过使用确认和超时这两个机制在不可靠的数据通道上可靠地传输数据。
接下来根据这协议5.3节的小节顺序依次学习重传、polling、状态报告。


5.3 ARQ procedures

5.3.2 Retransmission

发送端收到对端的Status Report里如果包含RLC SDU或RLC SDU Segment的否定确认(negative acknowledgement), 就会考虑对其进行重传:

重传某个RLC SDU或RLC SDU Segment时,AM RLC实体发送端将:

-  (如果有必要)对RLC SDU进行分段或对RLC SDU进行重分段;
-  生成一个新的AMD PDU,确保其大小能够被下层通知的特定传输机会里指定的PDU size所容纳;
-  将新的AMD PDU发送给下层.

生成新的AMD PDU时,AM RLC实体发送端将:

-  仅将原始的RLC SDU或RLC SDU Segment映射到新的AMD PDU的数据域(Data  Filed);

-  根据6.2.2.4节的描述修改AMD PDU的头部(请看这里)

-  根据5.3.3节设置P字段(将在下节详细讲解).

5.3.3 Polling

触发发送端对PDU设置poll bit有如下两种场景:

case1:

case2:

5.3.3.3 Reception of a STATUS report

收到到AM RLC实体接收端的STATUS report后,AM RLC实体发送端将:

-  如果STATUS report包含POLL_SN对应的RLC SDU的肯定或否定确认:

    -  如果t-PollRetransmit正在运行:

        -  停止并复位t-PollRetransmit

5.3.3.4 Expiry of t-PollRetransmit

t-PollRetransmit超时时,AM实体发送端将:

-  如果发送缓冲区和重传缓冲区都已清空(不包含那些正在等待响应的已发送的RLC SDU和RLC SDU Segment); 或者

-  没有更多新的RLC SDU或RLC SDU Segment可以发送(比如,因为窗口阻塞):

    -  考虑将已经发往下层的具有最高SN值的RLC SDU重传,或者

    -  考虑对任何尚未收到肯定响应的RLC SDU进行重传.

- 根据5.3.3.2对AMD PDU设置poll字段.


一份log例子

这份log恰好包含了DL AMD PDU的传输和对应的UL STATUS PDU的最复杂场景之一 -- 丢掉的数据包括连续几个包中的:
1) 第一个包的部分字段
2) 中间几个包的全部
3) 最后一个包的部分字段

因此STATUS PDU包括了结构里所有的字段(NACK_SN, SO Start, SO End, NACK Range…),是一份理解ARQ的非常好的log.

图中右侧是UE接收到的一堆DL DATA PDUs, 左下角是收到这些PDU之后,UE针对这些PDU反馈的STATUS Report.

References

[1]  3GPP TS38.322(RLC)

[2]  5G无线系统设计与国际标准(刘晓峰、孙韶辉、杜忠达、沈祖康、徐晓东、宋兴华)

[3]  5G New Radio In Bullets(Chris Johnson)

[4] 5G NR The Next Generation Wireless Access Technology(Erik Dahlman, Stefan Parkvall, Johan Sko¨ld)

[5] LTE - The UMTS Long Term Evolution FROM THEORY TO PRACTICE(2nd Edition Stefania Sesia ST-Ericsson, France; Issam Toufik ETSI, France; Matthew Baker Alcatel-Lucent, UK) 

[6] 5G Technology 3GPP New Radio(Editted by Harri Holma and Antti Toskala Nokia Bell Labs Finland; Takehiro Nakamura 5G Laboratories NTT DOCOMO, Inc.Japan)

[7] 4G: LTE/LTE-Advanced for Mobile Broadband[Second Edition](Erik Dahlman Stefan Parkvall Johan Sko¨ld)


笔者在公众号“协议工程师笔记”定期发布5G/LTE/IMS...学习笔记, 敬请关注、订阅和分享,谢谢!

                                                             图片                      

                                                                       一起努力,蒸蒸日上
 

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值