通信人家园
标题:
LTE协议栈RLC层ARQ机制的研究及分析
[查看完整版帖子]
[打印本页]
时间:
2011-10-22 16:00
作者:
kenzo981
标题:
LTE协议栈RLC层ARQ机制的研究及分析
1
引言
LTE
项目为
3G
的长期演进,需要实现更低的延迟,更高的数据传输率等,所以空中接口和网络架构有重大革新。
RLC(
无线链路控制协议
)
为用户和控制数据提供分段和重传服务,
RLC
实体有
3
种工作模式:透明模式
(TM)
,非确认模式
(UM)
),确认模式
(AM)
。
ARQ
只在
AM
模式使用,所以论文中讨论的都是确认模式的情况。
2 RLC
层
AM
实体模型及
ARQ
基本类型
RLC
的
AM
实体有一个发送端和一个接收端,发送端在收到来自
的
(
服务数据单元)后,
PDCP RLC SDU RLC
将其存储在发送缓冲内,在收到来自
MAC
层的发送时机
(ul grant)
后,根据其提供的大小对
RLC SDU
进行分段和
/
或级联,然后添加
RLC
头成为
RLC PDU
(
RLC
协议数据
[2]
单元)
。所有
RLC PDU
在发送前都要交给重传缓冲进行保存,在收到
STATUS PDU
后再对重传缓冲中的
PDU
进行重传或移除的操作。接收端在收到来自对等端的
PDU
后,先判断是控制
PDU
还是数据
PDU
,若是控制
PDU
则交给
RLC
控制模块,它用来判断发送端哪些
PDU
需要重传,若是数据
PDU
则送给接收缓冲,在重排序后移除
RLC
头,再重新组装成
RLC SDU
。
ARQ
方式有
3
种基本类型:
SAW
重传、退
N
步
(GBN)
重传和选择重传
(SR)
。
SAW
重传是指发端发送每个分组后都要等待收端的回执,收到
NACK
就重传,收到
ACK
后则准备发送下一个分组。
GBN
重传可持续发送多个分组,发端发送第一个分组后不必等待回执,经过网络延迟后回执到达发端,若收端反馈的是
NACK
,则发端重传该分组及其后在延迟期间发送的分组。
SR
重传中发端按固定顺序发送分组,它只重传收到
NACK
所对应的分组。在
3
种重传方式中,
SR
重传的效率是最高的,但由于需要保证
[4][5]
分组的传送顺序,收发两端必须开较大的缓冲区
。目前的
LTE
标准采用的是
SR
重传方式,这样使得数据传输效率更高。
3 ARQ
的工作原理
3.1
重传机制
AM
实体发送端在收到状态报告后,对其中
NACK
对应的
PDU
和
PDU segment
进行重传。具体实现过程如图
2
所示:
如果低层在特定发送时机
(ul grant)
所指示的
RLC PDU(s)
的总大小与要重传的
AMD PDU
完全适合,就直接把这个
AMD PDU
传到低层,
P
字段除外
(
因为这个字段要根据目前的具体情况进行设置
)
。否则,就对这个
AMD PDU
进行分段,使得新形成的
AMD PDU
段与低层在特定发送时机所指示的
RLC PDU(s)
的总大小适合,把这个新形成的
AMD PDU
段传到低层。对于一个
AMD PDU
段的重传,根据它是否适合低层在特定发送时机指示的
RLC PDU
的总大小,如果不适合,就会根据低层指示的
PDU
的大小进行分段,使分段后的
AMD PDU
段适合低层指示的大小。如果适合就直接在
AM RLC
实体的发送侧进行数据域映射、添
AMD PDU
段头等操作。
3.2
轮询机制
为了保证
RLC PDU
的正确传送,
ARQ
过程引入了轮询机制,这是为了使发送端能从接收端收到回执
(STATUSPDU)
。每组装一个新的
AMD PDU
,
AM RLC
实体的发送端将:
(1)
计数器
PDU_WITHOUT_POLL
的值都会加
1
。
(2)
把需要传送的
AMD PDU
的
Data field
元素的每个字节都映射到这个新的形成的
RLC data PDU
的
Data ield
,每映射一个字节,计数器
BYTE_WITHOUT_POLL
的值都会加
1
。在以下条件下
AMD PDU
的
P field
置
1
,即向对等端请求获取一个
STATUS PDU
:
①PDU_WITHOUT_POLL>=pollPDU.
②BYTE_WITHOUT_POLL>=pollByte.
③
在发送完一个
RLC data PDU
后,发送缓存和重传缓存都为空。
④
在发送完一个
RLC data PDU
后,没有新的
RLC data PDU
可以传送(由于发送窗口停止移动)。在一个
RLC data PDU
的
P field
置
1
后,重置计数器
PDU_WITHOUT_POLL
和
BYTE_WITHOUT_POLL
为
0
。在发送完一个
P field
置
1
的
RLC data PDU
到低层后,
AM
实体发送端将
POLL_SN
设为此时
VT(S)-1
的值,并判断定时器
t-PollRetransmit
是否在运行,若未运行则开启此定时器,已运行则重启此定时器。在收到一个
STATUS PDU
后,若该
PDU
含有对
POLL_SN
的
ACK
或
NACK
,则停止并重置
t-PollRetransmit
。
3.3
状态报告的触发
触发状态报告的条件有:
①
从低层收到
1
个
P field
为
1
的
RLC data PDU,
该
PDU
的
SN
落在接收窗口外或该
PDU
的所有字节之前已经接收过。则丢弃该
PDU
并触发一个状态报告。
②
从低层收到
1
个
P field
为
1
,
SN=x
的
RLC data PDU,
若
x<VR(MS)
或
x>=VR(MR)
,则触发一个状态报告。如果
VR(MS)<= x<VR(MR)
,则继续接收其他
PDU
直至
x<VR(MS)
或
x>=VR(MR)
。
③t_reordering
超时,则更新
VR(MS)
,然后触发一个状态报告。当一个状态报告被触发,若
t-StatusProhibit
没有运行,则在
MAC
指示的第一个传输时机构造一个
STATUS PDU
并传给
MAC
。若
t-StatusProhibit
在运行,则在它超时后
MAC
指示的第一个传输时机构造一个
STATUS PDU
并传给
MAC,
即使在
t-StatusProhibit
运行期间状态报告被触发多次,也只传送一个
STATUS PDU
。
D/C
(
1 bit
):
0
表示为控制
PDU,1
表示为数据
PDU
。
STATUS PDU
属于控制
PDU
。
CPT
(
3 bits
):
CPT
字段用于指示
RLC control PDU
的类型,
000
表示为
STATUS PDU,
其余值为保留值。
ACK_SN(10 bits):STATUS PDU
是对
ACK_SN
之前的
PDU
进行确认。
E1(1 bit)
:
1
表示有一个
{ NACK_SN
、
E1
、
E2}
在其后,
0
表示没有。
NACK_SN(10 bits): ACK_SN
字段用于指示在
AM
RLC
实体的接收侧检测到丢失的
AMD PDU(
或其一部分
)
的
SN
。
E2(1 bit): 1
表示有一个
{ Sostart
、
SOend }
在其后,
0
表示没有。
SOstart(15 bits): SOstart
用于指示
SN = NACK_SN
的
AMD PDU
片段的第一个字节在源
AMD PDU
的
Data eld
中对应的置
.SOend(15 bits): SOend
用于指示
SN = NACK_SN
的
AMD PDU
片段的最后一个字节在源
AMD PDU
的
Data eld
中对应的位置。
STATUS PDU
的格式可以看出:
RLC
的控制模块可以很清晰地解出
NACK
所对应的
PDU
或
PDU
段,然后控
[1]
制重传缓冲使其正确重传错的
PDU
。
.4
发送窗口和接收窗口的管理
AM
模式中的发送窗口和接收窗口大小都为
512
,为
RLC PDU
序号总数(
0-1023
)的一半。从发送窗口可以清晰地看出哪些
PDU
还未收到
ACK
,发送窗口塞满后将不会发送新的数据,实现了流量控制,发送窗口区间为
[VT(A),VT(MS))
。接收窗口用来决定是否需要发送
STATUS PDU
以及哪些收到的数据
PDU
需要重组及上传,接收窗口区为
[VR(R),VR(MR) )
。
如图
4
所示,
AM
实体发送端已发送了序号为
0
,
1
,
2
的
PDU
,此时只有序号为
0
的
PDU
收到了来自对等端的
ACK
,所以
VT(A)=1,VT(S)=3,VT(MS)=VT(A)+512=513
。若序号为
1
或
2
的
PDU
收到了
NACK
,则会执行重传操作。若
VT(S)
一直增大且
VT(MS)
不变,则当
VT(S)=VT(MS)
时窗口出现堵塞,只有
VT(MS)
再出现变化时才会再发送新的
PDU
。
如图
5
所示,
AM
实体接收端收到序号为
0
,
1
,
3
的
PDU
,所以
VR(R)=VR(MS)=2
,
VR(MR)=VR (R)+512=514
。序号为
0
,
1
的
PDU
落在了窗口外,所以若能重组成
RLC SDU
则需上传。由于在收到序号为
2
的
PDU
之前收到了序号为
3
的
PDU
,所以出现了断点,触发了
t_reordering
的开启,
VR(X)=VR(H)=4
,若
t_reordering
超时则将此消息传递给
RLC
控制模块,由
RLC
控制模块生成
STATUS PDU
,然后加头并由发送端发送。
[
本帖最后由 tomtuo 于 2011-10-24 14:28 编辑
]
时间:
2011-10-22 22:11
作者:
水水的年华
亲爱的LZ思密达,能不能把文件共享一下,多谢思密达
时间:
2016-7-7 19:30
作者:
mingqin
占座
通信人家园 (https://www.txrjy.com/)
Powered by C114