设计与实现
3GPP LTE无线链路控制
协议研究与系统设计*
收稿日期:2009年8月13日
*本文受北京市教育委员会共建项目专项资助。
1 引言
随着市场宽带无线接入技术需求的日益增长,第三代合作伙伴计划(3GPP,3rd Generation Partnership Project)开始了3G长期演进计划(LTE)。
在LTE协议栈层次结构中,RLC层作为L2层之一,主要用于为上层提供不同数据链路类型的抽象。其中最主要的是提供可靠的数据传输链路,该链路类型用于屏蔽掉无线链路带来的影响并为上层提供可靠的数据传输。RLC层通过使用不同的数据包收发处理机制(如分段和ARQ等)实现这些逻辑链路抽象。本文将对3GPP LTE的RLC协议进行分析并研究实现RLC协议的软件系统方案,最后,通过对软件系统的功能进行测试以验证其完备性。 2 LTE RLC协议研究
RLC层作为LTE协议栈L2层的协议之一,由多个RLC层实体组成,分别是TM发送实体、TM接收实体、UM发送实
体、UM接收实体和AM实体等五个实体,如图1所示:
图1 RLC协议架构图
施渊籍 张玉成 石晶林 中国科学院计算技术研究所
设计与实现3GPP LTE无线链路控制协议研究与系统设计
R L C层通过这5个实体来进行无线链路的控制,并为上层提供三种不同特性的数据传输服务,分别是T M (Transparent Mode)数据传输、UM(Unacknowledged Mode)数据传输和AM(Acknowledged Mode)数据传输。
TM数据传输主要是以透传的方式,不保证数据包的顺序,以最短的时延传递到对端,主要适用于对时延敏感、不希望原始数据被分段,并且不需要下层保证数据包顺序到达的业务,如上层信令、广播消息、寻呼消息等。UM数据传输能够保证数据按序传递给上层,并且能够对上层数据根据带宽限制进行打包分段,以最短时延使数据包按序到达对端,主要适用于对时延敏感、但是允许一定丢包率的业务,如VoIP等业务。AM数据传输以ARQ的方式为上层提供可靠的数据传输,保证数据正确地按序到达对端,主要适用于对时延不敏感、对错误敏感的业务,如FTP业务、后台业务、交互业务等。下面分别介绍三种传输模式的特性。
2.1 TM传输模式
TM模式对于上层指示需要传输的数据,不执行任何操作,直接将上层PDU递交给底层,并且不执行对SDU进行打包、分段等功能。主要为上层提供BCCH、DL/UL CCCH和PCCH逻辑信道上的数据传输。
2.2 UM传输模式
在发送端,UM发送实体通过其与上层协议栈之间的服务接入点将上层数据放入发送缓存中,然后根据下层给予的发送机会和提供的带宽大小对发送缓存中的数据进行打包分段,最后加上RLC头,通过DTCH逻辑信道发送出去。在接收端,由于下层具有HARQ的重传功能,并且不提供重排序的功能,所以UM接收实体需要将由于下层重传导致的乱序到达的数据包进行重排序,并完成解分段、解打包从而将数据包还原成原始的服务数据单元按序地交给上层。
在UM传输模式下,UM接收实体主要是用三个参数(VR(UH)、VR(UR)、VR(UX))记录特定的PDU序列号以及一个定时器和接收窗口来对接收的数据进行控制,从而完成重排序、重组等功能。UM发送实体则主要进行打包、分段等操作,对应地,UM接收实体需要进行解打包、解分段的操作。
2.3 AM传输模式
AM实体包括发送部分和接收部分。在发送部分,AM 实体将从上层传来的服务数据单元(SDU)放入AM实体传输缓存,如果此时接收部分指示需要发送控制协议数据单元(PDU),AM实体发送部分则根据下层提供的发送机会和带宽大小,首先发送控制PDU,然后对重传缓存中的数据进行调度(必要时需要进行再分段),否则直接对重传缓存中的数据进行调度;最后再对传输缓存中的新数据进行调度。发送部分调度出数据后,根据AM实体当前状态,决定是否需要加上轮询位(polling),然后为调度出的数据加上RLC 头,发送给下层。
在接收部分,接收到RLC PDU后,若是控制PDU则根据其内容,对重传缓存中的数据做相应的处理;若是数据PDU 则将其放入接收窗口,进行重排序控制。然后在去除RLC子头后,进行SDU的重组,最后按序将SDU递交给上层。若接收部分发现RLC子头中包含有轮询位,则需要根据AM实体配置,触发发送部分发送控制PDU。
在AM的传输模式下,AM实体的发送部分用四个参数(VT(A)、VT(S)、VT(MS)、POLL_SN)来记录特定的发送PDU的序列号以及一个管理状态PDU的定时器和管理轮询的定时器的使用,从而完成对发送状态PDU和轮询以及发送窗口的控制。AM实体发送部分还需要进行打包、分段、再分段等操作,对应地,接收部分则需要进行解打包、解分段的操作。
在接收端,A M实体的接收部分还需要用5个参数(VR(R)、VR(MR)、VR(X)、VR(MS)、VR(H))来记录特定的PDU序列号以及一个定时器和接收窗口来对接收的数据进行控制,从而完成重排序、重组等功能以及与发送部分配合完成ARQ功能。
在AM模式中,由发送端和接收端共同完成ARQ过程。ARQ过程中的状态PDU发送过程主要由管理状态PDU的定时器以及接收窗中的定时器控制;ARQ过程中的轮询发送过程则是由管理轮询的定时器,以及从上次发送轮询以来记录的
设计与实现
发送过的PDU个数和字节数来控制。
3 RLC系统设计
3.1 RLC层系统架构设计
RLC软件系统的设计即围绕着上述定义的RLC软件系统的功能需求开展。核心的设计思路和方法包括:
第一,符合标准的描述:包括内容上的和行为上的定义,整个设计的目标和准则即RLC软件系统的实现符合LTE 标准定义。
第二,以特性实现为目标:RRC软件系统复杂度高、内容多,因此在设计和实现时以RRC软件系统的特性的满足为目标,在此过程中设计好相关部分的架构、行为以及数据的定义等。
第三,保持设计的简单、高效:在系统设计时进行逻辑功能、行为的描述和设定,在此过程中简化系统的行为模式;而在考虑逻辑模型向实现模型映射的时候,在保证逻辑概念完整性和一致性的基础上,用尽量简单的方式考虑实现时的具体行为和内容。
最后,保持系统功能组件的独立性:包括逻辑独立性和实现独立性。在进行系统架构设计时,以独立的逻辑功能实体为划分模块的原则。
RLC软件系统的系统架构和行为根据上述RLC的特点和设计准则进行分析和设计。根据RLC层系统功能需求分析,在系统设计时,按功能独立性来划分模块,将整个RLC子层划分为6个模块,分别为RLC管理模块、TM模块、UM模块、AM模块以及RLC发送和接收模块。其中,RLC管理模块主要完成控制面的功能,即负责整个系统的初始化、不同RLC实体的建立、删除、配置功能;TM模块完成对TM传输模式下的数据处理工作;UM模块完成对UM传输模式下的数据处理工作;AM模块完成对AM传输模式下的数据处理工作;RLC发送模块完成将RLC PDU 递交给M A C层的工作;R L C接收模块完成从底层接收RLC PDU并递交给相应模块的工作。RLC软件系统结构如图2所示:
图2 RLC软件系统结构图
3.2 RLC层三种不同数据传输模式的设计
RLC层主要完成三种不同模式的数据传输服务,因此,如何实现TM、UM以及AM模式下的数据传输服务,是RLC 设计中的重点。下面分别对这三种模式的设计进行分析。
(1)TM数据传输模式的设计
根据第2节中描述的TM模块需要完成的功能,可设计一个过程,根据下层提供的逻辑信道号,到上层取得相应的数据直接递交给下层。
(2)UM数据传输模式的设计
根据第2节中描述的UM模块需要完成的功能,可划分为4个子模块,分别为初始化子模块、数据发送管理子模块、接收窗口管理子模块以及PDU解析和处理子模块(图3):
图3 RLC UM模块结构图
初始化子模块:主要完成初始化由RRC配置的各个
UM实体的功能,以及必要时UM实体的重建立、重配置
3GPP LTE无线链路控制协议研究与系统设计