張德民, 張形形, 伍會娟
(1.重慶郵電大學(xué) 重慶市移動通信技術(shù)重點實驗室, 重慶 400065;2.昆明民族干部學(xué)院 教研部, 四川 成都 650202)
無線鏈路控制層數(shù)據(jù)處理功能一致性測試
張德民1, 張形形1, 伍會娟2
(1.重慶郵電大學(xué) 重慶市移動通信技術(shù)重點實驗室, 重慶 400065;2.昆明民族干部學(xué)院 教研部, 四川 成都 650202)
為了驗證無線鏈路控制層(Radio Link Control, RLC)的數(shù)據(jù)處理功能,用TTworkbench軟件作為主控制模塊,RLC層作為被測模塊,中間通過中轉(zhuǎn)模塊進行數(shù)據(jù)轉(zhuǎn)發(fā)來搭建新平臺,并構(gòu)造測試例,驗證RLC層非確認模式服務(wù)數(shù)據(jù)單元的分段級聯(lián)和重組功能。測試顯示,構(gòu)造好的服務(wù)數(shù)據(jù)單元被成功分段級聯(lián)為協(xié)議數(shù)據(jù)單元。
無線鏈路控制層;測試例;分段級聯(lián)
隨著4G技術(shù)的廣泛應(yīng)用和普及,分時長期演進(Time Division Long Term Evolution, TD-LTE)以其技術(shù)上的優(yōu)越性[1]正在推動著通信行業(yè)的快速發(fā)展。而針對TD-LTE的各種新技術(shù)應(yīng)用,測試環(huán)節(jié)是必不可少的。在長期演進(Long Term Evolution, LTE)系統(tǒng)中,無線鏈路控制(Radio Link Control, RLC)層是完成數(shù)據(jù)處理的重要一層,驗證RLC單層功能的正確性尤為重要。
在單層測試方面,目前的很多方法都是基于兩種軟件的互通,缺乏行之有效的平臺[2]。另外,參數(shù)配置不靈活、調(diào)試效率較低和系統(tǒng)運行不穩(wěn)定等因素也給單層測試帶來困難。
本文擬設(shè)計基于測試和測試控制表示法(Testing and Test Control Notation version 3, TTCN-3)的平臺,根據(jù)第三代合作伙伴計劃(3rd Generation Partnership Project, 3GPP)協(xié)議和數(shù)據(jù)處理原理[3]構(gòu)造服務(wù)數(shù)據(jù)單元(Service Data Unit, SDU),并編寫測試用例,按照測試流程進行RLC層單層測試。
1.1 分段級聯(lián)原理
非確認(Unacknowledged Mode, UM)模式下協(xié)議數(shù)據(jù)單元(Protocol Data Unit, PDU)的格式[3]如圖1所示,其序列號為5 bit。
圖1 非確認模式下的協(xié)議數(shù)據(jù)單元
這種格式包含1個數(shù)據(jù)域和1個UM模式下的PDU頭。PDU頭包含1個固定部分(在每個UM模式 PDU中存在的域)和1個擴展部分(多個數(shù)據(jù)域時才存在的域)。固定部分自身按字節(jié)對齊,且由1個成幀信息域(Framing Info, FI)、1個擴展域(Extension, E)和1個序列號域(Sequence Number, SN)構(gòu)成,擴展部分自身按字節(jié)對齊,包含多個E域和長度指示域(Length Indicator, LI)。各個數(shù)據(jù)域的含義如下。
(1) 成幀信息域
FI(2 bit)指示1個RLC層SDU是否是在數(shù)據(jù)域的開始部分,以及是否在數(shù)據(jù)域的末尾部分被分段。特別的,該FI域指明數(shù)據(jù)域的第1個字節(jié)是否對應(yīng)SDU的第1個字節(jié),以及數(shù)據(jù)域的最后1個字節(jié)是否對應(yīng)SDU的最后1個字節(jié)。分別用二進制0表示對應(yīng),1表示不對應(yīng)。
(2) 擴展域
E(1 bit)指示其后跟隨的是數(shù)據(jù)域還是擴展域和LI域的集合。用0表示數(shù)據(jù)域,1表示E域和LI域的集合。
(3) 序列號域
SN(5 bit)指示由SDU分段級聯(lián)生成的各個PDU的序列號。每生成一個PDU,序列號就在前一個PDU序列號的基礎(chǔ)上加1。
(4)長度指示域
LI(1 1bit)用來指示由UM實體發(fā)送或接收的PDU 中的數(shù)據(jù)域元素對應(yīng)的字節(jié)長度。
測試時,UM模式RLC實體將SDU分段級聯(lián)成PDU的步驟如圖2所示,具體過程可描述如下。
步驟1 根據(jù)緩存中接收到的SDU,初始化本地變量:當前SDU的長度(v_sdulen)、下層指示的資源大小(v_resource)、組裝一個數(shù)據(jù)域之后剩余SDU長度(v_restlen)、PDU固定頭的大小(v_fixHeadOct)。
圖2 分段級聯(lián)流程
步驟2 判斷當前要分段的是完整的SDU還是SDU段,若是完整的SDU,則可以確定當前組裝的PDU固定頭中的FI域第一位為0,否則為1。
步驟3 判斷是否滿足
v_resource < v_sdulen + v_fixHeadOct,
即資源大小是否小于PDU固定頭大小和當前要處理的SDU長度之和。如果為真,就把當前SDU分段,把長度為(v_resource - v_fixHeadOct)的SDU分段映射到當前PDU的數(shù)據(jù)域,同時可知其FI域的第二位為1;反之,如果為假,繼續(xù)判斷
v_resource = v_sdulen + v_fixHeadOct
是否成立;如果成立,則直接將該SDU或者SDU段映射到PDU的數(shù)據(jù)域,根據(jù)映射的是SDU還是SDU段將PDU固定頭中的FI域第二位置為0或者1;若不成立,說明
v_resource > v_sdulen + v_fixHeadOct,可將整個SDU或者SDU段映射到PDU的數(shù)據(jù)域。
步驟4 一個數(shù)據(jù)域映射完之后,更新步驟1中的本地變量和PDU上下文[3],繼續(xù)讀取SDU(或者剩余SDU段),重復(fù)執(zhí)行步驟2和步驟3。
1.2 重組原理
PDU重組是SDU分段級聯(lián)的逆過程,但是該過程不需要由MAC層來指示資源塊大小[4]。根據(jù)PDU的各個位域值,包括SN(PDU編號)、FI(成幀信息)等來判斷該PDU原來是屬于哪個SDU的,并且是處在SDU的哪個位置(開頭、中間、末尾),之后串接到相應(yīng)的SDU中,完成重組。
2.1 傳統(tǒng)測試平臺
在傳統(tǒng)測試平臺中,如圖3所示,TTCN只負責(zé)流程控制,而不負責(zé)參數(shù)的配置。在TTCN中,構(gòu)造測試例的控制部分[5]RealView軟件中構(gòu)造協(xié)議棧模塊;這樣的話單層測試就相當于TTCN和RealView兩個軟件之間的互通。當RealView中分段級聯(lián)完成之后,會將結(jié)果上報TTCN,TTCN對結(jié)果做出判斷。這種測試不便于調(diào)試并且運行結(jié)果不夠直觀,在調(diào)試中存在很大困難。
圖3 傳統(tǒng)測試平臺
2.2 新測試平臺的搭建
TTCN-3作為整個測試系統(tǒng)的控制部分,主要實現(xiàn)測試例的流程控制以及協(xié)議棧無線資源控制層(Radio Resource Control, RRC)和非接入層(Non Access Stratus, NAS)的功能。其中測試系統(tǒng)由測試模塊、中轉(zhuǎn)模塊、以及被測模塊三部分組成,如圖4所示。
圖4 基于TTCN-3的新測試平臺
TTCN-3與主控制器(Main Controller, MC)之間通過用戶數(shù)據(jù)報協(xié)議(User Datagram Protocol, UDP)進行通信,包括三個編號各異的端口,其中端口1用于TTCN-3向MC以及下層發(fā)送數(shù)據(jù);端口2用于將RLC層重組之后的數(shù)據(jù)傳送給TTCN-3進行驗證;端口3用于將RLC層分段級聯(lián)之后的數(shù)據(jù)傳送給TTCN-3進行驗證。
中轉(zhuǎn)模塊中,NAS/RRC部分在本測試平臺中在TTCN-3中開發(fā),這樣做的優(yōu)點是方便NAS和RRC層的參數(shù)配置,從而提高調(diào)試效率,使得測試更加靈活方便。MC主要用于TTCN-3與協(xié)議棧處理單元之間的數(shù)據(jù)轉(zhuǎn)發(fā)工作。
測試系統(tǒng)的相關(guān)組件說明如下。
(1) TTCN-3執(zhí)行部分(TTCN-3 Executable, TE):編寫測試數(shù)據(jù)以及測試用例。測試用例加載過后,在此界面對其進行調(diào)試、執(zhí)行。
(2) 測試管理(Test Management, TM):管理執(zhí)行部分的測試環(huán)境以及測試日志記錄的生成。
(3) 成分處理(Component Handling, CH):協(xié)調(diào)表示不同系統(tǒng)定義的平行測試成分類型和主成分類型。
(4) 測試日志記錄(Test Logging, TL):測試過程中本地日志的記錄實體,負責(zé)記錄測試過程中TTCN-3的實時日志,保存在本地文件中。
(5) 系統(tǒng)適配器(System Adapter, SA):實現(xiàn)TTCN-3執(zhí)行部分與被測系統(tǒng)之間的通信,在系統(tǒng)適配器上可以調(diào)用TTCN-3運行接口(TTCN-3 Runtime Interface, TRI)提供的API函數(shù)[6]。
(6) 平臺適配器(Platform Adapter, PA):向執(zhí)行部分提供計時器的管理、外部函數(shù)的實現(xiàn)。
(7) 抽象語法標記法編解碼(Abstract Syntax Notation One Code and Decode, ASN.1 CD):負責(zé)測試數(shù)據(jù)的編碼和解碼工作,在測試工具開發(fā)過程中需要針對協(xié)議規(guī)范制定特定的測試數(shù)據(jù)(TTCN-3數(shù)據(jù)類型),這些數(shù)據(jù)均需編制相應(yīng)的編解碼部分方可實際完成測試。
(8) TTCN-3運行接口(TTCN-3 Runtime Interface, TRI)。
(9) TTCN-3控制接口(TTCN-3 Control Interface, TCI)。
2.3 測試平臺原理
首先保證測試處于3A狀態(tài)。在整個測試過程中根據(jù)設(shè)置的標志位test_flag來判斷是發(fā)往終端還是被測RLC模塊。其次在TTCN-3內(nèi)構(gòu)造UM模式下SDU,構(gòu)造的SDU經(jīng)適配層再經(jīng)UDP端口發(fā)送到主控,再由主控轉(zhuǎn)發(fā)給協(xié)議棧中的RLC被測模塊。當數(shù)據(jù)經(jīng)分段級聯(lián)模塊處理之后,將處理的結(jié)果通過端口3發(fā)送到TTCN-3做出判斷,判定期望結(jié)果與實際結(jié)果是否一致;與此同時將分段級聯(lián)的數(shù)據(jù)傳送到重組模塊進行處理,并將處理結(jié)果經(jīng)端口2發(fā)送到TTCN-3進行驗證,并作出判決。
2.4 測試平臺的優(yōu)點
新的測試平臺相對于傳統(tǒng)的測試平臺,具有以下4個方面的優(yōu)點。
(1) 新平臺增加了MC模塊,完成大小端口的轉(zhuǎn)換,減少了協(xié)議棧部分數(shù)據(jù)處理的工作量,提高了運行效率,同時新增加的用戶界面便于用戶調(diào)試,操作靈活。
(2) 在測試中,大部分參數(shù)是由NAS/RRC配置的,新測試平臺將NAS/RRC在TTCN-3中構(gòu)造,便于參數(shù)的配置,從而提高調(diào)試效率。
(3) 在以前傳統(tǒng)的測試平臺中,RLC層分段級聯(lián)和重組的功能是單獨編寫測試例來進行驗證的;而新平臺將通過一個測試例同時驗證分段級聯(lián)和重組兩個功能,簡化了測試流程。
(4) TTCN-3增加了圖形用戶界面,便于調(diào)試,并且TTCN-3內(nèi)部增加了UDP通信的插件,減少了開發(fā)人員的工作量。
3.1 測試環(huán)境設(shè)計
在測試過程中,需要配置測試環(huán)境,如圖5所示。
圖5 測試環(huán)境配置
測試環(huán)境中主要配置4個參數(shù):信道帶寬為10 MHz;溫度為常規(guī)溫度(具體測試溫度分兩種:常規(guī)測試溫度與極限測試溫度,常規(guī)測試溫度為15~35℃,極限測試溫度為-10~55℃);電壓配置為常規(guī)電壓測試環(huán)境;不存在振動的情況。
3.2 測試流程設(shè)計
在每個測試用例執(zhí)行之前,網(wǎng)絡(luò)和終端需要進行一系列的信令交互過程,使終端首先進入特定的測試狀態(tài)。在本次測試中,測試狀態(tài)為3A狀態(tài)(即連接狀態(tài),并且建立相應(yīng)的數(shù)據(jù)傳輸鏈路)。首先保證測試處于2A狀態(tài),具體從狀態(tài)1(關(guān)機狀態(tài))進入狀態(tài)2(空閑模式)的流程如圖6所示。
圖6 狀態(tài)1轉(zhuǎn)換到狀態(tài)2
(1) 首先終端開機接收網(wǎng)絡(luò)端廣播的系統(tǒng)消息,并向網(wǎng)絡(luò)發(fā)起隨機接入請求,終端隨機接入成功;其次,經(jīng)過終端與網(wǎng)絡(luò)端的雙向鑒權(quán)、非接入層安全模式激活[7]、接入層安全模式激活;最后通過重配對無線承載進行相應(yīng)的配置并且釋放無線連接進入空閑狀態(tài),之后將測試模式激活進入2A狀態(tài)。
(2) 通過尋呼,使測試進入3A狀態(tài)(無線鏈路建立并且可以進行數(shù)據(jù)傳輸)。
(3) 進入3A狀態(tài)后,在TTCN-3中按照前述原理構(gòu)造SDU,經(jīng)協(xié)議棧轉(zhuǎn)發(fā)到被測模塊,被測模塊處理之后分別通過端口3和端口2把分段級聯(lián)的結(jié)果和重組后的結(jié)果回送到TTCN-3。
(4) 根據(jù)TTCN-3收到的結(jié)果得到log圖,對log圖按照分段級聯(lián)和重組的原理進行各個域的分析,對比是否和預(yù)期結(jié)果相匹配,從而判斷整個測試的正確性。
4.1 測試驗證
按照測試流程,首先使測試進入3A狀態(tài),終端從關(guān)機狀態(tài)進入3A狀態(tài),過程如圖7所示。
圖7 測試3A狀態(tài)
通過發(fā)送小區(qū)激活請求來激活小區(qū),使終端在小區(qū)上進行注冊并且進入2A狀態(tài),具體進入2A狀態(tài)的信令交互流程如圖8所示??梢钥闯鰷y試進入2A狀態(tài),當進入2A狀態(tài)之后通過尋呼進入3A狀態(tài),等待測試。
進入3A態(tài)之后,在TTCN-3中構(gòu)造4個SDU,共6個字節(jié),它們依次是:0x01、0xABCD、0xEF00、0x00。從圖9中第一條數(shù)據(jù)流可以看出:加上消息頭之后,TTCN-3將構(gòu)造好的4個SDU(0x01ABCDEF0000)成功發(fā)往下層。
期望把數(shù)據(jù)域分段級聯(lián)為4個大小分別為:1字節(jié)(0x01)、1字節(jié)(0xAB)、2字節(jié)(0xCDEF)、2字節(jié)(0x0000)的PDU。
圖8 2A狀態(tài)注冊過程
圖9 UM模式分段級聯(lián)和重組過程
4.2 結(jié)果分析
根據(jù)PDU的格式以及分段級聯(lián)原理,4個PDU的FI域(2bit)分別為:00、01、11、10;E域分別為:0、0、1和0、1和0(第3個和第4個PDU都有兩個屬于不同SDU的數(shù)據(jù)域,所以有兩個E域);SN域(選擇協(xié)議中的5bit)依次為00001、00010、00011、00100;LI域(11bit,多于一個數(shù)據(jù)域時才存在),第3個和第4個LI域均為:00000000001(一個字節(jié));按照協(xié)議,奇數(shù)個LI域時,最后一個LI域之后要填充4個bit位(這里填0000)。
按照上述過程組裝,得到4個PDU依次為:0x0101、0x42AB、0xE30010CDEF、0xA400100000。從圖9中部的兩條數(shù)據(jù)流可以看到TTCN-3收到的分段級聯(lián)的結(jié)果和預(yù)期的結(jié)果匹配成功,顯示“Segment and Concatenate Successfully”。
接著返回重組的結(jié)果,同樣根據(jù)重組原理,按照SN號取出PDU,并且根據(jù)FI等各個域的值來重新組裝為SDU。從圖9中最后兩條數(shù)據(jù)流可以看出重組后的結(jié)果和原始發(fā)送的SDU匹配成功,顯示“Reassemble Successfully”。
測試結(jié)果體現(xiàn)了新平臺的優(yōu)勢:(1) 在進3A狀態(tài)之前,小區(qū)激活以及尋呼過程的控制信息和參數(shù)全部由TTCN-3配置,在參數(shù)配置方面比較靈活,這顯示了新平臺相對于傳統(tǒng)平臺的優(yōu)勢所在。(2) 傳統(tǒng)單層測試流程如圖10所示,可以看出傳統(tǒng)流程圖界面不夠清晰,不便于調(diào)試分析;而本平臺在測試圖形用戶界面方面優(yōu)勢突出,流程圖更加清晰,且便于觀察調(diào)試。(3) 主控界面如圖11所示,在主控模塊開發(fā)了圖形用戶界面,這樣有助于調(diào)試又有助于減輕協(xié)議棧的任務(wù),從而提高運行效率。(4) 在開發(fā)過程中,TTCN-3與MC通信使用的是TTCN-3自帶的UDP通信插件,這樣減少了開發(fā)工作量,且插件使用比較方便。
圖10 傳統(tǒng)單層測試流程
圖11 主控開發(fā)界面
綜上所述,新搭建的基于TTCN-3的平臺,不僅成功完成了RLC層數(shù)據(jù)處理功能的驗證,且新平臺較傳統(tǒng)平臺性能有較大提高。
根據(jù)RLC單層測試需求搭建了新的測試平臺,并編寫了相關(guān)的測試用例進行驗證RLC層的功能。通過測試結(jié)果分析了RLC層功能的正確性以及測試平臺的合理性和可行性。開發(fā)過程只是把非接入層和RRC層的部分功能在TTCN部分代替,并沒有將所有功能完全剝離,另外,由于ARM處理器在處理大數(shù)據(jù)方面的效率相對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終端一致性測試系統(tǒng)架構(gòu)[J]. 西安電子科技大學(xué)學(xué)報, 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系統(tǒng)無線管理一致性測試[J]. 西安郵電大學(xué)學(xué)報, 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.
[責(zé)任編輯:瑞金]
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-),男,博士,教授,從事信號處理與通信系統(tǒng)研究。 E-mail: zhangapcqupt@sina.com 張形形(1990-),女,碩士研究生,研究方向為電子與通信工程。 E-mail: 1152033156@qq.com
TN929.5
A
2095-6533(2015)04-0010-06