通信人家园

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索

军衔等级:

  新兵

注册:2009-12-5
跳转到指定楼层
1#
发表于 2011-10-22 16:00:29 |只看该作者 |倒序浏览
1 引言   LTE项目为3G的长期演进,需要实现更低的延迟,更高的数据传输率等,所以空中接口和网络架构有重大革新。RLC(无线链路控制协议)为用户和控制数据提供分段和重传服务,RLC实体有3种工作模式:透明模式(TM),非确认模式(UM)),确认模式(AM)ARQ只在AM模式使用,所以论文中讨论的都是确认模式的情况。
2     RLCAM实体模型及ARQ基本类型   RLCAM实体有一个发送端和一个接收端,发送端在收到来自


服务数据单元)后,PDCP RLC SDU RLC将其存储在发送缓冲内,在收到来自MAC层的发送时机(ul grant)后,根据其提供的大小对RLC SDU进行分段和/或级联,然后添加RLC头成为RLC PDURLC协议数据[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对应的PDUPDU 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 PDUAM RLC实体的发送端将:
(1) 计数器PDU_WITHOUT_POLL的值都会加1
(2) 把需要传送的AMD PDUData field元素的每个字节都映射到这个新的形成的RLC data PDUData ield,每映射一个字节,计数器BYTE_WITHOUT_POLL的值都会加1。在以下条件下AMD PDUP field1,即向对等端请求获取一个STATUS PDU
①PDU_WITHOUT_POLL>=pollPDU.
②BYTE_WITHOUT_POLL>=pollByte.
在发送完一个RLC data PDU后,发送缓存和重传缓存都为空。
在发送完一个RLC data PDU后,没有新的RLC data PDU可以传送(由于发送窗口停止移动)。在一个RLC data PDUP field1后,重置计数器PDU_WITHOUT_POLLBYTE_WITHOUT_POLL0。在发送完一个P field1RLC data PDU到低层后,AM实体发送端将POLL_SN设为此时VT(S)-1的值,并判断定时器t-PollRetransmit是否在运行,若未运行则开启此定时器,已运行则重启此定时器。在收到一个STATUS PDU后,若该PDU含有对POLL_SNACKNACK,则停止并重置t-PollRetransmit
3.3  状态报告的触发触发状态报告的条件有:
从低层收到1P field1RLC data PDU,PDUSN落在接收窗口外或该PDU的所有字节之前已经接收过。则丢弃该PDU并触发一个状态报告。
从低层收到1P field1SN=xRLC 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/C1 bit):0表示为控制PDU,1表示为数据PDUSTATUS PDU属于控制PDUCPT3 bits):CPT字段用于指示RLC control PDU的类型,000表示为STATUS PDU,其余值为保留值。ACK_SN(10 bits):STATUS PDU是对ACK_SN之前的PDU进行确认。E1(1 bit)1表示有一个{ NACK_SNE1E2}在其后,0表示没有。NACK_SN(10 bits): ACK_SN字段用于指示在AM
RLC实体的接收侧检测到丢失的AMD PDU(或其一部分)SNE2(1 bit): 1表示有一个{ SostartSOend }在其后,0表示没有。SOstart(15 bits): SOstart 用于指示SN = NACK_SNAMD PDU 片段的第一个字节在源AMD PDUData eld中对应的置.SOend(15 bits): SOend用于指示SN = NACK_SNAMD PDU 片段的最后一个字节在源AMD PDUData eld中对应的位置。STATUS PDU的格式可以看出:RLC的控制模块可以很清晰地解出NACK所对应的PDUPDU段,然后控[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
12PDU,此时只有序号为0PDU收到了来自对等端的ACK,所以VT(A)=1,VT(S)=3,VT(MS)=VT(A)+512=513。若序号为12PDU收到了NACK,则会执行重传操作。若VT(S)一直增大且VT(MS)不变,则当VT(S)=VT(MS)时窗口出现堵塞,只有VT(MS)再出现变化时才会再发送新的PDU




如图5所示,AM实体接收端收到序号为013PDU,所以VR(R)=VR(MS)=2VR(MR)=VR (R)+512=514。序号为01PDU落在了窗口外,所以若能重组成RLC SDU则需上传。由于在收到序号为2PDU之前收到了序号为3PDU,所以出现了断点,触发了t_reordering的开启,VR(X)=VR(H)=4,若t_reordering超时则将此消息传递给RLC控制模块,由RLC控制模块生成STATUS PDU,然后加头并由发送端发送。

[ 本帖最后由 tomtuo 于 2011-10-24 14:28 编辑 ]

举报本楼

本帖有 2 个回帖,您需要登录后才能浏览 登录 | 注册
您需要登录后才可以回帖 登录 | 注册 |

版规|手机版|C114 ( 沪ICP备12002291号-1 )|联系我们 |网站地图  

GMT+8, 2025-9-9 05:23 , Processed in 0.463619 second(s), 20 queries , Gzip On.

Copyright © 1999-2025 C114 All Rights Reserved

Discuz Licensed

回顶部