許文博,張治中,賀 姿
(1.重慶郵電大學(xué) 通信網(wǎng)與測試技術(shù)重點實驗室,重慶 400065;2. 民航東北地區(qū)空中交通管理局技術(shù)保障中心,遼寧 沈陽 100169)
LTE-A空口監(jiān)測儀表中PDCP協(xié)議的設(shè)計與實現(xiàn)
許文博1,張治中1,賀 姿2
(1.重慶郵電大學(xué) 通信網(wǎng)與測試技術(shù)重點實驗室,重慶 400065;2. 民航東北地區(qū)空中交通管理局技術(shù)保障中心,遼寧 沈陽 100169)
基于LTE-A空中接口協(xié)議棧,設(shè)計了一種新型的LTE-A空口監(jiān)測儀表,重點剖析了LTE-A空口監(jiān)測儀表硬件架構(gòu)和邏輯架構(gòu)的設(shè)計方案,并闡明了PDCP協(xié)議數(shù)據(jù)結(jié)構(gòu)、PDCP發(fā)送實體數(shù)據(jù)處理流程、PDCP接收實體數(shù)據(jù)處理流程的設(shè)計思想。經(jīng)過實際開發(fā)驗證,該儀表達(dá)到了預(yù)期的功能要求,且PDCP協(xié)議的設(shè)計思想成功運用于該儀表中,證明了數(shù)據(jù)處理流程設(shè)計的合理性。
LTE-A;空口監(jiān)測儀表;PDCP協(xié)議
隨著LTE-A網(wǎng)絡(luò)的商用,運營商對新型的無線網(wǎng)絡(luò)優(yōu)化和分析儀表需求十分迫切。由于LTE-A網(wǎng)絡(luò)在架構(gòu)上進(jìn)行了演進(jìn),使得3G網(wǎng)絡(luò)的NodeB和RNC網(wǎng)元整合成為eNodeB,因此3G網(wǎng)絡(luò)中Iub接口監(jiān)測的信令和數(shù)據(jù)則需要在LTE-A網(wǎng)絡(luò)的空中接口進(jìn)行實時采集與監(jiān)測,這極大地增加了LTE-A空口監(jiān)測類儀表的技術(shù)復(fù)雜度。
目前,在國內(nèi)LTE-A信令監(jiān)測類儀表領(lǐng)域,已先后有世紀(jì)鼎利、中創(chuàng)信測等公司成功開發(fā)出相應(yīng)的測試儀表,并已經(jīng)投入商用。該類儀表均針對LTE-A網(wǎng)絡(luò)相關(guān)接口或是測試集的設(shè)計和開發(fā),同時開展了測試儀表關(guān)鍵技術(shù)攻關(guān)方向的研究,為實現(xiàn)LTE-A空口監(jiān)測儀表奠定了基礎(chǔ)。
本文在現(xiàn)有LTE-A信令監(jiān)測類儀表的基礎(chǔ)上,設(shè)計了一種新型的LTE-A空口監(jiān)測儀表。LTE-A空口監(jiān)測儀表的研發(fā)主要完成對儀表總體架構(gòu)的設(shè)計,并重點實現(xiàn)LTE-A空中接口協(xié)議棧的功能,保證空口協(xié)議棧的實時監(jiān)測和跨層關(guān)聯(lián)分析,并進(jìn)行網(wǎng)絡(luò)指標(biāo)統(tǒng)計、網(wǎng)絡(luò)優(yōu)化分析、用戶業(yè)務(wù)行為分析,從而提供更加全面的空口信令分析功能,簡單、精確、快速地診斷出LTE-A網(wǎng)絡(luò)的性能和服務(wù)質(zhì)量[1-2]。
1.1 LTE-A空口監(jiān)測儀表簡介
LTE-A空口監(jiān)測儀表是對LTE-A網(wǎng)絡(luò)空中接口的信令和數(shù)據(jù)進(jìn)行采集和分析的儀器。
LTE-A空口監(jiān)測儀表主要完成對LTE-A空口L1、L2、L3層協(xié)議棧的監(jiān)測和跨層關(guān)聯(lián)分析,采取實時跟蹤方式監(jiān)測多用戶的業(yè)務(wù)建立、信令過程和數(shù)據(jù)流量,分析用戶業(yè)務(wù)行為及網(wǎng)絡(luò)問題。
LTE-A空口監(jiān)測技術(shù)的基本原理:在UE與eNodeB進(jìn)行通信的過程中,LTE-A空口監(jiān)測儀表同時接收空中接口上下行的信令和數(shù)據(jù),完成對信令和數(shù)據(jù)的采集,并通過對空口信令和數(shù)據(jù)的解碼、合成、關(guān)聯(lián)、統(tǒng)計等一系列信令監(jiān)測技術(shù)呈現(xiàn)出空中接口的詳細(xì)通信過程[3-4]。
1.2 LTE-A空口監(jiān)測儀表的硬件架構(gòu)設(shè)計
LTE-A空口監(jiān)測儀表的硬件架構(gòu)設(shè)計如圖1所示。
圖1 LTE-A空口監(jiān)測儀表的硬件架構(gòu)
儀表的硬件平臺主要包括:
1)射頻板卡:采集射頻數(shù)據(jù)。
2)基帶板板卡:將射頻的原始數(shù)據(jù)(即IQ數(shù)據(jù))恢復(fù)成比特流數(shù)據(jù),并將比特流數(shù)據(jù)封裝成PCIE 2.0協(xié)議幀。
3)協(xié)議板板卡:對空中接口的MAC層、RLC層、PDCP層進(jìn)行協(xié)議棧分析和數(shù)據(jù)處理[5]。
LTE-A空口監(jiān)測儀表采用FPGA+DSP的硬件設(shè)計方案。在本方案中,AD936x為射頻芯片,ZC7045為FPGA芯片,66AK2H為DSP芯片。DDR3,FLASH,USB/串口是FPGA和DSP的外圍芯片,與FPGA和DSP芯片共同構(gòu)成SOPC片上系統(tǒng)[6-7]。
本方案同時在FPGA和DSP芯片上采用了SOPC片上系統(tǒng)的設(shè)計方式,即在FPGA和DSP芯片上都搭載了嵌入式Linux操作系統(tǒng)。嵌入式Linux操作系統(tǒng)完成對AD936x,F(xiàn)PGA,DSP等芯片硬件參數(shù)的配置,同時管理固態(tài)硬盤上的IQ數(shù)據(jù),另外用戶可以通過USB/串口調(diào)試板卡上的數(shù)據(jù)。
LTE-A網(wǎng)絡(luò)空中接口的數(shù)據(jù)在硬件平臺中的處理流程如下:
1)LTE-A空口數(shù)據(jù)通過AD936x芯片的A/D采樣轉(zhuǎn)換為IQ數(shù)據(jù),并通過LVDS接口傳遞到FPGA芯片。
2)FPGA芯片將IQ數(shù)據(jù)復(fù)制成2份,一份通過基帶處理恢復(fù)成比特流數(shù)據(jù),并通過PCIE 2.0 X1接口傳遞給DSP芯片;另一份通過NGFF接口傳遞給固態(tài)硬盤SSD,SSD存儲不少于10 min的IQ數(shù)據(jù)。
3)DSP芯片接收比特流數(shù)據(jù)進(jìn)行協(xié)議棧數(shù)據(jù)處理,并通過PCIE 2.0 X2接口將數(shù)據(jù)傳遞給上層進(jìn)行處理。
1.3 LTE-A空口監(jiān)測儀表的邏輯架構(gòu)設(shè)計
LTE-A網(wǎng)絡(luò)空中接口的數(shù)據(jù)在邏輯上的處理流程如下:
1)LTE-A空口監(jiān)測儀表從PHY層多個載波分量上接收射頻端傳輸?shù)腎Q數(shù)據(jù),然后進(jìn)行多天線和資源映射的MIMO解碼、數(shù)據(jù)解調(diào)和信道解碼等操作,將空口原始數(shù)據(jù)恢復(fù)成比特流數(shù)據(jù),并傳送至MAC層。
2)MAC層接收多個載波分量的比特流數(shù)據(jù),根據(jù)主同步信號(Primary Synchronization Signal,PSS)和輔同步信號(Secondary Synchronization Signal,SSS)的相關(guān)內(nèi)容,對載波分量的比特流數(shù)據(jù)進(jìn)行解復(fù)用操作,剝離MAC首部,將MAC PDU恢復(fù)成MAC SDU,并傳輸至RLC層。
3)RLC層對MAC層上傳的RLC PDU進(jìn)行RLC首部剝離操作,通過級聯(lián),形成適當(dāng)大小的RLC SDU,并傳輸至PDCP層;同時,RLC層還控制錯誤接收的RLC PDU的重傳,并丟棄重復(fù)的RLC PDU。
4)PDCP層接收RLC層上傳的PDCP PDU數(shù)據(jù),剝離PDCP首部,將PDCP PDU恢復(fù)成PDCP SDU數(shù)據(jù);并對PDCP SDU進(jìn)行解密和頭解壓操作,恢復(fù)成IP數(shù)據(jù)包,以供上層應(yīng)用軟件分析和處理。
LTE-A空口監(jiān)測儀表的邏輯架構(gòu)設(shè)計如圖2所示。
圖2 LTE-A空口監(jiān)測儀表的邏輯架構(gòu)
2.1 PDCP協(xié)議簡介
PDCP協(xié)議位于LTE-A網(wǎng)絡(luò)空中接口協(xié)議棧的L2層,PDCP實體位于PDCP子層,PDCP實體的功能如圖3所示。
圖3 PDCP實體的功能
PDCP協(xié)議主要支持以下功能:1)數(shù)據(jù)傳輸;2)對IP數(shù)據(jù)包進(jìn)行頭壓縮與解壓縮;3)對用戶/控制平面數(shù)據(jù)進(jìn)行加密與解密;4)對控制平面數(shù)據(jù)進(jìn)行完整性保護(hù)與完整性驗證;5)維護(hù)PDCP SN序列號值;6)按序傳遞上層PDU;7)定時丟棄與副本丟棄[8-10]。
2.2 PDCP協(xié)議的數(shù)據(jù)結(jié)構(gòu)
PDCP協(xié)議的消息格式可以簡單劃分為3種形式,分別是:
1)攜帶信令無線承載(Signalling Radio Bearer carrying control plane data,SRB)數(shù)據(jù);
2)攜帶映射到RLC確認(rèn)模式(Acknowledged Mode,AM)的DRB數(shù)據(jù);
3)攜帶映射到RLC非確認(rèn)模式(Unacknowledged Mode,UM)的DRB數(shù)據(jù)。
上述3種形式反映了PDCP實體傳輸?shù)臒o線承載(Radio Bearer,RB)類型以及RB所對應(yīng)的RLC層傳輸模式的不同,由此也造成了PDCP協(xié)議在協(xié)議棧設(shè)計的過程中有所區(qū)別,但總體上的設(shè)計趨于一致。因此,本文僅以攜帶映射到RLC AM的DRB數(shù)據(jù)為例,詳細(xì)介紹PDCP協(xié)議的設(shè)計思想與數(shù)據(jù)處理流程。
PDCP協(xié)議數(shù)據(jù)結(jié)構(gòu)的設(shè)計主要是對PDCP SDU與PDCP PDU的數(shù)據(jù)結(jié)構(gòu)進(jìn)行定義。
PDCP SDU的數(shù)據(jù)結(jié)構(gòu)定義如下:
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的數(shù)據(jù)長度;uint8 sn定義了PDCP序列號值[11]。
PDCP PDU的數(shù)據(jù)結(jié)構(gòu)定義如下:
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的數(shù)據(jù)包長度; uint8 head_length定義了該PDCP PDU的頭部信息長度。
2.3 PDCP發(fā)送實體的數(shù)據(jù)處理流程
PDCP發(fā)送實體的主要功能是頭壓縮、完整性保護(hù)、加密,并將PDCP SDU轉(zhuǎn)換為PDCP PDU。PDCP發(fā)送實體數(shù)據(jù)處理流程的設(shè)計思想如圖4和圖5所示,在主程序中,采用2個線程同時進(jìn)行PDCP發(fā)送實體的數(shù)據(jù)處理。線程1主要負(fù)責(zé)將接收到的PDCP SDU放入緩存隊列中,并對SN值進(jìn)行關(guān)聯(lián);線程2主要負(fù)責(zé)從緩存隊列中取出PDCP SDU,并進(jìn)行頭壓縮、完整性保護(hù)、加密、添加頭部信息封裝成PDCP PDU。
圖4 PDCP發(fā)送實體線程1的數(shù)據(jù)處理流程
圖5 PDCP發(fā)送實體線程2的數(shù)據(jù)處理流程
線程1的具體工作流程如下:
1)判斷是否接收到PDCP SDU,若接收到PDCP SDU則執(zhí)行步驟2),否則繼續(xù)執(zhí)行步驟1)。
2)根據(jù)sdu_length的值分配緩存隊列中的緩存地址空間,將PDCP SDU放入緩存隊列中。
3)關(guān)聯(lián)SN值,SN=SN+1。
4)判斷SN是否大于最大序列號值,若大于則令SN=0,否則執(zhí)行步驟5)。
5)判斷是否所有的PDCP SDU均入隊列,若是則標(biāo)志位flag置1,否則返回步驟2)繼續(xù)執(zhí)行。
線程2的具體工作流程如下:
1)判斷緩存隊列是否為空。若不為空則執(zhí)行步驟2);否則判斷標(biāo)志位flag是否為1,若是則結(jié)束流程,否則等待一段合適的時間再執(zhí)行步驟1)。
2)取緩存隊列中的PDCP SDU。
3)針對用戶平面數(shù)據(jù)包、控制平面數(shù)據(jù)包分別調(diào)用頭壓縮或完整性保護(hù)算法。
4)調(diào)用加密算法,對數(shù)據(jù)包進(jìn)行加密操作。
5)根據(jù)SN值構(gòu)造PDCP頭部信息。
6)添加PDCP頭部,將PDCP SDU封裝成PDCP PDU。
7)將PDCP PDU遞交給RLC層。
2.4 PDCP接收實體的數(shù)據(jù)處理流程
PDCP接收實體的主要功能是將PDCP PDU轉(zhuǎn)換為PDCP SDU,并進(jìn)行解密、解頭壓縮、重排序、按序遞交PDCP SDU。PDCP接收實體數(shù)據(jù)處理流程的設(shè)計思想如圖6所示,在主程序中,同樣采用2個線程同時進(jìn)行PDCP協(xié)議數(shù)據(jù)的處理。線程1主要負(fù)責(zé)將接收到的PDCP PDU放入緩存隊列中;線程2主要負(fù)責(zé)從緩存隊列中取出PDCP PDU,去PDCP PDU頭部恢復(fù)成PDCP SDU,進(jìn)行解密、解頭壓縮操作,并對PDCP SDU進(jìn)行重排序及按序遞交PDCP SDU給上層。
圖6 PDCP接收實體的數(shù)據(jù)處理流程
線程1與線程2的整體工作流程如下:
1)判斷是否接收到PDCP PDU,若接收到PDCP PDU則執(zhí)行步驟2),否則繼續(xù)執(zhí)行步驟1)。
2)根據(jù)sdu_length的值分配緩存隊列中的緩存地址空間,將PDCP PDU放入緩存隊列中。
3)判斷SN值是否大于重排窗口值,若是則丟棄數(shù)據(jù)包,否則執(zhí)行步驟4)。
4)判斷是否重復(fù)接收到SN值,若是則丟棄數(shù)據(jù)包,否則執(zhí)行步驟5)。
5)取緩存隊列中的PDCP PDU。
6)去除PDCP PDU的頭部信息,將PDCP PDU恢復(fù)成PDCP SDU,并將PDCP SDU放入發(fā)送緩沖隊列中。
7)調(diào)用解密算法,對數(shù)據(jù)包進(jìn)行解密操作。
8)調(diào)用解頭壓縮算法,對數(shù)據(jù)包進(jìn)行解頭壓縮操作。
9)按照SN值大小將發(fā)送隊列中PDCP SDU進(jìn)行重排序。
10)按序遞交PDCP SDU給上層。
本文針對運營商在LTE-A網(wǎng)絡(luò)的建設(shè)、優(yōu)化、維護(hù)等過程中對測試儀表的迫切需求,設(shè)計了一種新型的LTE-A空口監(jiān)測儀表,并提出了LTE-A空中接口PDCP協(xié)議的設(shè)計方案。首先,介紹了LTE-A空口監(jiān)測儀表硬件架構(gòu)和邏輯架構(gòu)的設(shè)計方案;然后,介紹了PDCP協(xié)議數(shù)據(jù)結(jié)構(gòu)、PDCP發(fā)送實體數(shù)據(jù)處理流程、PDCP接收實體數(shù)據(jù)處理流程等的設(shè)計思想。最后,經(jīng)過現(xiàn)網(wǎng)測試驗證,該儀表能夠?qū)崟r采集 LTE-A 空中接口的信令和數(shù)據(jù),并對空口協(xié)議棧進(jìn)行智能監(jiān)測,滿足運營商對網(wǎng)絡(luò)指標(biāo)統(tǒng)計、網(wǎng)絡(luò)優(yōu)化分析、用戶業(yè)務(wù)行為分析的功能需求。
[1] 李艷, 張治中. LTE網(wǎng)絡(luò)S1AP監(jiān)測方案的研究與實現(xiàn)[J]. 電信科學(xué),2013(1):31-38.
[2] 程方, 楊力, 黃建,等. LTE網(wǎng)絡(luò)GTPv2協(xié)議監(jiān)測技術(shù)的設(shè)計與實現(xiàn)[J]. 電信科學(xué),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空口監(jiān)測儀表技術(shù)規(guī)范[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的基帶處理板卡的設(shè)計與實現(xiàn)[D].北京:北京郵電大學(xué),2014.
[7] 許喆. TD-LTE綜測儀中基帶板DSP的部分接口的研究與實現(xiàn)[D].北京:北京郵電大學(xué),2010.
[8] 3GPP TS 36.323, Evolved Universal Terrestrial Radio Access (E-UTRA);Packet Data Convergence Protocol (PDCP) specification [S].2009.
[9] 孫遠(yuǎn)欣, 杭小飛, 孫雪梅. LTE系統(tǒng)中PDCP子層功能研究[J]. 現(xiàn)代電子技術(shù),2011,34(7):44-48.
[10] 劉輝, 宋健霖. LTE協(xié)議棧中PDCP層研究與設(shè)計[J].重慶郵電大學(xué)學(xué)報:自然科學(xué)版,2011,23(1):6-10.
[11] 何蘇勤, 翟海超. LTE空中接口協(xié)議棧的研究與實現(xiàn)[J].計算機(jī)工程與設(shè)計,2013,34(1):76-80.
許文博(1992— ),碩士生,主研通信網(wǎng)測試技術(shù);
張治中(1972— ),博士生導(dǎo)師,主要研究方向為第三代移動通信測試技術(shù)、寬帶信息網(wǎng)絡(luò)、NGN網(wǎng)絡(luò)等;
賀 姿(1984— ),女,碩士,主研異構(gòu)網(wǎng)絡(luò)的無縫接入技術(shù),空間信息網(wǎng)動態(tài)拓?fù)淇刂扑惴ā?/p>
責(zé)任編輯:閆雯雯
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);重慶高校創(chuàng)新團(tuán)隊項目(KJTD201312)
TN929.5
A
10.16280/j.videoe.2015.17.016
2015-05-05
【本文獻(xiàn)信息】許文博,張治中,賀姿.LTE-A空口監(jiān)測儀表中PDCP協(xié)議的設(shè)計與實現(xiàn)[J].電視技術(shù),2015,39(17).