张德民, 张形形, 伍会娟
(1.重庆邮电大学 重庆市移动通信技术重点实验室, 重庆 400065;2.昆明民族干部学院 教研部, 四川 成都 650202)
无线链路控制层数据处理功能一致性测试
张德民1, 张形形1, 伍会娟2
(1.重庆邮电大学 重庆市移动通信技术重点实验室, 重庆 400065;2.昆明民族干部学院 教研部, 四川 成都 650202)
为了验证无线链路控制层(Radio Link Control, RLC)的数据处理功能,用TTworkbench软件作为主控制模块,RLC层作为被测模块,中间通过中转模块进行数据转发来搭建新平台,并构造测试例,验证RLC层非确认模式服务数据单元的分段级联和重组功能。测试显示,构造好的服务数据单元被成功分段级联为协议数据单元。
无线链路控制层;测试例;分段级联
随着4G技术的广泛应用和普及,分时长期演进(Time Division Long Term Evolution, TD-LTE)以其技术上的优越性[1]正在推动着通信行业的快速发展。而针对TD-LTE的各种新技术应用,测试环节是必不可少的。在长期演进(Long Term Evolution, LTE)系统中,无线链路控制(Radio Link Control, RLC)层是完成数据处理的重要一层,验证RLC单层功能的正确性尤为重要。
在单层测试方面,目前的很多方法都是基于两种软件的互通,缺乏行之有效的平台[2]。另外,参数配置不灵活、调试效率较低和系统运行不稳定等因素也给单层测试带来困难。
本文拟设计基于测试和测试控制表示法(Testing and Test Control Notation version 3, TTCN-3)的平台,根据第三代合作伙伴计划(3rd Generation Partnership Project, 3GPP)协议和数据处理原理[3]构造服务数据单元(Service Data Unit, SDU),并编写测试用例,按照测试流程进行RLC层单层测试。
1.1 分段级联原理
非确认(Unacknowledged Mode, UM)模式下协议数据单元(Protocol Data Unit, PDU)的格式[3]如图1所示,其序列号为5 bit。
图1 非确认模式下的协议数据单元
这种格式包含1个数据域和1个UM模式下的PDU头。PDU头包含1个固定部分(在每个UM模式 PDU中存在的域)和1个扩展部分(多个数据域时才存在的域)。固定部分自身按字节对齐,且由1个成帧信息域(Framing Info, FI)、1个扩展域(Extension, E)和1个序列号域(Sequence Number, SN)构成,扩展部分自身按字节对齐,包含多个E域和长度指示域(Length Indicator, LI)。各个数据域的含义如下。
(1) 成帧信息域
FI(2 bit)指示1个RLC层SDU是否是在数据域的开始部分,以及是否在数据域的末尾部分被分段。特别的,该FI域指明数据域的第1个字节是否对应SDU的第1个字节,以及数据域的最后1个字节是否对应SDU的最后1个字节。分别用二进制0表示对应,1表示不对应。
(2) 扩展域
E(1 bit)指示其后跟随的是数据域还是扩展域和LI域的集合。用0表示数据域,1表示E域和LI域的集合。
(3) 序列号域
SN(5 bit)指示由SDU分段级联生成的各个PDU的序列号。每生成一个PDU,序列号就在前一个PDU序列号的基础上加1。
(4)长度指示域
LI(1 1bit)用来指示由UM实体发送或接收的PDU 中的数据域元素对应的字节长度。
测试时,UM模式RLC实体将SDU分段级联成PDU的步骤如图2所示,具体过程可描述如下。
步骤1 根据缓存中接收到的SDU,初始化本地变量:当前SDU的长度(v_sdulen)、下层指示的资源大小(v_resource)、组装一个数据域之后剩余SDU长度(v_restlen)、PDU固定头的大小(v_fixHeadOct)。
图2 分段级联流程
步骤2 判断当前要分段的是完整的SDU还是SDU段,若是完整的SDU,则可以确定当前组装的PDU固定头中的FI域第一位为0,否则为1。
步骤3 判断是否满足
v_resource < v_sdulen + v_fixHeadOct,
即资源大小是否小于PDU固定头大小和当前要处理的SDU长度之和。如果为真,就把当前SDU分段,把长度为(v_resource - v_fixHeadOct)的SDU分段映射到当前PDU的数据域,同时可知其FI域的第二位为1;反之,如果为假,继续判断
v_resource = v_sdulen + v_fixHeadOct
是否成立;如果成立,则直接将该SDU或者SDU段映射到PDU的数据域,根据映射的是SDU还是SDU段将PDU固定头中的FI域第二位置为0或者1;若不成立,说明
v_resource > v_sdulen + v_fixHeadOct,可将整个SDU或者SDU段映射到PDU的数据域。
步骤4 一个数据域映射完之后,更新步骤1中的本地变量和PDU上下文[3],继续读取SDU(或者剩余SDU段),重复执行步骤2和步骤3。
1.2 重组原理
PDU重组是SDU分段级联的逆过程,但是该过程不需要由MAC层来指示资源块大小[4]。根据PDU的各个位域值,包括SN(PDU编号)、FI(成帧信息)等来判断该PDU原来是属于哪个SDU的,并且是处在SDU的哪个位置(开头、中间、末尾),之后串接到相应的SDU中,完成重组。
2.1 传统测试平台
在传统测试平台中,如图3所示,TTCN只负责流程控制,而不负责参数的配置。在TTCN中,构造测试例的控制部分[5]RealView软件中构造协议栈模块;这样的话单层测试就相当于TTCN和RealView两个软件之间的互通。当RealView中分段级联完成之后,会将结果上报TTCN,TTCN对结果做出判断。这种测试不便于调试并且运行结果不够直观,在调试中存在很大困难。
图3 传统测试平台
2.2 新测试平台的搭建
TTCN-3作为整个测试系统的控制部分,主要实现测试例的流程控制以及协议栈无线资源控制层(Radio Resource Control, RRC)和非接入层(Non Access Stratus, NAS)的功能。其中测试系统由测试模块、中转模块、以及被测模块三部分组成,如图4所示。
图4 基于TTCN-3的新测试平台
TTCN-3与主控制器(Main Controller, MC)之间通过用户数据报协议(User Datagram Protocol, UDP)进行通信,包括三个编号各异的端口,其中端口1用于TTCN-3向MC以及下层发送数据;端口2用于将RLC层重组之后的数据传送给TTCN-3进行验证;端口3用于将RLC层分段级联之后的数据传送给TTCN-3进行验证。
中转模块中,NAS/RRC部分在本测试平台中在TTCN-3中开发,这样做的优点是方便NAS和RRC层的参数配置,从而提高调试效率,使得测试更加灵活方便。MC主要用于TTCN-3与协议栈处理单元之间的数据转发工作。
测试系统的相关组件说明如下。
(1) TTCN-3执行部分(TTCN-3 Executable, TE):编写测试数据以及测试用例。测试用例加载过后,在此界面对其进行调试、执行。
(2) 测试管理(Test Management, TM):管理执行部分的测试环境以及测试日志记录的生成。
(3) 成分处理(Component Handling, CH):协调表示不同系统定义的平行测试成分类型和主成分类型。
(4) 测试日志记录(Test Logging, TL):测试过程中本地日志的记录实体,负责记录测试过程中TTCN-3的实时日志,保存在本地文件中。
(5) 系统适配器(System Adapter, SA):实现TTCN-3执行部分与被测系统之间的通信,在系统适配器上可以调用TTCN-3运行接口(TTCN-3 Runtime Interface, TRI)提供的API函数[6]。
(6) 平台适配器(Platform Adapter, PA):向执行部分提供计时器的管理、外部函数的实现。
(7) 抽象语法标记法编解码(Abstract Syntax Notation One Code and Decode, ASN.1 CD):负责测试数据的编码和解码工作,在测试工具开发过程中需要针对协议规范制定特定的测试数据(TTCN-3数据类型),这些数据均需编制相应的编解码部分方可实际完成测试。
(8) TTCN-3运行接口(TTCN-3 Runtime Interface, TRI)。
(9) TTCN-3控制接口(TTCN-3 Control Interface, TCI)。
2.3 测试平台原理
首先保证测试处于3A状态。在整个测试过程中根据设置的标志位test_flag来判断是发往终端还是被测RLC模块。其次在TTCN-3内构造UM模式下SDU,构造的SDU经适配层再经UDP端口发送到主控,再由主控转发给协议栈中的RLC被测模块。当数据经分段级联模块处理之后,将处理的结果通过端口3发送到TTCN-3做出判断,判定期望结果与实际结果是否一致;与此同时将分段级联的数据传送到重组模块进行处理,并将处理结果经端口2发送到TTCN-3进行验证,并作出判决。
2.4 测试平台的优点
新的测试平台相对于传统的测试平台,具有以下4个方面的优点。
(1) 新平台增加了MC模块,完成大小端口的转换,减少了协议栈部分数据处理的工作量,提高了运行效率,同时新增加的用户界面便于用户调试,操作灵活。
(2) 在测试中,大部分参数是由NAS/RRC配置的,新测试平台将NAS/RRC在TTCN-3中构造,便于参数的配置,从而提高调试效率。
(3) 在以前传统的测试平台中,RLC层分段级联和重组的功能是单独编写测试例来进行验证的;而新平台将通过一个测试例同时验证分段级联和重组两个功能,简化了测试流程。
(4) TTCN-3增加了图形用户界面,便于调试,并且TTCN-3内部增加了UDP通信的插件,减少了开发人员的工作量。
3.1 测试环境设计
在测试过程中,需要配置测试环境,如图5所示。
图5 测试环境配置
测试环境中主要配置4个参数:信道带宽为10 MHz;温度为常规温度(具体测试温度分两种:常规测试温度与极限测试温度,常规测试温度为15~35℃,极限测试温度为-10~55℃);电压配置为常规电压测试环境;不存在振动的情况。
3.2 测试流程设计
在每个测试用例执行之前,网络和终端需要进行一系列的信令交互过程,使终端首先进入特定的测试状态。在本次测试中,测试状态为3A状态(即连接状态,并且建立相应的数据传输链路)。首先保证测试处于2A状态,具体从状态1(关机状态)进入状态2(空闲模式)的流程如图6所示。
图6 状态1转换到状态2
(1) 首先终端开机接收网络端广播的系统消息,并向网络发起随机接入请求,终端随机接入成功;其次,经过终端与网络端的双向鉴权、非接入层安全模式激活[7]、接入层安全模式激活;最后通过重配对无线承载进行相应的配置并且释放无线连接进入空闲状态,之后将测试模式激活进入2A状态。
(2) 通过寻呼,使测试进入3A状态(无线链路建立并且可以进行数据传输)。
(3) 进入3A状态后,在TTCN-3中按照前述原理构造SDU,经协议栈转发到被测模块,被测模块处理之后分别通过端口3和端口2把分段级联的结果和重组后的结果回送到TTCN-3。
(4) 根据TTCN-3收到的结果得到log图,对log图按照分段级联和重组的原理进行各个域的分析,对比是否和预期结果相匹配,从而判断整个测试的正确性。
4.1 测试验证
按照测试流程,首先使测试进入3A状态,终端从关机状态进入3A状态,过程如图7所示。
图7 测试3A状态
通过发送小区激活请求来激活小区,使终端在小区上进行注册并且进入2A状态,具体进入2A状态的信令交互流程如图8所示。可以看出测试进入2A状态,当进入2A状态之后通过寻呼进入3A状态,等待测试。
进入3A态之后,在TTCN-3中构造4个SDU,共6个字节,它们依次是:0x01、0xABCD、0xEF00、0x00。从图9中第一条数据流可以看出:加上消息头之后,TTCN-3将构造好的4个SDU(0x01ABCDEF0000)成功发往下层。
期望把数据域分段级联为4个大小分别为:1字节(0x01)、1字节(0xAB)、2字节(0xCDEF)、2字节(0x0000)的PDU。
图8 2A状态注册过程
图9 UM模式分段级联和重组过程
4.2 结果分析
根据PDU的格式以及分段级联原理,4个PDU的FI域(2bit)分别为:00、01、11、10;E域分别为:0、0、1和0、1和0(第3个和第4个PDU都有两个属于不同SDU的数据域,所以有两个E域);SN域(选择协议中的5bit)依次为00001、00010、00011、00100;LI域(11bit,多于一个数据域时才存在),第3个和第4个LI域均为:00000000001(一个字节);按照协议,奇数个LI域时,最后一个LI域之后要填充4个bit位(这里填0000)。
按照上述过程组装,得到4个PDU依次为:0x0101、0x42AB、0xE30010CDEF、0xA400100000。从图9中部的两条数据流可以看到TTCN-3收到的分段级联的结果和预期的结果匹配成功,显示“Segment and Concatenate Successfully”。
接着返回重组的结果,同样根据重组原理,按照SN号取出PDU,并且根据FI等各个域的值来重新组装为SDU。从图9中最后两条数据流可以看出重组后的结果和原始发送的SDU匹配成功,显示“Reassemble Successfully”。
测试结果体现了新平台的优势:(1) 在进3A状态之前,小区激活以及寻呼过程的控制信息和参数全部由TTCN-3配置,在参数配置方面比较灵活,这显示了新平台相对于传统平台的优势所在。(2) 传统单层测试流程如图10所示,可以看出传统流程图界面不够清晰,不便于调试分析;而本平台在测试图形用户界面方面优势突出,流程图更加清晰,且便于观察调试。(3) 主控界面如图11所示,在主控模块开发了图形用户界面,这样有助于调试又有助于减轻协议栈的任务,从而提高运行效率。(4) 在开发过程中,TTCN-3与MC通信使用的是TTCN-3自带的UDP通信插件,这样减少了开发工作量,且插件使用比较方便。
图10 传统单层测试流程
图11 主控开发界面
综上所述,新搭建的基于TTCN-3的平台,不仅成功完成了RLC层数据处理功能的验证,且新平台较传统平台性能有较大提高。
根据RLC单层测试需求搭建了新的测试平台,并编写了相关的测试用例进行验证RLC层的功能。通过测试结果分析了RLC层功能的正确性以及测试平台的合理性和可行性。开发过程只是把非接入层和RRC层的部分功能在TTCN部分代替,并没有将所有功能完全剥离,另外,由于ARM处理器在处理大数据方面的效率相对DSP较低,所以在时延方面也有待改进。
[1] Shen Z, Papasakellariou A, Montojo J, et al. Overview of 3GPP LTE-advanced carrier aggregation for 4G wireless communications[J]. Communications Magazine, 2012, 50(2): 122-130.
[2] 胡响, 李勇. 一种基于TTCN3的TD-LTE终端一致性测试系统架构[J]. 西安电子科技大学学报, 2012, 32(16): 65-67.
[3] 3GPP TS 36.322 v10.0.0, Evolved Universal Terrestrial Radio Access (E-UTRA); Radio Link Control (RLC) protocol specification (Release 10)[S] .2012-12.
[4] Zahariev N, Zaki Y, Li X, et al. Optimized service aware LTE MAC scheduler with comparison against other well known schedulers[C]//Wireless Internet Communication. Berlin: Springer Heidelberg, 2012: 323-331.
[5] 高静, 卢光跃, 施苑英. TD-LTE/GSM系统无线管理一致性测试[J]. 西安邮电大学学报, 2013, 18(6): 26-28.
[6] Kulkarni P, Chin W H, Farnham T. Radio resource management considerations for LTE femto cells[J]. ACM SIGCOMM Computer Communication Review, 2010, 40(1): 26-30.
[7] Salem M, Adinoyi A, Rahman M, et al. An overview of radio resource management in relay-enhanced OFDMA-based networks[J]. Communications Surveys and Tutorials: IEEE, 2010, 12(3): 422-438.
[责任编辑:瑞金]
Testing of data processing function of radio link control
ZHANG Demin1, ZHANG Xingxing1, WU Huijuan2
(1.Key Laboratory of Mobile Communications Technology of Chongqing, Chongqing University of Posts and Telecommunications, Chongqing 400065, China;(2.Department of Teaching and Research, Kunming Institute of Ethnic Administrators, Chengdu 650202, China)
In order to verify the data processing functions of the Radio Link Control(RLC), by using TTworkbench software as the main control module, the RLC layer as the tested module, the main controller as the data forwarding module, a new platform is proposed and testing cases are constructed to verify the segment and concatenate functions of the RLC Unacknowledged Mode. Testing results show that the Service Data Units are segmented and concatenated successfully into Protocol Data Units.
radio link control, testing case, segment and concatenate
10.13682/j.issn.2095-6533.2015.04.002
2015-01-24
国家科技重大专项资助项目(2011ZX03001-003-01,2012ZX03001024)
张德民(1955-),男,博士,教授,从事信号处理与通信系统研究。 E-mail: zhangapcqupt@sina.com 张形形(1990-),女,硕士研究生,研究方向为电子与通信工程。 E-mail: 1152033156@qq.com
TN929.5
A
2095-6533(2015)04-0010-06