通信人家园

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索

军衔等级:

  三级通信军士

注册:2003-7-3
跳转到指定楼层
1#
发表于 2012-9-17 14:48:40 |只看该作者 |倒序浏览
1.       LTE协议RLC简介
在LTE中,为了给数据传输提供足够的可靠性,层2使用了双重传机制。ARQ位于RLC层,HARQ位于MAC层中。ARQ与HARQ的交互更有利地保证了数据的无差错传输,在HARQ的某个数据包重传失败后,ARQ将发起RLC PDU的重传,RLC层传输失败后,则会有更上层(如TCP/IP协议层)保障数据的可靠性。
层2的RLC子层为用户和控制数据提供分段和重传服务,RLC实体有3种工作模式:透明模式(TM),非确认模式(UM)),确认模式(AM)。如下图所示:
图1-1 RLC协议层简图(参照协议36系列36.322)
RLC子层主要功能列表:
表1-1 RLC子层主要功能表
功能项/模式
TM模式
UM模式
AM模式
SDU打包分段
×
PDU再分段
×
×
SDU重组
×
PDU重排序
×
PDU重复检测
×
SDU丢弃
×
SDU确认报告
×
×
ARQ功能
×
×
协议检测和恢复
RLC重建立
ARQ功能只在AM模式使用,ARQ方式有3种基本类型:SAW(Stop and Wait)重传、退N步(GBN:Go back N)重传和选择重传(SR:Selective Retransmission)。
l         SAW重传是指发端发送每个分组数据后都要等待收端的回执,收到NACK就重传,收到ACK后则准备发送下一个分组数据。
l         GBN重传可持续发送多个分组数据,发端发送第一个分组数据后不必等待回执,经过网络延迟后回执到达发端,若收端反馈的是NACK,则发端重传该分组数据及其后在延迟期间发送的分组数据。
l         SR重传中发端按固定顺序发送分组数据,只重传收到NACK所对应的分组数据。
在3种重传方式中,SR重传的效率是最高的,但由于需要保证分组数据的传送顺序,收发两端必须占用较大的缓冲区。
  目前的LTE标准采用的是SR重传方式,保证数据传输效率更高。
  
如上表1所示,AM模式功能最完备,如下章节以AM模式为例说明RLC参数配置对LTE性能影响。
AM模式需要考虑的关键参数如下:
表1-2 RLC子层AM模式关键参数
LTE协议RLC层AM模式参数
发送端参数:
AM_Window_Size
窗长:和SN序列号(10bits)有关,目前协议固定为512。
maxRetxThreshold
最大重传次数,RRC配置
pollPDU
计数器:RRC配置
pollByte
计数器:RRC配置
t-PollRetransmit
定时器:RRC配置,Poll定时器
接收端参数:
AM_Window_Size
窗长:和SN序列号(10bits)有关,目前协议固定为512。
t-Reordering
定时器:RRC配置,重排序定时器
t-StatusProhibit
定时器:RRC配置,状态PDU禁止发送定时器
   
参照协议36系列36.331中RLC-Config说明,RLC层AM模式各参数对应字段取值范围如下:
RLC-Config information element
-- ASN1START
RLC-Config ::=            CHOICE {
    am                               SEQUENCE {
       ul-AM-RLC                        UL-AM-RLC,
       dl-AM-RLC                        DL-AM-RLC
    },
    um-Bi-Directional                SEQUENCE {
       ul-UM-RLC                        UL-UM-RLC,
       dl-UM-RLC                        DL-UM-RLC
    },
    um-Uni-Directional-UL            SEQUENCE {
       ul-UM-RLC                        UL-UM-RLC
    },
    um-Uni-Directional-DL            SEQUENCE {
       dl-UM-RLC                        DL-UM-RLC
    },
    ...
}
UL-AM-RLC ::=                    SEQUENCE {
    t-PollRetransmit                 T-PollRetransmit,
    pollPDU                          PollPDU,
    pollByte                         PollByte,
    maxRetxThreshold                 ENUMERATED {
                                        t1, t2, t3, t4, t6, t8, t16, t32}
}
DL-AM-RLC ::=                    SEQUENCE {
    t-Reordering                     T-Reordering,
    t-StatusProhibit                 T-StatusProhibit
}
UL-UM-RLC ::=                    SEQUENCE {
    sn-FieldLength                   SN-FieldLength
}
DL-UM-RLC ::=                    SEQUENCE {
    sn-FieldLength                   SN-FieldLength,
    t-Reordering                     T-Reordering
}
SN-FieldLength ::=               ENUMERATED {size5, size10}
T-PollRetransmit ::=             ENUMERATED {
                                     ms5, ms10, ms15, ms20, ms25, ms30, ms35,
                                     ms40, ms45, ms50, ms55, ms60, ms65, ms70,
                                     ms75, ms80, ms85, ms90, ms95, ms100, ms105,
                                     ms110, ms115, ms120, ms125, ms130, ms135,
                                    ms140, ms145, ms150, ms155, ms160, ms165,
                                     ms170, ms175, ms180, ms185, ms190, ms195,
                                     ms200, ms205, ms210, ms215, ms220, ms225,
                                     ms230, ms235, ms240, ms245, ms250, ms300,
                                     ms350, ms400, ms450, ms500, spare9, spare8,
                                     spare7, spare6, spare5, spare4, spare3,
                                     spare2, spare1}
PollPDU ::=                          ENUMERATED {
                                     p4, p8, p16, p32, p64, p128, p256, pInfinity}
PollByte ::=                     ENUMERATED {
                                     kB25, kB50, kB75, kB100, kB125, kB250, kB375,
                                     kB500, kB750, kB1000, kB1250, kB1500, kB2000,
                                     kB3000, kBinfinity, spare1}
T-Reordering ::=                 ENUMERATED {
                                     ms0, ms5, ms10, ms15, ms20, ms25, ms30, ms35,
                                     ms40, ms45, ms50, ms55, ms60, ms65, ms70,
                                     ms75, ms80, ms85, ms90, ms95, ms100, ms110,
                                     ms120, ms130, ms140, ms150, ms160, ms170,
                                     ms180, ms190, ms200, spare1}
T-StatusProhibit ::=             ENUMERATED {
                                     ms0, ms5, ms10, ms15, ms20, ms25, ms30, ms35,
                                     ms40, ms45, ms50, ms55, ms60, ms65, ms70,
                                     ms75, ms80, ms85, ms90, ms95, ms100, ms105,
                                     ms110, ms115, ms120, ms125, ms130, ms135,
                                     ms140, ms145, ms150, ms155, ms160, ms165,
                                     ms170, ms175, ms180, ms185, ms190, ms195,
                                     ms200, ms205, ms210, ms215, ms220, ms225,
                                     ms230, ms235, ms240, ms245, ms250, ms300,
                                     ms350, ms400, ms450, ms500, spare8, spare7,
                                     spare6, spare5, spare4, spare3, spare2,
                                     spare1}
-- ASN1STOP
另外,AM模式其它的中间状态变量,不在这里重复考虑和描述,请参考协议,主要状态变量如下:
l         AM实体发送端
1)        VT(A):确认状态变量
Ø         下一个需要被正确确认的AMD PDUSN,作为发送窗口的最低边界。初始值为0,当收到一个SN = VT(A)AMD PDU的正确确认后更新该参数;
2)        VT(MS):最大发送状态参数
Ø         该参数值等于VT(A) + AM_Window_Size,为发送窗口的最高边界;
3)        VT(S):发送状态参数
Ø         分配给下一个将要生成的AMD PDUSN,初始值为0,只要发送了一个SN= VT(S)AMD PDU后,该值便会更新;
4)        POLL_SN:轮询发送状态变量
Ø         该变量值等于最近一次发送的P位置1RLC数据PDUSN,初始值为0
l         AM实体接收端
1)        VR(R):接收状态变量
Ø         变量值为最后一个顺序接收到的AMD PDU的下一个PDUSN,作为接收窗口的最低边界。初始值为0,当收到SN= VR(R)AMD PDU时,该值更新;
2)        VR(MR):最大可接收状态变量
Ø         等于VR(R) + AM_Window_Size,接收窗外第一个PDUSN,作为接收窗的最高边界;
3)        VR(X)t-Reordering状态变量
Ø         等于触发t-ReorderingRLC数据PDU的下一个PDUSN
4)        VR(MS):最大STATUS发送状态变量
Ø         当需要构造一个STATUS PDU的时候,该值等于可以被“ACK_SN”指示的SN的最大值;
5)        VR(H):最高接收状态变量
Ø         已经接收到的RLC数据PDUs中的SN最高值,初始值为0
6)        POLL_SN:轮询发送状态参数
Ø         等于最近一次发送的P位指示为1RLC数据PDU时的VT(S)-1,初始值为0
   
    后续各章节将从包时延,吞吐量性能指标角度分别对发送端参数和接收端参数做重点分析,其中AM_Window_Size参数发送端和接收端共有参数,在发送端一并说明。

举报本楼

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

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

GMT+8, 2024-11-18 12:28 , Processed in 0.673807 second(s), 15 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部