LTE-A空口监测仪表中PDCP协议的设计与实现

2015-05-05 12:54许文博张治中
电视技术 2015年17期
关键词:空口信令队列

许文博,张治中,贺 姿

(1.重庆邮电大学 通信网与测试技术重点实验室,重庆 400065;2. 民航东北地区空中交通管理局技术保障中心,辽宁 沈阳 100169)

LTE-A空口监测仪表中PDCP协议的设计与实现

许文博1,张治中1,贺 姿2

(1.重庆邮电大学 通信网与测试技术重点实验室,重庆 400065;2. 民航东北地区空中交通管理局技术保障中心,辽宁 沈阳 100169)

基于LTE-A空中接口协议栈,设计了一种新型的LTE-A空口监测仪表,重点剖析了LTE-A空口监测仪表硬件架构和逻辑架构的设计方案,并阐明了PDCP协议数据结构、PDCP发送实体数据处理流程、PDCP接收实体数据处理流程的设计思想。经过实际开发验证,该仪表达到了预期的功能要求,且PDCP协议的设计思想成功运用于该仪表中,证明了数据处理流程设计的合理性。

LTE-A;空口监测仪表;PDCP协议

随着LTE-A网络的商用,运营商对新型的无线网络优化和分析仪表需求十分迫切。由于LTE-A网络在架构上进行了演进,使得3G网络的NodeB和RNC网元整合成为eNodeB,因此3G网络中Iub接口监测的信令和数据则需要在LTE-A网络的空中接口进行实时采集与监测,这极大地增加了LTE-A空口监测类仪表的技术复杂度。

目前,在国内LTE-A信令监测类仪表领域,已先后有世纪鼎利、中创信测等公司成功开发出相应的测试仪表,并已经投入商用。该类仪表均针对LTE-A网络相关接口或是测试集的设计和开发,同时开展了测试仪表关键技术攻关方向的研究,为实现LTE-A空口监测仪表奠定了基础。

本文在现有LTE-A信令监测类仪表的基础上,设计了一种新型的LTE-A空口监测仪表。LTE-A空口监测仪表的研发主要完成对仪表总体架构的设计,并重点实现LTE-A空中接口协议栈的功能,保证空口协议栈的实时监测和跨层关联分析,并进行网络指标统计、网络优化分析、用户业务行为分析,从而提供更加全面的空口信令分析功能,简单、精确、快速地诊断出LTE-A网络的性能和服务质量[1-2]。

1 LTE-A空口监测仪表

1.1 LTE-A空口监测仪表简介

LTE-A空口监测仪表是对LTE-A网络空中接口的信令和数据进行采集和分析的仪器。

LTE-A空口监测仪表主要完成对LTE-A空口L1、L2、L3层协议栈的监测和跨层关联分析,采取实时跟踪方式监测多用户的业务建立、信令过程和数据流量,分析用户业务行为及网络问题。

LTE-A空口监测技术的基本原理:在UE与eNodeB进行通信的过程中,LTE-A空口监测仪表同时接收空中接口上下行的信令和数据,完成对信令和数据的采集,并通过对空口信令和数据的解码、合成、关联、统计等一系列信令监测技术呈现出空中接口的详细通信过程[3-4]。

1.2 LTE-A空口监测仪表的硬件架构设计

LTE-A空口监测仪表的硬件架构设计如图1所示。

图1 LTE-A空口监测仪表的硬件架构

仪表的硬件平台主要包括:

1)射频板卡:采集射频数据。

2)基带板板卡:将射频的原始数据(即IQ数据)恢复成比特流数据,并将比特流数据封装成PCIE 2.0协议帧。

3)协议板板卡:对空中接口的MAC层、RLC层、PDCP层进行协议栈分析和数据处理[5]。

LTE-A空口监测仪表采用FPGA+DSP的硬件设计方案。在本方案中,AD936x为射频芯片,ZC7045为FPGA芯片,66AK2H为DSP芯片。DDR3,FLASH,USB/串口是FPGA和DSP的外围芯片,与FPGA和DSP芯片共同构成SOPC片上系统[6-7]。

本方案同时在FPGA和DSP芯片上采用了SOPC片上系统的设计方式,即在FPGA和DSP芯片上都搭载了嵌入式Linux操作系统。嵌入式Linux操作系统完成对AD936x,FPGA,DSP等芯片硬件参数的配置,同时管理固态硬盘上的IQ数据,另外用户可以通过USB/串口调试板卡上的数据。

LTE-A网络空中接口的数据在硬件平台中的处理流程如下:

1)LTE-A空口数据通过AD936x芯片的A/D采样转换为IQ数据,并通过LVDS接口传递到FPGA芯片。

2)FPGA芯片将IQ数据复制成2份,一份通过基带处理恢复成比特流数据,并通过PCIE 2.0 X1接口传递给DSP芯片;另一份通过NGFF接口传递给固态硬盘SSD,SSD存储不少于10 min的IQ数据。

3)DSP芯片接收比特流数据进行协议栈数据处理,并通过PCIE 2.0 X2接口将数据传递给上层进行处理。

1.3 LTE-A空口监测仪表的逻辑架构设计

LTE-A网络空中接口的数据在逻辑上的处理流程如下:

1)LTE-A空口监测仪表从PHY层多个载波分量上接收射频端传输的IQ数据,然后进行多天线和资源映射的MIMO解码、数据解调和信道解码等操作,将空口原始数据恢复成比特流数据,并传送至MAC层。

2)MAC层接收多个载波分量的比特流数据,根据主同步信号(Primary Synchronization Signal,PSS)和辅同步信号(Secondary Synchronization Signal,SSS)的相关内容,对载波分量的比特流数据进行解复用操作,剥离MAC首部,将MAC PDU恢复成MAC SDU,并传输至RLC层。

3)RLC层对MAC层上传的RLC PDU进行RLC首部剥离操作,通过级联,形成适当大小的RLC SDU,并传输至PDCP层;同时,RLC层还控制错误接收的RLC PDU的重传,并丢弃重复的RLC PDU。

4)PDCP层接收RLC层上传的PDCP PDU数据,剥离PDCP首部,将PDCP PDU恢复成PDCP SDU数据;并对PDCP SDU进行解密和头解压操作,恢复成IP数据包,以供上层应用软件分析和处理。

LTE-A空口监测仪表的逻辑架构设计如图2所示。

图2 LTE-A空口监测仪表的逻辑架构

2 PDCP协议的设计与实现

2.1 PDCP协议简介

PDCP协议位于LTE-A网络空中接口协议栈的L2层,PDCP实体位于PDCP子层,PDCP实体的功能如图3所示。

图3 PDCP实体的功能

PDCP协议主要支持以下功能:1)数据传输;2)对IP数据包进行头压缩与解压缩;3)对用户/控制平面数据进行加密与解密;4)对控制平面数据进行完整性保护与完整性验证;5)维护PDCP SN序列号值;6)按序传递上层PDU;7)定时丢弃与副本丢弃[8-10]。

2.2 PDCP协议的数据结构

PDCP协议的消息格式可以简单划分为3种形式,分别是:

1)携带信令无线承载(Signalling Radio Bearer carrying control plane data,SRB)数据;

2)携带映射到RLC确认模式(Acknowledged Mode,AM)的DRB数据;

3)携带映射到RLC非确认模式(Unacknowledged Mode,UM)的DRB数据。

上述3种形式反映了PDCP实体传输的无线承载(Radio Bearer,RB)类型以及RB所对应的RLC层传输模式的不同,由此也造成了PDCP协议在协议栈设计的过程中有所区别,但总体上的设计趋于一致。因此,本文仅以携带映射到RLC AM的DRB数据为例,详细介绍PDCP协议的设计思想与数据处理流程。

PDCP协议数据结构的设计主要是对PDCP SDU与PDCP PDU的数据结构进行定义。

PDCP SDU的数据结构定义如下:

struct pdcp_sdu

{

struct pdcp_sdu *next;

void *pData;

uint32 sdu_length;

uint8 sn;

}pdcp_sdu;

其中,struct pdcp_sdu *next表示指向下一个SDU;void*pData指向PDCP SDU中的有效载荷;uint32 sdu_length定义了该PDCP SDU的数据长度;uint8 sn定义了PDCP序列号值[11]。

PDCP PDU的数据结构定义如下:

struct pdcp_pdu

{

struct pdcp_pdu *next;

void *pData;

uint32 pdu_length;

uint8 head_length;

}pdcp_pdu;

其中,struct pdcp_pdu *next表示指向下一个PDU;void*pData指向PDCP PDU中的有效载荷;uint32 pdu_length定义了该PDCP PDU的数据包长度; uint8 head_length定义了该PDCP PDU的头部信息长度。

2.3 PDCP发送实体的数据处理流程

PDCP发送实体的主要功能是头压缩、完整性保护、加密,并将PDCP SDU转换为PDCP PDU。PDCP发送实体数据处理流程的设计思想如图4和图5所示,在主程序中,采用2个线程同时进行PDCP发送实体的数据处理。线程1主要负责将接收到的PDCP SDU放入缓存队列中,并对SN值进行关联;线程2主要负责从缓存队列中取出PDCP SDU,并进行头压缩、完整性保护、加密、添加头部信息封装成PDCP PDU。

图4 PDCP发送实体线程1的数据处理流程

图5 PDCP发送实体线程2的数据处理流程

线程1的具体工作流程如下:

1)判断是否接收到PDCP SDU,若接收到PDCP SDU则执行步骤2),否则继续执行步骤1)。

2)根据sdu_length的值分配缓存队列中的缓存地址空间,将PDCP SDU放入缓存队列中。

3)关联SN值,SN=SN+1。

4)判断SN是否大于最大序列号值,若大于则令SN=0,否则执行步骤5)。

5)判断是否所有的PDCP SDU均入队列,若是则标志位flag置1,否则返回步骤2)继续执行。

线程2的具体工作流程如下:

1)判断缓存队列是否为空。若不为空则执行步骤2);否则判断标志位flag是否为1,若是则结束流程,否则等待一段合适的时间再执行步骤1)。

2)取缓存队列中的PDCP SDU。

3)针对用户平面数据包、控制平面数据包分别调用头压缩或完整性保护算法。

4)调用加密算法,对数据包进行加密操作。

5)根据SN值构造PDCP头部信息。

6)添加PDCP头部,将PDCP SDU封装成PDCP PDU。

7)将PDCP PDU递交给RLC层。

2.4 PDCP接收实体的数据处理流程

PDCP接收实体的主要功能是将PDCP PDU转换为PDCP SDU,并进行解密、解头压缩、重排序、按序递交PDCP SDU。PDCP接收实体数据处理流程的设计思想如图6所示,在主程序中,同样采用2个线程同时进行PDCP协议数据的处理。线程1主要负责将接收到的PDCP PDU放入缓存队列中;线程2主要负责从缓存队列中取出PDCP PDU,去PDCP PDU头部恢复成PDCP SDU,进行解密、解头压缩操作,并对PDCP SDU进行重排序及按序递交PDCP SDU给上层。

图6 PDCP接收实体的数据处理流程

线程1与线程2的整体工作流程如下:

1)判断是否接收到PDCP PDU,若接收到PDCP PDU则执行步骤2),否则继续执行步骤1)。

2)根据sdu_length的值分配缓存队列中的缓存地址空间,将PDCP PDU放入缓存队列中。

3)判断SN值是否大于重排窗口值,若是则丢弃数据包,否则执行步骤4)。

4)判断是否重复接收到SN值,若是则丢弃数据包,否则执行步骤5)。

5)取缓存队列中的PDCP PDU。

6)去除PDCP PDU的头部信息,将PDCP PDU恢复成PDCP SDU,并将PDCP SDU放入发送缓冲队列中。

7)调用解密算法,对数据包进行解密操作。

8)调用解头压缩算法,对数据包进行解头压缩操作。

9)按照SN值大小将发送队列中PDCP SDU进行重排序。

10)按序递交PDCP SDU给上层。

3 结束语

本文针对运营商在LTE-A网络的建设、优化、维护等过程中对测试仪表的迫切需求,设计了一种新型的LTE-A空口监测仪表,并提出了LTE-A空中接口PDCP协议的设计方案。首先,介绍了LTE-A空口监测仪表硬件架构和逻辑架构的设计方案;然后,介绍了PDCP协议数据结构、PDCP发送实体数据处理流程、PDCP接收实体数据处理流程等的设计思想。最后,经过现网测试验证,该仪表能够实时采集 LTE-A 空中接口的信令和数据,并对空口协议栈进行智能监测,满足运营商对网络指标统计、网络优化分析、用户业务行为分析的功能需求。

[1] 李艳, 张治中. LTE网络S1AP监测方案的研究与实现[J]. 电信科学,2013(1):31-38.

[2] 程方, 杨力, 黄建,等. LTE网络GTPv2协议监测技术的设计与实现[J]. 电信科学,2012(6):86-90.

[3] FLUET M,MANZI J.Firmware development methodologies for synthetic test instrumentation[C]//Proc. Autotestcon. [S.l.]:IEEE Press,2014:153-158.

[4] QC-H-001-2012,TD-LTE空口监测仪表技术规范[S].2012.

[5] CHEN F, SHI L. Design and implementation of primitive tracking for TD-LTE wireless integrated testing instrument[C]// Proc. IEEE 2nd International Conference on Computing, Control and Industrial Engineering (CCIE). [S.l.]:IEEE Press,2011: 186-189.

[6] 王明. 综测仪中面向LTE-A的基带处理板卡的设计与实现[D].北京:北京邮电大学,2014.

[7] 许喆. TD-LTE综测仪中基带板DSP的部分接口的研究与实现[D].北京:北京邮电大学,2010.

[8] 3GPP TS 36.323, Evolved Universal Terrestrial Radio Access (E-UTRA);Packet Data Convergence Protocol (PDCP) specification [S].2009.

[9] 孙远欣, 杭小飞, 孙雪梅. LTE系统中PDCP子层功能研究[J]. 现代电子技术,2011,34(7):44-48.

[10] 刘辉, 宋健霖. LTE协议栈中PDCP层研究与设计[J].重庆邮电大学学报:自然科学版,2011,23(1):6-10.

[11] 何苏勤, 翟海超. LTE空中接口协议栈的研究与实现[J].计算机工程与设计,2013,34(1):76-80.

许文博(1992— ),硕士生,主研通信网测试技术;

张治中(1972— ),博士生导师,主要研究方向为第三代移动通信测试技术、宽带信息网络、NGN网络等;

贺 姿(1984— ),女,硕士,主研异构网络的无缝接入技术,空间信息网动态拓扑控制算法。

责任编辑:闫雯雯

Design and Implementation of PDCP Protocol in LTE-A Air Interface Monitoring Instrumentation

XU Wenbo1, ZHANG Zhizhong1, HE Zi2

(1.KeyLaboratoryonCommunicationNetworksandTestingTechnology,ChongqingUniversityofPostsandTelecommunications,Chongqing400065,China; 2.TechnicalSupportCenterofAirTrafficManagementBureauofCAACinNortheastChina,Shenyang100169,China)

Based on LTE-A air interface protocol stack, a new LTE-A air interface monitoring instrumentation is designed, the design of hardware and logical architecture in LTE-A air interface monitoring instrumentation is mainly analyzed, and the design idea of PDCP protocol data structure, data processing flow of PDCP transmitting entity, data processing flow of PDCP receiving entity are clarified. After the verification of actual development, the instrumentation achieves the desired functional requirements, and the design idea of PDCP protocol applies to the instrumentation successfully and proves the rationality of the data processing flow.

LTE-A; air interface monitoring instrumentation; PDCP protocol

国家科技重大专项(2015ZX03001013);重庆高校创新团队项目(KJTD201312)

TN929.5

A

10.16280/j.videoe.2015.17.016

2015-05-05

【本文献信息】许文博,张治中,贺姿.LTE-A空口监测仪表中PDCP协议的设计与实现[J].电视技术,2015,39(17).

猜你喜欢
空口信令队列
5G无线空口原理
队列里的小秘密
基于多队列切换的SDN拥塞控制*
SLS字段在七号信令中的运用
空口
移动信令在交通大数据分析中的应用探索
在队列里
英特尔携手德国电信和华为完成5G新空口标准测试
基于信令分析的TD-LTE无线网络应用研究
丰田加速驶入自动驾驶队列