您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 3GPP 36322 LTE 协议RLC解读
3GPP36322LTERLC协议解读注:1.0.1,0.2等章节是自己根据的理解新增的章节2.本文中的章节与36322协议中的章节并非依次对应。例如介绍某个实体的时候,把其传输实体及传输过程放在了一起,如4.2.1.1与5.1.1(4.2.1.1、5.1.1是英文协议中对应的章节)3.文中1:表示一级,多次出现的为同级,“2”表示“1”对应的下一个子级,“3”表示“2”对应的下一个子级,依次类推4.2RLC结构4.2.1.RLC实体在这个小节里描述的只是一个模型,而并没有指定或者限制具体的实现。通常由RRC来控制RLC的配置。RLC子层的职能由RLC实体来实施。如果在eNB配置了一个RLC实体,那么就会有一个对等的RLC实体配置在UE侧,反之亦然。一个RLC实体接收/传送的RLCSDUs从/到上层(即对于CCCH则为RRC,否则为PDCP)和通过下层(即MAC和物理层)发送/接收RLCPDU到/从它的对等的RLC实体。一个RLCPDU可以是一个RLC数据PDU(见36.3226.1.1节)或RLC控制PDU(见36.3226.2.1)。如果一个RLC实体接收来自上层的RLCSDUs,它是通过RLC和上层之间的唯一的SAP来接收。当使用接收到的RLCSDU生成相应的RLCPDU,RLC实体就把这些RLCPDU通过一个唯一逻辑信道发送到下一层。而RLC实体通过一个单一的逻辑信道接收来自下层的RLCPDU,当从收到的RLCPDU生产了的RLC数据SDUs后,则通过高层与RLC之间的单一SAP递交到上层。一个RLC实体传送/接收到/从下层的RLC控制PDU所使用的逻辑信道与RLCPDU的数据的传输信道相同。一个RLC实体可以被配置为下面三个模式之一来执行数据传输:透明模式(TM),非确认模式(UM)或确认模式(AM)。因此,一个RLC实体归类为TM、UM或AM依赖与RLC配置的数据传输的模式。一个TMRLC实体配置既可以是一个传输TMRLC实体,或者是一个接收TMRLC实体。传输TMRLC实体接收来自上层的RLCSDUs并把相应的RLCPDU通过底层发送到对等接收端。而接收TMRLC实体提交RLCSDUs到上层,并通过下层从对等发送端接收RLCPDU。UMRLC实体可以配置为一个发送UMRLC实体或接收UMRLC实体。发送UMRLC实体接收由上层来的RLCSDU,并通过下层发送RLCPDU到对等端的接收UMRLC实体。接收UMRLC实体通过下层接收对等端的RLCPDU。一个AMRLC实体由一个发射端和接收端组成。一个AMRLC实体发送端收到来自上层的RLCSDUs和并通过下层发送RLCPDU到其对等的AMRLC实体。一个AMRLC实体接向上层提交RLCSDUs,并通过下层接收其对等端AMRLC实体的RLCPDU。图2-1RLC子层模型分段与串接Segmentation就是分段,LTE中它只在UM/AM的发送端执行。当由MAC层指示的RLCPDU大小小于RLCSDU时,RLC实体就会对RLCSDU执行分段操作,让生成的RLCPDU能适配进去。Concatenation就是串接,LTE中它只在UM/AM的发送端执行。当由MAC层指示的总的RLCPDU大小大于RLCSDU时,RLC层就会根据此情况对RLCSDU执行串接操作,让一个RLCSDU和其他RLCSDU或者其他RLCSDU的分段串联起来,让生成的RLCPDU能适配进去。图2.1-1RLCSDU分段与串接示意图2.2重分段Re-segmentation就是重分段,LTE中它只在AM实体的发送端执行。RLCAM实体支持ARQ重传,当重传的RLCPDU无法适配到由MAC层指示的总的RLCPDU大小时,RLC层就会根据此情况对重传的RLCPDU执行分段操作,让生成的RLCPDU分段能适配进去4.2.1.1.TM实体可以配置用于从下面的逻辑信道提交或接收RLCPDU:1BCCH,DL/ULCCCH以及PCCH.4.2.1.1.2TM发送实体1不对RLCSDU进行串接,分段1没有RLC头1对RLCSDU不做任何改动,发送到下层协议实体(MAC层)4.2.1.1.3TM接收实体不做任何修改地提交RLCSDU到上层协议实体(PDCP层),向上层递交TMDPDUs(也就是RLCSDU)图2.3.4-1透明传输模式的两个对等实体模型5.1.1TM数据传输5.1.1.1传输操作当提交一个TMDPDU到低层,TMRLC传输实体应:1对RLCSDU不作任何修改提交到低层。5.1.1.2接收操作当收到一个新的TMDPDU,TMRLC接收实体应:1提供上层没有任何修改的TMDPDU。4.2.1.2UM实体UM实体配置用于从以下逻辑信道传送/接收RLCPDU:1DL/ULDTCH,MCCHorMTCH4.2.1.2.2UM传输实体1在获得特定的发送机会时,需要根据MAC层的指示期待的RLCPDU大小进行分段或者串接RLCSDU;1添加相应的RLC头。4.2.1.2.3UM接收实体当收到UMDPDUs,UMRLC接收实体应:1检测收到的UMDPDU是否是重复的UMDPDU,如果是,则丢弃它,1重新排列失序的UMDPDU1检测在低层(MAC层)丢失的UMDPDU,从而避免过长的重排序时延w:如何检测1将已经排序的UMDPDU重组成RLCSDU,并递交给上层w:重组规则?1如果发现属于某一特定RLCSDU的UMDPDU丢失,则把其它同样属于这个RLCSDU的PDU丢弃:注:属于某一特定RLCSDU的UMDPDU丢失,如何确定属于?在RLC重建的时候,接收UMRLC实体,需要:1尝试重组失序的包,并提交给上层1丢弃那些无法组成RLCSDU的UMPDUw:无法组成的原因1初始化相关状态变量并停掉相关timer5.1.2UM数据传输图2.4.4-1非确认模式的两个对等实体模型UM实体会按顺序把RLCSDU递交到上层协议实体,这个顺序号由上层分配,1这种模式的RLC实体不支持重传,但是能够检查到相应的PDU丢失1这种服务非常适合于VOIP这样的业务,因为这种业务相对于无错传输来说更强调实时性2.4.4.2SDU丢弃当发送UMRLC实体从高层接收到对于特定的RLCSDU的丢弃指示时,则对那些被指示丢弃,并且没有任何分段被映射为RLCUMDPDU的RLCSDU进行直接删除。2.4.4.3RLC重建过程。当收到RRC层要求RLC实体重建的指示后,对于UMRLC发送实体,删除所有存储的RLCSDU,停止并复位所有的计时器,复位所有的状态变量为初始值。当收到RRC层要求RLC实体重建的指示后,对于UMRLC接收实体,将所有接收缓存中的UMDPDU,去掉RLC头,进行RLCSDU重组,将所有没有递交过的RLCSDU按照序列号升序的顺序发往高层;删除所有保留的UMDPDU;停止并复位所有的计时器并且复位所有的状态变量至初始值。5.1.2.1UM发送过程发送过程:1每发送一个UMDPDU到下一层协议实体,则设置发送状态变量VT(US)=SN(这个PDU的SN);之后VT(US)++5.1.2.2UM接收过程5.1.2.2.1GeneralUMRLC接收实体需要根据状态变量VR(UH)来维护重排序窗口,如下所述:1当接收到的PDUSN处于VR(UH)–UM_window_size=SNVR(UH),则这个PDU落入排序窗口内,1否则,则落在重排序窗口之外当UMRLC接收实体收到对端的一个UMDPDU时,则:1可能丢弃或者放入接收缓存里【参见36.3225.1.2.2.2】,1如果收到的UMDPDU被放入接收缓存,那么,2需要更新状态变量,重组并且提交RLCSDU到上层协议实体(PDCP),并且根据需要重启或者停止t_reordering计时器(seesubclause5.1.2.2.2);当t_reordering超时时,UMRLC接收实体应:1更新状态变量,重组并且提交RLCSDU到上层协议实体(PDCP),并且根据需要重启t_reordering计时器(seesubclause5.1.2.2.3)。并不是所有的UMDPDU放入缓存都会重组为SDU,这需要根据当前重组窗口已经接收到的同属于一个RLCSDU的PDU情况等当t_reordering超时:-接收实体须更新状态变量,重组RLCSDU并提交到上层协议实体(PDCP),并根据需要重启T_ordering计时器-同样,是否能够重组RLCSDU也要根据情况来定,如果同属于某一个RLCSDU的PDU有缺失,那么可能导致该SDU被丢弃5.1.2.2.2当从低层收到UMDPDU时当从底层接收到UMDPDU(SN=x),则UMRLC接收实体:1如果VR(UR)xVR(UH),但是在之前已经收到,或者;1(VR(UH)–UM_Window_Size)=xVR(UR),那么2丢弃这个包1否则【亦即是除上面两种情况之外】2把这个包放入接收缓冲。5.1.2.2.3当UMDPDU放入接收缓存根据具体情况是重新调整排序窗口,还是可以直接和其他的PDU组成一个RLCSDU并递交到上层实体如果UMDPDU(SN=x)被放入了接收缓存,则接收UMRLC实体应:1如果x没有落入重排序窗口内,则:2更新状态变量:VR(UH)=x+1,2重组任何没有落入重排序窗口的PDU,这个过程包括去除RLC包头,并按照升序方式把组包好的RLCSDU递交到上层实体,2如果VR(UR)没有落入排序窗口,那么:3更新VR(UR)=VR(UH)-UM_window_size1如果接收缓存里有一个PDU,它的SN=VR(UR),那么:2更新VR(UR)为第一个没有接收到且其SN当前的VR(UR)的PDU,2然后重组所有的PDU(它的SN更新后的VR(UR)),这个过程包括去除RLC包头,并按照升序方式把组包好的RLCSDU递交到上层实体。1如果t_reordering正在运行:2如果VR(UX)=VR(UR),或则,2如果VR(UX)没有落入排序窗口,并且VR(UX)不等于VR(UH),则3停止并重启t_reordering计时器3设置状态变量VR(UX)=NULL1如果t_reordering没有运行:2如果VR(UH)VR(UR):3启动该计时器3设置VR(UX)=VR(UH)5.1.2.2.4当t_Reordering计时器超时当t_Reordering计时器超时,则UMRLC接收实体:1更新VR(UR)为第一个没有收到的UMDPDU,它的SNVR(UX)1重组所有SN更新后的VR(UR)的UMDPDU1如果VR(UH)VR(UR):2启动该计时器2设置VR(UX)=VR(UH)1否则2设置VR(UX)=NULL7.1UM接收端状态变量每个接收UMRLC实体维护下列状态变量:VR(UR):UMreceivestatevariable这个状态变量记录着等待重排序的最早UMDPDU的序列号。在重排序窗口之内,序列号低于该变量的UMDPDU其接收状态认为已经确定,放弃对此范围内的接收空隙处PDU(认为是丢失的PDU)的等待,将其余正确接收到的PDU重组形成SDU,顺序递交到高层,后续即使正确接收到此范围内序列空隙处的PDU也采取删除数据包的操作。该状态变量的初始值为0;VR(UX):UMt-Reorderingstatevariable这个状态变量记录着触发重排序计时器的UMDPDU紧接着的下一个序列号SN。当重排序计时器启动时,该变量与VR(UR)分别记录当前重排序计时器对应的序列号范围内的上边界和下边界。当该范围内全部接收序列空隙处的PDU都正确接收后,终止当前重排序计时器。当重排序计时器不存在时,则该变量变得无意义。VR(UH):UMhighestreceivedstatevariable这个状态变量记录接收到的PDU中最高序列号紧接着的下一个序列号,作为重排序窗口的上边界。该状
本文标题:3GPP 36322 LTE 协议RLC解读
链接地址:https://www.777doc.com/doc-3499065 .html