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

文章目录

  • 前言
  • Polling的目的
  • 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。 ↩︎

LTE网络RLC层的polling机制相关推荐

  1. [4G5G专题-57]:L2 RLC层-详解RLC架构、数据封装、三种模式:透明TM、非确认模式UM、确认模式AM

    目录 第1章  L2 RLC层的架构 1.1 RAN的架构 1.2 L2架构概述 1.3 RLC软件系统结构图 第2章 TCP/IP协议提供的三种传输服务 ​2.1 TCP 2.2 UDP 2.3 R ...

  2. pdcp层的作用_LTE协议栈总体架构、PDCP层及RLC层概述

    系统架构 无线接入网和核心网的总体系统架构演进,结果是形成了一个扁平的RAN架构 + 分组核心网EPC架构. RAN负责整体网络中所有无线相关功能,包括调度.无线资源管理.重传协议.编码和各种多天线方 ...

  3. 5G NR RLC层

    RLC(Radio Link Control)层位于PDCP层(或RRC层)和MAC层之间.它通过RLC通道(RLC channel)与PDCP层(或RRC层)进行通信,并通过逻辑信道与MAC层进行通 ...

  4. 自考那些事儿(八):计算机网络原理(原理篇)之网络各层

    [前言] 试虽然考完了,但是对这门学科的学习却没有结束,考完后再来看感觉却更好. 在上篇博文-<自考那些事儿:计算机网络原理(总述篇)>对整本书进行宏观的讲解,本篇博文则详细讲解其中的最为 ...

  5. Lesson 002 —— 网络七层模型

    Lesson 002 -- 网络七层模型 互联网的本质就是一系列网络协议.OSI(open system interconnect 开放系统互联)七层协议 或 tcp/ip 五层 或 tcp/ip 四 ...

  6. 网络通信原理与IP地址的分配原理,网络七层由下往上分别为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层

    互联网协议入门 介绍:https://www.ruanyifeng.com/blog/2012/05/internet_protocol_suite_part_i.html 每一层要进行通信,每一层都 ...

  7. 深入分析Java I/O的工作机制 (三)网络I/O的工作机制 很详细

    3.网络I/O的工作机制 前言:数据从一台主机(服务端)发送到网络中的另一台主机(客户端)需要经过很多步骤:首先需要有相互沟通的意向.其次要有能够沟通的物理渠道(物理链路):是通过电话,还是直接面对面 ...

  8. LTE网络PUCCH功控计算

    文章目录 1. 概述 2. 最大发射功率 P C M A X , c ( i ) P_{\mathrm{CMAX,c}}(i) PCMAX,c​(i) 3. 标称功率 P O _ P U C C H ...

  9. LTE网络中PDN,承载,IP的关系

    LTE网络是一个只有PS域的全IP的移动网络,没有CS域,因此UE必须连接到至少一个PDN (Packet Data Network) 才能执行数据通信的工作.在EPS系统中,PDN指的是外部的数据网 ...

最新文章

  1. Sublime Text3 使用
  2. 局域网内同时使用两台路由器的配置方法
  3. this指向undefined uiapp_this为什么会为undefined?
  4. 使用Hibernate(JPA)一键式删除
  5. 详细介绍Qt,ffmpeg 和SDl 教程之间的联系
  6. 术语html的含义是,术语html指的是什么
  7. WPF Logical Tree vs. Visual Tree
  8. Java 游戏自动寻路,老游戏仙境传说RO私服自动寻路求交流(含代码)
  9. Word:表格中绘制斜线表头
  10. Web3js 小笔记
  11. 手把手教你读财报----银行业----第三课
  12. 离散帕斯瓦尔定理、帕斯瓦尔定理的证明
  13. 免费压缩视频大小最佳方法?
  14. 计算机重启没有用户名,电脑重启之后图标没了怎么办
  15. win7怎么进入安全模式_win7安全模式怎么进
  16. RISC-V 指令架构 -- 模式切换
  17. element ui中的el-input回车键事件
  18. 【白板推导系列笔记】线性回归-最小二乘法及其几何意义最小二乘法-概率视角-高斯噪声-MLE
  19. D3基本图表绘制——折线图
  20. AudioEffect源码解析

热门文章

  1. Linux环境go项目启动提示/usr/bin/ld: cannot find -lxxx
  2. LeetCode 854 相似度为K的字符串
  3. 网络通信技术--设置IP地址
  4. 笔记本电脑远程另一台电脑(无网络)
  5. EasyX图形库安装,以及使用样例(vc6.0,vs2013,其他类同)
  6. HTML 5 音频与视频标签
  7. 使用win10自带功能,横屏、竖屏显示器分别设置壁纸
  8. NLP自然语言处理 集束搜索(beam search)和贪心搜索(greedy search)
  9. 搜索网页显示找不到服务器,显示:DNS 查找失败,因此找不到 x 的服务器。DNS 是将网站名称解析为互联网地址的网络服务...
  10. 计算机存储的发展(块存储,文件存储,对象存储)